在Tensorflow中训练模型后:
我正试图通过拾取TensorFlow中的模型训练来重新开始.我想使用最近添加的(0.12 +我认为)import_meta_graph(),以便不重建图形.
我见过这方面的解决方案,例如Tensorflow:如何保存/恢复模型?,但是我遇到了AdamOptimizer的问题,特别是我得到了一个ValueError: cannot add op with name <my weights variable name>/Adam as that name is already used错误.这可以通过初始化来修复,但我的模型值会被清除!
还有其他答案和一些完整的例子,但它们似乎总是较旧,因此不包括较新的import_meta_graph()方法,或者没有非张量优化器.我能找到的最接近的问题是tensorflow:保存和恢复会话,但没有最终的明确解决方案,这个例子非常复杂.
理想情况下,我想要一个简单的可运行示例从头开始,停止,然后再次拾起.我有一些有用的东西(下图),但也想知道我是否遗漏了什么.当然,我不是唯一一个这样做的人吗?
在Jupyter笔记本中使用TensorFlow时,我似乎无法恢复已保存的变量.我训练一个ANN,然后我跑,saver.save(sess, "params1.ckpt")然后我再次训练它,保存新的结果,saver.save(sess, "params2.ckpt")但是当我运行saver.restore(sess, "params1.ckpt")我的模型时不加载保存的值params1.ckpt并保留它们params2.ckpt.
如果我运行模型,保存它params.ckpt,然后关闭并停止,然后尝试再次加载它,我收到以下错误:
---------------------------------------------------------------------------
StatusNotOK Traceback (most recent call last)
StatusNotOK: Not found: Tensor name "Variable/Adam" not found in checkpoint files params.ckpt
[[Node: save/restore_slice_1 = RestoreSlice[dt=DT_FLOAT, preferred_shard=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/restore_slice_1/tensor_name, save/restore_slice_1/shape_and_slice)]]
During handling of the above exception, another exception occurred:
SystemError Traceback (most recent call last)
<ipython-input-6-39ae6b7641bd> in <module>()
----> 1 saver.restore(sess, "params.ckpt")
/usr/local/lib/python3.5/site-packages/tensorflow/python/training/saver.py in restore(self, sess, save_path)
889 save_path: Path where parameters were previously saved.
890 …Run Code Online (Sandbox Code Playgroud)