文本生成图像T2I复现所需操作命令合集

963 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,点击查看活动详情

在日常学习中,时常需要不断使用其他模型进行指标评测、采样、图像生成等等操作,而不同模型使用的操作终端命令不尽相同,单个的查阅代码对应的Readme需要回忆理解又比较麻烦。故本文在此汇总比较常用的操作步骤与终端命令,用于日常快速复现。

一、AttnGAN

这篇文章提出了一种注意力生成对抗网络(AttnGAN),它允许注意力驱动、多阶段细化细粒度文本到图像的生成,此外,还提出了一种深度注意多模态相似性模型来计算细粒度图像-文本匹配损失以训练生成器,进而生成更逼真的图像。 文章被2018年CVPR(IEEE Conference on Computer Vision and Pattern Recognition)会议收录。

复现步骤

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的,在配置数据集时要小心使用其原版提供的数据包,完整目录如下: 在这里插入图片描述

二、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 例子如下: 在这里插入图片描述

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)方向

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

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