Pytorch之保存讀取模型實例
pytorch保存數(shù)據(jù)
pytorch保存數(shù)據(jù)的格式為.t7文件或者.pth文件,t7文件是沿用torch7中讀取模型權重的方式。而pth文件是python中存儲文件的常用格式。而在keras中則是使用.h5文件。
# 保存模型示例代碼
print('===> Saving models...')
state = {
'state': model.state_dict(),
'epoch': epoch # 將epoch一并保存
}
if not os.path.isdir('checkpoint'):
os.mkdir('checkpoint')
torch.save(state, './checkpoint/autoencoder.t7')
保存用到torch.save函數(shù),注意該函數(shù)第一個參數(shù)可以是單個值也可以是字典,字典可以存更多你要保存的參數(shù)(不僅僅是權重數(shù)據(jù))。
pytorch讀取數(shù)據(jù)
pytorch讀取數(shù)據(jù)使用的方法和我們平時使用預訓練參數(shù)所用的方法是一樣的,都是使用load_state_dict這個函數(shù)。
下方的代碼和上方的保存代碼可以搭配使用。
print('===> Try resume from checkpoint')
if os.path.isdir('checkpoint'):
try:
checkpoint = torch.load('./checkpoint/autoencoder.t7')
model.load_state_dict(checkpoint['state']) # 從字典中依次讀取
start_epoch = checkpoint['epoch']
print('===> Load last checkpoint data')
except FileNotFoundError:
print('Can\'t found autoencoder.t7')
else:
start_epoch = 0
print('===> Start from scratch')
以上是pytorch讀取的方法匯總,但是要注意,在使用官方的預處理模型進行讀取時,一般使用的格式是pth,使用官方的模型讀取命令會檢查你模型的格式是否正確,如果不是使用官方提供模型通過下面的函數(shù)強行讀取模型(將其他模型例如caffe模型轉(zhuǎn)過來的模型放到指定目錄下)會發(fā)生錯誤。
def vgg19(pretrained=False, **kwargs):
"""VGG 19-layer model (configuration "E")
Args:
pretrained (bool): If True, returns a model pre-trained on ImageNet
"""
model = VGG(make_layers(cfg['E']), **kwargs)
if pretrained:
model.load_state_dict(model_zoo.load_url(model_urls['vgg19']))
return model
假如我們有從caffe模型轉(zhuǎn)過來的pytorch模型([0-255,BGR]),我們可以使用:
model_dir = '自己的模型地址' model = VGG() model.load_state_dict(torch.load(model_dir + 'vgg_conv.pth'))
也就是pytorch的讀取函數(shù)進行讀取即可。
以上這篇Pytorch之保存讀取模型實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pycharm無法安裝第三方庫的問題及解決方法以scrapy為例(圖解)
這篇文章主要介紹了pycharm無法安裝第三方庫的解決辦法以scrapy為例,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
Python pandas 重命名索引和列名稱的實現(xiàn)
本文主要介紹了Python pandas 重命名索引和列名稱的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
Python調(diào)用各大機器翻譯API的實現(xiàn)示例
本文主要介紹了Python調(diào)用各大機器翻譯API的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
Python3.6實現(xiàn)帶有簡單界面的有道翻譯小程序
本文通過實例代碼給大家介紹了基于Python3.6實現(xiàn)帶有簡單界面的有道翻譯小程序,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2019-04-04

