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

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

一、AttnGAN

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版本)

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评估要出至少3000张图像,将其放入test/valid中,命名为single(或者其他),然后python inception_score.py --image_folder ../test/valid/single 例子如下:

3.2、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分数

四、其他指令

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

🔥 限时免费订阅:

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

经验分享 程序员 微信小程序 职场和发展