您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關pytorch中加載(.pth)格式的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
有一些非常流行的網絡如 resnet、squeezenet、densenet等在pytorch里面都有,包括網絡結構和訓練好的模型。
pytorch自帶模型網址:https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/
按官網加載預訓練好的模型:
import torchvision.models as models # pretrained=True就可以使用預訓練的模型 resnet18 = models.resnet18(pretrained=True) print(resnet18)
報錯如下:
requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, '由于連接方在一段時間后沒有正確答復或連接的主機沒有反應,連接嘗試失敗。', None, 10060, None))
主要是因為代碼會去遠端下載模型的參數,而國內的網一般連接不上,這是我們需要手動去下載你要的預訓練網絡。
通過地址下載,地址有兩種獲取方式:
1.從報錯里面獲取,上述代碼運行時會出現這樣一行信息:
Downloading: "https://download.pytorch.org/models/resnet18-5c106cde.pth" to C:\Users\Luo/.torch\models\resnet18-5c106cde.pth
復制這個網址到瀏覽器,有可能打不開,去掉https://,直接輸入download.pytorch.org/models/resnet18-5c106cde.pth就可以下載了。
2.從pytorch的github下找模型的地址:https://github.com/pytorch/vision/tree/master/torchvision/models
找到對應模型名稱點進去找地址
下載好后自行保存,我是直接存在pytorch models里面
接下來就是運行這個.pth文件。首先要判斷是保存的整個網絡結構加參數呢,還是只保存了參數,可以測試一下。這是我的模型是squeezenet1_1,你可以測試自己下載的模型
import torch pthfile = r'E:\anaconda\app\envs\luo\Lib\site-packages\torchvision\models\squeezenet1_1.pth' net = torch.load(pthfile) print(net)
結果為
很明顯就是只保存了參數,這是我們要換個方法加載模型
import torch import torchvision.models as models # pretrained=True就可以使用預訓練的模型 net = models.squeezenet1_1(pretrained=False) pthfile = r'E:\anaconda\app\envs\luo\Lib\site-packages\torchvision\models\squeezenet1_1.pth' net.load_state_dict(torch.load(pthfile)) print(net)
結果;
感謝各位的閱讀!關于“pytorch中加載(.pth)格式的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。