Eager Execution: не удалось найти допустимое устройство для узла. {{node Conv2D}}

Я пытаюсь построить классификатор изображений в 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]

Есть идеи почему?

0 ответов

Ошибка связана с тем, что вы пытаетесь загрузить тензор int32 в блок conv2d. Вам нужно будет проверить поддерживаемые типы входного тензора, прежде чем передавать тензор в конкретную функцию тензорного потока.

Например, если вы проверяете исходный код тензорного потока здесь tf.nn.conv2d для conv2d, поддерживаемые типы ввода:half, bfloat16, float32, float64.

Это также указано в вашей ошибке после утверждения - "Все ядра зарегистрированы для op Conv2D"

Другие вопросы по тегам