1. 程式人生 > >ubuntu16.04+GTX1070+CUDA9.0+CUDNN7.0+pytourch4.0吐血

ubuntu16.04+GTX1070+CUDA9.0+CUDNN7.0+pytourch4.0吐血

應該說這是我第一次這麼認真的去寫下一個環境配置過程,之前已經安裝過好幾次環境,並且配置成功(ubuntu16.04+GTX1070+CUDA8.0+CUDNN5.0+Anancond3+TensfolowGPU+CAFFE)

tensorflow-gpu v1.9.0 | cuda9.0 |  cuDNN7.1.4可行  | 備註:7.0.4/ 7.0.5/ 7.1.2不明確

tensorflow-gpu v1.8.0 | cuda9.0 |  cuDNN  不明確 | 備註:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.7.0 | cuda9.0 |  cuDNN  不明確 | 備註:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.6.0 | cuda9.0 |  cuDNN  不明確 | 備註:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.5.0 | cuda9.0 |  cuDNN  不明確 | 備註:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.4.0 | cuda8.0 |  cuDNN 6.0 | 備註:6.0正常使用, 7.0.5不能用,5.1未知 

tensorflow-gpu v1.3.0 | cuda8.0 |  cuDNN 6.0 | 備註:6.0正常使用, 7.0.5不能用,5.1未知 

tensorflow-gpu v1.2.0 | cuda8.0 |  cuDNN 5.1 | 備註:5.1正常使用, 6.0/ 7.0.5 未知

tensorflow-gpu v1.1.0 | cuda8.0 |  cuDNN 5.1 | 備註:5.1正常使用, 6.0/ 7.0.5 未知

由於要跑一個原始碼(要求環境CUDA9.0+pytourch4.0)必須重新配置一個環境,由於之前的成功,一開始並沒有太多的擔心,可事實並沒有我想象的那麼順利簡單

ubuntu16.04 (set from ROM) 

GTX1070 driver

這一步真是.......

解除安裝系統自帶的驅動

 sudo apt-get autoremove --purge nvidia-* 

禁用系統自帶驅動nouveau

原來的檔案 nouveau.ko 改成nouveau.ko.org 用blacklist.conf進行禁用

/lib/modules/4.15.0-38-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko 

sudo update-initramfs -u

lsmod | grep nouveau

reboot 

 ctrl +alt +f1進入命令視窗

sudo service lightdm stop

sudo ./驅動名字.run -no-x-check -no-nouveau-check -no-opengl-files

安裝過程中提示是否sign the kernel module(為核心模組簽名),這裡要選擇“sign  the kernel module”

使用已有的金鑰給模組簽名 還是 重新生成 ,選 重新生成金鑰 genera a new one

繼續下去之後,金鑰會在/usr/share/nvidia/下生成一個nvidia*.der(私鑰)檔案和

nvidia*.key(公鑰)檔案,當提示是否刪除已生成的金鑰檔案時,選擇 否,

這裡提示說生成的祕鑰不被人家信任,沒辦法,還是要裝啊,所以還是選擇 install signed kerrel module

安裝簽署的核心模型

提示要不要安裝32位相容庫,選 OK,

”Would you like to run the nvidia-xconfig utility to automatically update

your X configuration file…”什麼的,選 yes

分別選:continue installation-->sign the kernel modle-->genera a new one-->no-->ok-->install signed kernel module-->ok-->ok-->yes-->ok

PS: 中間白色的按鈕才是我們的要選擇的,切記。按住左右方向鍵選擇

reboot

按ctrl + alt +f1 進入命令視窗

sudo /etc/init.d/lightdm start  

 nvidia-smi

出錯

sudo mokutil --import /usr/share/nvidia/nvida*.der    //必須加上 sudo

reboot

由於進行了新增金鑰操作,會觸發shim,這時不能直接進入 boot,進入一個

陌生的介面,不要慌,有10秒時間,按住方向鍵的向下鍵(它不會顯示內容,

安鍵才有內容),選擇第二個

“ reroll mok ” ,會跳出

接下來去尋找解決方案(disable uefi boot in bios settings)

 reboot, pressing F12, in BIOS setup under Settings --> General --> Boot Sequence,

configure the boot list options for UEFI

如果這一步不做,你將會一直停留在命令視窗,怎麼也進不到圖形介面,GTX1070 driver安裝永遠失敗

CUDN

cuda_9.0.176_384.81_linux.run

Do you accept the previously read EULA?
accept/decline/quit: accept
 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n
 
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
 
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:
 
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
 
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y

sudo gedit /home/maolab/.bashrc

export PATH=/usr/local/cuda-9.0/bin$:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

source ~/.bashrc

驗證,先找到你安裝CUDA sample 的路徑

一般 cd /usr/local/cuda-9.0/sample

或 /home/maolab/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery

cd /home/maolab/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery

make

sudo ./deviceQuery

CUDNN

CUDNN7.05  library for linx

cudnn-8.0-linux-x64-v7.tgz

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.5  //自己檢視.so的版本 對應更改  
sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig

anacond3 python3.6

Anaconda3-5.2.0-Linux-x86_64.sh

export PATH_ANACONDA3=/home/maolab/anaconda3/bin:$PATH

分別 回車-->yes-->yes(comfirm the path )-->yes(add envirment varible)-->no/yes(install vs code)

建議自己配置環境變數

export PATH_ANACONDA3=/home/maolab/anaconda3/bin:$PATH

因為之前安裝CUDA的時候,已經設定export PATH=/usr/local/cuda-9.0/bin$:$PATH

如果這裡選擇系統自動配置環境變數,則環境變數的名也是PATH(export PATH_ANACONDA3=/home/maolab/anaconda3/bin:$PATH)

sudo gedit /home/maolab/.bashrc

所以這樣當你python是,python仍是2.7不是anaconda的python3.6

source ~/.bashrc

pytorch4.0

torch-0.4.0-cp36-cp36m-linux_x86_64.whl

驗證

python

import torch

import torchvision