machine-learning - 恢复以保持训练不适用于 tensorflow

标签 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. 使用 sess.run(tf.global_variables_initializer() 初始化所有变量(以便它们具有初始随机/常量值)
  2. 将初始化值保存到某个文件 (saver.save(sess,model_path+"/%s.ckpt"%model_name))
  3. 从该文件加载那些随机初始化的值

所以您只是加载在第 3 行和第 4 行初始化并保存的内容。

另外,我不知道你如何传递信息,但是training_loop没有获得对saver的引用,并且你在训练循环后没有保存模型,所以看来你没有实际上将您的模型保存在任何地方。

关于machine-learning - 恢复以保持训练不适用于 tensorflow ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42781593/

相关文章:

r - 组合多个神经网络模型

tensorflow - Matterport Mask R-CNN - 不可预测的损失值和较大图像的奇怪检测结果

Python NLP 意图识别

python - ValueError : Tensor Tensor ("dense_2/Softmax:0", shape=(?, 43), dtype=float32) 不是该图的元素

tensorflow - tensorflow 中有logit函数吗?

machine-learning - 机器学习中归一化和正则化有什么区别

python - 在 tensorflow 中预测上传的图像时如何解释 expand_dims

tensorflow - 分布式 Tensorflow 中的数据批处理

memory-management - 为什么这个 tensorflow 循环需要这么多内存?

tensorflow - AttributeError tf-每晚类(class)权重