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.name
où x
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
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.____ = ____