前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >InfoGAN修改训练人脸数据集celebA的过程记录

InfoGAN修改训练人脸数据集celebA的过程记录

作者头像
用户1908973
发布2018-07-20 16:23:16
1.4K0
发布2018-07-20 16:23:16
举报
文章被收录于专栏:CreateAMindCreateAMind

内容目录: 相关内容请参考最重要的论文之一:无监督的语义特征学习 论文翻译及代码

celeba简介,

infogan修改简介,

运行性能对比: gpu一个批次从最初2核cpu 3个半小时 缩减为不到7分钟。

环境搭建说明:aws 上面搭建环境

训练效果图: 还没跑出来。


一 celeba简介:

通过官网http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html 介绍,从gogole driver https://drive.google.com/drive/folders/0B7EVK8r0v71pTUZsaXdaSnZBZzg 下载到aws很快,国内可以从官网给的百度盘链接下载。

3种图片

1 img_celebA.7z 目录 原始图片 jpg 图片分辨率大小不一,分辨率几百*几百 到 上千*上千不等

2 img_align_celeba_png.7z 目录 脸部图片 png 脸部图片,分辨率大小一致,格式png文件较大

3 脸部图片 jpg 图片分辨率大小一致,jpg格式文件小


二 infogan修改简介:

1 infogan默认训练只包含mnist,没有celeba人脸数据库的训练,我们参考

https://github.com/carpedm20/DCGAN-tensorflow 的celeba相关代码

调整infogan输入celeba图片数据进行训练

2 增加小配置,对运行中保存的checkpoint进行reload

if self.isrestore and self.restore_checkpoint_file:

saver.restore(sess, self.restore_checkpoint_file)

print("Model restored.")

3 参考dcgan,gan在每次训练中多训练几次次

for j in range(3):

gencount += 1

print gencount

sess.run(self.generator_trainer, feed_dict) (!!还需要确认)

4 cnn架构扩展:原理的mnist训练的cnn结构相对简单,

custom_fully_connected(image_size / 16 * image_size / 16 * 512).

fc_batch_norm().

apply(tf.nn.relu).

reshape([-1, image_size / 16, image_size / 16, 512]).

custom_deconv2d([0, image_size / 8, image_size / 8, 256], k_h=4, k_w=4).

conv_batch_norm().

apply(tf.nn.relu).

custom_deconv2d([0, image_size / 4, image_size / 4, 128], k_h=4, k_w=4).

conv_batch_norm().

apply(tf.nn.relu).

custom_deconv2d([0, image_size / 2, image_size / 2, 64], k_h=4, k_w=4).

conv_batch_norm().

apply(tf.nn.relu).

custom_deconv2d([0] + list(image_shape), k_h=4, k_w=4).

flatten())

改的比较烂,希望能抛砖引玉!


三 性能对比:

tensorflw 和cpu近乎成正比扩展,当然如果cpu太多了也会有所折扣。

截图:

6.5cpu r3.large ec2 3个半小时 上

31cpu c4.2xlarge ec2 1小时 下

62cpu单位 c4.4xlarge ec2 半小时 上图 再扩展cpu效果就不明显了

132 cpu单位 c4.8xlarge ec2 20分钟 下图

gpu如下:


四 环境搭建过程:

使用aws 云服务器,参考commaai的image comma.ai George Hotz 挑战谷歌的自动驾驶系统测试搭建过程 :在AWS的社区AMI中搜索前人已经安装好的镜像,比如这个镜像ami-97ba3a80,anaconda tensorflow cuda 全部安装好,其他依赖可以根据提示直接pip安装即可。操作系统启动后,conda list即可看到相关conda环境,source activate tensorflow即可进入tensorflow环境

aws 实例启动后先安装系统包

sudo apt-get update

sudo apt-get install -y opencl-headers build-essential protobuf-compiler libprotoc-dev libboost-all-dev libleveldb-dev hdf5-tools libhdf5-serial-dev libopencv-core-dev libopencv-highgui-dev libsnappy-dev libsnappy1 libatlas-base-dev cmake libstdc++6-4.8-dbg libgoogle-glog0 libgoogle-glog-dev libgflags-dev liblmdb-dev git python-pip gfortran

git clone https://github.com/zdx3578/InfoGAN.git

cd InfoGAN

进入python环境后再安装相关python包

source activate tensorflow

安装 gpu版本tensorflow ref:https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html

代码语言:javascript
复制
# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 7.5 and CuDNN v5. For other versions, see "Install from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl
代码语言:javascript
复制
# Python 2
$ sudo pip install --upgrade $TF_BINARY_URL

tensorflow被依赖,安装完之后,继续安装

for req in $(cat requirements.txt); do pip install $req; done

到这里,基本安装完成。

下载celeba数据文件 压缩后的约1.5G,解压到 InfoGAN/celebA/

运行训练:PYTHONPATH='.' python launchers/run_mnist_exp.py

跑起来后,对比上面的截图速度显示,一个批次从最初2核cpu 3个半小时 缩减为不到7分钟。

五:训练效果图: 还没跑出来。

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

本文分享自 CreateAMind 微信公众号,前往查看

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

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

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