LoslegenKostenlos loslegen

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

Kurs anzeigen

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.____ = ____
Code bearbeiten und ausführen