1. 程式人生 > >deepin linux 15.5 + 小米筆記本pro 下的深度學習環境tensorflow-gpu 1.4版本搭建過程

deepin linux 15.5 + 小米筆記本pro 下的深度學習環境tensorflow-gpu 1.4版本搭建過程

深度學習環境tensorflow-gpu 1.4安裝過程記錄

換了個小米筆記本用來辦公,內建win10,因為硬碟容量較小,搭建linux雙系統的想法只好暫時擱置,忍著用了幾個月。

前幾天買了塊硬碟,升級了一下筆記本,這下終於可以裝上雙系統了,程式猿還是覺得linux用起來舒服啊(打遊戲除外…)= =

本來打算裝ubuntu的,但是偶然間發現了國內團隊做的deepin linux,感覺很贊啊,就用上了。程式猿嘛,接下來,就是開發環境的搭建了。於是,就有了這篇博文。

引數:

  • 作業系統:Deepin Linux 15.5
  • 筆記本: 小米筆記本pro
  • 顯示卡:Nivdia MX150
  • tensorflow版本:1.4
  • cuda版本:8.0
  • cudnn版本:6

搭建過程中碰到了很多坑,中間有一次失敗嘗試導致系統出現異常,重灌了系統。現總結正確安裝方式,一來給自己備忘,二來給有需要的同學作為參考。

一、安裝顯示卡驅動

用的是deepin 15.5系統,該系統提供驅動管理工具,可以很簡單為顯示卡安裝驅動。ubuntu系統提供的也有類似的工具,其他系統我不太熟悉,請自行研究。裝驅動還是挺簡單的,多搜一下就可以了。

下圖是deepin的驅動管理工具,我為顯示卡安裝了大黃蜂版的顯示卡驅動(bumblebee-nvidia和nvidia-driver),如下圖,上面那個就是MX150的顯示卡驅動,下面那個是我的核顯驅動,可以不用管它。

驅動管理器

選中對應驅動,儲存即可。

開啟終端,在終端內輸入以下命令:

sudo apt-get update
sudo apt-get install nvidia-smi

通過nvidia-smi,我們可以檢視顯示卡資訊,以確認我們的驅動是否正確安裝了。在終端內輸入:

optirun nvidia-smi

因為我們安裝的是大黃蜂版的顯示卡驅動,所以顯示卡是由bumblebee進行管理的。為了降低能耗,平時獨顯是處於關閉狀態的,如果有程式需要使用到獨顯,可以通過optirun進行啟動。對於做深度學習訓練這樣可能太麻煩了,是有解決方法的,後面我會詳細介紹。
如果顯示卡驅動安裝正確,執行上面的命令,你會看到類似於下面的輸出:
顯示卡資訊

至此,驅動安裝完成。

二、安裝tensorflow-gpu

相容原因,安裝tensorflow-gpu 1.4版本。

很簡單,如果沒安裝pip的話,要先安裝pip:

sudo apt-get install python-pip

安裝完成後,輸入:

pip install tensorflow-gpu==1.4

即可完成tensorflow-gpu 1.4版本的安裝。

需要注意的是,tensorflow-gpu版本需要完成cuda和cudnn的安裝才能執行。這個時候的tensorflow是不能執行的,在python中輸入import tensorflow會報錯。

請往下讀。

三、安裝cuda

為了相容,我們這裡安裝cuda 8。

網上找了很多教程,結果還是在這裡卡了很久,因為很多都不適用。別人用起來正常,在我這裡可能就出錯了。最後,我選擇了相當簡單粗暴的一種方法:

開啟終端,輸入如下命令:

sudo apt install nvidia-cuda-dev nvidia-cuda-toolkit nvidia-nsight nvidia-visual-profiler  

打完收工,安裝完畢!

四、安裝 cudnn

相容原因,這裡安裝cudnn 6。

首先,從官網下載壓縮包cudnn-8.0-linux-x64-v6.0.tgz。免費下載,需要登入,如無賬號請自行註冊。下載地址為https://developer.nvidia.com/cudnn

下載完成後得到壓縮包:
壓縮包

對壓縮包進行解壓,得到一個名為cuda的資料夾。正常來說,我們需要將cuda中的一些檔案複製到/usr/local/cuda-8.0/***的路徑下,並配置相關路徑。但這裡,我們的做法有點不同。

因為,我們是用apt-get安裝的,所以,我們是不存在/usr/local/cuda-8.0/***路徑的,也不需要配置環境路徑。但複製還是要複製的,不過位置變了一下,這裡是第二個卡住我的問題點,找了很久,知乎的一位答友呂俊奇的回答給了我啟發(回答的連結我會放到文末的參考中),這裡要做如下操作:

第一,將解壓出來的cuda/include/下的cudnn.h檔案複製到/usr/local/include/目錄下。

第二,將cuda/lib64/目錄下的所有檔案複製到python環境的tensorflow包的tensorflow/python/目錄下,比如,對我來說該路徑就是/home/aaron/.local/lib/python2.7/site-packages/tensorflow/python,這個路徑因人而異,請參考我的路徑自行查詢。

五、測試

至此,安裝全部完成。我們測試一下是否安裝成功。

在測試之前,埋一下前面的坑。

關於bumblebee版顯示卡驅動在深度學習訓練中的開啟和關閉:
在進行訓練前,在終端輸入sudo tee /proc/acpi/bbswitch <<< ON,可開啟顯示卡。
在訓練結束後,在終端輸入sudo tee /proc/acpi/bbswitch <<< OFF,可關閉顯示卡。

開啟顯示卡在終端中開啟python,並嘗試引入tensorflow:

python
>>> import tensorflow as tf

如果沒有安裝成功,會報錯。
如果沒有報錯,那說明安裝的沒有問題。繼續輸入:

>>> sess=tf.Session()

會輸出顯示卡資訊:
顯示卡資訊

好了,恭喜,到了這裡,你已經完成了全部內容,祝你好運!

參考