Note : cette question a été initialement demandé sur github mais il a été demandé d'être ici à la place
J'ai des difficultés à faire fonctionner tensorflow sur le gpu, et cela ne semble pas être le problème habituel de configuration de cuda, car tout semble indiquer que cuda est correctement configuré.
Le symptôme principal : lorsque je lance tensorflow, mon gpu n'est pas détecté ( le code en cours d'exécution y son rendement ).
Ce qui diffère des problèmes habituels, c'est que cuda semble correctement installé et fonctionne. ./deviceQuery
à partir des échantillons cuda est réussie ( sortie ).
J'ai deux cartes graphiques :
- une vieille GTX 650 utilisée pour mes moniteurs (je ne veux pas utiliser celle-là avec tensorflow)
- une GTX 1060 que je veux dédier à tensorflow
J'utilise :
- tensorflow-1.0.0
- cuda-8.0 ( ls -l /usr/local/cuda/lib64/libcud* )
- cudnn-5.1.10
- python-2.7.12
- nvidia-drivers-375.26 (installé par cuda, il a remplacé le paquetage de pilotes de ma distribution)
J'ai essayé :
- en ajoutant
/usr/local/cuda/bin/
a$PATH
- forcer le placement du gpu dans le script de tensorflow à l'aide de
with tf.device('/gpu:1'):
(etwith tf.device('/gpu:0'):
quand il a échoué, pour faire bonne mesure) - en mettant sur liste blanche le gpu que je voulais utiliser avec
CUDA_VISIBLE_DEVICES
au cas où la présence de ma vieille carte non supportée causerait des problèmes. - exécuter le script avec sudo (parce que pourquoi pas)
Voici les sorties de nvidia-smi y nvidia-debugdump -l si c'est utile.
À ce stade, j'ai l'impression d'avoir suivi toutes les pistes et je n'ai aucune idée de ce que je pourrais essayer d'autre. Je ne sais même pas si je suis en train d'envisager un bogue ou un problème de configuration. Tout conseil sur la façon de déboguer ce problème serait grandement apprécié. Merci !
Mise à jour Avec l'aide de Yaroslav sur github, j'ai obtenu plus d'informations sur le débogage en augmentant le niveau du journal, mais cela ne semble pas dire grand chose sur la sélection du périphérique : https://gist.github.com/oelmekki/760a37ca50bf58d4f03f46d104b798bb
Mise à jour 2 : L'utilisation de theano détecte correctement le gpu, mais il est intéressant de noter qu'il se plaint que cuDNN est trop récent, puis se rabat sur le cpu ( le code a été exécuté , sortie ). Peut-être que cela pourrait être le problème avec tensorflow également ?
1 votes
Comme autre vérification, vous pouvez essayer un autre framework (comme Theano) avec le GPU pour voir si cela fonctionne. Peut-être que votre configuration GPU est cassée et n'est pas détectée par deviceQuery.
0 votes
Bonne idée, merci. Je vais essayer et le signaler dans le corps de la question.
0 votes
Cette sortie est suspicieusement petite, voici ce que je vois quand j'exécute avec VLOG=1 -- pastebin.com/LQF0j3Ri
0 votes
Oui, je l'ai tronqué après la sélection de l'appareil, car le reste n'est probablement pas pertinent. Voici le journal complet : gist.github.com/oelmekki/25ea3b1186c2ee7aaa23448547bc23b2