浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式


Posted in Python onMay 25, 2020

我们经常会看到后缀名为.pt, .pth, .pkl的pytorch模型文件,这几种模型文件在格式上有什么区别吗?

其实它们并不是在格式上有区别,只是后缀不同而已(仅此而已),在用torch.save()函数保存模型文件时,各人有不同的喜好,有些人喜欢用.pt后缀,有些人喜欢用.pth或.pkl.用相同的torch.save()语句保存出来的模型文件没有什么不同。

在pytorch官方的文档/代码里,有用.pt的,也有用.pth的。一般惯例是使用.pth,但是官方文档里貌似.pt更多,而且官方也不是很在意固定用一种。

模型保存与调用方式一:

保存:

torch.save(model.state_dict(), mymodel.pth)#只保存模型权重参数,不保存模型结构

调用:

model = My_model(*args, **kwargs) #这里需要重新模型结构,My_model
model.load_state_dict(torch.load(mymodel.pth))#这里根据模型结构,调用存储的模型参数
model.eval()

模型保存与调用方式一:

保存:

torch.save(model, mymodel.pth)#保存整个model的状态

调用:

model=torch.load(mymodel.pth)#这里已经不需要重构模型结构了,直接load就可以
model.eval()

补充知识:关于python 导入包 .pth文件

Python在遍历已知的库文件目录过程中,如果见到一个.pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,于是 .pth 文件说指明的库也就可以被 Python 运行环境找到了。

python中有一个.pth文件,该文件的用法是:

首先xxx.pth文件里面会书写一些路径,一行一个。

将xxx.pth文件放在特定位置,则可以让python在加载模块时,读取xxx.pth中指定的路径。

*******************************************

有时,在用import导入项目文件夹里自己写的python文件时,常常说找不到该文件,这时可以将项目路径添加到PYTHONPATH下。

暂时添加:

import sys
sys.path.append(项目路径)

这种方法只会存在内存里,一旦退出python就没有了

一劳永逸:

在 XXX/pythonXXX/site-packages/ (python 包安装路径) 下新建后缀为 .pth的文件,在其中加入你的项目路径,比如

K:\Desktop\face_detect\DFace-win64-master\src
K:\Desktop\face_detect\DFace-win64-master\src\core

*******************************************

有时候我们正在修改或调试的程序会是一个库,为修改方便,我们可能不大希望把它放到 site-packages 下面,而是更愿意把它保留在原始的工程目录中,以方便 IDE 和版本控制工具进行管理。那么怎么能让 Python 运行环境找到这个库呢?

原理上, Python 运行环境查找库文件时本质是对 sys.path 列表的遍历,如果我们想给运行环境注册新的类库进来,

要么得用代码给 sys.path 列表增加新路径;

要么得调整 PYTHONPATH 环境变量;

要么就得把库文件复制到已经在 sys.path 设置中的路径中去(比如 site-packages 目录);

这些方法都不够方便。最简单的办法是用 .pth 文件来实现。Python 在遍历已知的库文件目录过程中,如果见到一个 .pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,于是 .pth 文件说指明的库也就可以被 Python 运行环境找到了。

其实,easy_install 所依赖的 egg 包安装就是靠 site-packages 目录下的 .pth 文件添加对 egg 包的引用实现的。所以修改对应的 .pth 文件内容,就可以实现对 egg 包的卸载。

以上这篇浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的希尔排序算法实例
Jul 01 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
Python实现删除列表中满足一定条件的元素示例
Jun 12 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
更新修改后的Python模块方法
Mar 03 Python
python async with和async for的使用
Jun 20 Python
使用python来调用CAN通讯的DLL实现方法
Jul 03 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
Django app配置多个数据库代码实例
Dec 17 Python
django models里数据表插入数据id自增操作
Jul 15 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
Apr 27 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 #Python
tensorflow pb to tflite 精度下降详解
May 25 #Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 #Python
python用opencv完成图像分割并进行目标物的提取
May 25 #Python
Pytorch转tflite方式
May 25 #Python
Python HTMLTestRunner库安装过程解析
May 25 #Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 #Python
You might like
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
详解php命令注入攻击
2019/04/06 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
全面了解python中的类,对象,方法,属性
2016/09/11 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
Django实现内容缓存实例方法
2020/06/30 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
大学生创业计划书的范文
2014/01/07 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
2015年教师节慰问信
2015/03/23 职场文书
小时代观后感
2015/06/10 职场文书
感恩教育主题班会
2015/08/12 职场文书