如何解决tensorflow restore model恢复模型经常出错,模型无法挪动位置的问题

本文讨论了在TensorFlow中使用Saver恢复模型时遇到的错误,特别是当模型移动到新目录导致加载失败的问题。文章指出,这是因为checkpoint文件记录了原始路径。为了解决这个问题,建议使用自定义方式保存模型,以实现模型的可移植性。同时,还提到了模型加载代码需与训练代码匹配,否则可能导致变量找不到。提供了保存和加载模型的代码示例。
摘要由CSDN通过智能技术生成

如何解决tensorflow restore model恢复模型经常出错,模型无法挪动位置的问题

如果你想保存使用tensorflow训练过的模型的话,你大概需要用tensor.saver,但是它却又很多麻烦:

  1. 如果你将此模型拷贝到另一个目录,再加载到内存中进行训练的话,将无法使用。
  2. 还有就是你的加载模型的代码和原来训练它使用的代码计算图如果稍有不同,则会导致变量找不到,又无法加载。

第一条问题是因为它的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&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值