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

本文转自微信公众号  createamind

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

  2016-09-21  zdx3578  大脑模拟

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

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

# 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

# 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分钟。



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




重建过程如有问题,可以加qq群号 325921031 , 微信群讨论,微信群扫下方二维码或后台留言加群其他入门干货访问公众号createamind 即得。


二维码:



微信扫一扫
关注该公众号


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值