Congelar capas de un modelo
Está a punto de ajustar un modelo en una nueva tarea después de cargar los pesos preentrenados. El modelo contiene tres capas lineales. Sin embargo, como su conjunto de datos es pequeño, sólo desea entrenar la última capa lineal de este modelo y congelar las dos primeras capas lineales.
El modelo ya se ha creado y existe en la variable model
. Utilizará el método named_parameters
del modelo para listar los parámetros del modelo. Cada parámetro se describe mediante un nombre. Este nombre es una cadena con la siguiente convención de nomenclatura: x.name
donde x
es el índice de la capa.
Recuerde que una capa lineal tiene dos parámetros: el weight
y el bias
.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con PyTorch
Instrucciones de ejercicio
- Utilice una sentencia
if
para determinar si el parámetro debe congelarse o no en función de su nombre. - Congela los parámetros de las dos primeras capas de este modelo.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
for name, param in model.named_parameters():
# Check if the parameters belong to the first layer
if name == '____':
# Freeze the parameters
____.____ = ____
# Check if the parameters belong to the second layer
if name == '____':
# Freeze the parameters
____.____ = ____