N卡雙顯示卡電腦裝ubuntu15.04並配置Anaconda+Tensorflow+cuda+cuDNN的深度學習環境
1.序
這篇文章的目的是Tensorflow環境配置的經驗和流程總結,涉及3個部分:
1)裝ubuntu並配置顯示卡驅動;
2)裝CUDA+cuDNN庫並解決cuda與顯示卡驅動衝突問題
3)以常用的科學計算python包Anaconda為基礎,Tensorflow放於其子環境中,並配置好程式設計介面jupyter或spyder
2. Tensorflow簡介和我的筆記本硬體配置
目前對電子和計算機行業的學生來說深度學習可以說是必備技能了,Google的Tensorflow又是企業化的、比較有前途的深度學習庫之一。
Tensorflow的不支援windows,必須在Linux下開發。
其他相對出名的庫有微軟的CNTK,學術性質較濃的Theano及其變種sklearn-theano,以及Caffe,Torch,mxnet等。
另外Keras是一個高層模組庫,底層是Tensorflow或者Theano,並且還有中文文件,也是個不錯的選擇。
我這篇介紹裡下的是GPU Enabled的Tensorflow包,所以裝CUDA。如果你選的是CPU only的就不用,但是運算起來那幾個測試程式就多大概一倍時間。
所以可以的話還是儘量珍惜生命,選用GPU Enabled的Tensorflow。畢竟平行計算也挺火的,挺適合神經網路訓練。
我的筆記本硬體配置:
微星GE60-2OD
intel i7-4700HQ(HD4600整合顯示卡) + NVIDIA GTX765m
256G SSD + 756G的希捷SSD-HDD混合硬碟(含8GSSD),全都是GPT分割槽
8G 記憶體
3.下面開始介紹經過3天試錯得到的正確的流程
注:在此之前建議大家先看下Tensorflow官網的“Get Started”,內有詳細流程,只不過不會詳說CUDA和顯示卡驅動衝突等瑣碎問題。
1)裝ubuntu15.04。
裝之前我的256G的SSD上windows10的C盤佔了80G。win10也是EFI啟動引導。為了ubuntu在SSD上又分出來了40G
因為目前CUDA目前只支援15.04 和 14.04,而14.04在我裝完NVIDIA顯示卡驅動後直接黑屏,只能用NVIDIA-prime選intel進入。要是直接裝完CUDA再重啟竟然連命令列介面都打不開了,所以果斷拋棄。
我是64位系統,所以直接選的第一個
注意分割槽的時候不要讓自動裝,手動分割槽就行。
我測試過後覺得最好的方案是3~4個分割槽:A)EXT4的/boot,250M以上即可,用於選中作為EFI引導。實際會用掉190多M,所以不建議和windows的EFI引導區windows boot manager放一起因為空間不夠。也不建議想有些帖子中誤導的預設硬碟不用改什麼的(這種情況下ubuntu會檢測你選中的硬碟自動設定EFI分割槽,也可以用,但是不建議因為其過程不透明) B)直接從下拉選單裡選swap分割槽,中文的話好像是“”交換分割槽“”什麼的,其實就是虛擬記憶體。大小我沒怎麼在意,網上不少帖子說是你記憶體的1~2倍,所以我就分了8個G(8192M)C)root硬碟,仍然選EXT4分割槽,碟符選只有一個“/”的就是root分割槽,也就是系統分割槽,相當於windows中的C盤。D)另外你如果想的話也可以加個/home分割槽,放些雜檔案什麼的,相當於windows中的D、E、F等那些盤。
如果你黑屏了,或者在windows裡面把ubuntu盤格式化了(系統啟動後會進grub介面),這時候u盤裡又沒有映象,啟動後嘗試按F11或F12。一般現在筆記本這個鍵可以選擇從哪兒啟動,選windows進去,再下個映象就行。不用再開一臺電腦。所以我覺得整個過程還是比較保險的。
2)裝NVIDIA 352 驅動。
我裝的時候最新的是367.27,不過鑑於後來要裝的 CUDA Toolkit 7.5 是和352 配套的,於是決定選擇352。
ubuntu裝好後預設驅動是某開源驅動。如果你電腦配置跟我類似的話,不建議從Software & Update中的 Additional Drivers中換驅動。(當然可以試試,能用更好,反正我是重啟黑屏的)
其實命令列裝也相當簡單保險。直接在Terminal 裡 (或按Alt + Ctrl + F1 進入命令列介面),輸入:
sudo apt-get install nvidia-352 nvidia-settings nvidia-prime
其中NVIDIA-prime是一個軟體,可以切換nvidia和intel顯示卡。裝完NVIDIA驅動後預設的是nvidia-prime。
3)裝CUDA Toolkit7.5 和 cuDNN v4
先按連結中的要求檢查一下你GPU的compute capability是不是3.0以上。 整個安裝過程按部就班正常裝即可,cuDNN實際上是幾行命令解壓複製到CUDA的對應位置的。沒有難度。 唯一需要注意的是Tensorflow文件裡說的配置環境變數的~/.bash_profile, 在ubuntu裡是~/.profile。 但是裝完後請一定不要立即重啟!!! 下面是非常關鍵的一步,如果你上一步裝完CUDA立即重啟了,很有可能就黑屏或卡在ubuntu介面了。.具體情況是5、6次裡面能開啟一次。 看錯誤報告是是背光亮度的問題。具體原因不詳,但猜測是雖然nvidia-prime,仍然呼叫了某些intel的檔案。 其中的Intel HD Graphic Controllers一欄就是解決方案。 具體來說就是新建檔案/usr/share/X11/xorg.conf.d/80-backlight.conf 檔案內容填寫如下,儲存重啟即可,親測有效:Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "Backlight" "intel_backlight" # use your backlight that works here
BusID "PCI:0:2:0"
EndSection