モチベーション
JDLA E資格の学習は終わった。学習中にGANに興味を持った。GeneratorとDiscriminatorに競わせる、noiseから画像を生成するという点が興味深い。チュートリアルを見ながら手を動かしてみることにした。
参考情報
- classcatさんの日本語ページ この記事を参考にした。ここには、他にもPytorchに関する記事が多数あり、とっても助かる。
- pytorchチュートリアル 本家のページ。当然、英語との格闘が必要。
ハンズオン
この記事の通りjupyterlabをサーバで起動して、手元のMBPからNotebookでコードを入力して動かしてみた。
コードや学習後のフェイク画像は省略。
自分は、学習ループで、Generatorの勾配を計算する行(errG.backward())が無かった(入力漏れ)ので、数回のイテレーションで、Loss_Dがゼロになり、Loss_Gがどんどん大きくなり結果となり、コードを追った。そのおかげで、少しはコード理解が深まったように思う。
最後に
上記の参考情報を含め、先人の努力に感謝。
生成系は、ゼロから何かができるので、とても面白い。これからもDeep Learningの理解を深めていきたい。
但し、学習に時間が掛かる。自分の環境では、NFS経由でNotebookを格納して、そこにイメージも格納しているので、ネットワーク越しが一つのネックになっていると思うので、今後調査したい。 それはそれとして、早いGPUが欲しい!