如何解决tensorflow restore model恢复模型经常出错,模型无法挪动位置的问题
如果你想保存使用tensorflow训练过的模型的话,你大概需要用tensor.saver,但是它却又很多麻烦:
- 如果你将此模型拷贝到另一个目录,再加载到内存中进行训练的话,将无法使用。
- 还有就是你的加载模型的代码和原来训练它使用的代码计算图如果稍有不同,则会导致变量找不到,又无法加载。
第一条问题是因为它的checkpoint里面记录的是你最初生成的模型的绝对地址,
model_checkpoint_path: "E:/mylab/sdsdata/test/sample/cat2/models/model_warehouse/124154_910_460_1000_0.000500_2018-10-23-08-18-11/finemodel"
all_model_checkpoint_paths: "E:/mylab/sdsdata/test/sample/cat2/models/model_warehouse/124154_910_460_1000_0.000500_2018-10-23-08-18-11/finemodel"
我们可以使用自己手动保存模型的办法,使其可以一次训练,到处加载。
保存模型的代码如下:
_, sumarry, current_loss, wh1, wh2, w_out, b_b1, b_b2, b_out = sess.run([train_op, merged_summary_op, loss_op, weights['h1'], weights['h2'], weights['out&