Использование TensorFlow 2.0 keras: NotFoundError Узел FetchOutputs: не найден [Op: AutoShardDataset] - PullRequest
1 голос
/ 07 февраля 2020

Я пытаюсь использовать TPU в Google Colab. Я следовал руководству Официальное руководство по тензорному потоку, чтобы использовать tpu следующим образом:

resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_host(resolver.master())
tf.tpu.experimental.initialize_tpu_system(resolver)
strategy = tf.distribute.experimental.TPUStrategy(resolver)
def SuperResolution(input_dim):
  layers = []
  layers.append(tf.keras.layers.Conv3DTranspose(filters = 64, kernel_size = (4, 4, 4), strides = 2, padding = 'same', input_shape = input_dim+(1,)))
  layers.append(tf.keras.layers.BatchNormalization())
  layers.append(tf.keras.layers.LeakyReLU())
  for i in range(5):
    layers.append(tf.keras.layers.Conv3D(filters = 64, kernel_size = (3, 3, 3), padding = 'same'))
    layers.append(tf.keras.layers.BatchNormalization())
    layers.append(tf.keras.layers.LeakyReLU())
  layers.append(tf.keras.layers.Conv3D(filters = 1, kernel_size = 3, padding = 'same', activation = 'tanh'))
  model = tf.keras.models.Sequential(layers)
  return model
with strategy.scope():
  superres = SuperResolution((44, 64, 64))
  superres.compile(loss = tf.keras.losses.MeanSquaredError(), optimizer = tf.keras.optimizers.Adam())
dataset = tf.data.Dataset.from_tensor_slices((Dataset64.reshape(len(Dataset64), 44, 64, 64, 1), Dataset128.reshape(len(Dataset128), 88, 128, 128, 1)))
dataset = dataset.shuffle(10).batch(1)
superres.fit(dataset, epochs = 10)

Когда я запускаю superres.fit(dataset, epochs = 10), я получаю следующее ошибка

NotFoundError: FetchOutputs node : not found [Op:AutoShardDataset]

Пожалуйста, помогите
Ссылка на colab: Colab

...