Nhờ ơn Chúa, tôi đã tìm ra giải pháp bằng liên kết này .
Điều này có thể xảy ra khi bạn chạy sudo ldconfig sau khi sao chép tệp cuDNN.
Sau khi cài đặt cuDNN
, sao chép các tệp được giải nén vào
/usr/lib/cuda/lib64
và tạo các liên kết tượng trưng, mọi thứ có thể sai với các liên kết tượng trưng.
Vì vậy, đi đến /usr/local/cuda/lib64/
và chạy ls -lha libcudnn*
.
Bạn sẽ thấy hai liên kết tượng trưng (teal đậm) và một tệp duy nhất. Một cái gì đó như thế này:
/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
Phiên bản chính xác của libcudnn.so.5.1.5 có thể khác một chút đối với bạn (có thể là libcudnn.so.5.1.10). Trong trường hợp đó, điều chỉnh mã cho phù hợp
Nếu libcudnn.so
và libcudnn.so.5
không phải là symlink thì đây là lý do tại sao bạn gặp lỗi này. Nếu vậy, đây là những gì bạn cần làm:
/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
Sau khi chạy
ls -lha libcudnn*
vào /usr/local/cuda/lib64
và thấy:
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
Tôi phải làm :
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
Và mọi thứ trở lại bình thường :)