Semantic-Spatial Aware GAN是2021年10月发表的语义空间感知GAN(SSA-GAN)框架,主要提出:
文章精读报告:https://blog.csdn.net/air__Heaven/article/details/124469059
本篇文章将使用中国移动云-九天深度学习平台复现SSA-GAN。
九天深度学习平台是中国移动旗下的一款机器学习平台,提供CPU、V100、T4等高性能计算资源的调度管理,集成主流人工智能开源算法框架、Jupyter lab开发工具、主流的公开数据集,提供参考源代码和预训练模型等,为模型训练、服务部署和在线推理提供一站式服务。我们可以参与中国移动云杯大赛并免费获取九天深度平台300小时算力。
九天人工智能平台深度学习平台针对已完成实名认证的互联网用户提供免费的试用活动,开通后各个资源都可以免费使用300小时(3个月内有效)。
注册移动云账号,领取300小时九天深度学习平台算力,点击九天深度学习平台免费试用申请
这一步可能要完成实名认证,实名认证后就可以申请成功了。
进入移动云控制台,可以看到申请算力后我的云产品当中有:九天深度学习平台
我们点击进入后可以看到平台提供了非常高性能的CPU、GPU免费使用,其中提供300小时的T4、V100使用时长,更有意思的是可以看下图他的算力是分开计算的,也就是说你每一个都可以用足足300个小时,白嫖党的福音:
如果需要订阅包月包年服务可以联系我。
首先我们点击进入中国移动云-九天深度学习平台的控制台页面:
点击左侧notebook建模,然后点击新建实例,创建我们的ssagan模型。
因为我们已经有申请过算力试用,故不用担心费用的问题,直接选择vGPU或者V100套餐创建实例。
创建好的实例如上图所示,点击运行,进入熟悉的juypter界面:
我们点击最下方的terminal,打开终端,然后使用git克隆代码:git clone https://github.com/wtliao/text2image.git
下载代码成功。
然后下载元数据包,使用命令行cd 进入text2image目录,下载为鸟类准备好的预处理元数据,元数据的谷歌链接打不开可以通过CSDN链接1或者链接2下载,然后将原数据并上传到data目录并使用unzip命令解压成文件夹:
最后下载数据集,我们下载鸟数据集,下载链接:
http://www.vision.caltech.edu/visipedia/CUB-200-2011.html,上传数据(可以发现上传速度非常快)
然后使用命令tar zxvf CUB_200_2011.tgz
解压保存在data/birds/中:
另外还要使用unzip text.zip
终端命令解压text.zip文件:
下载预处理的DAMSM模型,打不开可以访问CSDN链接下载。
然后将其上传到 DAMSMencoders目录下:
同样我们使用unzip bird.zip
命令将其解压。
至此我们需要的资源基本上就已经具备了,下一步我们安装所需的虚拟环境:
首先我们conda create -n ssagan
创建新的虚拟环境,环境名为ssagan(也可以任意取名)
然后可以通过nvcc命令看到cuda版本为10.1,
所以我们首先激活虚拟环境:conda activate ssagan
然后安装pytorch,首先我们使用conda search pytorch,找到可以安装的版本:
因为cuda版本是10.1的所以我们优先找到cuda101的:
然后终端输入:conda install pytorch=1. 7.1=cuda101py36h42dc283_ 1
安装pytorch
以同样的方式安装torchvision
然后根据提示安装其他环境:
conda install tensorboardX
conda install python-dateutil
conda install tqdm
conda install matplotlib
pip install scikit-image
pip install easydict
pip install nltk
pip install pandas
pip install pyyaml
将bird.yml中的B_VALIDATION改为 False
cd进入text2image目录,输入终端命名:python main.py
开始训练
可能出现的报错1:load() missing 1 required positional argument: ‘Loader‘
解决方案:这是因为.yaml文件在load()时缺少必填的loader参数,只需将 pyyaml 版本降级或者将config.py的yaml_cfg = edict(yaml.load(f))
改为safeload
可能出现的报错2:module ‘torchvision.transforms’ has no attribute ‘Resize’
解决方案:pip install --upgrade torchvision
可能出现的报错3:TypeError: init() got an unexpected keyword argument ‘serialized_options’
解决方案:终端上的 protoc 版本 与python库内的protobuf版本不一样。我们只需要pip install -U protobuf
,如果还是报错建议卸载删除低版本protobuf,再重新安装
可能出现的报错4:urllib.error.HTTPError: HTTP Error 403: Forbidden
问题原因:网站设置了白名单,大部分网站不让访问,故Downloading: “https://download.pytorch.org/models/inception_v3_google-0cc3c7bd.pth” to /root/.cache/torch/hub/checkpoints/inception_v3_google-0cc3c7bd.pth时被拒绝。
解决方案:打开https://download.pytorch.org/models/inception_v3_google-0cc3c7bd.pth下载pth文件然后上传到/root/.cache/torch/hub/checkpoints目录。
运行成功如下:
也可以下载已经训练好的SSA-GAN模型进行采用生成。
可以看到nf=64时,SSA-GAN的消耗为每轮epoch要14分钟左右,共600轮epoch
💖 个人简介:人工智能领域研究生,目前主攻文本生成图像(text to image)方向
📝 关注我:中杯可乐多加冰
🔥 限时免费订阅:文本生成图像T2I专栏
🎉 支持我:点赞👍+收藏⭐️+留言📝
如果这篇文章帮助到你很多,希望能点击下方打赏我一杯可乐!多加冰哦