当我使用CUDA_VISIBLE_DEVICES=2
运行我的python脚本时,Tensorflow仍会显示以下内容:
I tensorflow / core / common_runtime / gpu / gpu_device.cc:1041]正在创建 TensorFlow设备(/ gpu:0) - > (设备:0,名称:特斯拉K80,pci总线ID: 0000:86:00.0)
因此,我的代码失败并显示以下消息:
无法满足明确的设备规范' / device:GPU:2' 因为没有在此注册符合该规范的设备 处理;可用设备:/ job:localhost / replica:0 / task:0 / cpu:0, /作业:本地主机/复制:0 /任务:0 / GPU:0
有人可以解释一下必须发生什么吗?
答案 0 :(得分:10)
引用CUDA_VISIBLE_DEVICES的解释:
CUDA将枚举从零开始的可见设备。在最后 例如,设备0,2,3将显示为设备0,1,2。
所以如果你做CUDA_VISIBLE_DEVICES=2
,那么你的gpu#2将在张量流中表示为gpu:0
。