加载tf模型 正确率很低_「小白能懂系列」Tensorflow模型存储和调用实例(附代码)...

这篇博客介绍了TensorFlow中如何使用tf.train.Saver()保存和恢复模型,包括.meta文件存储网络结构,.ckpt文件保存参数,以及如何通过import_meta_graph加载模型。代码示例展示了如何定义模型、保存模型并在之后加载模型进行预测。最后,提到了如何在现有模型基础上添加新的计算操作。
摘要由CSDN通过智能技术生成

先讲一下Tensorflow模型的组成,如果是通过tf.train.Saver()保存的模型,那么会生成3种文件:

  1. .meta是网络结构,就是深度学习网络的那些隐层和全连接层等的定义
  2. checkpoint是记录输出模型的checkpoint
  3. 剩下的文件保存的是模型网络中的具体的参数

下面看下训练代码:

7b95b28cf563d6e09789c8bc4a47d647.png

代码很简单,先定义两个Tensor的变量w1和w2,b1是一个常量2,然后定义一个字典,其中w1是4,w2是8。接着定义op,op指的是Tensorflow计算符,tf.add将w1和w2相加,然后通过tf.multiply将w1和w2相加的结果乘以2。接着生成全局的参数tf.global_variables_intitializer(),就是初始化参数,取第1000次的checkpoint把模型保存为my_test_model。这个代码的意思是输入w1和w2,然后模型会返回(w1+w2)*b1的结果,b1是常量,等于2。


运行后模型就保存下来,下面看下怎么调用:

0d242654bf0ec957f8b3892e32497392.png

通过import_meta_graph这个函数加载训练时的网络结构,然后用restore方法加载网络结构中的权重,到了这步预测模型就加载好了。接着设置一组预测值,使得w1=6,w2=7。获取计算op,也就是当初训练的时候定义的op名称‘op_to_restore’。然后就可以把数据传到op里进行计算,生成的结果为(6+7)*2=26。


彩蛋:如果想基于已有的模型refine,可以在原有模型上增加计算op,参考第二张图注释部分,可以自己试下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值