急切执行:找不到节点的有效设备。 {{node Conv2D}}

时间:2019-02-13 10:47:40

标签: python tensorflow eager-execution

我正在尝试在急切执行模式下的Tensorflow中构建图像分类器。我收到以下错误。

InternalError: Could not find valid device for node.
Node: {{node Conv2D}} = Conv2D[T=DT_UINT8, data_format="NHWC", 
dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 2, 2, 1], 
use_cudnn_on_gpu=true](dummy_input, dummy_input)
All kernels registered for op Conv2D :
device='XLA_CPU'; T in [DT_FLOAT, DT_DOUBLE, DT_HALF]
device='XLA_GPU'; T in [DT_FLOAT, DT_DOUBLE, DT_BFLOAT16, 
DT_HALF]
device='GPU'; T in [DT_DOUBLE]
device='GPU'; T in [DT_FLOAT]
device='GPU'; T in [DT_HALF]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_HALF]
device='XLA_CPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_HALF]
device='XLA_GPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_BFLOAT16, 
DT_HALF]
[Op:Conv2D]

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

错误是因为您试图将int32张量加载到conv2d块。将张量传递到特定的张量流函数之前,您必须检查支持的输入张量类型。

例如,如果您在tf.nn.conv2d处检出tensorflow源代码以进行conv2d,则支持的输入类型为halfbfloat16float32float64

在以下语句之后的错误中也指出了这一点:“所有为op Conv2D注册的内核”