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()
會輸出顯示卡資訊:
好了,恭喜,到了這裡,你已經完成了全部內容,祝你好運!