Înghețarea straturilor unui model
Urmează să ajustezi fin un model pe o sarcină nouă, după ce ai încărcat ponderi preantrenate. Modelul conține trei straturi liniare. Deoarece setul tău de date este mic, vrei să antrenezi doar ultimul strat liniar și să înghețe primele două.
Modelul a fost deja creat și este disponibil în variabila model. Vei folosi metoda named_parameters a modelului pentru a lista parametrii acestuia. Fiecare parametru este descris printr-un nume – un șir de caractere care respectă convenția: x.name, unde x este indexul stratului.
Amintește-ți că un strat liniar are doi parametri: weight (ponderea) și bias (termenul liber).
Acest exercițiu face parte din cursul
Introducere în Deep Learning cu PyTorch
Instrucțiuni pentru exercițiu
- Folosește o instrucțiune
ifpentru a verifica dacă un parametru este o pondere din primul sau al doilea strat. - Îngheață ponderile primelor două straturi ale acestui model.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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.____ = ____