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

Python 急切执行:找不到节点的有效设备。{{node Conv2D},python,tensorflow,eager-execution,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](dum

我正在尝试在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]

知道为什么吗?

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

例如,如果您在此处签出conv2d的tensorflow源代码,则支持的输入类型为
half
bfloat16
float32
float64


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

我有同样的问题,我的输入张量是float32