以下の内容の続き。
実際に使ってみての感想や結果とかです。
以下のリポジトリを用いますが、StyleGAN(2でない方)も使います。
https://github.com/NVlabs/stylegan2
実践の問題
いくつか実際に試してみると大きな問題点が2つありました。
ちなみに使用GPUは GTX1060 6G 1台です。
1.時間がかかりすぎる
以下の参考表を見ると画像サイズを 1/4(面積だと1/16)にすると、学習時間が半分程度になることがわかる。

つまり 64x64 サイズで1週間くらい。
しかもこれは Tesla V100 の場合です。
私の環境で 10000 kimg まで行ったことはないですが、ログを見る限り1か月かかりそうです(1日で 330 kimg くらい / 64x64 画像セット)。
2.メモリ不足で落ちる
専用PCでなく普段使いしているため使っていると不意に落ちることがある。
落ちるときは CUDA_ERROR_LAUNCH_FAILED など表示されますが、しょっちゅうメモリ不足の warning が出ていたのでメモリ不足が原因だと思います。
対策としては買い替えるか、追加するか、専用マシンにするか。
趣味でやるにはつらい選択です。
StyleGANを使う
ここまで触ってきた StyleGAN2 は StyleGAN の改良版です。
じゃあ前の方が処理は軽いんじゃないかなくらいの感じで試します。
変更方法は簡単で学習コマンドの、
--config=config-f を --config=config-a に変えるだけ。
config一覧に関してはソースにある通り。
|
1 2 3 4 5 6 |
'config-a', # Baseline StyleGAN 'config-b', # + Weight demodulation 'config-c', # + Lazy regularization 'config-d', # + Path length regularization 'config-e', # + No growing, new G & D arch. 'config-f', # + Large networks (default) |
config-a は素の StyleGAN です。
StyleGAN2よりもぽんぽんとSnapshotができるので、HDD容量には注意しましょう。
『鬼滅の刃』アニメのキャラ紹介の顔部分36枚をデータセットにしました。
(完全に趣味でデータセット向きではないです。枚数は少ないですし、天狗面だったり蜘蛛だったりカラスだったりバラバラなので。)
学習は5日弱動かして、5000kimg の学習まで完了しました。
StyleGAN2と比べると大分早い。
(学習してることをすっかり忘れて全画面で動画見てるときに落ちた)
generate は2万枚ほどざっと見ましたが、そのままか合体事故かですね。

インプット不足はどうしようもない感じです。
mixing の方はより枚数不足っぽさを感じます。

謎の蜜璃さん推し。
まとめ / 所感
StyleGAN2がつらいならStyleGANの方が多少安定する(気がする)。
データセットはちゃんと枚数確保する(これが一番つらいような)。
夏本番になるとGPU回しっぱなしというのは少し怖いので、機械学習はしばらく休止します。ただ良い素材とかデータセットがあったら学習少な目で動かしてみたい。
#sailormoonredraw の画像とか構図が同じでタッチが違うのがいっぱいなので面白そうに見える。