Tensorflow: Pourquoi mon tensorflow-gpu ne s'exécute que sur le processeur ? Ubuntu

Créé le 18 août 2017  ·  41Commentaires  ·  Source: tensorflow/tensorflow

Informations système

  • Plate-forme et distribution du système d'exploitation : Linux Ubuntu 16.04
  • *TensorFlow installé à partir de * : pip3 install tensorflow-gpu
  • Version TensorFlow : ('v1.1.0-rc0-61-g1ec6ed5', '1.1.0')
  • Version Python : Python 3.5.2
  • Version CUDA/cuDNN : outils de compilation Cuda, version 8.0, V8.0.61

Mon tensorflow-gpu ne fonctionne que sur cpu, comment y remédier ?
j'ai déjà essayé de régler
CUDA_DEVICE_VISIBLE=all my gpus Mais cela n'a pas fonctionné.

Ensuite, j'ai essayé d'utiliser ce code:
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
La sortie est la suivante :
Device mapping: no known devices.
2017-08-18 16:44:44.654177: I tensorflow/core/common_runtime/direct_session.cc:300] Device mapping:
Puis rien. Il n'affiche pas la carte.
J'ai également essayé de l'installer avec virtualenv et d'exécuter le programme dans virtualenv ou de le réinstaller, cela ne fonctionne toujours pas.
Pourquoi cela arrive-t-il? Comment puis-je le réparer ?

Commentaire le plus utile

J'ai remarqué que l'utilisation de pip install tensorflow-gpu installe également tensorflow tant que dépendance, mais pip install tensorflow-gpu==1.2.1 ne démontre pas ce comportement. Est-ce un problème avec le déploiement 1.3, ou est-ce que j'ai complètement raté quelque chose ?

Tous les 41 commentaires

Il est possible que vous n'ayez pas installé correctement le pilote CUDA.

Quelle est la sortie de :
$nvcc -V
et
$nvidia-smi

Accédez à votre dossier CUDA Samples et exécutez le script ./deviceQuery pour vérifier si votre système trouve votre carte graphique.

J'ai remarqué que l'utilisation de pip install tensorflow-gpu installe également tensorflow tant que dépendance, mais pip install tensorflow-gpu==1.2.1 ne démontre pas ce comportement. Est-ce un problème avec le déploiement 1.3, ou est-ce que j'ai complètement raté quelque chose ?

A vérifier également : installez Tensorflow depuis les sources (avec Bazel). C'est ce que j'ai fait, et il a commencé à exécuter des processus sur GPU.

@ArturoDeza

Je ne pense pas que ce soit le problème. Parce que tensorflow fonctionnait correctement tout le temps avant de le désinstaller pour une raison quelconque. (La raison en est que seul l'optimiseur SGD ne fonctionne pas dans keras alors que d'autres optimiseurs fonctionnent bien.) Cependant, lorsque j'essaie de réinstaller tensorflow, ce problème apparaît.
La sortie de $nvcc -V :
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

La sortie de nvidia-smi :
`| Version du pilote NVIDIA-SMI 375.66 : 375.66 |
|----------------------------------------------+----------------- -----+----------------------+
| Nom du GPU Persistance-M| Bus-Id Disp.A | Uncorr volatil. CEC |
| Fan Temp Perf Pwr:Usage/Cap | Utilisation de la mémoire | GPU-Util Compute M. |
|===============================+================= =====+======================|
| 0 GeForce GTX 1080 désactivée | 0000:04:00.0 Désactivé | S/O |
| 0% 24C P8 11W / 180W | 113 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 1 GeForce GTX 1080 désactivée | 0000:05:00.0 Désactivé | S/O |
| 0% 25C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 2 GeForce GTX 1080 désactivée | 0000:08:00.0 Désactivé | S/O |
| 0% 26C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 3 GeForce GTX 1080 désactivée | 0000:09:00.0 Désactivé | S/O |
| 0% 26C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 4 GeForce GTX 1080 désactivée | 0000:85:00.0 Désactivé | S/O |
| 0% 24C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 5 GeForce GTX 1080 désactivée | 0000:86:00.0 Désactivé | S/O |
| 0% 28C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 6 GeForce GTX 1080 désactivée | 0000:89:00.0 Désactivé | S/O |
| 0% 26C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+
| 7 GeForce GTX 1080 désactivée | 0000:8A:00.0 Désactivé | S/O |
| 0% 27C P8 6W / 180W | 2 Mio / 8114 Mio | 0% par défaut |
+--------------------------------+----------------- -----+----------------------+

`

