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

教你从头到尾利用DL学梵高作画



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



一、前言

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

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

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

    激情澎湃,心血来潮。

  • 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 和驱动花了几天,经常出现黑屏”。也有朋友反馈:“配置这玩意确实很麻烦。”、以及“是真的很麻烦,我自己尝试搭建就一直没成功”。所以,很多朋友求教程。

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

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



二、配置

我们的配置为

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



三、下载

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

3.1、 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. 使用方法请查看百度文库相关说明:http://wenku.baidu.com/link?url=XIitpKr9kKSXLLBzhrO7DzCOgGtrqpvxyfnI8tt3ugnt59dEWzMwUAUzMy-mIyY1gDeqaOPkKMB5EwlWYCwWZjaq2CaLiZzWpENTpgk04SG
  3. 如果下载地址链接失效,自行百度:UltraISO软碟通。
  4. 安装是在Windows下安装的。

3.2、 GTX1070显卡驱动

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

说明:

1)选项图解

2)大家可以根据自己电脑配置进行选择。

3.3、 CUDA

https://developer.nvidia.com/cuda-toolkit(下载地址)

说明:

1)在NVIDIACUDA下载页面下,选择要使用的CUDA版本进行下载。

2)我们这里使用CUDA8.0(页面有提示GTX1070GTX1080支持8.0版本),学员如果没有使用以上两个版本的GPU,可以下载CUDA7.5DOWNLOAD(下载)。

3)下载需要注册。

4)图解选择

 

 

3.4、 Cudnn

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

说明:

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

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

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


3.5、 Tensorflow

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

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

https://github.com/tensorflow/tensorflow(下载地址)

说明:

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

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

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



四、 安装

4.1、 安装Ubuntu14.04

安装Ubuntu14.04

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

说明:

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

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

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

4.2、 安装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键,就能进行编辑了,在本行命令前面添加#号,然后移动到复制出来的那条,修改quiettextEscShift+输入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键,就能进行编辑了,在本行命令前面删除#号,然后移动到复制出来的那条,命令前面添加#号,按EscShift+输入wq

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

      输入shutdown  r  now重启

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

我们是在githubTensorflow官方网页上,根据提示安装,地址如上。

按步骤截图如下

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


自动跳转



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


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


./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

 



五、 测试Tensorflow

 



六、 实验:模仿梵高绘画

neural-style下载
在这个github网站下载相应代码:https://github.com/anishathalye/neural-style


接下来,下载vgg19
http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat

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

现在,在命令窗口cd  /home/***(你自己的用户名)/Desktop/

   git clone  https://github.com/anishathalye/neural-style.git 

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


把你想修改的照片放入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,二零一六年九月二十五日。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22483.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

没GPU也能玩梵高作画:Ubuntu tensorflow CPU版

没GPU也能玩梵高作画:Ubuntu tensorflow CPU版 作者:七月在线开发/市场团队骁哲、李伟、July时间:二零一六年九月二十七日交流:TensorFlow实战交流Q群 472899334,有问题可以加此群共同交流。另探究实验背后原理&#x…

基于vgg19的梵高图像风格迁移

前言 大家好,我是阿光。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPy…

我给梵高当Tony:这三款AI绘图工具,就离谱

来源:果壳 本文约2500字,建议阅读5分钟 AI生成图像完成,并不代表创意就结束了。 很多人说今年是“AI 绘画元年”。先是 Disco Diffusion 火出了圈,从 Text-to-Image(用文字生成图像)开发社区和创意设计行业…

8. 黑马旅游网——旅游线路的详情展示

目录 13. 旅游线路的详情展示13.1 分析13.2 代码实现13.2.1 后台代码13.2.2 前台代码 分类-分页-查询-详情展示功能源码: 链接:https://pan.baidu.com/s/1xzvE0GqfV_uo0j7NCzWRhQ 提取码:mxpw 复制这段内容后打开百度网盘手机App,…

web马尔代夫旅游网

下载链接:https://download.csdn.net/download/weixin_57836618/85196322 图片展示: 前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现…

html旅游旅行游记攻略网页源码

html旅游旅行游记攻略网页源码 项目共包含8个html页面全部展示见录屏以下是部分展示 首页效果&#xff1a; 首页代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <title>旅人网</title> <meta charset"utf-8"…

黑马旅游网站全记录

一、 项目导入 点击侧边的maven&#xff08;如果没有可以在view–>tool window 中找到&#xff09;&#xff0c;点击加号&#xff0c;选择文件中的pom.xml文档即可导入 首先预览一下静态页面 启动方式1&#xff1a; 启动方式2&#xff1a;添加启动方式&#xff0c;点击…

亚丁游记(下)-云南篇

第八天&#xff1a;稻城&#xff0d;中甸 今天要离开四川去云南中甸。一大早&#xff0c;前一天联系好的司机开车过来&#xff0c;发现和我们昨天看的车不一样&#xff0c;车顶没有行李架。小小的面包车刚够坐下人&#xff0c;我们那么多的行李怎么放啊&#xff01;wolf急忙…

黑马旅游网站

第一次写CSDN所以不太会&#xff01; 我接下来会记录这一段时间&#xff0c;完成黑马旅游网站的代码&#xff01;我们使用的是maven框架&#xff0c;原因很简单&#xff0c;因为黑马提供了大部分的数据跟我们&#xff0c;里面有数据库表&#xff0c;数据库网页整体的容&#xf…

新加坡圣淘沙亲子游自助游景点购票攻略

新加坡圣淘沙岛有很多适合家庭亲子游的景点和游乐园&#xff0c;无论是想要感受肾上腺飙升的游乐设施&#xff0c;体验虚拟世界的惊险刺激&#xff0c;与众多名人约会&#xff0c;还是探索海洋世界&#xff0c;这里总有你想要的。 新加坡环球影城 新加坡环球影城分为七个主题景…

三亚旅游攻略-自由人实用指南

三亚&#xff0c;是个被大自然宠坏了的地方。大自然把最宜人的气候、最清新的空气、最和煦的阳光、最湛蓝的海水、最柔和的沙滩、最风情万种的少数民族、最美味的海鲜…都赐予了这座海南岛最南端的海滨旅游城市。 虽然三亚自古以来是贬官谪宦流放之地&#xff0c;可这段悲怆的历…

6-黑马旅游网-旅游线路详情

旅游线路详情 分析 后端 RouteServlet findOne方法 /*** 根据id查询一个旅游线路的详细信息* param request* param response* throws ServletException* throws IOException*/ public void findOne(HttpServletRequest request, HttpServletResponse response) throws Serv…

