教你從頭至尾利用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,二零一六年九月二十五日。

相關文章
相關標籤/搜索