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