Github 项目推荐 | 由文本生成人脸图像 —— T2F

T2F 结合了最近的两个架构 StackGAN 和 ProGAN,用于从文本描述中合成面部,该项目使用 Face2Text 数据集,每个数据集包含 400 个图像和文字说明。 数据包含在 data / LFW / Face2Text / face2text_v0.1 目录下的存储库中。

Github 链接:

https://github.com/akanimax/T2F

一些样例

结构

LSTM 网络能够将文本描述编码为摘要向量,图中所示的嵌入(psy_t)通过调节增强块(单个线性层)以获得 GAN 作为输入的潜在向量的文本部分(使用类似重新参数化技术的VAE)。潜在向量的第二部分是随机高斯噪声。这样产生的潜在矢量被馈送到GAN的发生器部分,而嵌入被馈送到鉴别器的最后一层用于条件分布匹配。 GAN 的训练完全按照 ProGAN 论文的说明进行,即在增加的空间分辨率下逐层训练。使用淡入技术引入新层以避免破坏先前的学习。

运行代码

代码存在于 implementation/ 子目录中,该实现已经用 PyTorch 完成。因此,为了运行此代码,请安装 PyTorch 0.4.0。

代码结构

  • configs:包含训练网络的配置文件。 (你可以使用任何一个,或者创建你自己的)
  • data_processing:包含数据处理和加载模块的包
  • networks:包含网络实现
  • processed_annotations:目录存储运行process_text_annotations.py脚本的输出
  • process_text_annotations.py:处理标题并将输出存储在processed_annotations /目录中。
  • train_network.py:用于运行网络训练的脚本

样本配置

# All paths to different required data objects
images_dir: "../data/LFW/lfw"
processed_text_file: "processed_annotations/processed_text.pkl"
log_dir: "training_runs/11/losses/"
sample_dir: "training_runs/11/generated_samples/"
save_dir: "training_runs/11/saved_models/"

# Hyperparameters for the Model
captions_length: 100
img_dims:
  - 64
  - 64

# LSTM hyperparameters
embedding_size: 128
hidden_size: 256
num_layers: 3  # number of LSTM cells in the encoder network

# Conditioning Augmentation hyperparameters
ca_out_size: 178

# Pro GAN hyperparameters
depth: 5
latent_size: 256
learning_rate: 0.001
beta_1: 0
beta_2: 0
eps: 0.00000001
drift: 0.001
n_critic: 1

# Training hyperparameters:
epochs:
  - 160
  - 80
  - 40
  - 20
  - 10

# % of epochs for fading in the new layer
fade_in_percentage:
  - 85
  - 85
  - 85
  - 85
  - 85

batch_sizes:
  - 16
  - 16
  - 16
  - 16
  - 16

num_workers: 3
feedback_factor: 7  # number of logs generated per epoch
checkpoint_factor: 2  # save the models after these many epochs
use_matching_aware_discriminator: True  # use the matching aware discriminator

使用 requirements.txt 安装该项目所有的依赖。

$ workon [your virtual environment]
$ pip install -r requirements.txt

样例运行:

$ mkdir training_runs
$ mkdir training_runs/generated_samples training_runs/losses training_runs/saved_models
$ train_network.py --config=configs/11.comf

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-07-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

GPU捉襟见肘还想训练大批量模型?谁说不可以

2018 年的大部分时间我都在试图训练神经网络时克服 GPU 极限。无论是在含有 1.5 亿个参数的语言模型(如 OpenAI 的大型生成预训练 Transfo...

3243
来自专栏人工智能

如何仅使用TensorFlow C+来训练深度神经网络

作者|Florian Courtial 译者|Debra 编辑|Emily AI 前线导读:训练神经网络是一件十分复杂,难度非常大的工作,有没有可能让训练的过程...

2215
来自专栏程序员宝库

Python验证码识别:利用pytesser识别简单图形验证码

来源: j_hao104 my.oschina.net/jhao104/blog/647326 一、探讨 识别图形验证码可以说是做爬虫的必修课,涉及到计算机图...

59110
来自专栏FreeBuf

用机器学习玩转恶意URL检测

前段时间漏洞之王Struts2日常新爆了一批漏洞,安全厂商们忙着配合甲方公司做资产扫描,漏洞排查,规则大牛迅速的给出”专杀”规则强化自家产品的规则库。这种基于规...

8379
来自专栏计算机视觉战队

稀疏&集成的卷积神经网络学习(续)

昨天跟大家详细的说了分类,定位的一些相关知识,今天把剩下的最后一点知识给大家补充完整,也感谢大家一直的支持,谢谢! 昨天的推送告诉大家了分类方案,我们再温习一...

3026
来自专栏机器之心

手把手教你为iOS系统开发TensorFlow应用(附开源代码)

选自machinethink.net 机器之心编译 参与:赵华龙、邵明、吴攀、李泽南 在你使用深度神经网络做预测之前,你首先要训练神经网络。现在存在许多不同的神...

3089
来自专栏数据派THU

手把手教你用Keras进行多标签分类(附代码)

本文将通过拆解SmallVGGNet的架构及代码实例来讲解如何运用Keras进行多标签分类。

5.1K9
来自专栏AI黑科技工具箱

1.试水:可定制的数据预处理与如此简单的数据增强(下)

上一部分我们讲了MXNet中NDArray模块实际上有很多可以继续玩的地方,不限于卷积,包括循环神经网络RNN、线性上采样、池化操作等,都可以直接用NDArra...

4303
来自专栏AI研习社

Github 项目推荐 | 用 TensorFlow 实现的模型集合

该库包含了大量用 TensorFlow 实现的不同模型。 官方模型(official models) 文件里是使用 TensorFlow 高级 API 的示例模...

3896
来自专栏ATYUN订阅号

Deep Photo Styletransfer的一种纯Tensorflow实现,教你如何转换图片风格

通过深度学习,一秒钟让你的照片高大上,这是康奈尔大学和 Adobe 的工程师合作的一个新项目,通过卷积神经网络把图片进行风格迁移。项目已开源,名字叫「Deep ...

4885

扫码关注云+社区