教你从头至尾利用DL学梵高做画:GTX 1070 cuda 8.0 tensorflow gpu版

教你从头至尾利用DL学梵高做画

\html

\前端

做者:七月在线开发/市场团队中的三人,骁哲、李伟、July。本教程主要由骁哲撰写,李伟负责Linux命令部分。
时间:二零一六年九月二十五日
配置:GTX 1070 cuda 8.0 Ubuntu 14.04 cudnn 5.1 tensorflow gpu
交流:TensorFlow实战交流Q群 472899334,有问题能够加此群共同交流。另探究实验背后原理,请参看咱们的深度学习在线课程:深度学习在线班。\python

\linux

\git

1、前言

    12年本博客推出SVM三层境界,14年July团队开始作机器学习线下班,也所以写了一系列ML博客。15年,July团队正式创业,开始作七月在线 —— 国内领先的人工智能教育平台,最初涵盖算法、机器学习、深度学习三大重心。16年,七月在线从上半年的5个课程扩展到下半年的30个课程,讲师团队也从上半年的5人扩大至现有的19人(且到18年上半年,讲师团队已超过60人)。github

    与此同时,机器学习愈来愈火,且随着计算机计算能力的提升深度学习则更趋火热。公司在作深度学习的课程时,开发/市场同事也会顺带着学习学习,但从始至终都还没有跟着课程上的实验实际动手作过。算法

    直到最近,咱们团队人手渐渐齐了以后,发现能够动手作一些实验了。为什么呢?学一个东西,懂它理论以后,最重要的是付诸实践,动手实验一把,否则永远只是纸上谈兵。咱们三虽然都不讲课(一市场一PHP一打杂),但能够辅助讲师团队带动更多学员一块儿作实验、一块儿搞。ubuntu

    激情澎湃,心血来潮。vim

  • 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是世界上最好的语言)。\

    咱们搭建好以后,兴高采烈的在微博上发布(由于两同事此前从未搞过DL,能够想象咱们心情之兴奋),发现咱5月DL班里一学员以前也搭过这个配置,说:“装cuda 和驱动花了几天,常常出现黑屏”。也有朋友反馈:“配置这玩意确实很麻烦。”、以及“是真的很麻烦,我本身尝试搭建就一直没成功”。因此,不少朋友求教程。bash

    事实上,GPU搭好后,最后跑下demo就几分钟的事,主要是整个搭建过程 很折腾。不信?你能够先不看本教程,而后自个从头至尾搭一把1070+8.0,没搭过1070+8.0以前就不要来轻易下结论了。真心话。

    综上,特此推出本份教程,是网上极少有的1070+8.0教程里面最详尽的一份(部分图都是由骁哲用手机对着电脑拍下),但愿让更多人少走弯路。此外,咱们更会在深度学习课程上带领更多人跟咱们一块作DL实验,一块儿玩。

\

\

2、配置

咱们的配置为

  • 硬件配置:酷睿i7-6700+GTX1070+500G固态硬盘+8G内存+主板
  • 软件配置:Ubuntu14.04 +GTX1070显卡驱动+CUDA8.0+cudnn5.1+Tensorflow

\

\

3、下载

考虑到有些同窗Linux操做不是很熟练,如下步骤尽可能详细,以让每个人都能玩一把。另,操做系统为全新安装的Ubuntu14.04英文桌面版,若是已安装其它版本或非全新安装,步骤可相应调整。

3.一、 Ubuntu14.04

http://www.ubuntu.com/download/alternative-downloads(下载地址,选择64位下载)

说明:

  1. 咱们本身下载的时候是在官方英文版页面下载,中文版网页面彷佛没有Ubuntu14.04的下载页。
  2. Ubuntu14.04版本选择上建议使用英文原版,Kylin(麒麟:给中国用户特别定制)版本不建议使用。缘由:呵呵,外来和尚会念经
  3. Ubuntu16.04版本咱们测试后发现进入桌面会屏幕闪动,分析缘由彷佛跟咱们的显卡是1070版本有关(其实只要把GTX1070显卡驱动装上就行),而Ubuntu14.04未出现以上情况。因此考虑为广大人民群众减小麻烦,当您的显卡与咱们相似(GTX1070\GTX1080),请参考本条建议。

