網(wǎng)站首頁 編程語言 正文
torch.save實(shí)現(xiàn)對網(wǎng)絡(luò)結(jié)構(gòu)和模型參數(shù)的保存 & pytorch模型文件.pt .pth .pkl區(qū)別與聯(lián)系
作者:甘霖佳佳 更新時(shí)間: 2022-01-31 編程語言1.對網(wǎng)絡(luò)結(jié)構(gòu)和模型參數(shù)的保存
有兩種方式:
1.1
保存整個(gè)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)信息和模型參數(shù)信息,save的對象是網(wǎng)絡(luò)模型。
我們假設(shè)訓(xùn)練好的模型名為net0,則
#保存整個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和結(jié)構(gòu)的模型參數(shù)
torch.save(net0,'net0.pth')
torch.save(net0,'net0.pkl')
這種方式消耗的內(nèi)存較大
1.2
只保存神經(jīng)網(wǎng)絡(luò)的訓(xùn)練模型參數(shù),save的對象是net.state_dict()。
我們假設(shè)訓(xùn)練好的模型名為net0,則
#只保存神經(jīng)網(wǎng)絡(luò)的模型參數(shù)
torch.save(net0.state_dict(),'net0.pth')
torch.save(net0.state_dict(),'net0.pkl')
保存的是一個(gè)collections.OrderedDict()字典形式。
字典是key值對應(yīng)參數(shù)層的名稱,value值對key層相應(yīng)的參數(shù)值。
2. 不同后綴名的pytorch模型文件的區(qū)別與聯(lián)系
pth是path的縮寫,pkl是pickle的縮寫。
.pkl和.pth文件都是以二進(jìn)制形式存儲(chǔ)的,用pickle這個(gè)庫加載.pkl和.pth文件,效果相同。
如果你是使用torch.save方法來進(jìn)行模型參數(shù)的保存,那保存文件的后綴其實(shí)沒什么區(qū)別,結(jié)果都是一樣的,只是.pth用的更多一些。
但如果應(yīng)用場景不在這里這兩種(.pkl、.pth)格式的文件還是有區(qū)別的:
①.pkl文件是python里保存文件的一種格式,如果直接打開會(huì)顯示序列化內(nèi)容,其實(shí)是以二進(jìn)制形式存儲(chǔ)的,若要閱讀文件,需要用’rb’而不是’r’。
②.pth文件有不同的應(yīng)用,python在遍歷已知庫文件目錄過程中,如果見到一個(gè).pth文件,就會(huì)將文件中所記錄的路徑加入到sys.path設(shè)置中,于是.pth文件指明的庫也就可以被python運(yùn)行環(huán)境找到。
原文鏈接:https://blog.csdn.net/weixin_45928096/article/details/122397876
相關(guān)推薦
- 2023-01-19 Android?任務(wù)棧機(jī)制詳解_Android
- 2022-04-16 PyInstaller如何打包依賴文件至目標(biāo)程序目錄_python
- 2022-02-05 lxml提取html標(biāo)簽內(nèi)容, tostring()不能顯示中文 解決方案
- 2022-10-29 微服務(wù)啟動(dòng)報(bào)錯(cuò):No Feign Client for loadBalancing defined.
- 2022-11-21 詳解Go語言中的內(nèi)存對齊_Golang
- 2023-02-05 詳解Pytorch中Dataset的使用_python
- 2022-11-05 React+CSS?實(shí)現(xiàn)繪制豎狀柱狀圖_React
- 2022-05-24 SQL?Server表空間碎片化回收的實(shí)現(xiàn)_MsSql
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支