在日常学习中,时常需要不断使用其他模型进行指标评测、采样、图像生成等等操作,而不同模型使用的操作终端命令不尽相同,单个的查阅代码对应的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 trainingresume_epoch=300resume_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)方向
📝 关注我:中杯可乐多加冰
🔥 限时免费订阅:文本生成图像T2I专栏
🎉 支持我:点赞👍+收藏⭐️+留言📝
如果这篇文章帮助到你很多,希望能点击下方打赏我一杯可乐!多加冰哦
版权归原作者 中杯可乐多加冰 所有, 如有侵权,请联系我们删除。