1

我正在尝试在急切执行模式下在 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]

任何想法为什么?

4

1 回答 1

2

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

例如,如果您在这里查看 TensorFlow 源代码tf.nn.conv2d以获取 conv2d,则支持的输入类型为half, bfloat16, float32, float64

声明后的错误中也指出了这一点 - “所有内核注册为 op Conv2D”

于 2019-04-08T06:49:01.563 回答