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和顯卡驅動衝突等瑣碎問題。

鏈接爲 https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html


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再重啓竟然連命令行界面都打不開了,所以果斷拋棄。

15.04的ISO下載地址爲:http://old-releases.ubuntu.com/releases/15.04/

我是64位系統,所以直接選的第一個64-bit PC (AMD64) desktop image,注意這裏不是說要AMD的芯片,只不過intel的x86-64也是參考AMD64架構的,所以無論intel還是AMD的芯片都能用,但我的機器是intel的。

注意分區的時候不要讓自動裝,手動分區就行。

官方的分區參考鏈接:https://help.ubuntu.com/community/DiskSpace

我測試過後覺得最好的方案是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的文件。
解決方案也是在ubuntu官網wiki找的:https://wiki.ubuntu.com/Kernel/Debugging/Backlight
其中的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

4)裝Anaconda3和配置Tensorflow環境,以及jupyter和spyder

裝Anaconda3沒什麼好說的,下載文件執行即可。
配置Tensorflow就是按Tensorflow文檔裏所述建一個虛擬環境就行了,這樣和ubuntu系統自帶的區別開來。
這裏看文檔的時候注意,由於你裝了Anaconda 3,所以下載Tensorflow包的時候,即使環境建的是Python=3.5的,依然用pip即可,不用pip3。
Jupyter Notebook 其實就是網上常見的Ipython Notebook發展到現在改了個名。
本身是不用配置的,執行時也沒必要在Terminal裏輸入source activate tensorflow。
直接打開,新建文件的時候可以選不同虛擬環境的內核。比如我只有Tensorflow子環境,New下面就有2項,一個是Python [root] ,另一個就是Python [Tensorflow]。
至於Spyder IDE,優點就是能夠查看變量,爲了調用Tensorflow的python解釋器而不是Anaconda3 默認的python解釋器,
在Tools-->preferences-->Console-->Advanced Settings-->Python Executable中把默認的
/home/"yourusrname"/anaconda3/bin/python
改成 tensorflow子環境的python解釋器目錄即可。注意我寫的“yourusrname”是指代了你的ubuntu用戶名。


好了!大功告成!至此爲止你就可以放心開發你所需要的東西了!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章