Erste SchritteKostenlos loslegen

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

Kurs anzeigen

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
        ____.____ = ____
Bearbeiten und Ausführen von Code