pytorchによるディープラーニング実装の流れ
- 前処理、後処理、ネットワークモデルの出力を確認
- Datasetの作成
- DataLoaderの作成
- ネットワークモデルの作成
- 順伝播(forward)の定義
- 損失関数の定義
- 最適化手法の設定
- 学習検証の実施
- テストデータで推論
追記
これからPyTorchで深層学習モデルを構築する場合はPyTorch Lightningを並行して学習して行きましょう。
DatasetとDataLoaderについて
- Datasetクラス
- 入力するデータとそのラベルなどをペアにして保持したクラス
- データに対する前処理クラスのインスタンスを与え、対象データのファイルを読み込む 際に前処理を自動で適用することができる
- DataLoaderクラス
- Datasetからどのようにデータを取り出すのかを設定するクラス
- Datasetからミニバッチを取り出しやすい
ネットワークモデルについて
- ネットワークモデルの作成
- ゼロから全て自分で作成するケース
- 学習済みモデルをロードして用いるケース
- 学習済みモデルをベースに自分で改変するケース
- ディープラーニングの応用手法では学習済みモデルをベースに自分で改変するケースが多い
順伝播(forward)について
- ディープラーニングの応用手法はネットワークのモデルが途中で分岐したりするため、順伝播が複雑な場合が多い
- 単純なネットークモデルは前から後ろに流れるだけだが、そうはいかないのできちんと順伝播関数(forward)を定義すること