小编use*_*910的帖子

如何从保存的元图中恢复我的损失?

我已经构建了一个运行良好的简单 tensorflow 模型。在训练时,我保存了 meta_graph 以及不同步骤的一些参数。

之后(在新脚本中)我想恢复保存的 meta_graph 并恢复变量和操作。

一切正常,但只有

with tf.name_scope('MSE'):
    error = tf.losses.mean_squared_error(Y, yhat, scope="error")
Run Code Online (Sandbox Code Playgroud)

不会被恢复。使用以下行

mse_error = graph.get_tensor_by_name("MSE/error:0")
Run Code Online (Sandbox Code Playgroud)

“名称‘MSE/error:0’指的是一个不存在的张量。图中不存在操作‘MSE/error’。”

出现此错误消息。

由于我对其他没有任何错误恢复的变量和操作执行完全相同的过程,因此我不知道如何处理。唯一的区别是 tf.losses.mean_squared_error 函数中只有 scope 属性,没有 name 属性。

那么如何用范围恢复丢失操作呢?

这是我如何保存和加载模型的代码。

保存:

# define network ...
saver = tf.train.Saver(max_to_keep=10)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

for i in range(NUM_EPOCHS):
    # do training ..., save model all 1000 optimization steps
    if (i + 1) % 1000 == 0:
        saver.save(sess, "L:/model/mlp_model", global_step=(i+1))
Run Code Online (Sandbox Code Playgroud)

恢复:

# start a session
sess=tf.Session()
# load meta graph
saver = …
Run Code Online (Sandbox Code Playgroud)

scope restore tensorflow

2
推荐指数
1
解决办法
2826
查看次数

标签 统计

restore ×1

scope ×1

tensorflow ×1