利用九天深度学习平台复现SSA-GAN

Posted 中杯可乐多加冰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用九天深度学习平台复现SSA-GAN相关的知识,希望对你有一定的参考价值。

目录

Semantic-Spatial Aware GAN是2021年10月发表的语义空间感知GAN(SSA-GAN)框架,主要提出:

  1. 一种语义空间感知卷积网络(SSACN)模块,通过基于当前生成的图像特征预测掩码映射草图,这种掩码图不仅可以决定在何处添加文本信息,还起到了权重作用即决定要在某个部分上加强多少文本信息。
  2. 一种新的仿射参数计算方法,将掩码图添加到SCBN中作为空间条件,然后从编码的文本向量中学习仿射参数,对语义空间条件进行批量归一化。

文章精读报告:https://blog.csdn.net/air__Heaven/article/details/124469059

本篇文章将使用中国移动云-九天深度学习平台复现SSA-GAN

一、算力领取

九天深度学习平台是中国移动旗下的一款机器学习平台,提供CPU、V100、T4等高性能计算资源的调度管理,集成主流人工智能开源算法框架、Jupyter lab开发工具、主流的公开数据集,提供参考源代码和预训练模型等,为模型训练、服务部署和在线推理提供一站式服务。我们可以参与中国移动云杯大赛并免费获取九天深度平台300小时算力

1.1、填写比赛问卷

首先我们填写比赛问卷预报名:中国移动云杯大赛报名问卷
填写姓名和手机号(要对应发放算力),提交作品任意选(有能力者选择可以提交,比赛奖励也挺丰富),报名赛道可以填高校-全国赛道

1.2、正式报名比赛

其次我们点击大赛正式报名链接:2022年“移动云杯”算力网络应用创新大赛(学生可以选择高校赛道)

在这一步需要注册中国移动-移动云的账号(非中国移动手机号也可以注册)。

注册成功后点击刚刚的比赛链接的左上报名比赛(报名渠道填CSDN),显示已报名则就可以开始领取算力啦。

1.3、领取算力

九天人工智能平台深度学习平台针对已完成实名认证的互联网用户提供免费的试用活动,开通后各个资源都可以免费使用300小时(3个月内有效)。

使用刚刚报名注册好的移动云账号,领取300小时九天深度学习平台算力点击九天深度学习平台免费试用申请

这一步可能要完成实名认证,实名认证后就可以申请成功了。

进入移动云控制台,可以看到申请算力后我的云产品当中有:九天深度学习平台

我们点击进入后可以看到平台提供了非常高性能的CPU、GPU免费使用,其中提供300小时的T4、V100使用时长,更有意思的是可以看下图他的算力是分开计算的,也就是说你每一个都可以用足足300个小时,白嫖党的福音:

二、复现SSA-GAN

2.1、创建实例

首先我们点击进入中国移动云-九天深度学习平台的控制台页面:

点击左侧notebook建模,然后点击新建实例,创建我们的ssagan模型。

因为我们已经有申请过算力试用,故不用担心费用的问题,直接选择vGPU或者V100套餐创建实例。

创建好的实例如上图所示,点击运行,进入熟悉的juypter界面:

2.2、下载代码和数据集

我们点击最下方的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文件:

2.3、下载预训练的 DAMSM 模型

下载预处理的DAMSM模型,打不开可以访问CSDN链接下载。

然后将其上传到 DAMSMencoders目录下:

同样我们使用unzip bird.zip命令将其解压。

2.4、环境配置

至此我们需要的资源基本上就已经具备了,下一步我们安装所需的虚拟环境
首先我们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

2.5、训练

将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专栏

🎉 支持我:点赞👍+收藏⭐️+留言📝

如果这篇文章帮助到你很多,希望能点击下方打赏我一杯可乐!多加冰哦

以上是关于利用九天深度学习平台复现SSA-GAN的主要内容,如果未能解决你的问题,请参考以下文章

免费GPU:九天•毕昇平台使用教程

TransGAN代码复现—九天毕昇平台

重磅!深度学习网络模型大全来了(基于TensorFlow和PyTorch的开源复现)

百度线下赛道报名通知!

深度学习:《PyTorch入门到项目实战》第九天:Dropout实现(含源码)

全国大学生智能汽车竞赛-百度线下赛道报名开始!