Après avoir installé CUDA
toolkit et cuDNN
sans aucun problème, à chaque fois que je le fais:
Sudo ldconfig
Je reçois le:
/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link
message d'erreur.
Quelle est la raison et comment puis-je résoudre ce problème?
Au fait, j'ai installé cuDNN
comme ceci:
# cuDNN, extracts to a folder named cuda
tar xvf cudnn*.tgz
cd cuda
Sudo cp lib64/* /usr/local/cuda/lib64
Sudo cp include/* /usr/local/cuda/include
La sortie de ls -lha libcudnn*
dans /usr/local/cuda/lib64
est la suivante:
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
Grâce à mon cher Dieu, j'ai trouvé la solution en utilisant ceci lien .
Cela peut arriver lorsque vous exécutez Sudo ldconfig après avoir copié des fichiers cuDNN.
Après avoir installé
cuDNN
, copié les fichiers extraits dans/usr/lib/cuda/lib64
et créé les liens symboliques, des problèmes peuvent survenir avec les liens symboliques.Allez donc à
/usr/local/cuda/lib64/
et lancezls -lha libcudnn*
.Vous devriez voir deux liens symboliques (sarcelle en gras) et un seul fichier. Quelque chose comme ça:
/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
La version exacte de libcudnn.so.5.1.5 sera peut-être un peu différente pour vous (peut-être libcudnn.so.5.1.10). Dans ce cas, adaptez le code en conséquence
Si
libcudnn.so
etlibcudnn.so.5
ne sont pas des liens symboliques, c'est la raison pour laquelle cette erreur s'est produite. Si oui, voici ce que vous devez faire:/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
Après avoir exécuté le ls -lha libcudnn*
dans /usr/local/cuda/lib64
et avoir vu:
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
Je devais faire :
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
Et tout est revenu à la normale :)
Vérifier
wxf:/usr/local/cuda/lib64$ ls -al
...
...
-rwxr-xr-x 3 root root 302770160 Jan 27 14:30 libcudnn.so NO link
-rwxr-xr-x 3 root root 302770160 Jan 27 14:30 libcudnn.so.7 NO link
-rwxr-xr-x 3 root root 302770160 Jan 27 14:30 libcudnn.so.7.3.1
-rwxr-xr-x 1 root root 349141232 Jan 27 14:30 libcudnn.so.7.4.2
...
...
Pas de lien ->
(vérifiez tous les liens: Sudo ldconfig -v
)
Parce que
(cudnn téléchargé depuis nvidia a un lien symbolique)
wxf:~/cudnn/cuda/lib64$ ls -al
total 974632
drwxrwxr-x 2 wxf wxf 4096 Jan 19 19:50 .
drwxrwxr-x 4 wxf wxf 4096 Jan 19 19:50 ..
lrwxrwxrwx 1 wxf wxf 13 Dec 12 01:58 libcudnn.so -> libcudnn.so.7
lrwxrwxrwx 1 wxf wxf 17 Dec 12 01:58 libcudnn.so.7 -> libcudnn.so.7.4.2
-rwxrwxr-x 1 wxf wxf 302770160 Sep 21 01:36 libcudnn.so.7.3.1
-rwxrwxr-x 1 wxf wxf 349141232 Dec 12 01:30 libcudnn.so.7.4.2
-rw-rw-r-- 1 wxf wxf 346085818 Dec 12 01:30 libcudnn_static.a
Lorsque nous copions, nous avons perdu des informations symboliques.
mémo: ln -s A <-- B
Allez à /usr/local/cuda/lib64
Sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7
Sudo ln -sf libcudnn.so.7 libcudnn.so
À présent,
wxf:/usr/local/cuda/lib64$ ls -al
...
...
lrwxrwxrwx 1 root root 13 Jan 27 14:43 libcudnn.so -> libcudnn.so.7
lrwxrwxrwx 1 root root 17 Jan 27 14:43 libcudnn.so.7 -> libcudnn.so.7.4.2
-rwxr-xr-x 1 root root 302770160 Jan 27 14:30 libcudnn.so.7.3.1
-rwxr-xr-x 1 root root 349141232 Jan 27 14:30 libcudnn.so.7.4.2
...