目录
1.常用数据集介绍
-
鸟类数据集(CUB-200-2011)
这个数据集包含了200种鸟类,共11788张图片。每张图片都标注了物体的框、关键点和属性类别。
下载链接:http://www.vision.caltech.edu/visipedia/CUB-200-2011.html
下载下来的数据集只有图像部分,要实现复现Attgan还需下载鸟类预处理的元数据:https://drive.google.com/open?id=1O_LtUP9sch09QH3s_EBAgLEctBQ5JBSJ
鸟类预处理的元数据:
这部分其实就是将数据集进行划分训练集 测试集,以及鸟类数据集的文本描述(在text.zip文件夹下需要解压出来)
创建一个birds文件夹,将上述下载并解压后的文件放入birds文件夹下即可,最终目录结构如下图所示
2.如何创建自己的数据集
参照鸟类数据集格式,假设我们要做一个鱼类的数据集,创建一个名为fish的文件夹,在这个文件夹下依次创建images test train text 文件夹
images文件夹下放入照片
text文件夹下放入对应的描述文本文件,文件名以照片名命名
训练集和测试集的划分
参照鸟类数据集发现test和train文件夹下是filenames.pickle文件,因此我们也需要创建这个文件,具体方法参考python pickle模块用法
filenames.pickle文件读取出来是一个列表,内容如下所示
发现是照片相对与images文件夹下的路径,因为鸟类数据集images文件下按照鸟的类别分别创建了子文件夹所以它的每一项是
<鸟的类型>/<照片名>
我们只需将照片名添加到列表写入filenames.pickle文件即可(不需要扩展名.jpg)
['0001','0002','0003']
因为一些原因,下面使用鸟类数据集进行操作,使用自己的数据集流程一样
3.使用damodel平台运行模型
目前该平台正在做活动,新用户注册即送50元代金卷
注册链接丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩!
创建实例
选择gpu类型默认提供100g系统盘 50g数据盘
选择框架版本,这里使用pytorch 2.3.0的版本
登录实例那里可以选择创建一个密钥对方便我们后续使用ssh登录
上传代码和数据集
attgan代码
这里推荐使用我修改好的版本,源代码有很多报错
下载链接: https://www.alipan.com/t/TtJyyfhokDmMDFNe22qH
打开jupyterlab
点击上传按钮上传代码和数据集
解压缩
打开终端
输入
unzip AttGAN.zip
运行
安装库
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
切换到code目录
cd code
#预训练DAMSM
python pretrain_DAMSM.py --cfg cfg/DAMSM/bird.yml --gpu 0
将训练好的damsm模型放入DAMSMencoders文件夹中
这两个文件在output里 ,放入DAMSMencoders时需新建一个bird文件夹
#训练GAN
python main.py --cfg cfg/bird_attn2.yml --gpu 0
将训练好的模型放入models文件夹下
#运行
python main.py --cfg cfg/eval_bird.yml --gpu 0
使用自建数据集的一些说明
使用自己的数据集训练是需要自己创建配置文件即分别在预训练DAMSM,GAN,和评估时所需要的文件,具体内容可以参考cfg目录下
DAMSM/bird.yaml
bird_attn2.yml
eval_bird.yaml