FailedPreconditionError: Ошибка при чтении переменной ресурса *** из контейнера

Я вижу следующую ошибку при запуске model.fit с обратными вызовами horovod. Если я пропущу обратные вызовы, то model.fit работает нормально. Примечание: я использую horovod.tensorflow.keras пакет и моя модель основана на tensorflow.keras (Я не просто использую пакет keras, но из тензорного потока)

FailedPreconditionError: Error while reading resource variable conv1d/kernel from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/conv1d/kernel/N10tensorflow3VarE does not exist.
     [[{{node conv1d/conv1d/ExpandDims_1/ReadVariableOp}}]]

Обратные вызовы следующие

callbacks = [
    # Horovod: broadcast initial variable states from rank 0 to all other processes.
    # This is necessary to ensure consistent initialization of all workers when
    # training is started with random weights or restored from a checkpoint.
    hvd.callbacks.BroadcastGlobalVariablesCallback(0),
    TensorBoard(log_dir='boardlogs/{}'.format(datetime.datetime.now())) #report logs to tensorboard
]
# Horovod: save checkpoints only on worker 0 to prevent other workers from corrupting them.
if hvd.rank() == 0:
    horovod_callbacks.append(tf.keras.callbacks.ModelCheckpoint('.horovod-cps/checkpoint-{epoch}.h5')


history = model.fit(X, y, epochs=500, batch_size=64, callbacks=callbacks, verbose=1 if hvd.rank() == 0 else 0)

Среда: Framework: tenorflow.keras Tensorflow Версия 1.13.1 Keras Версия 2.2.4-tf Версия Horovod: horovod==0.17.0.post1 Версия Python: 3.6

0 ответов

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