Я знаю, этот вопрос уже задавался, но ни один из ответов не сработал для меня.Я пытаюсь восстановить модель, которую я сохранил ранее.Я использовал как классическую заставку TF, так и SavedModel.Но проблема при загрузке остается прежней.Я получаю сообщение об ошибке, как в заголовке:
"Имя train_op: 0" относится к Tensor, который не существует. Операция train_op не существует на графике."
Хорошо, я понял, что train_op как-то не в восстановленном графе модели, но я не знаю почему.Я создаю переменную train_op и присваиваю ей имя: train_op = optimizer.apply_gradients(grads_and_vars, global_step=global_step, name="train_op")
.Я сохраняю модель, используя simple_save:
tf.saved_model.simple_save(sess,
model_file,
inputs={"x": X, "y": y},
outputs={"z": loss})
Вот как я загружаю модель:
tf.saved_model.loader.load(sess, [tf.saved_model.tag_constants.SERVING], model_file)
Это строка кода, где появляется модель:
_, summary = sess.run(["train_op:0", "summary_op:0"], feed_dict={"X-input:0": X_batch, "y-input:0": y_batch}, run_metadata=run_metadata)
Я действительно не понимаю проблемы.Я получаю ту же проблему для других переменных, поэтому она не относится только к train_op
.
Спасибо!