@mykalu
Oh mon Dieu! Ça marche! Tensorflow fonctionne sur GPU.
Merci beaucoup.
Peut-être que la dernière version de tensorflow (1.3.1) n'est pas compatible avec mon CUDA

J'ai rencontré le même problème (ubuntu16.04).
Comme l'a dit mykalu-san, mon "pip install tensorflow-gpu" a également installé tensorflow.

même problème pour moi, j'utilise tensorflow(1.3.0)

@vell001
essaie d'utiliser ça
pip install tensorflow-gpu==1.2.1

Tout comme @mykalu l'a dit, il est vraiment déroutant que pip3 install tensorflow-gpu installe également tensorflow . Et il semble que cela fait que la version GPU ne fonctionne pas.

Cette question est mieux posée sur StackOverflow car il ne s'agit pas d'un bogue ou d'une demande de fonctionnalité. Il y a aussi une communauté plus large qui lit les questions là-bas. Merci!

@DNXie @skyoung @mykalu J'ai eu le même problème, mais j'ai ensuite découvert que tensorflow-tensorboard 0.1.4 était installé, ce qui dépend de tensorflow . Cela semblait être la source de la dépendance erronée, et sa mise à jour vers la version 0.1.5 a tout fait fonctionner pour moi car tensorflow n'était plus installé.

@srowen Belle prise, cela a fonctionné pour moi. Merci!

@srowen
C'est vrai. J'ai aussi tensorboard sur cette version. Merci!

@mykalu quand je lance pip install tensorflow-gpu==1.3.0 J'ai aussi un dossier appelé tensorflow. Est-ce correct? J'ai le même problème - mon GPU n'est pas utilisé.

la désinstallation de tensorflow-gpu==1.3.0 et l'installation de tensorflow-gpu==1.2.1 ont fonctionné pour moi ! Merci

Au moment de la rédaction, les dernières versions de TF ne prennent en charge que le Titan V du côté des consommateurs 😑

Vérifiez quel logiciel fonctionne pour quel matériel
https://developer.nvidia.com/cuda-gpus
https://www.tensorflow.org/install/install_sources#common_installation_problems

Si vous devez mettre à jour CUDA, utilisez le binaire fourni :
https://developer.nvidia.com/cuda-downloads

Vérifiez la version de cuDNN dont vous avez besoin ici (connexion requise) :
https://developer.nvidia.com/rdp/cudnn-download

Pour cuDNN, téléchargez généralement sur /usr/local et extrayez.

Enfin, réinstallez. La version TF dépend de la version GPU et Cuda.

pip uninstall tensorflow
pip install tensorflow==1.4.1
pip install tensorflow-gpu==1.4.1

Pour moi, tf 1.4.1 fonctionne correctement.

@jiforcen Pourriez-vous me dire quelle méthode vous avez utilisée pour installer la boîte à outils CUDA, CuDNN et TensorFlow (GPU) ? J'essaie plusieurs méthodes depuis des jours maintenant et je ne peux tout simplement pas faire en sorte que tensorflow détecte mon GPU.

@caiosuzuki J'ai suivi le guide nvidia. http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#introduction
N'oubliez pas de configurer les variables d'environnement !! http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
Vérifiez que votre pilote nvidia est configuré et que cuda toolkit est correctement installé.
Après cela, j'ai installé tensorflow gpu dans un environnement conda. J'ai des problèmes avec tensorflow gpu 1.3 mais tensorflow gpu 1.4 fonctionne bien pour moi.

Mon code s'exécutait sur le processeur, j'ai donc changé tensorflow-gpu de la version 1.4.1 à 1.2.1 et maintenant il m'affiche l'erreur suivante. S'il vous plaît aidez-moi ici.

Utilisation du backend TensorFlow.
Traceback (appel le plus récent en dernier) :
Fichier "extract_features.py", ligne 16, dans
à partir de l'importation de données DataSet
Fichier "/home/shayan/five-video-classification-methods/data.py", ligne 12, dans
depuis le processeur import process_image
Fichier "/home/shayan/five-video-classification-methods/processor.py", ligne 4, dans
à partir de keras.preprocessing.image import img_to_array, load_img
Fichier "/usr/local/lib/python2.7/dist-packages/keras/__init__.py", ligne 3, dans
de . importer des activations
Fichier "/usr/local/lib/python2.7/dist-packages/keras/activations.py", ligne 3, dans
de . importer le backend en tant que K
Fichier "/usr/local/lib/python2.7/dist-packages/keras/backend/__init__.py", ligne 64, dans
à partir de l'importation .tensorflow_backend *
Fichier "/usr/local/lib/python2.7/dist-packages/keras/backend/tensorflow_backend.py", ligne 1, dans
importer tensorflow en tant que tf
Fichier "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", ligne 24, dans
de tensorflow.python import *
Fichier "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", ligne 49, dans
de tensorflow.python importer pywrap_tensorflow
Fichier "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", ligne 52, dans
augmenter ImportError (msg)
ImportError : Traceback (appel le plus récent en dernier) :
Fichier "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", ligne 41, dans
de tensorflow.python.pywrap_tensorflow_internal import *
Fichier "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", ligne 28, dans
_pywrap_tensorflow_internal = swig_import_helper()
Fichier "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", ligne 24, dans swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, chemin d'accès, description)
ImportError : libcusolver.so.8.0 : impossible d'ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type