马来西亚之旅——吉隆坡、马六甲、槟城和亚庇攻略

之前就准备了在17年有个旅行计划&#xff0c;计划本来是台湾或者西藏&#xff0c;但是因为种种原因一直拖到清明节前半个月才定下来&#xff0c;看了一下机票&#xff0c;发现往返吉隆坡的机票价格很合适&#xff0c;所以才有了清明马来的行程。准备 机票 我们是从北京出发&a…

黑马旅游网编写练习(7)--某一旅游线路详情展示

黑马旅游网编写练习(7)–某一旅游线路详情展示 在分页展示的页面中&#xff0c;我们点击某一个旅游&#xff0c;想要查看详细信息&#xff0c;则点击了查看详情后&#xff0c;会跳转到该旅游路线对应的详细信息页面。接下来对该详细信息页面的查询与展示。 想要查看不同旅游线…

世界上唯一7星级酒店-阿联酋迪拜的Burj Al Arab旅店

全世界最贵的酒店&#xff0c;全世界曾经最高的酒店在迪拜。阿联酋迪拜的Burj Al-Arab酒店。 阿联酋迪拜的Burj Al-Arab酒店。 迪拜是阿拉伯联合酋长国的第二大城市。20世纪50年代&#xff0c;它还是阿拉伯湾一个朴素的海滨小镇&#xff0c;到了90年代以后&#xff0c;迪拜发生…

三亚自由行八天七晚旅行攻略

**文中报价为两人费用。**所有总支出低于1W 建议&#xff1a; 1、 住宿不要在一个地方住&#xff0c;三亚湾、亚龙湾等各住几天。 2、 带防晒霜和晒后修复霜&#xff0c;还有手机防水袋。 3、 自带泳衣&#xff0c;三亚买比较贵。 4、 直飞三亚比较好&#xff0c;海口转比较费时…

黑马旅游网-注册用户(二)

目录 一、注册用户-业务流程分析 1.页面效果 2.业务流程分析 二、注册用户-前端功能实现 修改register.html 1.校验用户名 2.校验密码 3.检验邮箱 4.使用ajax提交数据 5.完整代码参考 三、注册用户-后端功能实现 创建​​​​​​​RegisterUserServlet 创建UserServ…

黑马旅游网-旅游分类线路分页显示(七)

目录 一、先查旅游分类所有内容 二、查询分页数据 三、实现后端代码 RouteServlet RouteServiceImpl​​​​​​​ RouteService RouteDaoImpl RouteDao PageBean 四、分页与数据展示 修改route_list.html 修改header.html 五、测试 一、先查旅游分类所有内容 点…

ChatGPT最有实力的竞争对手Claude也开放API申请了

申请地址&#xff1a;https://www.anthropic.com/product 或者点击“阅读原文 ”直接申请

ChatGPT与低代码平台谁更适合快速开发

近来&#xff0c;关于生成式AI技术即将颠覆各个行业的预测在网络上随处可见。虽然生成式AI技术在自然语言处理、文本生成等领域已经取得了令人瞩目的成果&#xff0c;但是在低代码平台开发领域&#xff0c;尤其是在企业内部应用方面&#xff0c;其影响并不明显。 低代码平台作…