前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Github 项目推荐 | 由文本生成人脸图像 —— T2F

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

作者头像
AI研习社
发布2018-07-26 15:58:21
6670
发布2018-07-26 15:58:21
举报
文章被收录于专栏:AI研习社

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:用于运行网络训练的脚本

样本配置

代码语言:javascript
复制
# 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 安装该项目所有的依赖。

代码语言:javascript
复制
$ workon [your virtual environment]
$ pip install -r requirements.txt

样例运行:

代码语言:javascript
复制
$ mkdir training_runs
$ mkdir training_runs/generated_samples training_runs/losses training_runs/saved_models
$ train_network.py --config=configs/11.comf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档