IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tensorflow avec GPU non reconnu [Python 3.X]


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2020
    Messages : 24
    Points : 20
    Points
    20
    Par défaut Tensorflow avec GPU non reconnu
    Bonjour à tous,


    j'essaie actuellement d'utiliser un réseaux de neurones qui semblerait me bouffe tellement de mémoire que j'ai toujours un soucis avec tensorflow dans son utilisation. En effet, il semblerait que ce dernier n'utilise pas ma Quadro P5000 qui est installe dans mon PC !

    J'ai une version de CUDA égale à 10.0, tensorflow 2.2.0 installé ainsi que tensorflow-gpu. Lorsque je lance les commandes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     tf.test.gpu_device_name()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     tf.config.list_physical_devices('GPU')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tf.test.is_gpu_available()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
    j'ai respectivement les sorties suivantes dans un Jupyter notebook : " " ; [ ] ; "False" ; module 'tensorflow' has no attribute 'Session'

    J'ai regardé du côté de nvidia via la commande nvidi-smi en shell et voici une capture :
    Nom : Capture du 2020-07-21 15-54-40.png
Affichages : 268
Taille : 71,7 Ko

    Je ne vois pas comment je peux dire à 'mon' tensorflow de runer le code via mon GPU ... J'ai regardé de mon côté mais je dois dire que connaissances sur CUDA je rame pas mal, mais je pense que pour tensorflow il me manque une petite étape et je ne vois pas du tout comment avance.

    Merci à vous pour votre aide

    -M

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    février 2009
    Messages
    6 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2009
    Messages : 6 387
    Points : 23 533
    Points
    23 533
    Billets dans le blog
    124
    Par défaut


    Je ne sais pas si c'est la cause du problème, mais j'ai une NVIDIA GeForce GTX 750 et son driver à la version 451.67 du 07/09/2020 (9 juillet 2020)

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2020
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Salut,

    Je vois que tu fais référence au driver. Par rapport à ma capture précédente, ai-je besoin d'installer un driver particulier car je peux voir la version 410.78 et CUDA 10.0 sur l'écran.
    Il semble donc que j'ai une bonne version de CUDA Toolkit et un driver suffisant ... Notamment, dans /usr/local/cuda il semble y avoir tout ce qu'il faut.

    Cependant, je n'avais pas l'impression que cuDNN etait installé, j'ai donc crée un compte sur NVIDA pour installer depuis un tar.gz les fichiers comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
    Et maintenant dans la partie processes de watch nvidia-smi il y a une ligne 'python3.7' qui apparait. Mais lorsque je souhaite voir avec tensorflow si cela fonctionne j'ai toujours les memes resultats vides ...

    Je me demande donc si le soucis vient de Python/Tensorflow ou CUDA/Driver !

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    2 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 2 337
    Points : 5 908
    Points
    5 908
    Par défaut
    hello,
    sous centos , pour faire fonctionner tensorflow j'ai du installer seulement la version 1.5 car mon processeur n'avait pas les instructions AVX nécessaires pour les packets tensorflow > 1.5
    J'ai du alors aussi installer une version de cuda ancienne (9.0) et un cudnn 7.0. Par contre j'ai installé le dernier driver nvidia 450.57.
    tensorflow installés :
    tensorflow 1.5.0
    tensorflow-gpu 1.5.0
    tensorflow-tensorboard 1.5.1
    cuda installé :
    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
    voici les résultats de quelques tests sous python 3.6
    >>> import tensorflow as tf
    >>> hello = tf.constant("hello TensorFlow!")
    >>> sess=tf.Session()
    2020-07-24 08:28:31.574800: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1
    2020-07-24 08:28:32.014403: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:895] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
    2020-07-24 08:28:32.014956: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] Found device 0 with properties:
    name: GeForce GT 730 major: 3 minor: 5 memoryClockRate(GHz): 0.9015
    pciBusID: 0000:05:00.0
    totalMemory: 1.95GiB freeMemory: 1.51GiB
    2020-07-24 08:28:32.015043: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GT 730, pci bus id: 0000:05:00.0, compute capability: 3.5)
    >>> print (sess.run(hello))
    b'hello TensorFlow!'
    >>> tf.test.gpu_device_name()
    2020-07-24 08:31:26.119168: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GT 730, pci bus id: 0000:05:00.0, compute capability: 3.5)
    '/device:GPU:0'
    ma carte graphique est une GT 730
    Il faut voir les versions de cuda compatibles avec la version de tensorflow que l'on veut installer.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    janvier 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2020
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    Salut,

    alors, j'ai checké mes versions de : driver + cudnn + cuda, et il semble que je suis sur une bonne configuration car respectivement on est sur 410.78, 7.6.5 et 10.0 !

    De ce fait j'ai regardé la version de tensorflow / tensorflow-gpu car tu m'as mis la puce à l'oreille avec cette idée de version. J'ai installé et reinstaller avec tensorflow 2.0.0 et bizarrement ca n'a jamais voulu. J'ai l'impression que mon Python3.7 a un conflit avec la version qui fait que le fait de le réinstaller maintenant ne change pas grand chose !

    Neanmoins J'ai installer un environnement virtuel via pip3 et non pip, où tensorflow-gpu=2.0 a ete installé et là ... BOOM ca marche ! Je ne sais pas pourquoi le fait d'avoir installe un environnement de travail a permis de le faire fonctionner Mais je dirai que parce qu'il était vierge de toute librairie, c’était comme une "purge" !

    Merci pour votre aide !

    Je clos le sujet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. UPDATE avec alias non reconnu?!
    Par MinsK dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/10/2010, 16h04
  2. [Tables Access] Problème avec AUTO_INCREMENT non reconnu
    Par GuixInDaMixx dans le forum VB.NET
    Réponses: 4
    Dernier message: 15/05/2008, 19h01
  3. time.h non reconnu en compilant avec gcc
    Par chris78 dans le forum Bibliothèques
    Réponses: 12
    Dernier message: 28/07/2006, 15h16
  4. Problème avec K3B : graveur DVD non reconnu
    Par HNT dans le forum Applications et environnements graphiques
    Réponses: 11
    Dernier message: 20/03/2006, 11h50
  5. strlen et strcpy non reconnu avec string.h
    Par wolflinger dans le forum C++
    Réponses: 17
    Dernier message: 21/02/2006, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo