Schichten eines Modells einfrieren
Du bist dabei, ein Modell für eine neue Aufgabe fein abzustimmen, nachdem du vortrainierte Gewichte geladen hast. Das Modell enthält drei lineare Schichten. Da dein Datensatz jedoch klein ist, möchtest du nur die letzte lineare Schicht dieses Modells trainieren und die ersten beiden linearen Schichten einfrieren.
Das Modell wurde bereits erstellt und existiert unter der Variable model
. Du wirst die named_parameters
-Methode des Modells verwenden, um die Parameter des Modells aufzulisten. Jeder Parameter wird durch einen Namen beschrieben. Dieser Name ist ein String mit der folgenden Namenskonvention: x.name
, wobei x
der Index der Schicht entspricht.
Denke daran, dass eine lineare Schicht zwei Parameter hat: weight
und bias
.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit PyTorch
Anleitung zur Übung
- Verwende eine
if
-Anweisung, um anhand seines Namens zu bestimmen, ob der Parameter eingefroren werden soll oder nicht. - Friere die Parameter der ersten beiden Schichten dieses Modells ein.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
for name, param in model.named_parameters():
# Check if the parameters belong to the first layer
if name == '____':
# Freeze the parameters
____.____ = ____
# Check if the parameters belong to the second layer
if name == '____':
# Freeze the parameters
____.____ = ____