UltraISO软碟通:

http://cn.ultraiso.net/xiazai.html(下载地址)

说明:

  1. 这个软件是将你U盘制做成Ubuntu14.04安装盘的工具。
  2. 使用方法请查看百度文库相关说明:wenku.baidu.com/link?url=XI…
  3. 若是下载地址连接失效,自行百度:UltraISO软碟通。
  4. 安装是在Windows下安装的。

3.二、 GTX1070显卡驱动

http://www.geforce.cn/drivers(下载地址)

说明:

(1)选项图解

(2)你们能够根据本身电脑配置进行选择。

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)图解选择

 

 

3.四、 Cudnn

https://developer.nvidia.com/cudnn(下载地址)

说明:

(1)下载须要填写一个调查问卷,就三个选项,建议认真填写,毕竟人家免费给咱使用。

(2)填写完毕点击 **I Agree To ** 前面的小方框,出现以下:

    点击下载后出现不少个选择,勾选3个选项:Images、Image Classification、Tensorflow。

\

3.五、 Tensorflow

tensorflow github上面提到 4 种安装方式,本教程使用 第四种 源码安装\

  1. Virtualenv installation
  2. Anaconda installation
  3. Docker installation
  4. Installing from sources

github.com/tensorflow/…(下载地址)

说明:

(1)打开下载页面,往下翻,直到下图这个位置:

(2) 点击Python 2开始下载。

最后,将全部下载文件所有存放至本身的移动硬盘/U盘内,等待安装时候使用。

\

\

4、 安装

4.一、 安装Ubuntu14.04

安装Ubuntu14.04:

http://jingyan.baidu.com/article/eb9f7b6d8536a8869364e813.html

说明:

(1)咱们直接安装的英文原版系统,语言也是选择英文的。

(2)上述连接在--第三步:安装类型上选择的是--自定义。咱们选择的是--清除整个磁盘而且安装,若是你有Windows系统,还会提示安装Ubuntu14.04与Windows并存模式。这个自行选择 ,切记! 这个地方谨慎选择。

(3)感谢百度经验上传者!

4.二、 安装GTX1070显卡驱动及CUDA8.0

注:安装驱动须要在字符界面下安装

步骤:

1)进入Ubuntu界面

2)插入U盘,将内容拷贝至Desktop文件下。熟悉Ubuntu的同窗,这步能够按照本身习惯放置在其余文件夹下。

3)如图搜索Terminal

\

4) 将命令框图标拖动到左边栏里或者桌面,以便使用。

5) 打开命令框,输入 sudo  –i

输入开机密码

输入  sudo apt-get install vim\

           sudo  vi   /etc/default/grub

\

6) 此时系统会进入一个文本页面。在第20行先后会出现GRUB_CMDLINE_LINUX_DEFAULT="quiet"。将光标移动到这个命令最前端,而后键盘点击Esc键,再点击y键两次,点一下p键。就会将本条指令复制一个放到下一行。而后点击i键,就能进行编辑了,在本行命令前面添加#号,而后移动到复制出来的那条,修改quiet为text,按Esc键。Shift+:输入wq。

 

此时会调回命令框界面,输入sudo update-grub2

      输入shutdown  –r  now重启

7) 重启后进入字符界面,按照提示输入你的用户名及密码

\

输入sudo  -i

输入密码

