版权声明:本文为博主的文章,未经博主禁止可以随意转载。 https://blog.csdn.net/ONE_SIX_MIX/article/details/88998207
代码托管在github
https://github.com/One-sixth/gan-qp-mod-pytorch
我使用 gan-qp 在我的动漫头像数据集(3.7w张图像)上训练的,不过效果不怎么好,也许是数据集太小了,或者卷积核数量太少了。
少了也没办法,显存限制了我的想象力。
在这个模型上,Checkpoint基本没有加速作用,节省的显存太少了,所有没有用。
模型1 一开始训练时,生成器的最后一层没有使用激活函数,发现生成的图像有杂色。
后来停止训练,生成器的最后一层使用Tanh函数,再继续训练,杂色消失了。
模型1 16000次迭代
模型2 12800次迭代
相比原始实现
模型1
减少了一些卷积核
增加 minibatch_stddev 层
使用 Fixup init 初始化卷积层
模型2
相比模型1增加了一些卷积核,如果使用模型1中的卷积核数量,效果更差。。
使用 Conv+Upsample 替换掉模型1中的Deconv
Sample 文件夹内有我训练过程中生成图像
尝试生成图像
把储存库download下来
使用模型1生成图像
生成图像在 test_out 文件夹内
python3 test.py
使用模型2生成
生成图像在 test_out2 文件夹内
python3 test2.py
训练自己的数据
训练模型1
删掉所有的 .pt 文件
打开文件 gan-qp-torch.py
修改 img_dir = r’…/datasets/faces/*.jpg’ 到你的数据集位置
根据自己的显存大小修改 batch_size (在144行),要求为4的倍数,因为minibatch_stddev层的要求
保存文件,执行以下命令开始训练
python3 gan-qp-torch.py
模型2的训练过程与上面相似