Échec du chargement de l'environnement d'exécution natif TensorFlow.

Voir https://www.tensorflow.org/install/install_sources#common_installation_problems

pour des raisons et des solutions courantes. Inclure toute la trace de la pile
au-dessus de ce message d'erreur lorsque vous demandez de l'aide.

@shayan09 Avez-vous résolu le problème ? J'ai eu le même problème.

La version actuelle de CUDA n'est pas prise en charge par tensorflow. Il suffit donc de rétrograder votre version CUDA à 7.0, puis de réinstaller le tensorflow normal, puis le tensorflow-gpu. A travaillé pour moi.

Avoir le même problème et aucun des conseils ne fonctionne. Impossible de rétrograder CUDA, le package tensorflow-gpu recherche explicitement les DLL 9.0. Je peux surveiller l'utilisation de mon CPU/GPU pendant son exécution et TF dit qu'il s'exécute via le GPU, mais le CPU est fixé à 100% et l'utilisation du GPU oscille autour de 5%. J'ai essayé d'ajuster la taille du lot aussi haut que possible sans rencontrer d'erreurs OOM, mais cela ne semblait faire aucune différence. (Ailleurs, je lis que de petites tailles de lots pourraient nuire au débit du GPU).

Existe-t-il actuellement des problèmes connus avec les binaires Windows pour la combinaison Tensorflow1.5.0/CUDA 9.0/cuDNN 7.0 ? S'il existe des problèmes connus, existe-t-il une combinaison précédente qui pourrait fonctionner ? S'il y a d'autres étapes qui pourraient être négligées pour s'exécuter sur le GPU, existe-t-il des guides pour les erreurs courantes ?

Avoir des problèmes similaires à @ironfroggy avec la combinaison Win10/Tensorflow1.5.0/CUDA 9.0/cuDNN 7.0

J'ai le même problème avec Tensorflow 1.5 et Cuda 9.0 :-(

@ironfroggy
@hyperh

J'ai le même problème que le tien. Pourriez-vous trouver une solution ?

@ironfroggy
@hyperh
@VanitarNordic

De même, même problème. tensorflow-gpu==1.5.0/Cuda9.0/cuDNN7.0/windows 7.
J'ajouterai que lorsque j'ai rencontré le problème pour la première fois, j'ai reçu une erreur lors de l'importation de tensorflow indiquant qu'il ne pouvait pas trouver cudart64_90.dll (c'était dans mon chemin). Après avoir redémarré mon ordinateur, tensorflow a été importé avec succès, mais il utilise uniquement le processeur.

MISE À JOUR : Cela semblait être un problème de pilote pour moi : j'ai désinstallé, retéléchargé et réinstallé mes pilotes gpu, redémarré mon ordinateur et tout semble bien fonctionner maintenant !

J'ai rencontré le même problème.
Pour moi un simple redémarrage du système a fait l'affaire, mon tensorflow s'exécute sur GPU
reboot

Même problème avec Tensorflow 1.8.0 et Cuda 8.0

Je me suis cassé la tête et les yeux ces derniers jours pour comprendre pourquoi TF 1.8 ne fonctionne pas sur GPU avec l'installation de cuda 9.2 et je n'ai toujours pas de réponse mais je veux partager mon expérience au cas où quelqu'un aurait résolu le problème. J'ai installé à partir de zéro cuda 9.2 avec cudnn 7.14 et ncc2.2.13 par site Web nvidia, puis j'ai installé TF à partir de la source via bazel. une déception. Ensuite, par suggestion nvidia, j'ai téléchargé les exemples de coda 9.2, compilés et exécutés. /deviceQuery et j'ai obtenu le tableau qui déclare que cuda 9.2 et cunn 7.14 sont correctement configurés car il montre le périphérique GPU et sa compatibilité avec le runtime du logiciel Ubuntu et finalement passe le test! Donc, je ne sais pas pourquoi je ne peux pas faire fonctionner TF 1.8 sur GPU. Cela me laisse soupçonner qu'il existe ici une incompatibilité entre TF 1.8 gpu et cuda 9.2 que le site Web de tensorflow ne nous dit pas. J'espère que je me trompe et qu'il me manque quelque chose pour que le GPU fonctionne. Faites-moi savoir si quelqu'un a des idées ou des suggestions. Merci

