持续创作,加速成长!这是我参加「日新方案 10 月更文挑战」的第18天,点击检查活动概况
本文将介绍一个简略高效的文本生成图画基准模型,该基准模型是DF-GAN20版代码,清楚简略,实用性高,本基准模型代码在他的基础上通过少数简化和处理,虚拟环境也进行了打包,非常合适作为一个基线模型,然后在其上进行对应立异。
一、下载代码
代码地址:github.com/Heavenhjs/d…
下载方法:git clone https://github.com/Heavenhjs/demot2i.git
或许进入github下载压缩包
下载后的代码结构如下:
其中:code文件夹放置模型首要代码,data放置数据集(如bird、coco),DAMSMencoders放置现已练习好的文本编码器和图画编码器。
二、配置虚拟环境
点击下载现已打包好的虚拟环境demoEnv,将其放到Anaconda装置目录下的envs中,无需解压。比方D:\Anaconda3\envs:
放入之后能够在anaconda prompt或许pycharm终端中输入:conda info --envs
,假如显示有demoEnv则成功导入虚拟环境:
三、配置数据集
数据集现已打包上传至OneDrive,下载数据集CUB-Bird,替换代码项目的data文件夹:
四、开端运转
最终配置好的项目结构如下: 其中code/cfg里的yml文件寄存模型的一些参数,code/miscc文件夹寄存模型的选项和工具函数,DAMSM是深度注意多模态相似模块,dataset用于处理数据和加载dataloader,main是项目的入口文件,model是模型文件。
运转:
1、激活demoEnv环境:conda activate demoEnv
2、进入code目录,开端运转,模型进入练习:python main.py --cfg cfg/bird.yml
3、练习好了之后,将code/cfg/bird.yml中的B_VALIDATION 改为True,然后进入采样:python main.py --cfg cfg/bird.yml
五、结构解释
模型扔掉了以往的堆叠结构,只使用一个生成器、一个鉴别器、一个预练习过的文本编码器。
首要,从生成器开端看,生成器有两个输入:文本编码器(LSTM,用的是AttnGAN的那套)编码过后的sentence vector和从正态分布中采用的随机噪声。首要将噪声送入一个全连接层偏重塑成需求的尺寸,然后通过一系列UPBlock块生成图画特征,UPBlock块包含:上采样层、残差块和DF-Block(DF-Block用于交融文本和图画特征),最终卷积层将图画特征转换为图画。
然后,剖析鉴别器,鉴别器使用一系列DownBlock将图画转换为图画特征,然后把图画特征与sentence vector相连接,然后通过OneWay Output块计算对立损失(包含视觉真实性和语义一致性)
立异:
- 提出了一种新的单级文本到图画骨干,能够直接合成高分辨率图画,而不需求不同生成器之间的纠缠。
- 提出了一种由匹配感知梯度惩罚(MA-GP)和单向输出组成的目标感知鉴别器。它在不引进额定网络的情况下明显增强了文本图画的语义一致性。
- 提出了一种新的深度文本图画交融块(DFBlock),它能更有效、更深化地交融文本和视觉特征。
不足:
- 模型扔掉了AttnGAN以来提出的单词级信息,只引进了语句级的文本信息,这限制了细粒度视觉特征合成的能力
- 模型使用的text encoder仍然是AttnGAN中的encoder。若引进预先练习过的大型言语模型来供给额定的知识可能会进一步提高功能。
最终
个人简介:人工智能领域研究生,目前主攻文本生成图画(text to image)方向
支撑我:点赞+保藏⭐️+留言
假如这篇文章帮助到你许多,希望能点击下方打赏我一杯可乐!多加冰哦