pytorch模型的保存和加载!🍧
pytorch模型的保存和加载
torch提供了两种方式进行保存:
- 保存整个模型:保存整个模型的结构(代码)、参数。
- 保存模型参数:仅保存模型的参数,而不保存模型的结构(代码)。
先看一下第一种保存方式,保存整个模型的结构(代码)、参数:
1 |
|
那如何使用呢?特别简单:
1 |
|
第二种方式是只保存了保存模型的参数,不保存模型的结构(代码):
1 |
|
那使用呢?和第一种方式有很大的差别!要先实例化模型,也是说要有模型结构的代码,才能加载参数:
1 |
|
两种保存方式的差别,但是还是要注意:第一种方式其实是在保存模型的时候,序列化的数据被绑定到了特定的类(代码中的模型类)和确切的目录,本质上是不保存模型结构(代码)本身,而是保存这个模型结构(代码)的路径,并且在加载的时候会使用,因此当在其他项目里使用或者重构的时候,这种方式加载模型的时候会出错。所以一般建议使用第二种方式!
tips:
huggingface保存的bin文件和pth文件有什么区别?
答案是bin文件保存的是模型的参数,是上述的torch的第二种方式,想要完整加载模型是需要模型结构(代码)的。
pytorch模型的保存和加载!🍧
https://yangchuanzhi20.github.io/2024/04/28/人工智能/Pytorch/基础知识/pytorch模型的保存和加载/