Frys lager i en modell
Du ska nu finjustera en modell på en ny uppgift efter att ha läst in förtränade vikter. Modellen består av tre linjära lager. Eftersom din datamängd är liten vill du dock bara träna det sista linjära lagret och frysa de två första.
Modellen har redan skapats och finns tillgänglig i variabeln model. Du använder modellens metod named_parameters för att lista modellens parametrar. Varje parameter beskrivs av ett namn – en sträng med följande namnkonvention: x.name, där x är lagrets index.
Kom ihåg att ett linjärt lager har två parametrar: weight och bias.
Den här övningen är en del av kursen
Introduktion till djupinlärning med PyTorch
Övningsinstruktioner
- Använd en
if-sats för att kontrollera om en parameter är en vikt från det första eller andra lagret. - Frys vikterna i modellens två första lager.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
for name, param in model.named_parameters():
# Check for first layer's weight
if name == '____':
# Freeze this weight
param.____ = ____
# Check for second layer's weight
if name == '____':
# Freeze this weight
param.____ = ____