Название «Тензор» обозначает Тензор, которого не существует.Операция «Тензор» не существует в графе - PullRequest
0 голосов
/ 21 мая 2018

Я знаю, этот вопрос уже задавался, но ни один из ответов не сработал для меня.Я пытаюсь восстановить модель, которую я сохранил ранее.Я использовал как классическую заставку 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.

Спасибо!

...