恢复以保持训练不与tensorflow一起使用

时间:2017-03-14 08:58:46

标签: machine-learning tensorflow

我需要保存并恢复图表以保持上一个检查点的训练,但不知何故不起作用。

我使用saver = tf.train.Saver()来保存模型。和

with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
    # Initializing saver
    sess.run(tf.global_variables_initializer())
    save_path = saver.save(sess,model_path+"/%s.ckpt"%model_name)
    if flag == "initial_train":
        training_loop(num_epochs)
        flag = None
    else:
        new_saver = tf.train.import_meta_graph(model_path+"/%s.ckpt.meta"%model_name)
        new_saver.restore(sess, save_path)
        print("Model loaded")
        training_loop(num_epochs)

我真的不知道为什么它没有导入权重

1 个答案:

答案 0 :(得分:1)

在以后的运行中你是

  1. 使用sess.run(tf.global_variables_initializer()
  2. 初始化所有变量(因此它们将具有初始随机/常量值)
  3. 将初始值保存到某个文件(saver.save(sess,model_path+"/%s.ckpt"%model_name)
  4. 从该文件中加载那些随机初始化的值
  5. 因此,您只需加载初始化并保存在第3行和第4行的内容。

    另外,我不知道你如何传递信息,但是training_loop没有得到saver的引用,你没有在训练循环后保存模型,所以看来你实际上并没有保存你的模特儿。