名称' Tensor'是指不存在的张量。图中不存在操作“Tensor'”

时间:2018-05-21 17:31:44

标签: python tensorflow save load restore

我知道,这个问题已被提出,但没有一个答案对我有用。 我试图恢复之前保存过的模型。我使用了经典的TF保护程序和SavedModel。但加载时的问题仍然存在。我收到标题中的错误消息:

  

"名称' train_op:0'是指不存在的张量。图表中不存在操作' 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特有的。

谢谢!

0 个答案:

没有答案