训练过程

数据收集

训练DCGAN生成动漫头像,首先需要大量的训练数据

可以用python写个爬虫去https://konachan.net/爬动漫图片,

然后用https://github.com/nagadomi/lbpcascade_animeface 这个程序截取动漫人物头像

然后手动清洗数据,把不符合的删掉,我总共获得了14000+的头像,这里分辨率已经都压缩成128*128的。

我都准备好了这些,在百度盘里

链接:https://pan.baidu.com/s/1FKjaDitzGzaY73cDw1xx2g 
提取码:kuq3

(tensorflow学习) DCGAN 动漫头像生成

训练数据

       总共训练了300个epoch,10个小时(我用gtx1060跑的,每个epoch要2分钟)

       需要调好超参数,不然容易模式坍塌。

以下各个损失情况

生成器损失 (假图进判别器判定为真)                                          总损失(判别器总损失,即下面损失两个相加)   

(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成

 

真图损失 (真图进判别器判定为真)                                          假图损失(假图进判别器判定为假)

(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成

我这边在训练到200个epoch后的时候出现了模式崩塌,图1可以看出,生成器损失突然变得很高。

1-10-30-40-50-60epoch 如下图,一路向更好的方向发展

(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成(tensorflow学习) DCGAN 动漫头像生成

...

...

从213往后,就坍塌了,后面所有人脸会向同一张变过去

212

(tensorflow学习) DCGAN 动漫头像生成

213

(tensorflow学习) DCGAN 动漫头像生成

214

(tensorflow学习) DCGAN 动漫头像生成

215

(tensorflow学习) DCGAN 动漫头像生成

216

(tensorflow学习) DCGAN 动漫头像生成

...

...

...

296

(tensorflow学习) DCGAN 动漫头像生成

我尝试着降低学习率,从200代开始继续训练,没多久依旧出现同样的情况。

但用213代的模型用来做生成动漫头像还不错。

OK

玩这种gan真是太耗时了哎。。

源码改日整理下

 

相关文章:

  • 2021-11-14
  • 2021-04-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-27
  • 2021-12-04
  • 2021-12-04
  • 2021-12-09
  • 2021-09-02
  • 2021-11-25
  • 2021-10-11
相关资源
相似解决方案