ubuntu16.04深度學習環境的配置(Nvida gtx 750 Ti+Cuda9.0+Cudnn7.0)
在ubuntu中配置GPU的深度學習環境相較於win問題要多很多,這幾天琢磨了一下Ubuntu下的環境配置,參考很多人的部落格,也遇到了不少坑,好不容易配置成功了,希望寫下來,和大家分享,避免大家走彎路。環境的配置主要是nvidia顯示卡驅動的安裝,在驅動安裝的過程中遇到了問題,可以參考部落格後面的問題解決方案,主要步驟就是裝nvidia驅動,然後是安裝cuda和cudnn,這兩個一般問題不大。配置成功後就可以根據需要安裝自己使用的深度學習框架(比如目前比較火的tensorflow和pytorch)。這兩個框架本人建議使用Anconda安裝,一來方便安裝,二來如果出錯,可以直接刪除anconda資料夾重新安裝即可。
軟體要求
Ubuntu16.04
Nvidia gtx 750 Ti
Cuda 9.0
Cudnn 7.0
Nvidia顯示卡驅動的安裝
1 禁用顯示卡驅動nouveau
網上很多文章說在官網下載run檔案安裝,這樣安裝的成功率較低,不建議這樣做。還有在出現迴圈登入,黑屏時好多部落格說解除安裝重灌,這樣也不大提倡,具體解決這些問題看部落格後面的解決方案,親測有效。由於nvidia的顯示卡驅動是閉源軟體,因此ubuntu上預設是沒有的,自帶的顯示卡驅動叫做nouveau,安裝之前要將nouveau先禁用掉,在終端裡輸入:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在vim編輯器中輸入以下兩行:
blacklist nouveau
options nouveau modset=0
然後配置檔案生效,終端中輸入:
sudo update-initramfs –u
2. 接下來安裝一些後面會用到的32位lib,終端中依次輸入
sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1
然後重啟,輸入:
sudo reboot
3. 再次進入系統
同時按下Ctrl+Alt+F1進入tty模式,登入賬號,輸入使用者名稱密碼。然後關閉圖形介面服務,輸入:
sudo service lightdm stop
接下來新增nvidia驅動的ppa源並進行安裝:
sudo add-apt-repository ppa:graphics-drivers/ppa
檢視可安裝的驅動版本,選擇合適的版本安裝,這裡安裝的384版本,
ubuntu-drivers devices
安裝nvidia驅動及其依賴的包,
sudo apt-get update sudo apt-get install nvidia-384
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
開啟圖形介面:
sudo service lightdm start
禁用Secure boot的問題(非常非常重要!!!好多部落格說在BIOS中禁用Secure boot,這樣也可以,但會影響到win的啟動,所以直接使用mok工具即可,如果這一步操作不成功,就九九歸一了,滑稽):
sudo moktuil --disable-validation
然後輸入8-16位密碼(這裡最好用簡單的密碼,本人之前設定很複雜的密碼,結果在後面的mok manager介面輸入密碼時經常出錯,所以如:88888888這樣的密碼很容易成功)
然後重啟,輸入:
sudo reboot
如果出現藍色介面,選擇改變secure boot狀態的選項,進去提示輸入對應位的密碼(如:enter 2 characters:則輸入密碼的前兩位),輸入幾遍後最後選擇yes啟動。
開啟終端,輸入,nvidia-smi和nvidia-settings如果輸出如下圖,說明安裝成功:
這時nvidia就安裝好了,如果碰到黑屏,迴圈登入,參考後面的問題解決方案。
Cuda的安裝
找到下載檔案的路徑
sudo sh cuda_9.0.176_384.81_linux.run
回車,一路往下執行,直到提示“是否為NVIDIA安裝驅動nvidia-384?”,選擇否,因為已經安裝好驅動程式了,其他的全都是預設,安裝位置預設是/usr/local/cuda,配置環境變數,執行如下命令開啟profile檔案
sudo sh cuda_9.0.176_384.81_linux.run
開啟檔案後在檔案末尾新增路徑,也就是安裝目錄,命令如下:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
儲存,然後重啟電腦
sudo reboot
測試CUDA的例子
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果顯示的是關於GPU的資訊,則說明安裝成功了。
最後你會看到cuda驅動、sample、tookit已經安裝成功,但是缺少一些庫。
環境變數配置
安裝完畢後,再宣告一下環境變數,並將其寫入到 ~/.bashrc 的尾部:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
exportLD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然後設定環境變數和動態連結庫,在命令列輸入:
sudo gedit /etc/profile
在開啟的檔案末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
儲存之後,建立連結檔案:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在開啟的檔案中新增如下語句:
/usr/local/cuda/lib64
然後執行
sudo ldconfig
使連結立即生效
cudnn的安裝
1) 繼續Ctrl+alt+F1進入的字元介面
2) 進入解壓後的cudnn-9.0-linux-x64-v7.0.tgz檔案cuda,在終端執行下面的指令安裝:
tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz
cd cuda
sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
然後更新網路連線:
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.0.3 # 自己檢視.so的版本
sudo ln -sf libcudnn.so.7.0.3. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
重新啟動圖形化介面
sudo service lightdm start
再Ctrl+alt+F7退出Text Mode
問題解決方案
在安裝nvidia顯示卡驅動的過程中會遇到各種各樣的問題,這裡主要說明一下常見的3個問題:
問題1: 安裝Ubuntu的時候,卡在Ubuntu的LOGO介面或黑屏
問題2: 雙顯示卡安裝Nvidia驅動,迴圈登入或黑屏
問題3: 啟動後黑屏,並出現ubuntu the system is running in low-graphics mode 的錯誤
針對以上3個問題,我們這裡提出了相應的解決方案。
注意!!!:對於問題1和問題2,如果下面對應的方法無效,則去掉”quiet splash”後面的apci_osi或者nomodeset,在vt_handoff後面新增acpi_osi或者nomodeset!!!
方案1(針對問題1):
1. 啟動系統後在Grub介面,選擇ubuntu系統的那一行,然後按E鍵,就會進入Grub的編輯狀態。
2、在quiet splash 後面加(先打空格)nomodeset,然後按F10儲存啟動
3、由於那個是臨時改動,所以還需要一步,開啟終端:
sudo vi /etc/default/grub
編輯開啟的檔案,找到GRUB_CMDLINE_LINUX_DEFAULT那一行,在後面加上(在quiet splash後打一個空格) nomodeset,儲存,然後在終端輸入 :
sudo update-grub
重啟即可。
方案2(針對問題2):
問題的根源是集顯的問題(但由於我們是雙系統或雙顯示卡或著存在Grub啟動項,導致沒有解決到問題的根本!)
這一切的原因就是因為我們裝系統的時候,加的那個引數nomodeset 接下來詳細教程
1、 首先確定是否nvidia驅動已安裝,按Ctrl+Alt+F1進入tty模式,登入,然後輸入nvidia-smi如果輸出顯示卡資訊,說明安裝成功了。
2、重新啟動,在Grub介面選Ubuntu系統那一行然後按E鍵進入編輯模式:
3、也是上圖那個位置,在 “quiet splash nomodeset”,主要看是否有nomodeset,有的話刪除它(可能有人是queit splash= nomodeset,刪除’= nomodeset’即可!)
4、然後在原來那個位置加 acpi_osi=linux(程式碼之間用空格隔開!),然後按F10啟動,就可以進入介面了。
5、最後一步,儲存資訊,開啟終端:
sudo vi /etc/default/grub 或 sudo gedit /etc/default/grub
#開啟檔案後將nomodest刪除替換為 acpi_osi=linux
#然後更新grub
sudo update-grub
解釋一下 Grub引導了系統進行啟動,所以它的引數被傳入了,即nomodeset(呼叫集顯)如果存在,系統就會一直呼叫集顯,然後就出現迴圈登入或黑屏。由於剛剛安裝系統一般沒有驅動,很多人只能通過呼叫集顯去進入圖形介面(除非在命令列下安裝了驅動),導致了nomodeset引數的加入。
而acpi_osi=linux是告訴Grub,電腦將以Linux系統啟動,呼叫其中驅動,所以可以用Nvidia的驅動進行顯示了!
方案3(針對問題3):
當開機出現ubuntu the system is running in low-graphics mode錯誤時,按下Ctrl+Alt+F1,登入
輸入:
cd /etc/X11
然後輸入:
sudo cp xorg.conf.failsafe xorg.conf
重啟:
sudo reboot
相關文章
- 深度學習環境配置深度學習
- 深度學習環境配置(windows 11)深度學習Windows
- Ubuntu18.04深度學習環境配置Ubuntu深度學習
- 【深度學習】PyTorch CUDA環境配置及安裝深度學習PyTorch
- 使用 NVIDIA Container Toolkit 和 Docker 配置 GPU 深度學習環境AIDockerGPU深度學習
- Ubuntu 18.04 深度學習環境搭建Ubuntu深度學習
- 【機器學習】深度學習開發環境搭建機器學習深度學習開發環境
- 從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow深度學習PyTorch
- java學習日記-java環境的配置Java
- PyTorch深度學習入門筆記(一)PyTorch環境配置及安裝PyTorch深度學習筆記
- Ubuntu k80深度學習環境搭建Ubuntu深度學習
- Ubuntu深度學習環境搭建 tensorflow+pytorchUbuntu深度學習PyTorch
- 谷歌JAX深度學習開發環境搭建谷歌深度學習開發環境
- JAVA學習——JDK開發環境配置JavaJDK開發環境
- spring boot學習4 多環境配置Spring Boot
- ubuntu16.04 搭建java 環境UbuntuJava
- ubuntu16.04搭建java環境UbuntuJava
- ubuntu16.04 搭建java 環境UbuntuJava
- 計算機視覺2-> 深度學習 | anaconda+cuda+pytorch環境配置計算機視覺深度學習PyTorch
- Xamarin 學習筆記 - 配置環境(Windows & iOS)筆記WindowsiOS
- 環境 | ubuntu16.04系統安裝及基本軟體配置Ubuntu
- (一)Linux環境的學習環境的搭建Linux
- 《學習 VUE - Windows 下配置 vue 的開發環境 》VueWindows開發環境
- 深度學習環境安裝-conda-torch-Jupyter Notebook深度學習
- gtx750安裝tensorflow-gpuGPU
- 《學習 VUE-Windows 下配置 vue 的開發環境 》VueWindows開發環境
- 如何分分鐘構建強大又好用的深度學習環境?深度學習
- 001-深度學習Pytorch環境搭建(Anaconda , PyCharm匯入)深度學習PyTorchPyCharm
- 阿里雲 Ubuntu16.04 部署 LNMP 環境阿里UbuntuLNMP
- Webpack4 學習筆記八 開發環境和生產環境配置Web筆記開發環境
- 學習Java的第一步,配置電腦環境Java
- tensorflow學習筆記1——mac開發環境配置筆記Mac開發環境
- 【記錄】強化學習環境legged_gym配置強化學習
- 學習筆記-kali中配置python編寫環境筆記Python
- [深度學習]Ubuntu16.04執行Python程式時會黑屏深度學習UbuntuPython
- app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全APP
- 基於Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度學習環境UbuntuPython深度學習
- Linux學習環境搭建Linux