Я пытаюсь запустить свою модель UNet keras с помощью Google Colab TPU, и я столкнулся с этой проблемой с UpSampling2D
.Любые решения или обходной путь?
Код для запуска:
import os
import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import UpSampling2D
model = Sequential()
model.add(UpSampling2D((2, 2), input_shape=(16, 16, 1)))
model.compile(optimizer=tf.train.RMSPropOptimizer(learning_rate=0.01),
loss='binary_crossentropy', metrics=['acc'])
TPU_WORKER = 'grpc://' + os.environ['COLAB_TPU_ADDR']
tf.logging.set_verbosity(tf.logging.INFO)
model = tf.contrib.tpu.keras_to_tpu_model(
model,strategy=tf.contrib.tpu.TPUDistributionStrategy(
tf.contrib.cluster_resolver.TPUClusterResolver(TPU_WORKER)))
X = np.zeros((1024, 16, 16, 1))
Y = np.zeros((1024, 32, 32, 1))
model.fit(X, Y, batch_size=1024)
Ошибка:
RuntimeError: Ошибка компиляции: Ошибка компиляции: Обнаружены неподдерживаемые операции при попытке компиляцииграфик cluster_3_5095732716396540171 [] на XLA_TPU_JIT: ResizeNearestNeighbor (нет зарегистрированных OpKernel 'ResizeNearestNeighbor' для XLA_TPU_JIT устройств, совместимых с узлом {{узла tpu_140211339657168 / up_sampling2d_1 / ResizeNearestNeighbor}} = ResizeNearestNeighbor [Т = DT_FLOAT, align_corners = ложь, _device = "/ устройства: TPU_REPLICATED_CORE"] (inged-train_1: 1, tpu_140211339657168 / up_sampling2d_1 / mul). Зарегистрировано: устройство = 'CPU'; T в [DT_DOUBLE] устройство = 'CPU'; T в [DT_FLOAT] устройство = 'CPU'; T в [DT_BFLOAT16]устройство = 'CPU'; T в [DT_HALF] устройство = 'CPU'; T в [DT_INT8] устройство = 'CPU'; T в [DT_UINT8] устройство = 'CPU'; T в [DT_INT16] устройство = 'CPU';T в [DT_UINT16] device = 'CPU'; T в [DT_INT32] device = 'CPU'; T в [DT_INT64]) {{node tpu_140211339657168 / up_sampling2d_1 / ResizeNearestNeighbor}}