'TensorFlow : failed call to cuInit: CUDA_ERROR_NO_DEVICE
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 :
- 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 ?
Solution 1:[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
.
Solution 2:[2]
The true answer is to add following line of code:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
Solution 3:[3]
If you're using Google Colab, it could be that your runtime is not GPU. Click the “Runtime” dropdown menu. Select “Change runtime type”. Now select GPU.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | mrry |
Solution 2 | Muhammad Saqlain |
Solution 3 | Claude COULOMBE |