虽然明显可用,但未使用Tensorflow gpu

时间:2019-12-15 20:50:24

标签: python tensorflow keras

我最近用过

os.environ["CUDA_VISIBLE_DEVICES"]="-1"

禁止在tensorflow中使用我的GPU。但是,当我开始使用终端中的未设置CUDA_VISIBLE_DEVICES 重新启用它时。下次我跑时遇到这个错误

  

tensorflow.python.framework.errors_impl.InvalidArgumentError:无法为操作Conv_1_bn_1 / gamma / Initializer / ones分配设备:无法满足显式设备规范”,因为节点{{colocation_node Conv_1_bn_1 / gamma / Initializer / ones}}与一组不兼容设备'/ job:localhost / replica:0 / task:0 / device:GPU:0'的节点共存。所有可用设备[/ job:localhost /副本:0 /任务:0 /设备:CPU:0,/ job:localhost /副本:0 /任务:0 /设备:XLA_CPU:0]。

  

根成员(assigned_device_name_index _ =-1 requested_device_name _ ='/ job:localhost /副本:0 / task:0 / device:GPU:0'assigned_device_name _ ='/ job:localhost /副本:0 / task:0 / device: CPU:0'resource_device_name _ ='/ device:GPU:0'support_device_types _ = [CPU,XLA_CPU]可能_devices _ = []

我知道我的GPU可从

获得
from tensorflow.python.client import device_lib
device_lib.list_local_devices()

返回

.......

incarnation: 351568001108855942
physical_device_desc: "device: XLA_CPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 5729157120
locality {
  bus_id: 1
  links {
  }
}

我还尝试了卸载并重新安装tensorflow和tensorflowgpu。我将非常感谢您提供的所有帮助-谢谢。

1 个答案:

答案 0 :(得分:1)

要解决此问题,我现在将这一行代码放在顶部

sess = tf.Session(config=tf.ConfigProto(device_count={'GPU': 1}))

从现在开始,我将仅通过使用

禁用gpu
{'GPU': 0}

我强烈建议将其用作os.environ的替代方案