在桌面上增加了一个新的GTX1050 ti,它有一个旧的GTX970 . Tensorflow仅检测到旧GPU . 尝试了nvidia-smi,devicequery和pytorch,除了tensorflow之外,所有命令都发现了gpus .

系统配置:

  • Ubuntu:18.04

  • python 3.6

  • Tensorflow-gpu:1.11.0

  • Cuda:9.0

  • Cudnn:7.0

  • Nvidia司机:384.87

  • "CUDA_VISIBLE_DEVICES" = 0,1

火炬测试命令:

  • torch.cuda.get_device_name(0)#nvidia:GTX 1050 ti

  • torch.cuda.get_device_name(1)#nvidia:GTX 970

两者都返回正确的gpu名称

Tensorflow测试命令:

  • print(device_lib.list_local_devices())#always“gpu:0

  • with tf.device('/device:GPU:1'):#error:"gpu:1"不存在

删除旧的,tensorflow可以找到新的 . 如果两者都已安装,则仅检测到旧的 . 还尝试了多次重新安装Cuda,Cudnn和tensorflow-gpu 1.11,同样的错误仍然存在 .