最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyTorch模型的保存與加載方法實例

 更新時間:2022年09月23日 09:53:59   作者:長命百歲?  
Pytorch保存模型其實非常簡單,下面這篇文章主要給大家介紹了關于PyTorch模型的保存與加載的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

模型的保存與加載

首先,需要導入兩個包

import torch
import torchvision.models as models

保存和加載模型參數

PyTorch模型將學習到的參數存儲在一個內部狀態(tài)字典中,叫做state_dict。這可以通過torch.save方法來實現(xiàn)。
我們導入預訓練好的VGG16模型,并將其保存。我們將state_dict字典保存在model_weights.pth文件中。

model = models.vgg16(pretrained=True)
torch.save(model.state_dict(), 'model_weights.pth')

想要加載模型參數,我們需要創(chuàng)建一個和原模型一樣的實例,然后通過load_state_dict()方法來加載模型參數

  • 創(chuàng)建一個VGG16模型實例(未經過預訓練的)
  • 加載本地參數
model = models.vgg16() # we do not specify pretrained=True, i.e. do not load default weights
model.load_state_dict(torch.load('model_weights.pth'))
model.eval()

注意:在進行測試前,如果模型中有dropout層和batch normalization層的話,一定要使用model.eval()將模型轉到測試模式。

  • train模式下,dropout網絡層會按照設定的參數p設置保留激活單元的概率(保留概率=p); batchnorm層會繼續(xù)計算數據的meanvar等參數并更新。
  • val模式下,dropout層會讓所有的激活單元都通過,而batchnorm層會停止計算和更新meanvar,直接使用在訓練階段已經學出的meanvar

當然,相同的,在模型進行訓練之前,要使用model.train()來將模型轉為訓練模式

保存和加載模型參數與結構

當加載模型權重時,我們需要首先實例化模型類,因為類定義了網絡的結構。我們可能希望將這個類的結構與模型保存在一起。這樣的話,我們可以將model而不是model.state_dict()作為參數。

torch.save(model, 'model.pth')

這樣,我們加載模型的時候就不用再新建一個實例了。加載方式如下所示

model = torch.load('model.pth')

這種方式在網絡比較大的時候可能比較慢,因為相較于上面的方式多存儲了網絡的結構

總結

到此這篇關于PyTorch模型的保存與加載方法的文章就介紹到這了,更多相關PyTorch模型保存加載內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 實例講解Python 迭代器與生成器

    實例講解Python 迭代器與生成器

    這篇文章主要介紹了Python 迭代器與生成器的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Python中GPU計算的庫pycuda的使用

    Python中GPU計算的庫pycuda的使用

    本文主要介紹了Python中GPU計算的庫pycuda的使用,詳細介紹了PyCUDA 庫的特性、用法,并通過豐富的示例代碼展示其在實際項目中的應用,感興趣的可以了解一下
    2024-05-05
  • 對DataFrame數據中的重復行,利用groupby累加合并的方法詳解

    對DataFrame數據中的重復行,利用groupby累加合并的方法詳解

    今天小編就為大家分享一篇對DataFrame數據中的重復行,利用groupby累加合并的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 解析ROC曲線繪制(python+sklearn+多分類)

    解析ROC曲線繪制(python+sklearn+多分類)

    這篇文章主要介紹了解析ROC曲線繪制(python+sklearn+多分類),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python隨機生成一個6位的驗證碼代碼分享

    Python隨機生成一個6位的驗證碼代碼分享

    這篇文章主要介紹了Python隨機生成一個6位的驗證碼代碼分享,本文直接給出代碼實例,需要的朋友可以參考下
    2015-03-03
  • 使用Matplotlib繪制平行坐標系的示例詳解

    使用Matplotlib繪制平行坐標系的示例詳解

    平行坐標系,是一種含有多個垂直平行坐標軸的統(tǒng)計圖表,這篇文章主要為大家介紹了如何使用繪制平行坐標系,需要的小伙伴可以參考一下
    2023-07-07
  • Python中enumerate()函數詳細分析(附多個Demo)

    Python中enumerate()函數詳細分析(附多個Demo)

    Python的enumerate()函數是一個內置函數,主要用于在遍歷循環(huán)中獲取每個元素的索引以及對應的值,這篇文章主要介紹了Python中enumerate()函數的相關資料,需要的朋友可以參考下
    2024-10-10
  • python設置中文界面實例方法

    python設置中文界面實例方法

    在本篇文章里小編給大家整理的是關于python設置中文界面實例方法,有興趣的朋友們可以學習參考下。
    2020-10-10
  • Python功能鍵的讀取方法

    Python功能鍵的讀取方法

    這篇文章主要介紹了Python功能鍵的讀取方法,涉及Python鍵盤事件的相關操作技巧,需要的朋友可以參考下
    2015-05-05
  • Python中卷積神經網絡(CNN)入門教程分分享

    Python中卷積神經網絡(CNN)入門教程分分享

    卷積神經網絡(Convolutional Neural Networks, CNN)是一類特別適用于處理圖像數據的深度學習模型,本文介紹了如何使用Keras創(chuàng)建一個簡單的CNN模型,并用它對手寫數字進行分類,需要的可以參考一下
    2023-05-05

最新評論

华坪县| 东乌珠穆沁旗| 宁海县| 曲水县| 陵川县| 将乐县| 云安县| 铁岭县| 太原市| 永和县| 清水河县| 阿合奇县| 高雄县| 卢龙县| 乐都县| 白河县| 浪卡子县| 镇康县| 繁昌县| 凌源市| 金沙县| 昌乐县| 长丰县| 健康| 泾源县| 万盛区| 五大连池市| 清苑县| 赤壁市| 大石桥市| 长宁县| 扬中市| 神木县| 北海市| 武宁县| 广平县| 四子王旗| 神农架林区| 龙口市| 和田市| 贡山|