Слава Богу, я нашел решение по этой ссылке .
Это может произойти, когда вы запускаете sudo ldconfig после копирования файлов cuDNN.
После установки cuDNN
, копирования извлеченных файлов
/usr/lib/cuda/lib64
и создания символических ссылок все может пойти не так с символическими ссылками.
Так что иди /usr/local/cuda/lib64/
и беги ls -lha libcudnn*
.
Вы должны увидеть две символические ссылки (жирный шрифт) и один файл. Что-то вроде этого:
/usr/local/cuda/lib64$ ls -lha libcudnn*
lrwxrwxrwx 1 root root 13 Dez 25 23:56 libcudnn.so -> libcudnn.so.5
lrwxrwxrwx 1 root root 17 Dez 25 23:55 libcudnn.so.5 -> libcudnn.so.5.1.5
-rwxr-xr-x 1 root root 76M Dez 25 23:27 libcudnn.so.5.1.5
Точная версия libcudnn.so.5.1.5 может немного отличаться для вас (может быть, libcudnn.so.5.1.10). В этом случае, адаптируйте код соответствующим образом
Если libcudnn.so
и libcudnn.so.5
не являются символическими ссылками, то это причина, почему вы получили эту ошибку. Если это так, это то, что вам нужно сделать:
/usr/local/cuda/lib64$ sudo rm libcudnn.so
/usr/local/cuda/lib64$ sudo rm libcudnn.so.5
/usr/local/cuda/lib64$ sudo ln libcudnn.so.5.1.5 libcudnn.so.5
/usr/local/cuda/lib64$ sudo ln libcudnn.so.5 libcudnn.so
Run sudo ldconfig again and there should be no errors
После запуска
ls -lha libcudnn*
в /usr/local/cuda/lib64
и видим:
breeze@breeze:/usr/local/cuda/lib64$ ls -lha libcudnn*
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so.7
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so.7.0.5
-rw-r--r-- 1 root root 268M آوریل 15 12:03 libcudnn_static.a
Я должен был сделать:
breeze@breeze:/usr/local/cuda/lib64$ sudo rm libcudnn.so
[sudo] password for breeze:
breeze@breeze:/usr/local/cuda/lib64$ sudo rm libcudnn.so.7
breeze@breeze:/usr/local/cuda/lib64$ sudo ln libcudnn.so.7.0.5 libcudnn.so.7
breeze@breeze:/usr/local/cuda/lib64$ sudo ln libcudnn.so.7 libcudnn.so
breeze@breeze:/usr/local/cuda/lib64$ sudo ldconfig
И все возвращается на круги своя :)
Проверьте
Нет ссылки
->
(проверьте все ссылки:
sudo ldconfig -v
)Потому что
(cudnn, скачанный с nvidia, имеет символическую ссылку)
Когда мы копируем, мы теряем символическую информацию.
памятка:
ln -s A <-- B
Перейти к
/usr/local/cuda/lib64
Теперь,
источник