Congelar capas de un modelo
Vas a ajustar un modelo en una nueva tarea después de cargar pesos preentrenados. El modelo contiene tres capas lineales. Sin embargo, como tu conjunto de datos es pequeño, solo quieres 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ás el método named_parameters
del modelo para mostrar los parámetros del modelo. Cada parámetro se describe con un nombre. Este nombre es una cadena con la siguiente convención para fijar nombres: x.name
, donde x
es el índice de la capa.
Recuerda que una capa lineal tiene dos parámetros: weight
y bias
.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con PyTorch
Instrucciones del ejercicio
- Utiliza una instrucción
if
para comprobar si un parámetro es un peso de la primera o de la segunda capa. - Congela los pesos de las dos primeras capas de este modelo.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
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.____ = ____