appel libtorch c ++ (5)

Un résumé des problèmes qui peuvent être rencontrés lors de l'appel de libtorch c ++.

1. Problème de discordance de puissance de calcul

import torch
import torchvision
print(torch.cuda.is_available())

La commande ci-dessus détecte uniquement si CUDA est installé correctement et peut être détecté par Pytorch, mais n'indique pas s'il peut être utilisé normalement. Si vous voulez voir si Pytorch peut appeler l'accélération cuda, vous avez besoin d'un simple test:

a = torch.Tensor(5,3)
a=a.cuda()
print(a)

De manière générale, la sortie est principalement la 48e erreur, qui est le problème de CUDA. Ce problème est dû à la prise en charge du matériel. Pour la carte graphique de Hashrate 3.0, ce problème se produira si CUDA 9.0 est installé. Le moyen est de revenir à CUDA8.0, ou de passer à une carte graphique plus haut de gamme, ou de compiler directement à partir du code source, et de définir les paramètres correspondants dans le code source (modifier la TORCH_CUDA_ARCH_LIST dans le fichier setup.py, et changer cette valeur en la puissance de calcul correspondante du GPU que vous utilisez actuellement !) Pour la dernière méthode, je ne l'ai pas encore essayée, mais Pytorch fait du bon travail, et elle est considérée comme très réfléchie ~

La raison de l'enregistrement de ces notes est que j'ai constaté que le modèle torchscript transféré sur NVIDIA GForce RTX2070 s'est écrasé sur NVIDIA GForce GTX1080Ti et a signalé une erreur:

THCudaCheck FAIL file=D:/documents/vs2015/Project/pytorch1.5.1/pytorch/aten/src\THC/generic/THCTensorMathReduce.cu line=73 error=48 : no kernel image is available for execution on the device

Le problème, c'est l'inadéquation de la puissance de calcul: la puissance de calcul de 2070 est de 7,5 et celle de 1080Ti de 6,1. En fin de compte, c'est un problème matériel.

Le problème n'est pas le modèle généré, car le modèle peut aussi être utilisé normalement sur le cpu. Le problème est que je compile moi-même la version libtorch-gpu, car il n'y a pas de problème avec la libtorch-gpu sur le site officiel. Vous devez vérifier les précautions lors de la compilation de libtorch.

 

 

Référence: pytorch pour afficher la situation de prise en charge de CUDA, seules trois lignes de code sont nécessaires, et erreur d'exécution Cuda (48): aucune image du noyau n'est disponible pour l'exécution est jointe.

Je suppose que tu aimes

Origine blog.csdn.net/juluwangriyue/article/details/108670882
conseillé
Classement