PyTorch で Conv2d を使おうとしたら、
Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file: No such file or directory
と言われて実行できなかった。
調査したところ、まず cu-DNN が入っていなかった。Nvidia のサイトを見ると、ドキュメントと cuDNN サイトで違う方法が書いてある!
どうもドキュメントの方が古そうなので、cuDNN サイトに書いてあった方式で入れようとした。
しかし、途中で鍵関係のエラーが出て先に進まないので、ドキュメントに書いてあった方法を試した。鍵関係のワーニングは依然出るものの、何とか前に進む。
sudo apt-get install libcudnn8-dev
で cuDNN のインストールに成功した。
気を取り直して再度したところ、またしても同じエラーが発生。ぐぐってみると、WSL-ubuntu の場合は /usr/lib/wsl/lib 以下に cuda ライブラリが入るらしく、cuDNN からこのディレクトリを見えるようにしないといけないらしい。.bash_aliases に以下の記述を追加。
export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH
今度はうまく動作した。
PyTorch で CNN 系の操作をするには cuDNN 必須なようだ。
1 throughts on "PyTorch での libcudnn エラー"