首页 > 解决方案 > “张量”这个名称是指一个不存在的张量。图中不存在“张量”操作

问题描述

我知道,这个问题已经被问过了,但没有一个答案对我有用。我正在尝试恢复我之前保存的模型。我使用了经典的 TF saver 和 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.

谢谢!

标签: pythontensorflowsaveloadrestore

解决方案


推荐阅读