-
保存深度学习模型
当我们训练好模型之后,想要保存下来,以pytorch为例:
有两种选择:
保存方式1
torch.save(model.state_dict(), 'mymodel.pth') # 只保存模型权重参数,不保存模型结构
model为训练好的模型,'mymodel.pth'为保存路径。
调用方式1
model = My_model(*args, **kwargs) #这里需要重新模型结构,My_model
model.load_state_dict(torch.load('mymodel.pth'))#这里根据模型结构,调用存储的模型参数
model.eval()
保存方式2
torch.save(model, mymodel.pth) # 保存整个model的状态
调用方式2
model=torch.load(mymodel.pth)#这里已经不需要重构模型结构了,直接load就可以
model.eval()
我一般选用方式2,这样调用的时候,不需要再复现模型,然后才能在模型中调用参数
-
不同格式的保存文件
ckpt格式:
一般情况下,用TensorFlow时保存模型都使用ckpt格式的模型文件;
依赖TensorFlow,只能在其框架下使用。
恢复模型之前需要再定义一遍网络结构,才能把变量的值恢复到网络中。
pytorch模型保存格式
即后缀名为.pt, .pth, .pkl的pytorch模型文件(它们并不是在格式上有区别,只是后缀不同而已)
pth文件是python中存储文件的常用格式;keras中则是使用.h5文件。
PB格式
优点:
它具有语言独立性,可独立运行,封闭的序列化格式,任何语言都可以解析它,它允许其他语言和深度学习框架读取、继续训练和迁移TensorFlow的模型。
它的主要使用场景是实现创建模型与使用模型的解耦,使得在推理过程中不用像ckpt格式那样重新定义一遍网络。文章来源:https://www.toymoban.com/news/detail-425467.html
保存BP文件的时候,模型的变量都会变成固定的,导致模型的大小会大大较少,适合在手机端运行。文章来源地址https://www.toymoban.com/news/detail-425467.html
到了这里,关于深度模型的保存及ckpt和pth的文件保存有什么区别?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!