我又来了,这次还是参加MindSpore的开发者群英会 经典论文复现活动
【MindSpore开发者群英会】经典论文复现活动 · Issue #I6Q8R0 · MindSpore/community - Gitee.com
这次选择的是第七个任务,复现2020年的CVPR StyleGAN2
摘要(中文版):
基于风格的GAN架构(StyleGAN)在数据驱动的无条件生成图像建模中产生了最先进的结果。我们公开并分析了它的几个特征工件,并提出了对模型体系结构和训练方法的更改来解决这些问题。特别是,我们重新设计了生成器归一化,重新审视了渐进增长,并正则化了生成器,以鼓励在从潜在代码到图像的映射中进行良好的条件调节。除了提高图像质量外,这种路径长度正则化器还带来了额外的好处,即生成器变得更容易反转。这使得能够可靠地将生成的图像归因于特定网络。此外,我们还可视化了发电机如何很好地利用其输出分辨率,并确定了容量问题,激励我们训练更大的模型以提高质量。总的来说,我们改进的模型在现有的分布质量指标和感知图像质量方面重新定义了无条件图像建模的最新技术。
因为网上讲述StyleGAN2
今天我就大致说明一下怎么样在启智社区上进行训练和推理:
首先在github上拉取项目,然后因为方便大家进行直接的部署,我把代码放到github上面了
GitHub - SzuPc/MindSpore-StyleGAN2
MindSpore的版本是2.0.0
我们主要是使用人脸数据集作为训练,因为官方的数据集比较大,有80G,所以这里只提供了其中一个子集大约1G
链接:百度网盘 请输入提取码 提取码:7lqh
预训练权重:链接:百度网盘 请输入提取码 提取码:q851
1. 首先我们来到启智社区的平台:OpenI - 启智AI开源社区提供普惠算力!
首先肯定要注册自己账号
接着创建自己的项目
2.需要先导入我们的数据集
直接点击创建数据集,然后将我们从百度网盘的本地数据集进行上传
然后点击上传,将我们下载的1G的数据集进行上传
(注意要选择NPU的集群环境)
3.然后我们选择新建调试任务
然后点击新建任务即可 ,记得把刚刚上传的数据集选上
进入之后是类似与modelart的notebook的环境
第一步将我们的代码文件放入目录并进行解压,直接拖进去就可以了,小于100M的可以直接拖动上传和下载。
我们来到最外面的界面先把这个数据集的链接复制,右下角”复制链接“。
然后点击上传(中间那个蓝色的),使用url远程文件传输,将刚刚复制的数据集进行上传,这样子有助于稳定上传。
4. 将数据集解压到规定的地方,然后就可以根据README.md进行训练和推理
然后进入到src的文件夹里进行代码的训练和推理:
训练:
python train.py --data_dir=../dataset/ffhq.zip --batch_size=1 --start_over=True --xflips=True --out_dir=./output_ffhq
注意batch_size只能取1,如果取其他值需要在model/block.py的574行张量的大小(因为我修改了batch_size报错了一圈,但是感觉会有点麻烦)并创建输出权重的文件夹( src/output_ffhq)
因为从头训练时间非常的长(至少要20h,本来数据集少而且batch_size=1),所以我这里提供了预训练的权重,可以继续进行训练或者进行推理链接:https: //pan.baidu.com /s/1ZaHvDCujayStYxKVQdhtrw 提取码:q851
继续训练:
python train.py --data_dir=../dataset/ffhq.zip --batch_size=1 --resume_train=./output_ffhq/stylegan2-ffhq-config-f --xflips=True --out_dir=./output_ffhq
完成后,我们的权重文件训练会生成在src/output_ffhq的文件夹里面
然后可以进行推理:
python infer.py --seed=66,1518,389,230 --ckpt=./ckpt/ffhq/network-snapshot-000000-G_ema.ckpt --img_res=1024 --truncation_psi=1
种子是随机数种子,你可以更换不同的随机数种子即不同的图片
然后会出现warming在本地服务器训练的时候会出现CANN报错的情况,估计是npu-HBM爆满了或者是CANN版本的问题,在训练的过程中第一轮时间比较慢不要紧,等多一会就好了了