• 文本生成图像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/
    
    • 1
    • 2
    • 3

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

    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专栏

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

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

  • 相关阅读:
    使用HTML制作静态网站作业——我的校园运动会(HTML+CSS)
    vue-manage-system升级到vue3的开发总结
    ConsoleAppender简介说明
    PCB走线规则
    L84.linux命令每日一练 -- 第11章 Linux系统管理命令 -- rpm和yum
    云原生Kubernetes:K8S集群list-watch机制与 pod调度约束
    charles + postern 抓包教程
    【vb.net】轻量JSON序列及反序列化
    ReactNative封装Android原生模块
    毕业设计 基于stm32的智能平衡小车 - 单片机 物联网嵌入式
  • 原文地址:https://blog.csdn.net/air__Heaven/article/details/126323053