ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12

文章在簡書裏面編輯的,複製過來貌似不太好看,仍是到簡書的頁面看吧:
http://www.jianshu.com/p/c89b97d052b7html

1.安裝環境簡介:

硬件:python

  1. cpu:i7 6700k
  2. gpu:gtx 1070
  3. 內存:32g

系統:Ubuntu 14.04linux

  • 安裝在一塊移動硬盤上~爲啥不裝雙系統呢?不爽~!移動硬盤上裝Ubuntu的一個坑是裝以前須要確認你的盤是不是4k對齊。你不確認也行,反正它死活都不讓你裝~。
  • 系統語言選的是English,不推薦中文,在shell裏面輸入中文路徑是一件萬分不爽的事兒。
  • 環境就這樣,很純潔

注意:此時個人顯示屏鏈接線是連在主板上的,由於系統剛裝好gpu尚未驅動。git

正式安裝以前請先看一下cuda開發庫的支持信息。Ubuntu14.04裝完不用幹啥,知足要求。
cuda8安裝環境支持對照表shell

2.裝顯卡驅動

恩,雖然我一直以官方文檔爲準。可是裝這個驅動,算了,仍是參考先驅的經驗吧。如下三個連接,第一個連接是官網的文檔,我主要參考第二個和第三個。
(1)https://docs.nvidia.com/deploy/driver-persistence/index.html
(2)http://wxhp.org/ubuntu-install-nvidia-official-drivers.html
(3)http://wiki.ubuntu.org.cn/NVIDIAubuntu

  • 參照第二個連接安裝過程當中出現提示說:將要安裝程序爲32位,將不安裝任何東西balalala...(-_- || 嚇死寶寶了,無論了繼續吧)。安裝過程一路yes,沒有遇見說要從網上下載modules的那個提示,因此就沒有選no。安裝完了以後,pa~提示:kernel Error ...balabala....(|_| 感受世界沒有愛了,花了那麼長時間換來的就是全特麼是error)。
  • 安裝完了,sudo start lightdm(心如死灰),輸入登陸密碼,果真~~仍是跳回了登陸界面。谷歌ubuntu輸入密碼返回登陸界面,按照排名靠前的幾個解決方案看了看,徹底沒什麼卵用,由於個人文件權限和所屬用戶、用戶組都是正確的。好吧,,,仍是去查看啓動日誌吧~
  • 查看cat ~/.xsession-errors,錯誤提示說:gnome session 啓動失敗。這是什麼鬼提示嘛,仍是沒什麼卵用。只知道gnome這個東西沒起來。捋一捋系統啓動流程,想到gnome是個桌面管理程序,既然我在其餘run level裏面可以成功使用帳戶名密碼登陸,說明起碼系統沒壞,在這個gnome程序裏面卻進不去,是否是gnome在啓動什麼東西的時候失敗了,聯想到我以前卸了舊驅動,裝了顯卡新驅動,並且我把顯示器的HDMI插頭接到了主機的主板上,不是顯卡上的HDMI接口。OK,猜測:是否是gnome想要啓動顯示器,可是呢系統如今默認使用的gragphic是NVIDIA,我卻把HDMI插頭接口放在了intel集成顯卡的接口上,而intel集成顯卡又沒啓用,因此失敗了。。。死馬當活馬醫,關機,換到NVIDIA插口上,啓動,輸入密碼~~~~艾瑪,進去了。
  • 在換插口前我還運行了兩條命令
    sudo apt-get --purge remove nvidia-* sudo apt-get --purge remove xserver-xorg-video-nouveau
    這兩條命令運行完以後,我仍是無法登陸進系統。我粗略看了下執行是顯示的內容,貌似沒有卸載啥東西。因此就不知道我運行的這兩條命令未來會產生什麼影響,反正如今是進系統了,下一步準備安裝cuda7.5和cuDnn。
    2016.10.08
    -------------------------------------------------------------------------------------------------------------------------------------------------api

    3.安裝cuda7.5(可跳過此部分,這是本安裝記錄的舊版本)

    環境檢查(給予Ubuntu,其餘系統環境查看這裏的說明)
    檢查系統是否有相關環境.pngbash


2016年11月19日網絡


  • 一個多月過去了,以前驅動裝完就放下了。剛開始其實不用必定非得要裝gpu版本的,在虛擬機裏面裝了個cpu版本的作作實驗也OK。看了一些神經網絡相關的論文,作了些實驗後,如今以爲虛擬機不夠用了。這纔回來安裝GPU版本的tensorflow。session

  • 一個多月,tensorflow官網已經默認支持最新的cuda toolkit 8.0,並且window平臺也開始逐步支持了。廢話很少說,開始吧~


4.安裝cuda8.0

此部份內容與第三步一樣是按照官網的教程使用的。官網文檔請走這裏

官方文檔裏面包含九個章節,分別是:

  1. 引入
  2. 裝前檢查,肯定依賴環境等
  3. 安裝包管理
  4. 安裝文件
  5. 交叉平臺安裝(目前只支持Ubuntu)
  6. 安裝後注意事項
  7. 高級設置
  8. 常見問題
  9. 其餘注意事項

黑體部分爲本安裝記錄會涉及到的,其餘部分若有須要自取。

  1. 裝前檢查,肯定依賴環境等
    相關命令:
