各框架模型保存的格式汇总

转载自:https://blog.csdn.net/charlotte_android/article/details/93889130
作者:Charlotte_DL

Tensorflow
1、CheckPoint(.ckpt)
在训练 TensorFlow 模型时,每迭代若干轮需要保存一次权值到磁盘,称为“checkpoint”。这种格式文件是由 tf.train.Saver() 对象调用 saver.save() 生成的,只包含若干 Variables 对象序列化后的数据,不包含图结构,所以只给 checkpoint 模型不提供代码是无法重新构建计算图的。
载入 checkpoint 时,调用 saver.restore(session, checkpoint_path)。

2、GraphDef(.pb)
这种格式文件包含 protobuf 对象序列化后的数据,包含了计算图,可以从中得到所有运算符(operators)的细节,也包含张量(tensors)和 Variables 定义,但不包含 Variable 的值,因此只能从中恢复计算图,但一些训练的权值仍需要从 checkpoint 中恢复。.pb 为二进制文件,实际上 protobuf 也支持文本格式(*.pbtxt),但包含权值时文本格式会占用大量磁盘空间,一般不用。

Keras
1、保存整个模型(.h5)
model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含:
模型的结构
模型的权重
训练配置(损失函数,优化器,准确率等)
优化器的状态,以便于从上次训练中断的地方

2、保存模型结构
model.to_jason()将模型序列化保存为json文件,里面记录了网络的整体结构, 各个层的参数设置等信息. 将json字符串保存到文件.
除了json格式,还可以保存为yaml格式的字符串,形式与JSON一样

3、保存模型权重(.h5)
经过调参后网络的输出精度比较满意后,可以将训练好的网络权重参数保存下来,可通过下面的代码利用HDF5进行保存:
model.save_weights(‘model_weights.h5’)

Pytorch
1、保存和加载整个模型(.pkl)
torch.save(model_object, ‘model.pkl’)
model = torch.load(‘model.pkl’)

2、仅保存和加载模型参数(推荐使用)
torch.save(model_object.state_dict(), ‘params.pkl’)
model_object.load_state_dict(torch.load(‘params.pkl’))

3、pytorch保存数据的格式为.t7文件或者.pth文件,或者.pkl格式,t7文件是沿用torch7中读取模型权重的方式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值