问题
My test :
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()`
Error :
c:\l\work\tensorflow-1.1.0\tensorflow\stream_executor\cuda\cuda_driver.cc:405]
failed call to cuInit: CUDA_ERROR_NO_DEVICE
-> but "/cpu:0" works fine
Config :
nvidia-smi :
- CUDA Version 9.1
- tensorflow-1.1.0
- Windows 10
- cudnn64_7.dll (installed in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin)
- Only tensorflow-gpu is installed in my Conda environment
Why can't Tensorflow detect my GPU ?
回答1:
The issue was solved on GitHub. This error message will be shown if you set an invalid value for the CUDA_VISIBLE_DEVICES
environment variable, e.g. when you only have a single GPU (which has ID 0
) and set CUDA_VISIBLE_DEVICES=1
or CUDA_VISIBLE_DEVICES=2
.
回答2:
The true answer is to add following line of code:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
来源:https://stackoverflow.com/questions/48658204/tensorflow-failed-call-to-cuinit-cuda-error-no-device