CommencerCommencer gratuitement

Geler des couches d’un modèle

Vous êtes sur le point d’affiner 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 ensemble de données est petit, vous ne voulez entraîner que la dernière couche linéaire de ce modèle et vous souhaitez donc geler les deux premières couches linéaires.

Le modèle a déjà été créé et existe sous la variable model. Vous utiliserez la méthode named_parameters du modèle pour dresser la liste des paramètres du modèle. Chaque paramètre est décrit par un nom. Ce nom est une chaîne de caractères avec la convention de nommage suivante : x.namex est l’indice de la couche.

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

Cet exercice fait partie du cours

Introduction au deep learning avec PyTorch

Afficher le cours

Instructions

  • 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 cet exemple de code.

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