天天看點

ubuntu上的cudnn安裝及使用報錯解決辦法

其他教程教的做法

從官網下載下傳最新安裝包

  1. 解壓縮:會生成cuda/include和cuda/lib64
  2. 将cuda/include目錄中的cudnn.h檔案拷貝到/usr/local/cuda-8.0/include/目錄下
  3. 将cuda/lib64目錄中的庫拷貝到/usr/local/cuda-8.0/lib64/目錄下;
  4. 将/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,執行:

繼續閱讀