ubuntu上のcudnnのインストールとエラー解決方法の使用


その他のチュートリアルで教える方法


公式サイトから最新のインストールパッケージをダウンロード
  • 解凍:cuda/includeおよびcuda/lib 64
  • が生成されます.
  • cuda/includeディレクトリのcudnn.hファイルを/usr/local/cuda-8.0/include/ディレクトリ下
  • にコピー
  • cuda/lib 64ディレクトリのライブラリを/usr/local/cuda-8.0/lib 64/ディレクトリにコピーします.
  • /usr/local/cuda-8.0/lib 64/ディレクトリのlibcudnnライブラリの権限を777に変更し、実行:
  • sudo chmod 777 libcudnn*
    

    直接コピーして貼り付けられない場合は、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
    

    エラーを報告しないと、インストールに成功したことを示します.
    ホームフォルダに切り替え
    cd 
    

    cuDNn sampleを現在のユーザーディレクトリにコピーします.
    cp -rv /usr/src/cudnn_samples_v7 .
    

    CuDNNテストサンプルプログラムへのパス:
    cd cudnn_samples_v7/mnistCUDNN
    

    コンパイルテスト:
    make clean
    make -j4
    

    テストプログラムを実行します.
    ./mnistCUDNN
    

    cuDNNが正しくインストールされている場合:
    Test passed!
    

    しかし、このステップでは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/です.
    sudo cp cudnn.h    /cudnn.h  /usr/local/cuda-10.1/include/
    
    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に変更し、実行します.
    sudo chmod 777 libcudnn*