其他教程教的做法
從官網下載下傳最新安裝包
- 解壓縮:會生成cuda/include和cuda/lib64
- 将cuda/include目錄中的cudnn.h檔案拷貝到/usr/local/cuda-8.0/include/目錄下
- 将cuda/lib64目錄中的庫拷貝到/usr/local/cuda-8.0/lib64/目錄下;
- 将/usr/local/cuda-8.0/lib64/目錄下的libcudnn庫的權限改為777,執行:
如果直接複制粘貼不了,記得嘗試cp指令,我就是不能直接複制粘貼,用的cp指令實作複制。
但是現在官網Ubuntu隻能下載下傳deb版本的安裝包
是以現在的做法應該是
下載下傳相應的deb
然後安裝
sudo dpkg --install libcudnn7_x.x.x.xxxx+cudaxxx_amd64.deb
sudo dpkg --install libcudnn7-dev_x.x.x.xxxx+cudaxxx_amd64.deb
sudo dpkg --install libcudnn7-doc_x.x.x.xxxx+cudaxxx_amd64.deb
若不報錯則說明安裝成功。
切換到home檔案夾下
cd
複制cuDNN sample到目前使用者目錄下:
進入cuDNN測試樣例程式的路徑:
cd cudnn_samples_v7/mnistCUDNN
編譯測試程式:
make clean
make -j4
運作測試程式:
./mnistCUDNN
若cuDNN安裝正确會出現:
但到這一步,運作theano調用cudnn仍然會顯示
Can not use cuDNN on context None: cannot compile with cuDNN. We got this error:
代碼某一行: fatal error: cudnn.h: No such file or directory.
Compilation terminated.
仍需要将cudnn.h和相關庫複制到cuda檔案夾下
首先找到cudnn.h的檔案路徑
locate cudnn.h
然後拷貝到
/usr/local/cuda/
檔案夾下,我的cuda是10.1版本的,是以是
/usr/local/cuda-10.1/
然後找到
libcudnn.so.*
拷貝
sudo cp /home/usrname/anaconda3/lib/libcudnn.so /usr/local/cuda-10.1/lib64/
sudo cp /home/usrname/anaconda3/lib/libcudnn.so.7 /usr/local/cuda-10.1/lib64/
sudo cp /home/usrname/anaconda3/lib/libcudnn.so.7.6.0 /usr/local/cuda-10.1/lib64/
将
/usr/local/cuda-10.1/lib64/
目錄下的
libcudnn
依賴的權限改為777,執行: