[英]How to train only front part of a neural network?
我正在使用 pytorch 來訓練部分網絡。 例如,我有一個模型結構
hidden1 = Layer1(x)
hidden2 = Layer2(hidden1)
out = Layer3(hidden2)
如果我只想訓練 Layer3,我可以使用
hidden1 = Layer1(x)
hidden2 = Layer2(hidden1).detach()
out = Layer3(hidden2)
但是,這次我只想訓練 Layer1。 我怎樣才能做到這一點? 謝謝。
detach
不會真正“凍結”您的圖層。
如果您不想訓練圖層,則應改用requires_grad=False
。
例如:
hidden2.weight.requires_grad = False
hidden2.bias.requires_grad = False
然后解凍,你用requires_grad=True
做同樣的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.