教你从头到尾利用DL学梵高作画
一、前言
与此同时,机器学习越来越火,且随着计算机计算能力的提高深度学习则更趋火热。公司在做深度学习的课程时,开发/市场同事也会顺带着学习学习,但从始至终都尚未跟着课程上的实验实际动手做过。
- 21号下午5点,同事李、许开始搞DL:用DL学梵高作画。恩,是搞DL 不是搞ML。
- 接近6点的时候,开始卷积计算,等待的过程就像生孩子一样。
- 晚上8点,CPU搞了一个半小时搞出来了,然后开始装cuda,好用GPU搞几副梵高笔下的画。
- 0点,同事还在装,因为GTX 1070下装cuda8.0实在是费劲呐(1070+8.0之所以难装,一个是网上教程很少,一个是1070 8.0都是刚出来的,特别是1070目前只能用cuda 8.0。可能960/970/980搭cuda 7.5会轻松太多)。
- 接下来,两同事在黑暗中前行了一夜,趟遍无数坑。
- 22号早上6点半,cuda、TensorFlow终于编译好,我..
- 22号早上8点,用DL学梵高作画,GTX 1070 cuda 8.0 Ubuntu 14.04 cudnn 5.1 tensorflow gpu,折腾一整夜,趟遍无数坑,两位同事一PHP一市场终于搞定。(恩,有人说,PHP是世界上最好的语言)。
二、配置
三、下载
考虑到有些同学Linux操作不是很熟练,以下步骤尽量详细,以让每一个人都能玩一把。另,操作系统为全新安装的Ubuntu14.04英文桌面版,如果已安装其它版本或非全新安装,步骤可相应调整。
3.1、 Ubuntu14.04
http://www.ubuntu.com/download/alternative-downloads(下载地址,选择64位下载)
- 我们自己下载的时候是在官方英文版页面下载,中文版网页面似乎没有Ubuntu14.04的下载页。
- Ubuntu14.04版本选择上建议使用英文原版,Kylin(麒麟:给中国用户特别定制)版本不建议使用。原因:呵呵,外来和尚会念经
- Ubuntu16.04版本我们测试后发现进入桌面会屏幕闪动,分析原因似乎跟我们的显卡是1070版本有关(其实只要把GTX1070显卡驱动装上就行),而Ubuntu14.04未出现以上状况。所以考虑为广大人民群众减少麻烦,当您的显卡与我们类似(GTX1070\GTX1080),请参考本条建议。
http://cn.ultraiso.net/xiazai.html(下载地址)
- 这个软件是将你U盘制作成Ubuntu14.04安装盘的工具。
- 使用方法请查看百度文库相关说明:http://wenku.baidu.com/link?url=XIitpKr9kKSXLLBzhrO7DzCOgGtrqpvxyfnI8tt3ugnt59dEWzMwUAUzMy-mIyY1gDeqaOPkKMB5EwlWYCwWZjaq2CaLiZzWpENTpgk04SG
- 如果下载地址链接失效,自行百度:UltraISO软碟通。
- 安装是在Windows下安装的。
3.2、 GTX1070显卡驱动
http://www.geforce.cn/drivers(下载地址)
3.3、 CUDA
https://developer.nvidia.com/cuda-toolkit(下载地址)
(1)在NVIDIA的CUDA下载页面下,选择要使用的CUDA版本进行下载。
(2)我们这里使用CUDA8.0(页面有提示GTX1070、GTX1080支持8.0版本),学员如果没有使用以上两个版本的GPU,可以下载CUDA7.5。DOWNLOAD(下载)。
3.4、 Cudnn
https://developer.nvidia.com/cudnn(下载地址)
(1)下载需要填写一个调查问卷,就三个选项,建议认真填写,毕竟人家免费给咱使用。
(2)填写完毕点击 I Agree To 前面的小方框,出现如下:
点击下载后出现很多个选择,勾选3个选项:Images、Image Classification、Tensorflow。
3.5、 Tensorflow
tensorflow github上面提到 4 种安装方式,本教程使用 第四种 源码安装
https://github.com/tensorflow/tensorflow(下载地址)
最后,将所有下载文件全部存放至自己的移动硬盘/U盘内,等待安装时候使用。
四、 安装
4.1、 安装Ubuntu14.04
http://jingyan.baidu.com/article/eb9f7b6d8536a8869364e813.html
4.2、 安装GTX1070显卡驱动及CUDA8.0
(2)插入U盘,将内容拷贝至Desktop文件下。熟悉Ubuntu的同学,这步可以按照自己习惯放置在其他文件夹下。
此时会调回命令框界面,输入sudo update-grub2
输入cd /home/***(这个按Tab键自动匹配)/Desktop
输入 ./NVIDIA-LIN…(这个按Tab键自动匹配) 或 /bin/bash 文件名
…………………………………………………………………………………………………………………………………………………………………………………………………………………………….
(8) 安装NVIDIA结束后,同样操作安装CUDA8.0,这里需要注意其中一个地方需要填写N才行,不能写Y。如图
4.3、 Cudnn安装
cd /home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz###(解压这个文件)
sudo cp cuda/include/cudnn.h /usr/local/cuda/include###(复制)
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64###(复制)
sudo chmoda+r/usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*
4.4、 其他依赖安装:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
我们是在github的Tensorflow官方网页上,根据提示安装,地址如上。
sudo apt-get install python-pip python-dev (这个不完整,完整版如下)
sudo apt-get install python-pip python-dev Python-scipy Pythoy-numpy git
4.5、 Bazel安装
由于本教程使用tensorflow源码编译/安装,所以需要使用 bazel build。
链接:https://www.bazel.io/versions/master/docs/install.html
4.6、 numpy安装
http://www.scipy.org/scipylib/download.html
git clone git://github.com/numpy/numpy.git numpy
4.7、 Tensorflow安装
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
sudo pip install /home/***(你自己的用户名)/Desktop/tensorflow-0.10.0-cp2-none-any.whl
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
ln -s ../tensorflow/tools/pip_package/* .
五、 测试Tensorflow
六、 实验:模仿梵高绘画
neural-style下载
在这个github网站下载相应代码:https://github.com/anishathalye/neural-style
接下来,下载vgg19:
http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat
现在,在命令窗口cd /home/***(你自己的用户名)/Desktop/
git clone https://github.com/anishathalye/neural-style.git
把你想修改的照片放入example文件夹内,然后在刚才的窗口命令接着输入:
在计算机学到梵高作品星空的风格之后,让计算机对指定图片进行梵高式处理,如下图所示
之前用CPU得一个半小时才能出来结果的,现在用GPU几分钟即可出结果。不枉费劲心思折腾GPU。
后记
我们不只是做在线教育,更是一家科技公司,也不想只是做做开源实验,更希望做出更多有趣、好玩的东西。
原文地址: http://blog.csdn.net/v_july_v/article/details/52658965