lspci | grep -i nvidia 
uname -m && cat /etc/*release
gcc --version
uname -r
sudo apt-get install linux-headers-$(uname -r)

檢查系統是否有相關環境

1.1 安裝與內核版本一致的相關包
相關命令:sudo apt-get install linux-headers-$(uname -r)

安裝與內核版本一致的相關包

ps: 參考官方文檔的2.1~2.4 , 2.7節

4.安裝文件
安裝文件可選方式有兩種,一種是distribution-specific packages安裝包,一種是distribution-independent package。有啥區別呢?就是後一種是.sh結尾的文件,能夠在一些不經常使用的Linux平臺上安裝,可是包管理器可能不支持更新升級,安裝起來也比較麻煩。前一種能夠經過包管理器本地安裝或在線安裝,安裝升級方便。在官網下載的時候就能看到下載包的區別,以下圖所示,第一個runfile我的不建議下載安裝。下載第二個安裝。

cuda安裝包選擇

下載好後改變bash路徑到cuda-repo- .deb文件所在的目錄,而後依次執行以下命令

sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
sudo apt-get update
sudo apt-get install cuda

一切都很順溜~~注意第一條命令不要直接複製就運行了,替換成你下載的文件名。
ps: 參考官方文檔的2.5,3.6節

6.安裝後注意事項
6.1 把路徑/usr/local/cuda-8.0/bin加到環境變量中去。
在/etc/profile 文件的末尾加了以下語句:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
保存後別忘了source /etc/profile一下。
6.2 安裝cuda的測試腳本
cuda-install-samples-8.0.sh <dir>

爲一個當前用戶具備讀寫權限的目錄,我運行的命令以下: cuda-install-samples-8.0.sh ~
看一下當前目錄,多了個NVIDIA_CUDA-8.0_Samples的文件夾

查看Samples

6.3 編譯例子程序測試是否安裝成功
把當前目錄切換到剛纔那個目錄文件下
cd ~/NVIDIA_CUDA-8.0_Samples
再執行命令
make
嘩啦嘩啦~好多輸出。這時候你再開一個shell窗口,切換到目錄~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release
看看文件數量是否是在增加,能夠經過以下命令統計當前目錄文件數量ll | wc -l。我編譯完成後一共是160個文件。
文件計數

6.4 運行編譯後的二進制文件

  • 切換到目錄~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release下,運行以下腳本./deviceQuery。運行結果什麼呢?失敗~反正我安裝完後執行這個腳本是失敗了,失敗的界面沒截圖~~我就不重現它了。
    我沒有急着卸載重裝,回想全部安裝步驟都沒問題,因而有了終極解決方案:重啓~~。對,沒看錯就是重啓~重啓一下運行剛纔這個命令會出現以下所示界面,恭喜你成功了~

cuda安裝測試
上圖中主要看兩個地方,一個是看有沒有檢測到你的顯卡,也就是Device 0: "GeForce GTX 1070"的那一行。還有就是最後一行Result = PASS

  • 再運行一個測試腳本``

第二個測試

PS:出錯的時候網上查了下,有人說不要使用deb的文件安裝。可是一想畢竟按照官方文檔一步一步下來沒有錯,我也不想再折騰。開始想看一下是否是源碼有問題,粗略看了下,好像沒啥問題(實際上是看不懂),重啓就是死馬當活馬醫~

ps: 本節參考了原文的6.1.1 , 6.2.1 , 6.2.2.2 和 6.2.2.3小節。


5.安裝cuDNN v5

這個最簡單,按照tensorflow官網的教程來就行,不用按照cuDnn的文檔來。

  1. 下載cudnn
    https://developer.nvidia.com/cudnn
  2. 把壓縮文件解壓到cuda toolkit的安裝目錄,默認是/usr/local/cuda。首先把當前目錄切換到/usr/local/cuda,而後運行以下相關命令:
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz
sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

6.tensorflow安裝方式

我基本上全部方式都嘗試過了,此次我選擇anaconda的安裝方式。

  1. anaconda官網下載:https://www.continuum.io/downloads
    我選的是python3.5 64位的Linux版本
    下載好後,用命令bash bash Anaconda3-4.2.0-Linux-x86_64.sh裝就行了。
    中間要你輸入enter就敲一下回車,遇到more的時候就按空格鍵,遇到選yes或no,通通選yes就好。
    裝完以後,記得要麼重啓一下,要麼shell裏面運行source ~/.bashrc就好。而後輸入which python看一下路徑中是否是包含在anaconda的安裝目錄,是就對了。

python

哦對了,你會發現若是你運行sudo python的時候,仍是用的系統自帶的python。解決辦法嘛能夠重建默認python的軟鏈接到anaconda裏面的python。也能夠編輯/etc/profile,把anaconda的bin目錄加到path裏面去。
參考

2.安裝tensorflow
直接上命令清單,一行一行運行就好。有特殊需求找官網去。

conda create -n tensorflow python=3.5
source activate tensorflow
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.0rc0-cp35-cp35m-linux_x86_64.whl
pip install --ignore-installed --upgrade $TF_BINARY_URL

注意最後一行和官網不同,官網是pip3 install --ignore-installed --upgrade $TF_BINARY_URL。它用的是pip3,我沒裝上,換成pip就好。細心的話會發先不是python2.x採用pip麼?你裝的python3.5怎麼用pip呢?我也,不知道,反正就是裝上了~python的庫基本上都支持python3了,估計也不必搞個pip3了。

7. 運行點代碼試試

輸入圖片中紅色框住的或指向的就行,其餘的忽略。目的就是計算一個e的5次方。
例子

8. 其餘

shell窗口使用的是terminal,窗口多開,調節大小挺方便的。
git+pycharm+anaconda+jupyter
關於pycharm設置什麼遠程調試啊,代碼部署啊什麼的,若是有須要,回頭再寫。

完事兒~~

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息