Erreur métaphysique : RuntimeError : erreur cuDNN : solution CUDNN_STATUS_EXECUTION_FAILED - désinstallation et réinstallation de cuDNN

avant-propos

Je dois dire que l'environnement est une chose très métaphysique, il n'y a pas longtemps que j'ai exécuté avec succès le modèle convE sur le jeu de données FB15k-237 la dernière fois.

ConvE, Knowledge Map Embedding (KGE) reproduction papier (Ubuntu 20.04 ) Je modifie mon propre ensemble de données et réexécute le modèle convE aujourd'hui, et il est étonnant de signaler une erreur :

RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED

Pendant la période entre l'exécution des deux modèles, je n'ai pas déplacé mon environnement GPU, y compris les précédents utilisés par le noyau :

Version du noyau : 5.13.0-35-générique

uname -a

De plus, utiliser cet environnement pour exécuter OpenKE [cette boîte à outils ne contient pas convE] ne pose également aucun problème


J'ai recherché cette erreur sur Internet, certains ont dit que le numéro de carte graphique spécifié, la plupart d'entre eux ont dit qu'il s'agissait d'une incompatibilité entre les versions cuda et cuDNN, et ont demandé d'installer la version correspondante de cuDNN. Lorsque je l'ai installé auparavant, les versions de cuda et de cuDNN correspondaient [si elles correspondent ou non peuvent être vérifiées sur le site officiel de cuDNN  ], j'ai donc désinstallé et réinstallé cuDNN, et j'ai finalement réussi. Je vais mettre le processus de dépannage ci-dessous aujourd'hui. Si vous en avez besoin, vous pouvez vous référer à


1. Vérifiez s'il y a une carte graphique disponible

Entrez python pour accéder à l'environnement et exécutez la commande :

import torch
print(torch.cuda.device_count()) #可用GPU数量

S'il n'y a pas de carte graphique disponible ou si la configuration de l'environnement GPU est incorrecte, il affichera 0 et l'erreur suivante sera signalée pendant l'exécution du modèle :

cuda runtime error (38) : no CUDA-capable device is detected

Mon redémarrage inexplicable a résolu cette erreur [vous pouvez également vérifier la version du noyau via les options avancées de démarrage], la sortie est 0, cette situation est différente pour chaque machine, la raison détaillée peut être résolue par Baidu, il est inutile d'en dire plus ...

Si la sortie est supérieure ou égale à 2, l'erreur mentionnée dans la préface peut être causée par la non-spécification du numéro de carte graphique. Vous pouvez ajouter une ligne avant le code du modèle :

os.environ['CUDA_VISIBLE_DEVICES'] = '0'

Puisque ma sortie est 1, l'erreur ne devrait pas être dans cette section 


2. Vérifiez la version cuda et la version cuDNN

① Vérifier la version cuda

Recherchez la version la plus élevée prise en charge par le pilote actuel :

nvidia-smi

Interrogez la version cuda actuellement installée :

nvcc -V

Vous pouvez également utiliser la commande suivante pour afficher des informations plus détaillées, y compris le pilote avec lequel communiquer :

cat /usr/local/cuda/cuda.json

②   Vérifier la version cuDNN

Il y a un fichier cudnn.h mais pas de sortie, et la version est inconnue. En théorie, la v 8.3.0 que j'ai installée avant ne déplacera pas bêtement cette bibliothèque

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

3. Désinstallez et réinstallez cuDNN 

① Désinstaller cuDNN v 8.3.0

Rechercher des occurrences :

Faites attention à désinstaller selon l'ordre suivant [l'élément comprenant 2004 n'est pas désinstallé] :


② Installer cuDNN v 8.3.0

Contenu répété, pas plus de détails, reportez-vous aux articles de blog suivants :

(15 messages) Configuration de l'environnement d'apprentissage en profondeur (Pytorch + GPU) dans le système Ubuntu 20.04 (environnement système double)_Starprog_UESTC_Ax's blog-CSDN blog_ubuntu subsystem https://angxiao.blog.csdn.net/article/details/ 123196056 Cependant, à l'étape de vérifier si l'installation a réussi, une petite erreur a été signalée :

AttributeError: module 'torch.jit' has no attribute 'unused'

Raison : incompatibilité entre les versions torche et torchvision

résoudre:

Installer la torche version 1.4.0 :

Installer torchvision version 0.5.0

Vérifiez à nouveau, succès :


4. Réexécutez le modèle convE

python wrangle_KG.py BA

CUDA_VISIBLE_DEVICES=0 python main.py --model conve --data BA \
                                      --input-drop 0.2 --hidden-drop 0.3 --feat-drop 0.2 \
                                      --lr 0.003 --preprocess

 Exécution réussie :


annexe

Changer la source pour accélérer l'installation

Si la vitesse de téléchargement est très lente, ajoutez -i et l'une des adresses miroir suivantes à la déclaration d'installation d'origine pour changer de serveur domestique :

阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

Je suppose que tu aimes

Origine blog.csdn.net/qq_40506723/article/details/124798992
conseillé
Classement