こしあん
2019-06-24

PyTorchでDCGANやってみた

Pocket
LINEで送る
Delicious にシェア

2.3k{icon} {views}

新刊情報

技術書典8の新刊『モザイク除去から学ぶ 最先端のディープラーニング』(A4・195ページ)好評通販中です! 機械学習の入門からGANの最先端までを書いたおすすめの本となっています! Boothで試し読みできます。情報まとめ・質問用GitHub



PyTorchでDCGANをやってみました。MNISTとCIFAR-10、STL-10を動かしてみましたがかなり簡単にできました。訓練時間もそこまで長くはないので結構手軽に遊べます。

はじめに

PyTorchでDCGANやってみました。コードはほとんどこの記事のコピペです。MNISTとCIFAR-10、STL-10でやってみました。コードは末尾にあります。

5ステップでできるPyTorch – DCGAN
https://qiita.com/hokuto_HIRANO/items/7381095aaee668513487

MNIST

結果だけ示します。MNISTから。


100エポック訓練させました。GPU2枚で10分程度ですね。エラーグラフ的にもう少し長く訓練すると綺麗になったかもしれません。

ちなみにMNISTをConvTransposeではなく、Upsampling+Conv2Dでやると、すぐDのロスが0近くなってうまく出力されなかったです(Dが強くなりすぎる)。MNISTではConvTrasnposeのほうがうまく行ったので、他の例でもConvTransposeを使っています。

CIFAR-10


300エポック訓練させました。こちらは1時間弱程度。それっぽいなにかができているような感じはします。

STL-10


STL-10のunlabeled-dataを300エポックほど。エポック間の画像の保存?データの再読み?に時間が時間がかかって、1エポック1分~1分半かかりました。実際GPUが動いている時間はその半分もないのになんだろう。

これは少しモデルの表現力が足りないのかもしれませんね。最後モード崩壊しているような気がしなくもない。

おわりに

PyTorchのDCGAN結構簡単でした。モデルのTraiableがどうとか意識しないでBackpropするかしないかで書ける、FakeとTrueの変数の入れ替えで同一の損失関数でできるのとかかなり簡単でした。PyTorchでのGAN結構楽しそう。

コード


新刊情報

技術書典8の新刊『モザイク除去から学ぶ 最先端のディープラーニング』好評通販中(A4・195ページ)です! Boothで試し読みもできるのでよろしくね!


Pocket
LINEで送る

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です