DF-GAN实验复现——复现DFGAN详细步骤 及使用MobaXtem实现远程端口到本机端口的转发查看Tensorboard

524 阅读4分钟

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

DF-GAN是南京邮电大学、苏黎世联邦理工学院、武汉大学等学者共同研究开发的一款简单且有效的文本生成图像模型,文章已被CVPR 2022 Oral录用。 DF-GAN最近发布了2022最新版本的代码,代码支持在训练期间自动进行 FID 评估,模型性能和效果很好。

论文地址:arxiv.org/abs/2008.05…

代码地址:github.com/tobran/DF-G…

精读与理解:论文精读DF-GAN:一种简单有效的文本生成图像基准模型

MobaXterm 又名 MobaXVT,是一款增强型终端、X 服务器和 Unix 命令集(GNU/ Cygwin)工具箱,是远程操作服务器的优质工具,本篇将使用MobaXterm对DF-GAN进行复现。

零、DF-GAN原理简介

在这里插入图片描述 模型抛弃了以往的堆叠结构,只使用一个生成器、一个鉴别器、一个预训练过的文本编码器

首先,从生成器开始看,生成器有两个输入:文本编码器(LSTM,用的是AttnGAN的那套)编码过后的sentence vector和从正态分布中采用的随机噪声。首先将噪声送入一个全连接层并重塑成需要的尺寸,然后经过一系列UPBlock块生成图像特征,UPBlock块包括:上采样层、残差块和DF-Block(DF-Block用于融合文本和图像特征),最后卷积层将图像特征转换为图像。

然后,分析鉴别器,鉴别器使用一系列DownBlock将图像转换为图像特征,然后把图像特征与sentence vector相连接,然后经过OneWay Output块计算对抗损失(包括视觉真实性和语义一致性)

一、下载代码及数据

1、使用git clone https://github.com/tobran/DF-GAN.git下载DF-GAN最新代码,下载后结构如下:

在这里插入图片描述 2、下载鸟数据集的元处理数据:drive.google.com/file/d/1I6y… 打不开可以通过CSDN下载:DF-GAN-CUB-元处理数据包 元数据包下载完毕后如下图所示:

在这里插入图片描述 将元数据包的文件放入到DF-GAN/data/birds目录下,如图所示: 在这里插入图片描述

3、下载CUB-Bird鸟图像数据集,下载链接: www.vision.caltech.edu/visipedia/C… 在这里插入图片描述

二、配置环境

创建虚拟环境,然后进入DF-GAN目录 ,使用命令行:pip install -r requirements.txt安装必备的环境,也可以手动安装(不推荐),环境要求如下: 在这里插入图片描述

三、训练

对于鸟类数据集,进入DF-GAN/code目录,命令行输入:bash scripts/train.sh ./cfg/bird.yml,当出现类似如下情况则说明训练过程正常运行。 在这里插入图片描述 如果命令行输入的是以上格式,需要MobaXtem一直在线连接,给输出提供传输信道,本地关机后程序就会终止,那么我们可以使用nohup命令将输出放入output.txt:

nohup bash scripts/train.sh ./cfg/bird.yml >output.txt 2>&1 &

但是这种方式,在运行一段时间后,会把output.txt写的非常非常大,占用几个G的空间。既然DF-GAN提供了Tensorboard,我们干脆不写进output.txt了,直接使用Tensorboard监控就行,于是我们把输出写进/dev/null,(dev/null就是一个黑洞,所有写进这个目录的文件都会凭空消失)命令如下:

 nohup bash scripts/train.sh ./cfg/bird.yml >/dev/null 2>&1 &

四、使用Tensorboard监控数据

DF-GAN最新版本的代码支持在训练期间自动进行 FID 评估,结果存储在 ./logs 下的 TensorBoard 文件中,在命令行输入:tensorboard --logdir=./code/logs/bird/train --port 8166,会显示如下: 在这里插入图片描述

然后利用建立ssh隧道(使用本机复现实验的话不需要看后面的步骤,直接访问http://127.0.0.1:8166/),实现远程端口到本机端口的转发,打开tunneling: 在这里插入图片描述 新建SSH通道: 在这里插入图片描述 填入端口和用户名 在这里插入图片描述 点击start开始转发: 在这里插入图片描述 然后就可以在本机访问http://127.0.0.1:8166/,查看tensorboard了, 在这里插入图片描述

最后

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

🔥 限时免费订阅:文本生成图像T2I专栏

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