输入cd  /home/***(这个按Tab键自动匹配)/Desktop

输入 ./NVIDIA-LIN…(这个按Tab键自动匹配) 或  /bin/bash 文件名

不懂的看图以下

\

按回车键后出现

…………………………………………………………………………………………………………………………………………………………………………………………………………………………….

说明开始安装

而后选择Accept等等赞成字样

期间遇到协议的时候一直按空格键就行

协议完成后提示如图

\

输入accept

而后一路赞成就行

8) 安装NVIDIA结束后,一样操做安装CUDA8.0,这里须要注意其中一个地方须要填写N才行,不能写Y。如图

\

其他操做如图

\

而后回车等待就行

9) 相似刚刚第(5)步的执行

输入sudo  vi   /etc/default/grub此时系统会进入一个文本页面。在第20行先后会出现GRUB_CMDLINE_LINUX_DEFAULT="quiet"。将光标移动到这个命令最前端,而后键盘点击Esc键,再点击y键两次,点一下p键。就会将本条指令复制一个放到下一行。而后点击i键,就能进行编辑了,在本行命令前面删除#号,而后移动到复制出来的那条,命令前面添加#号,按Esc键。Shift+:输入wq。

此时会调回命令框界面,输入sudo update-grub

      输入shutdown  –r  now重启

4.三、 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.四、 其余依赖安装:

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.五、 Bazel安装

因为本教程使用tensorflow源码编译/安装,因此须要使用 bazel build。

连接:www.bazel.io/versions/ma…

\

自动跳转

\

\

以后回到以前的Tensorflow安装教程页面:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md

\

4.六、 numpy安装

http://www.scipy.org/scipylib/download.html

\

git clone git://github.com/numpy/numpy.git numpy

\

4.七、 Tensorflow安装

仍是刚刚的网址

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md

\

./configure

若是configure 失败 尝试执行一下两个命令
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

\

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

 

# To build with GPU support:

bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

 

mkdir _python_build

cd _python_build

ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .

ln -s ../tensorflow/tools/pip_package/* .

python setup.py develop

 

\

\

5、 测试Tensorflow

 

\

\

6、 实验:模仿梵高绘画

neural-style下载
在这个github网站下载相应代码:github.com/anishathaly…\

\

接下来,下载vgg19:
www.vlfeat.org/matconvnet/…

而后,把vgg放到neural-style的文件夹根目录下\

如今,在命令窗口cd  /home/***(你本身的用户名)/Desktop/

   git clone  github.com/anishathaly…

接着 你就能在桌面打开这个文件夹了

\

把你想修改的照片放入example文件夹内,而后在刚才的窗口命令接着输入:

python   neural_style.py   --content  ./example/***.jpg(此括号内不要复制:***表明你想要使用的图片名称)   --styles  ./example/ 1-style.jpg(此括号内不要复制:1-style.jpg是梵高星空图片在文件夹内名称,你也能够换其余的风格,更名称就好了) --output  ./example/$$$.jpg(此括号内不要复制:$$$表明你想要生成的图片名称)

例如个人输入以下python neural_style.py –content  ./example/1-content.jpg  --styles ./example/1-style.jpg --output ./example/1-output.jpg

\

接下来,就是见证奇迹的时刻。

在计算机学到梵高做品星空的风格以后,让计算机对指定图片进行梵高式处理,以下图所示

\

以前用CPU得一个半小时才能出来结果的,如今用GPU几分钟便可出结果。不枉费劲心思折腾GPU。\

\

\

后记

    两位同事此前从未作过任何DL实验,仅拼着一腔热情、兴趣、热爱作这个实验,刚作完时以为很麻烦,由于不少坑网上都没提过、全凭在黑暗中摸石头过河,且前行整整一晚上。但相信有此教程后,1070+8.0则再也不麻烦,可能一两个小时便能搞定(由于后来咱们一下午连搞三遍,一遍比一遍快)。动嘴容易、动手方知没那么容易,但真正推进社会前行的永远是实干家,而非评论家。

    这个实验只是开始,咱们开发/市场团队还会辅助讲师团队带动更多学员朋友作一系列更多实验,好比char-rnn、WaveNet(用卷积神经网络模拟人的声音)等等,哪怕实验再简单咱们也会去作,由于:学计算机/ML/DL,第一要领就是动手、就是实验,不然说再多都是纸上谈兵。

    创造价值、帮助众人。贴两张图,是为念。最后探究实验背后原理,请参看此课程:深度学习班

\

    七月在线开发/市场团队骁哲、李伟、July,二零一六年九月二十五日。

相关文章
相关标签/搜索