训练过程
数据收集
训练DCGAN生成动漫头像,首先需要大量的训练数据
可以用python写个爬虫去https://konachan.net/爬动漫图片,
然后用https://github.com/nagadomi/lbpcascade_animeface 这个程序截取动漫人物头像
然后手动清洗数据,把不符合的删掉,我总共获得了14000+的头像,这里分辨率已经都压缩成128*128的。
我都准备好了这些,在百度盘里
链接:https://pan.baidu.com/s/1FKjaDitzGzaY73cDw1xx2g
提取码:kuq3
训练数据
总共训练了300个epoch,10个小时(我用gtx1060跑的,每个epoch要2分钟)
需要调好超参数,不然容易模式坍塌。
以下各个损失情况
生成器损失 (假图进判别器判定为真) 总损失(判别器总损失,即下面损失两个相加)
真图损失 (真图进判别器判定为真) 假图损失(假图进判别器判定为假)
我这边在训练到200个epoch后的时候出现了模式崩塌,图1可以看出,生成器损失突然变得很高。
1-10-30-40-50-60epoch 如下图,一路向更好的方向发展
...
...
从213往后,就坍塌了,后面所有人脸会向同一张变过去
212
213
214
215
216
...
...
...
296
我尝试着降低学习率,从200代开始继续训练,没多久依旧出现同样的情况。
但用213代的模型用来做生成动漫头像还不错。
OK
玩这种gan真是太耗时了哎。。
源码改日整理下