TensorFlow:对cuInit的调用失败:CUDA_ERROR_NO_DEVICE

Vin*_*oye 5 windows tensorflow cudnn

我的测试:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()`
Run Code Online (Sandbox Code Playgroud)

错误:

C:\升\工作\ tensorflow-1.1.0\tensorflow\stream_executor\CUDA\cuda_driver.cc:405]

调用cuInit失败:CUDA_ERROR_NO_DEVICE

- >但"/ cpu:0"工作正常

配置:

nvidia-smi: 在此输入图像描述

  • CUDA版本9.1
  • tensorflow-1.1.0
  • Windows 10
  • cudnn64_7.dll(安装在C:\ Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin)
  • 我的Conda环境中只安装了tensorflow-gpu

为什么Tensorflow无法检测到我的GPU?

mrr*_*rry 13

这个问题在GitHub上解决.如果为CUDA_VISIBLE_DEVICES环境变量设置了无效值,则会显示此错误消息,例如,当您只有一个GPU(具有ID 0)并设置CUDA_VISIBLE_DEVICES=1或时CUDA_VISIBLE_DEVICES=2.

  • CUDA_VISIBLE_DEVICES=-1 似乎也会发生这种情况,这告诉它不要使用 GPU。张量流 2.4.1。 (6认同)

小智 8

真正的答案是添加以下代码行:

import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。有趣的是,即使显式的“CUDA_VISIBLE_DEVICES=0 python ...”不起作用,这个解决方案也会有所帮助。 (3认同)