ネットワークはネットワーク
ネットワークの本質はネットワーク構造にある。
学習は別物。
同じネットワーク構造に異なる学習 (Backprop+optim vs non-BP手法) を行うことが可能。
そもそも推論だけしたい人には学習周りは不要.
PyTorchそのものがネットワーク構造の記述を強くサポートしてくれるので、それはお任せ
trainは定型化できる
trainは
- モデルによる推論 (前向き演算)
- 誤差関数を用いた誤差演算
- 学習器によるパラメータ更新
と大まかに分けられる。
モデル、誤差関数、学習器と抽象化すればDIできる。
GANはtrainが特殊なので、train_GANで抽象化