介绍
StyleGAN2这个版本英伟达主要解决了生成图像时的伪影问题,同时还能得更高质量和图像数据,有更多的细节保留不至于模糊一片。并且新的改进方案也不会带来更高的计算成本。整体来看,不管是在现有的分布质量指标上,还是在人所感知的图像质量上效果都是不错的,值得尝试。
如果想训练自己的数据集就需要用到专业的计算型服务器(在此感谢朋友的赞助),或者是只想试一下生成最终结果图片的话,我刘整理的有好多数据集可以直接使用,省掉了大量的训练的时间和成本。
效果展示
目前StyleGAN3的效果也很好相对于2,在对于人物或者动物等的皮肤和毛发的细节上也做出了更好的优化,图片看起来更细腻和真实。
StyleGAN2与StyleGAN3的细节对比:
![](https://i-blog.csdnimg.cn/blog_migrate/3e4c8c88d6ea44b7c03fcb2e8a9c7631.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/97aec3924c28a5f2c0d89888025340e6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/765ac41099a711ef6458e438e7d762f9.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0228659cae30a7507b3b54057c5ae353.gif)
StyleGAN2生成的卡通人物:
![](https://i-blog.csdnimg.cn/blog_migrate/f42b60690d33987bd35bfb2d89495f7d.jpeg)
StyleGAN2生成的车:
![](https://i-blog.csdnimg.cn/blog_migrate/e21fbffbb9ae88cc10b494eba5ef545d.png)
以下是我使用StyleGAN2训练数据集的流程,记录了当时CPU、内存、以及GPU和显卡的功耗和使用情况。
机器环境:
CPU:Intel(R) Xeon(R) CPU E5-2620 v4
内存:32G ECC
显卡:TITAN*4 共8核心
硬盘:4T
训练时显存尽可能的大,如果显存小容易在训练过程中报错,导致经常训练中断。
需要做训练的话可以下载我整理出相关和程序和训练结果集。
1.查看GPU当前的状态.
nvidia-smi(这个命令是N卡驱动自带的,驱动程序安装好后即可使用)
查看是否有其他程序正在使用。
![](https://i-blog.csdnimg.cn/blog_migrate/10c49b1e5f62383b5179f8ab1824190c.png)
GPU使用情况
2.数据对齐
如是自己收集的图片的话,请先将数据进行对齐。
python align_images.py raw_images/ images/
3.转换数据格式
python dataset_tool.py create_from_images datasets/test1 img512
4.开始训练数据集
python run_training.py --num-gpus=8 --data-dir=datasets --config=config-e --dataset=imgp2 --mirror-augment=true
![](https://i-blog.csdnimg.cn/blog_migrate/ebb1a7305cec58f7b7c9680183689eeb.png)
开始训练后再次查看GPU的使用情况重点查看使用百分比、功率和显存占用:
![](https://i-blog.csdnimg.cn/blog_migrate/f5c59398608d9c4c3b63c089ca3c2518.png)
5.报错修复
这次训练大约7小时左右时突然报错,kimg数据为962
![](https://i-blog.csdnimg.cn/blog_migrate/54c6c91798993d2dd27bca6d9b6ec43a.png)
此时训练已经被迫终止,需要做一个断开的处理:
找到文件:/stylegan2/training/training_loop.py
resume_pkl:设置上次的训练结果文件地址。
resume_kimg:设置上次的kimg数量。
然后继续执行第1个步骤即可继续进行训练。
训练完成后就可以进行后续的图像生成了。
另外为方便后续的生成图片和训练数据,我收集整理了其他的训练数据集(共183G数据较大)持续更新,数据集和工具代码