国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

香港云服务器
服務器之家 - 腳本之家 - Python - pytorch如何凍結某層參數的實現

pytorch如何凍結某層參數的實現

2020-04-29 09:40Pr4da Python

這篇文章主要介紹了pytorch如何凍結某層參數的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在遷移學習finetune時我們通常需要凍結前幾層的參數不參與訓練,在Pytorch中的實現如下:

?
1
2
3
4
5
6
7
8
9
class Model(nn.Module):
 def __init__(self):
  super(Transfer_model, self).__init__()
  self.linear1 = nn.Linear(20, 50)
  self.linear2 = nn.Linear(50, 20)
  self.linear3 = nn.Linear(20, 2)
 
 def forward(self, x):
 pass

假如我們想要凍結linear1層,需要做如下操作:

?
1
2
3
4
5
6
model = Model()
# 這里是一般情況,共享層往往不止一層,所以做一個for循環
for para in model.linear1.parameters():
 para.requires_grad = False
# 假如真的只有一層也可以這樣操作:
# model.linear1.weight.requires_grad = False

 最后我們需要將需要優化的參數傳入優化器,不需要傳入的參數過濾掉,所以要用到filter()函數。

?
1
optimizer = optim.Adam(filter(lambda p: p.requires_grad, model.parameters()), lr=0.1)

其它的博客中都沒有講解filter()函數的作用,在這里我簡單講一下有助于更好的理解。

filter(function, iterable)

  • function: 判斷函數
  • iterable: 可迭代對象

filter() 函數用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,如果要轉換為列表,可以使用 list() 來轉換。

該接收兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。

filter()函數將requires_grad = True的參數傳入優化器進行反向傳播,requires_grad = False的則被過濾掉。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_40210586/article/details/103878155

延伸 · 閱讀

精彩推薦
873
主站蜘蛛池模板: 国产精品福利一区二区三区 | 日本免费一区二区在线 | 久久精品国产视频 | 国产精品三级久久久久久电影 | 美日韩av| 久青草视频 | 3d动漫精品一区二区三区 | 干中文字幕 | 欧美日韩亚洲国产 | 1000部精品久久久久久久久 | www.99re| 国产精品日韩三级 | 一区二区三区日韩 | 久视频在线观看 | 成人1区2区 | 亚洲精品区| 最近2019年好看中文字幕视频 | 国产一区二区日韩 | 中文字幕第七页 | 久久永久视频 | 欧美亚洲国产一区二区三区 | 久久久久久久久久久精 | 成人自拍视频 | 国产精品永久 | 日韩大片在线观看 | 超碰人人爱 | 人一级毛片 | 黑人av| 色综合天天天天做夜夜夜夜做 | 久久亚洲国产精品 | 欧美顶级毛片在线播放 | 国产日产精品一区二区三区四区 | 精品久久国产老人久久综合 | 中文字幕一区二区三区日韩精品 | 久久精品网 | 亚洲综合自拍 | 狠狠色噜噜狠狠狠8888米奇 | 狠狠爱亚洲 | 国产精品精品视频一区二区三区 | 久久国产一区 | 精品国产不卡一区二区三区 |