Ubuntu 16.04下搭建nvidia顯卡驅動+cuda10+cudnn7+pytorch踩雷經驗總結

最近花了兩三天左右的時間從零開始配置深度學習的環境,查看了大量的博客,也踩了一些坑,謹以此篇記錄一些經驗,希望能對志同道合的各位有所幫助

NVIDIA顯卡驅動安裝:

現在官網查看硬件對應的版本,查看網址:https://www.nvidia.com/Download/index.aspx?lang=en-us

查看好所對應的版本後通過添加ppa源的方式下載

sudo add-apt-repository ppa:graphics-drivers/ppa  
sudo apt-get update  
sudo apt-get install nvidia-390 #此處要根據上面查詢到的版本適當更改
sudo apt-get install mesa-common-dev  
sudo apt-get install freeglut3-dev

安裝好後重啓,並在終端內輸入以下命令行進行測試

nvidia-smi  #若出現電腦GPU列表,即安裝成功

 

CUDA10安裝

和顯卡驅動安裝一致,首先去官網查詢自己所需要安裝的版本,網址https://developer.nvidia.com/cuda-downloads

在這裏我選擇的時deb(network)安裝的方式,較爲簡單,先下載deb文件,deb安裝包下載好後,按照下載地址中指示代碼,進入安裝包所在路徑進行安裝

成功安裝完後需要設置環境變量,終端中輸入

sudo gedit /etc/profile

在打開的文件末尾,添加以下兩行:

#64位系統:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
                                                   ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

 

#32位系統:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib\
                                                   ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

這裏有點與官方安裝文檔稍有不同,需要說明,官方文檔裏說只需在終端中運行上述兩條export語句即可,但如果不將它們不寫入/etc/profile文件的話,這樣的環境變量在你退出終端後就消失了,不起作用了,所以寫入纔是永久的做法。

保存文件,並重啓。因爲source /etc/profile是臨時生效,重啓電腦纔是永久生效。

接着在終端中輸入命令行來查看環境變量是否設置成功:

nvcc --version

如果輸出了版本信息,則成功,如果顯示

The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit

則可能是環境配置沒有成功,需要重新設置

一切就緒後可編譯cuda提供的example來驗證是否安裝成功,網上例子較多,此處不再重複

 

CUDNN7安裝

同先前安裝一樣,在官網查詢對應的版本號,查詢地址:https://developer.nvidia.com/cudnn

注意此處需要註冊帳號登錄後纔可下載,我用的是google登錄

下載時不要選擇那三個deb文件,不知道爲什麼老是無法安裝成功,選擇前面的tgz文件進行安裝最好,例:

cudnn-10.0-linux-x64-v7.tgz

將此安裝包下載好,後解壓。接着將文件夾中的兩個文件分別複製到對應的文件夾中就好

sudo cp cuda/include/cudnn.h /usr/local/cuda10.0/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda10.0/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

查看cudnn是否安裝正確:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

若爲這樣

則正確

(P.S:按照官網教程即可順利安裝,官網教程地址:cudnn安裝官網教程)

(補上一段命令,貌似加不加上都可以,附上以作備用)

cd /usr/local/cuda10.0/lib64/#進入路徑
sudo rm -rf libcudnn.so libcudnn.so.5 #刪除原有動態文件
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成軟銜接
sudo ln -s libcudnn.so.6 libcudnn.so #生成軟鏈接

 

Pytorch安裝

老規矩,官網查詢,地址: pytorch

許多教程說在“Run this command”下會顯示安裝PyTorch的命令。如果Ubuntu下已經配置過pip的話,可以直接使用pip命令安裝成功PyTorch,但是速度十分緩慢,建議直接到“Run this command”裏的下載地址裏進行下載,速度很快。

如上圖所示,下載torch-0.2.0.post3-cp36-cp36m-manylinux1_x86_64.whl。其中,0.2.0表示PyTorch版本,cp36表示支持Python3.6,cuda80表示支持GPU版本,電腦有GPU的話須選擇該項,注意檢查是否是自己所需的對應項。

下載完後,進入文件所在的目錄進行安裝:

pip install torch-0.2.0.post3-cp36-cp36m-manylinux1_x86_64.whl
#如果pip install安裝不成功則使用sudo pip3 install 下面note裏有提到

同理,安裝torchvision

pip install torchvision
#sudo pip3 install torchvision

安裝成功後在終端裏輸入

python
import torch
import torchvision

若無報錯,最後輸入如圖所示:

返回True則成功。

 

最終驗證安裝程序

import torch
# 若正常則靜默
 
a = torch.tensor(1.)
# 若正常則靜默
 
a.cuda()
# 若正常則返回 tensor(1., device='cuda:0')
 
from torch.backends import cudnn
# 若正常則靜默
 
cudnn.is_available()
# 若正常則返回 True
 
cudnn.is_acceptable(a.cuda()) 
# 若正常則返回 True

大功告成,環境配置安裝就此結束,可以開始愉快的深度學習之旅了

 

NOTE:

1.讀取寫入文件/文件夾權限不夠時,採用

sudo nautilus

進行操作。

2. 在命令

pip3 install <packagename>

提示權限不夠時,可用命令

sudo pip3 install <packagename>

繼續操作

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