Slide 5
Slide 5 text
© 2019 OPTiM Corp. 5
フレームワークとライブラリの違い
制御の逆転(ハリウッド原則「我々を呼ぶな。我々が呼ぶから」)
フレームワークの第一の重要な特徴は、フレームワークに合わせて利用者が定義したメソッドが、アプリケーションコードからはあまり呼ばれ
ず、フレームワーク自身からよく呼び出されるという点だ。
フレームワークは、アプリケーションの動作を調整したり、動作の順番を制御したりするためのメインプログラムとしての役割を果たす。
制御の逆転によって、フレームワークを拡張可能なスケルトンとして動作することができる。
フレームワークが定義した汎用アルゴリズムにあわせて、利用者はメソッドを作成し、個別のアプリケーションをつくりあげる。
Ralph Johnson and Brian Foote
• つまり、
• ライブラリ:関数やクラスを一つずつ呼び出してコーディングする
• フレームワーク:一つのクラスを呼び出すと裏でよろしくやってくれる(?)
今回使用するのはライブラリ?フレームワーク?
• PyTorch:フレームワーク
An open source machine learning framework that accelerates the path from research prototyping to production deployment.
• Ignite:(ハイレベル)ライブラリ
Ignite is a high-level library to help with training and evaluating neural networks in PyTorch flexibly and transparently.
• Optuna:フレームワーク
Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning.
https://bliki-
ja.github.io/Inver
sionOfControl/
https://pytorch.o
rg/
https://github.co
m/pytorch/ignite
https://github.co
m/optuna/optuna
PyTorch(=フレームワーク)上で使用する=ライブラリ?