CommencezCommencez gratuitement

Geler des couches d'un modèle

Vous vous apprêtez à peaufiner un modèle sur une nouvelle tâche après avoir chargé des poids préentraînés. Le modèle contient trois couches linéaires. Toutefois, comme votre jeu de données est petit, vous voulez seulement entraîner la dernière couche linéaire du modèle et geler les deux premières couches linéaires.

Le modèle a déjà été créé et se trouve dans la variable model. Vous utiliserez la méthode named_parameters du modèle pour lister ses paramètres. Chaque paramètre est identifié par un nom. Ce nom est une chaîne qui suit la convention suivante : x.name, où x est l'indice de la couche.

Rappelez-vous qu'une couche linéaire a deux paramètres : weight et bias.

Cette activité fait partie du cours

Introduction au Deep Learning avec PyTorch

Voir le cours

Instructions de l’exercice

  • Utilisez une instruction if pour vérifier si un paramètre est un poids de la première ou de la deuxième couche.
  • Geler les poids des deux premières couches de ce modèle.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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.____ = ____
Modifier et exécuter le code