Pour info, cela fonctionne pour moi avec CUDA 9.0 et tensorflow 1.8.0, lorsque j'installe tensorflow et tensorflow-gpu séparément :

pip uninstall tensorflow
pip uninstall tensorflow-gpu
pip install tensorflow==1.8.0
pip install tensorflow-gpu==1.8.0

@erobic merci ! ça marche pour moi

J'ai eu le même problème où seul le processeur a été utilisé. Vous devez désinstaller tensorflow et n'avoir que tensorflow-gpu installé

@mmawada Essayez ce lien, cela a fonctionné pour moi - TF==1.8, Cuda 9.2
https://www.pytorials.com/how-to-install-tensorflow-gpu-with-cuda-9-2-for-python-on-ubuntu/

Merci!
Installer:
Ubuntu 18.04
Version du pilote : 390.77
cuda :

nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

cudnn: 7.1

et voici ce que j'ai installé :

conda create -n tt  anaconda python
source activate tt

conda install tensorflow-gpu==1.11 cudatoolkit==9.0 cudnn==7.1.2 h5py
pip install pillow h5py keras
pip uninstall tensorflow
pip install tensorflow-gpu

git clone https://github.com/fchollet/keras.git
cd keras/examples
python mnist_cnn.py

ça a marché pour moi!!!
tuananhktmt

Même problème ici. J'utilise ubuntu 16.4, tensorflow 1.12.0, gtx 1080 et cuda 9.0 avec cudnn7.3.1.
Mon réseau s'entraînait normalement quand je suis rentré chez moi vendredi dernier. Mais lundi matin, je l'ai trouvé incapable d'exécuter l'évaluation sur GPU, même si j'ai défini "avec tf.device('/device:GPU:0')". J'ai essayé "nvidia-smi" dans le terminal, il n'y a pas de problème avec mon gpu et mon pilote

Même problème ici. J'utilise ubuntu 16.4, tensorflow 1.12.0, gtx 1080 et cuda 9.0 avec cudnn7.3.1.
Mon réseau s'entraînait normalement quand je suis rentré chez moi vendredi dernier. Mais lundi matin, je l'ai trouvé incapable d'exécuter l'évaluation sur GPU, même si j'ai défini "avec tf.device('/device:GPU:0')". J'ai essayé "nvidia-smi" dans le terminal, il n'y a pas de problème avec mon gpu et mon pilote

Moi aussi, il suffit de réinstaller ubuntu :))

Cela a été résolu pour moi, lors de la formation d'un modèle de traduction de transformateur :

pip install tf-nightly-gpu

Pour info, cela fonctionne pour moi avec CUDA 9.0 et tensorflow 1.8.0, lorsque j'installe tensorflow et tensorflow-gpu séparément :

pip uninstall tensorflow
pip uninstall tensorflow-gpu
pip install tensorflow==1.8.0
pip install tensorflow-gpu==1.8.0

Pensez-vous que l'utilisation du cache serait un problème ? Dois-je utiliser l'option --no_cache ?

Hé les gars, cela a fonctionné pour moi avec tensorflow 2.0+ avec :
exporter CUDA_VISIBLE_DEVICES='0'

si vous avez plus de GPU, vous devez définir '0', '1', etc.

Salut les gars! J'ai le même problème. Mon système d'exploitation est
Identifiant du distributeur : Ubuntu
Description : Ubuntu 20.04 LTS
Sortie : 20.04
J'ai ce pilote :
nvcc : pilote de compilateur NVIDIA (R) Cuda
Copyright (c) 2005-2019 NVIDIA Corporation
Construit le Sun_Jul_28_19:07:16_PDT_2019
Outils de compilation Cuda, version 10.1, V10.1.243
J'ai ce packs :
tb-nightly 2.3.0a20200615
Tensorboard 2.2.2
tensorboard-plugin-wit 1.6.0.post3
tensorflow 2.2.0
tensorflow-estimateur 2.2.0
tensorflow-gpu 2.2.0
Pourquoi je ne peux pas utiliser le GPU dans le traitement ?

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

kirk86 picture kirk86  ·  136Commentaires

amitport picture amitport  ·  139Commentaires

ravwojdyla picture ravwojdyla  ·  112Commentaires

outlace picture outlace  ·  541Commentaires

cesarsalgado picture cesarsalgado  ·  127Commentaires