以下の内容の続き。
実際に使ってみての感想や結果とかです。
以下のリポジトリを用いますが、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
の画像とか構図が同じでタッチが違うのがいっぱいなので面白そうに見える。