web-dev-qa-db-fra.com

TensorFlow: échec de l'appel à cuInit: CUDA_ERROR_NO_DEVICE

Mon test:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()`

Erreur:

c:\l\work\tensorflow-1.1.0\tensorflow\stream_executor\cuda\cuda_driver.cc: 405]

échec de l'appel à cuInit: CUDA_ERROR_NO_DEVICE

-> mais "/ cpu: 0" fonctionne bien

Configuration:

nvidia-smi: enter image description here

  • CUDA version 9.1
  • tensorflow-1.1.0
  • Windows 10
  • cudnn64_7.dll (installé dans C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin)
  • Seul tensorflow-gpu est installé dans mon environnement Conda

Pourquoi Tensorflow ne peut-il pas détecter mon GPU?

6
Vincent Roye

Le problème a été résolu sur GitHub . Ce message d'erreur s'affichera si vous définissez une valeur non valide pour le CUDA_VISIBLE_DEVICES variable d'environnement, par exemple lorsque vous n'avez qu'un seul GPU (qui a l'ID 0) Et mettre CUDA_VISIBLE_DEVICES=1 ou CUDA_VISIBLE_DEVICES=2.

16
mrry

La vraie réponse est d'ajouter la ligne de code suivante:

import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
11
fly