DF-GAN 2022版本介绍及复现步骤

释放双眼,带上耳机,听听看~!
本文介绍了DF-GAN 2022版本的特点和复现步骤,包括训练、评估分数、采样和生成等操作。DF-GAN是一款简单且有效的文本生成图像模型,由南京邮电大学、苏黎世联邦理工学院等学者共同研究开发,并被CVPR 2022 Oral录用。

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,复现步骤

1.1、指令总览

bird
预训练:python pretrain_DAMSM.py --cfg cfg/DAMSM/bird.yml --gpu 0
训练:python main.py --cfg cfg/bird_attn2.yml --gpu 0
采样:python main.py --cfg cfg/eval_bird.yml --gpu 0
生成:python main.py --cfg cfg/eval_bird.yml --gpu 0

coco
预训练:python pretrain_DAMSM.py --cfg cfg/DAMSM/coco.yml --gpu 0
训练:python main.py --cfg cfg/coco_attn2.yml --gpu 0
采样:python main.py --cfg cfg/coco_bird.yml --gpu 0
生成:python main.py --cfg cfg/eval_coco.yml --gpu 0

1.2、重要操作备注

1、预训练和训练:产生的模型将保存在output文件夹下。
2、采样:所读取的文件在:data/birds/example_filenames.txt或者data/coco/example_filenames.txt中,其中有一行是example_captions,其存放用户自定义的句子。
3、生成:所读取的文件在:data/birds/example_captions和data/coco/example_captions中。
4、与一般使用的不同,AttnGAN的coco数据集是分了两个文件夹train和test的,在配置数据集时要小心使用其原版提供的数据包,完整目录如下:
DF-GAN 2022版本介绍及复现步骤

二、DFGAN(2022版本)

DF-GAN是南京邮电大学、苏黎世联邦理工学院、武汉大学等学者共同研究开发的一款简单且有效的文本生成图像模型。该论文已被CVPR 2022 Oral录用,文章最初发表于2020年8月,最后v3版本修订于22年3月 ,DFGAN提出:(i)一种新的单级文本到图像主干,它直接合成高分辨率图像,而不同生成器之间没有纠缠;(ii)一种由匹配软件梯度惩罚和单向输出组成的新的目标感知鉴别器,它在不引入额外网络的情况下增强了文本图像的语义一致性,(iii)一种新的深文本图像融合块,它深化了融合过程,使文本和视觉特征完全融合。

复现步骤

2.1、指令总览

bird
训练:bash scripts/train.sh ./cfg/bird.yml
查看tensorboard看板:tensorboard --logdir=./code/logs/bird/train --port 8166
评估分数:bash scripts/calc_fid.sh ./cfg/bird.yml
采样3w张图:bash scripts/calc_fid.sh ./cfg/bird.yml
生成:bash scripts/sample.sh ./cfg/bird.yml

coco
训练:bash scripts/train.sh ./cfg/coco.yml
查看tensorboard看板:tensorboard --logdir=./code/logs/coco/train --port 8166
评估分数:bash scripts/calc_fid.sh ./cfg/bird.yml
采样3w张图:bash scripts/calc_fid.sh ./cfg/bird.yml
生成:bash scripts/sample.sh ./cfg/bird.yml

2.2、重要操作备注

1、运行:bird.yml中gen_interval: 1、test_interval: 10、save_interval: 10分别表示每轮生成图片,每10轮评估,每10轮保存模型。训练模型可以同时打开tensorboard看板。
2、查看tensorboard看板:云服务器需要进入code/logs/coco/train,打开tensorboard向量板插件,如果是MobaXterm则需要建立ssh隧道。
3、评估分数:当要测试某一轮的分数时,首先需要把bird.yml的checkpoint进行修改,如:checkpoint: ./saved_models/bird/pretrained/state_epoch_940.pth,才能评估模型940轮的fid分数,如果仅仅测试分数,将yml文件中的save_image置为 False。
4、断点续训:断点续训需要更改train.sh,如从第300轮开始训练,第300轮存放的路径在resume_model_path中。

# resume training
resume_epoch=300
resume_model_path=./saved_models/coco/base_normal_coco_256_2022_07_07_07_07_07/

三、定量评估指标操作指令

3.1、Inception Score

IS指标复现步骤

IS评估要出至少3000张图像,将其放入test/valid中,命名为single(或者其他),然后python inception_score.py --image_folder ../test/valid/single
例子如下:
DF-GAN 2022版本介绍及复现步骤

3.2、FID分数

FID指标复现步骤

FID至少要出3w张图片,和IS差不多,将其放入test/valid中,命名为single,然后终端输入python fid_score.py --gpu 0 --batch-size 24 --path1 eval/FID/bird_val.npz --path2 ../test/valid/single

3.3、R分数

R分数比较麻烦,请直接看原文:R分数复现

四、其他指令

1、MobaXtem远程:nohup bash scripts/train.sh ./cfg/bird.yml >output.txt 2>&1 &或者 nohup bash scripts/train.sh ./cfg/bird.yml >/dev/null 2>&1 &
2、根据requirements.txt安装环境:pip install -r requirements.txt

最后

💖 个人简介:人工智能领域研究生,目前主攻文本生成图像(text to image)方向

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

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

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

掘金日新计划:12 月更文挑战第11天参与分享

2023-12-5 13:58:14

AI教程

重新思考神经网络的激活函数:Dynamic ReLU 与ACON激活函数复现

2023-12-5 14:17:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索