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
Instructions de l’exercice
- Utilisez une instruction
ifpour 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.____ = ____