Schichten eines Modells einfrieren
Du möchtest ein Modell für eine neue Aufgabe fein abstimmen, 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 ist.
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 zu prüfen, ob ein Parameter ein Gewicht aus der ersten oder zweiten Schicht ist. - Friere die Gewichte der ersten beiden Schichten dieses Modells ein.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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.____ = ____