午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Pytorch模型中的parameter與buffer用法

Pytorch模型中的parameter與buffer用法

熱門標簽:小蘇云呼電話機器人 地圖標注面積 朝陽手機外呼系統 佛山400電話辦理 儋州電話機器人 所得系統電梯怎樣主板設置外呼 市場上的電銷機器人 北瀚ai電銷機器人官網手機版 北京電銷外呼系統加盟

Parameter 和 buffer

If you have parameters in your model, which should be saved and restored in the state_dict, but not trained by the optimizer, you should register them as buffers.Buffers won't be returned in model.parameters(), so that the optimizer won't have a change to update them.

模型中需要保存下來的參數包括兩種

一種是反向傳播需要被optimizer更新的,稱之為 parameter

一種是反向傳播不需要被optimizer更新,稱之為 buffer

第一種參數我們可以通過 model.parameters() 返回;第二種參數我們可以通過 model.buffers() 返回。因為我們的模型保存的是 state_dict 返回的 OrderDict,所以這兩種參數不僅要滿足是否需要被更新的要求,還需要被保存到OrderDict。

那么現在的問題是這兩種參數如何創建呢,創建好了如何保存到OrderDict呢?

第一種參數有兩種方式

我們可以直接將模型的成員變量(http://self.xxx) 通過nn.Parameter() 創建,會自動注冊到parameters中,可以通過model.parameters() 返回,并且這樣創建的參數會自動保存到OrderDict中去;

通過nn.Parameter() 創建普通Parameter對象,不作為模型的成員變量,然后將Parameter對象通過register_parameter()進行注冊,可以通model.parameters() 返回,注冊后的參數也會自動保存到OrderDict中去;

第二種參數我們需要創建tensor

然后將tensor通過register_buffer()進行注冊,可以通model.buffers() 返回,注冊完后參數也會自動保存到OrderDict中去。

Pytorch中Module,Parameter和Buffer區別

下文都將torch.nn簡寫成nn

Module: 就是我們常用的torch.nn.Module類,你定義的所有網絡結構都必須繼承這個類。

Buffer: buffer和parameter相對,就是指那些不需要參與反向傳播的參數

示例如下:

class MyModel(nn.Module):
 def __init__(self):
  super(MyModel, self).__init__()
  self.my_tensor = torch.randn(1) # 參數直接作為模型類成員變量
  self.register_buffer('my_buffer', torch.randn(1)) # 參數注冊為 buffer
  self.my_param = nn.Parameter(torch.randn(1))
 def forward(self, x):
  return x 

model = MyModel()
print(model.state_dict())
>>>OrderedDict([('my_param', tensor([1.2357])), ('my_buffer', tensor([-0.9982]))])
Parameter: 是nn.parameter.Paramter,也就是組成Module的參數。例如一個nn.Linear通常由weight和bias參數組成。它的特點是默認requires_grad=True,也就是說訓練過程中需要反向傳播的,就需要使用這個
import torch.nn as nn
fc = nn.Linear(2,2)

# 讀取參數的方式一
fc._parameters
>>> OrderedDict([('weight', Parameter containing:
              tensor([[0.4142, 0.0424],
                      [0.3940, 0.0796]], requires_grad=True)),
             ('bias', Parameter containing:
              tensor([-0.2885,  0.5825], requires_grad=True))])
     
# 讀取參數的方式二(推薦這種)
for n, p in fc.named_parameters():
 print(n,p)
>>>weight Parameter containing:
tensor([[0.4142, 0.0424],
        [0.3940, 0.0796]], requires_grad=True)
bias Parameter containing:
tensor([-0.2885,  0.5825], requires_grad=True)

# 讀取參數的方式三
for p in fc.parameters():
 print(p)
>>>Parameter containing:
tensor([[0.4142, 0.0424],
        [0.3940, 0.0796]], requires_grad=True)
Parameter containing:
tensor([-0.2885,  0.5825], requires_grad=True)

通過上面的例子可以看到,nn.parameter.Paramter的requires_grad屬性值默認為True。另外上面例子給出了三種讀取parameter的方法,推薦使用后面兩種,因為是以迭代生成器的方式來讀取,第一種方式是一股腦的把參數全丟給你,要是模型很大,估計你的電腦會吃不消。

另外需要介紹的是_parameters是nn.Module在__init__()函數中就定義了的一個OrderDict類,這個可以通過看下面給出的部分源碼看到,可以看到還初始化了很多其他東西,其實原理都大同小異,你理解了這個之后,其他的也是同樣的道理。

class Module(object):
 ...
    def __init__(self):
        self._backend = thnn_backend
        self._parameters = OrderedDict()
        self._buffers = OrderedDict()
        self._backward_hooks = OrderedDict()
        self._forward_hooks = OrderedDict()
        self._forward_pre_hooks = OrderedDict()
        self._state_dict_hooks = OrderedDict()
        self._load_state_dict_pre_hooks = OrderedDict()
        self._modules = OrderedDict()
        self.training = True

每當我們給一個成員變量定義一個nn.parameter.Paramter的時候,都會自動注冊到_parameters,具體的步驟如下:

import torch.nn as nn
class MyModel(nn.Module):
 def __init__(self):
  super(MyModel, self).__init__()
  # 下面兩種定義方式均可
  self.p1 = nn.paramter.Paramter(torch.tensor(1.0))
  print(self._parameters)
  self.p2 = nn.Paramter(torch.tensor(2.0))
  print(self._parameters)

首先運行super(MyModel, self).__init__(),這樣MyModel就初始化了_paramters等一系列的OrderDict,此時所有變量還都是空的。

self.p1 = nn.paramter.Paramter(torch.tensor(1.0)): 這行代碼會觸發nn.Module預定義好的__setattr__函數,該函數部分源碼如下:

def __setattr__(self, name, value):
 ...
 params = self.__dict__.get('_parameters')
 if isinstance(value, Parameter):
  if params is None:
   raise AttributeError(
    "cannot assign parameters before Module.__init__() call")
  remove_from(self.__dict__, self._buffers, self._modules)
  self.register_parameter(name, value)
 ...

__setattr__函數作用簡單理解就是判斷你定義的參數是否正確,如果正確就繼續調用register_parameter函數進行注冊,這個函數簡單概括就是做了下面這件事

def register_parameter(self,name,param):
 ...
 self._parameters[name]=param

下面我們實例化這個模型看結果怎樣

model = MyModel()
>>>OrderedDict([('p1', Parameter containing:
tensor(1., requires_grad=True))])
OrderedDict([('p1', Parameter containing:
tensor(1., requires_grad=True)), ('p2', Parameter containing:
tensor(2., requires_grad=True))])

結果和上面分析的一致。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PyTorch里面的torch.nn.Parameter()詳解
  • Pytorch之parameters的使用
  • pytorch 計算Parameter和FLOP的操作

標簽:金融催收 定西 寧夏 酒泉 龍巖 商丘 江蘇 云南

巨人網絡通訊聲明:本文標題《Pytorch模型中的parameter與buffer用法》,本文關鍵詞  Pytorch,模型,中的,parameter,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch模型中的parameter與buffer用法》相關的同類信息!
  • 本頁收集關于Pytorch模型中的parameter與buffer用法的相關信息資訊供網民參考!
  • 推薦文章
    亚洲日本一区二区三区| 亚洲aa在线观看| 免费看日b视频| 日韩欧美123区| 国产精品成人99一区无码 | 91久久国产综合久久蜜月精品| 欧美激情一区二区在线| 在线视频播放大全| 色哟哟免费视频| 久久www免费人成精品| 久久国产精品免费视频 | 午夜精品久久久久久久蜜桃app | 无码无套少妇毛多18pxxxx| 久久天天东北熟女毛茸茸| 国内揄拍国内精品少妇国语| 午夜av电影一区| 成人一级视频在线观看| 日本道中文字幕| 欧美激情xxxxx| 国产精品亚洲综合一区在线观看| 国产精品19乱码一区二区三区| 欧美三级电影在线看| 日韩av在线高清| 成年女人18级毛片毛片免费| 丰满熟妇人妻中文字幕| 亚洲美女视频网| 欧美精品久久久久| 一区二区三区在线视频观看| 色一情一乱一区二区三区| 国产精品高清无码在线观看| 成人中文字幕av| 日韩av电影免费在线| 欧美国产亚洲精品久久久8v| 欧美mv日韩mv亚洲| 夜夜嗨av一区二区三区网页 | 国产精品久久婷婷六月丁香| 日韩丝袜情趣美女图片| 最新热久久免费视频| 深爱激情五月婷婷| 亚洲一区精品视频| 精品免费日韩av| 国产99久久久国产精品潘金网站| 久久久久久久久久久网| 精品国产成人av在线免| 亚洲人成精品久久久久| 欧美不卡在线视频| 日韩在线观看高清| 视色,视色影院,视色影库,视色网| 性欧美一区二区| 4438x全国最大成人| 每日在线观看av| 日韩电影大全在线观看| 亚洲最大福利视频网站| 国内精品免费午夜毛片| 色小说视频一区| 精品亚洲va在线va天堂资源站| 日韩三级在线免费观看| 欧美精品一二三区| 欧美日韩综合一区| 亚洲成av人乱码色午夜| 欧美一区2区视频在线观看| 欧美日韩成人一区| 日韩免费看网站| 久久亚洲精品成人| 91久久精品美女| 另类视频在线观看| 亚洲美女视频网| 一区二区三区欧美激情| 久久中文在线| 国产精品久久久久久亚洲毛片 | 国产 日韩 欧美 综合| 亚洲成a人在线观看| 亚洲精品二三区| 色香阁99久久精品久久久| 国产成人黄色av| 日本久久久久久| 日本精品一区二区三区不卡无字幕| 91日韩久久| 日日夜夜精品网站| 超碰影院在线观看| 精品无码在线视频| 国产稀缺精品盗摄盗拍| 日韩免费黄色片| 人妻精品无码一区二区| av在线这里只有精品| 亚洲国产美女搞黄色| 日韩一级大片在线观看| 中文字幕免费精品一区| 91网在线免费观看| 深田咏美在线x99av| 一级做a爱视频| 真实国产乱子伦对白视频| 91入口在线观看| 国产精品久久久久久久久久99 | 性欧美精品中出| 亚洲一区久久久| 2018日日夜夜| 精品一区二区三区在线视频| 久久天天躁狠狠躁夜夜爽蜜月 | 91丝袜美腿高跟国产极品老师 | 国产又色又爽又黄的| 欧美日韩另类一区| 男女猛烈激情xx00免费视频| 美女一区二区久久| 97在线视频免费| 杨钰莹一级淫片aaaaaa播放| 在线观看精品一区| 免费看国产曰批40分钟| 国产精品一区一区| 成人黄色片网站| 久久久精品毛片| 日韩经典第一页| 精品少妇人妻av一区二区三区| 国产精品久久二区二区| 久久国产精品-国产精品| av网站在线观看免费| 久久精品国产清自在天天线| 91精品国自产在线| 欧美人狂配大交3d怪物一区| 999精彩视频| 国产精品色在线观看| 日韩影片在线播放| 蜜桃av综合| 欧美一级bbbbb性bbbb喷潮片| 青娱乐91视频| 日韩精品中文字幕久久臀| 国产伦理在线观看| 午夜精品久久一牛影视| youjizz.com在线观看| 国产91丝袜在线18| 国产欧美日韩视频一区二区三区| 99草在线视频| 97在线看福利| 91 中文字幕| 久久久亚洲精选| 美日韩一二三区| 北条麻妃久久精品| 国产午夜免费视频| 亚洲色图第一页| 91狠狠综合久久久| 亚洲欧洲美洲在线综合| 婷婷社区五月天| 亚洲毛片在线观看| 欧美卡一卡二卡三| 中文日韩在线视频| 久久精品女人毛片国产| 日韩在线视频免费观看高清中文| 青娱乐国产盛宴| 欲色天天网综合久久| 国产又粗又长又黄的视频| 亚洲精品理论电影| 亚洲综合网在线| 亚洲视频在线观看网站| 国产成人免费在线观看视频| 91麻豆精品国产91久久久久 | 精品日本美女福利在线观看| 自拍偷拍21p| 色婷婷精品久久二区二区蜜臀av | 国产91色在线|| 五月天婷婷亚洲| 色综合久久天天综合网| www.黄色网| 精品国精品国产尤物美女| 久久久精品少妇| xvideos亚洲人网站| 波多野结衣高清视频| 欧美一级淫片videoshd| 亚洲欧洲成人在线| 欧美激情专区| 中国av一区二区三区| 日av中文字幕| 欧美色图一区二区三区| 欧美三级视频网站| 中文字幕成人精品久久不卡| 欧美人一级淫片a免费播放| 国产精品69av| 精品亚洲国产成人av制服丝袜| 日韩精品电影网站| 亚洲视频一区二区在线观看| 日韩欧美中文视频| 亚洲黄页网在线观看| 手机看片久久久| 91影院在线免费观看视频| 成人av电影在线观看| 国产深夜男女无套内射| 欧美美女一区二区| 亚洲免费激情视频| 91精品视频播放| 久久婷婷国产综合精品青草| 一本久道综合色婷婷五月| 欧美日韩亚洲国产综合| 国产精品自拍视频一区| 国产精品一区二区三区久久| 丁香婷婷综合色啪| 五月婷婷狠狠操| 亚洲高清一二三区| av网站在线观看免费| 欧美国产一区二区在线| 亚洲在线视频网站| 日本一卡二卡在线播放| 欧美激情18p| 国产精品系列在线观看| 欧美一级黄色影院| 日韩av中文在线| 不卡av中文字幕| 欧美性受xxxx黑人猛交88| 91国模大尺度私拍在线视频| 国产精品7777| 国产精品国产精品| 亚洲猫色日本管| 精品视频色一区| 五月婷婷开心网| 国产成人一区二区三区免费看| 国产精品久久久久一区| 日韩av片在线| 国产精品综合久久久| 国产精品全国免费观看高清| 成年人免费观看视频网站| 欧美一区亚洲一区| 久久久噜噜噜久噜久久综合| 艳妇乳肉亭妇荡乳av| 欧美一区二粉嫩精品国产一线天| av电影天堂一区二区在线| 绯色av蜜臀vs少妇| 91av免费观看91av精品在线| 91女人视频在线观看| 亚洲永久精品ww.7491进入| 欧美有码在线观看| 亚洲国产精品精华液ab| 亚洲区一区二区三| 99国产视频在线| 色综合久久久久网| 一级特黄特色的免费大片视频| 国产成年人在线观看| 日韩成人黄色av| 久久99国产精品久久99| 久久aaaa片一区二区| 97在线视频免费观看| 中文字幕中文字幕一区| 五月天婷婷网站| 视频一区二区三区在线观看| 欧美一级生活片| 欧美bbbbb| 99免费观看视频| 国产精品午夜一区二区欲梦| 亚洲www啪成人一区二区麻豆| 亚洲欧美一区二区三区在线观看| 亚洲欧美日韩另类精品一区二区三区| 日韩一区二区三区av| 奇米777欧美一区二区| yjizz视频| 99re在线国产| 欧美日韩一区二区三区在线看| av在线资源观看| 五月婷婷六月丁香激情| 青青精品视频播放| 黑人巨大精品欧美一区二区三区 | 99精品人妻国产毛片| www.男人天堂网| www.日韩av.com| 国产精品美女久久久久久| 国产午夜免费视频| 99在线免费视频观看| 动漫精品一区一码二码三码四码| 国产精品一区二区三区四区五区 | 日韩av影视大全| 国产精品亚洲激情| 欧美日韩成人一区二区| 久久精品国产一区二区| 成人黄色免费网址| 亚洲图片欧洲图片日韩av| 亚洲欧美国产另类| 国产清纯美女被跳蛋高潮一区二区久久w| 国产成人av免费在线观看| 在线观看成人免费| 欧美日本高清一区| 欧美日韩亚洲天堂| 免费黄网站欧美| 91麻豆免费视频网站| 999久久欧美人妻一区二区| 国内精品伊人久久| 欧美午夜激情在线| 极品少妇一区二区三区精品视频 | 欧美区视频在线观看| 九九久久精品视频| 国产大片aaa| 美女喷白浆视频| 成人欧美一区二区三区在线观看| 欧美成人女星排名| 国产视频一区二区三区在线观看| 国产成人自拍偷拍| 69xxx免费视频| 亚洲一区高清| 欧美怡红院视频一区二区三区 | 日韩不卡一二三| 99在线免费观看视频| 在线播放国产一区中文字幕剧情欧美| 国产精品视频在线看| 黄频网站在线观看| 久久久久亚洲av无码专区体验| 国产xxxxx在线观看| 国产超碰91| 欧美超级乱淫片喷水| 一本大道久久a久久精二百| 国产精品小仙女| 91丨porny丨在线中文| 亚洲视频 中文字幕| 玖玖精品在线视频| 91精品国产综合久久久久久蜜臀 | 欧美日韩免费观看一区三区| 国产·精品毛片| 国产精品久久久久久久一区二区| 免费污网站在线观看| r级无码视频在线观看| 国产主播欧美精品| 久热精品视频在线免费观看| 欧美性色aⅴ视频一区日韩精品| 91影院在线观看| 污污视频在线免费看| 精品一区国产| 精品久久久久人成| av福利精品导航| 婷婷五月综合久久中文字幕| 久久精品国产亚洲av麻豆色欲| 欧洲美女亚洲激情| 免费人成自慰网站| 久久久综合香蕉尹人综合网| 国语自产偷拍精品视频偷| 精品国产精品一区二区夜夜嗨| 亚洲在线中文字幕| 久久久99精品免费观看| 九色综合国产一区二区三区| 成人福利小视频| 丰满人妻老熟妇伦人精品| 18啪啪污污免费网站| 日本人dh亚洲人ⅹxx| 日本香蕉视频在线观看| 久久66热这里只有精品| 国产日本欧美在线观看 | 在线成人av网站| 亚洲h在线观看| 国产精品久久久久9999吃药| 成人免费黄色大片| 日韩电影在线一区| 国产女18毛片多18精品| 国产91精品一区| 亚洲一二三在线观看| 亚洲精品国产成人av在线| 999在线免费视频| 东北少妇不带套对白| 日日噜噜噜夜夜爽爽| 精品日韩欧美| 国产91色在线|亚洲| 成人午夜高潮视频| 人妖精品videosex性欧美| 久久99亚洲精品| 久久久国产精品一区| 一个人www欧美| 日韩经典一区二区三区| 日韩精品视频在线| 亚洲国产欧美一区| 精品日韩欧美在线| 日韩欧美国产小视频| 欧美一级理论片| 91麻豆精品国产91久久久更新时间| 懂色av一区二区三区| 亚洲一卡二卡三卡四卡| 一区二区久久久久久| 一区二区三区在线免费| 亚洲综合图片区| 黄色成人av网| 日本韩国视频一区二区| 一本大道久久a久久精二百| 欧美性猛交xxxxx水多| 色哦色哦哦色天天综合| 在线观看免费亚洲| 欧美久久一二三四区| 日韩一区二区免费高清| 91精品国产综合久久精品图片 | 色素色在线综合| 欧洲精品一区二区三区在线观看| 欧美中文字幕一区| 欧美区在线观看| 亚洲精品一线二线三线无人区| 精品女同一区二区| 亚洲男人天堂2023| 中文精品99久久国产香蕉| 日韩精品一区三区| 国产情侣免费视频| 88av在线视频| 日韩中文字幕免费观看| 久久国产精品免费| 丁香婷婷深情五月亚洲| 中文字幕国产一区| 性做久久久久久免费观看欧美| 在线观看视频欧美| 欧美黑人极品猛少妇色xxxxx| 黄色网络在线观看| 日韩中文字幕免费在线观看| 中文字幕av日韩| 亚洲图片欧美日韩| 成人欧美一区二区三区视频| 婷婷成人激情在线网| 在线免费播放av| 日本不卡高字幕在线2019| 2022国产精品视频| 男女视频一区二区三区| 一本色道久久综合亚洲91| 国产又爽又黄无码无遮挡在线观看| 一本大道久久a久久精品综合|