Congelamento de camadas de um modelo
Você está prestes a fazer o ajuste fino de um modelo com uma nova tarefa depois de carregar pesos pré-treinados. O modelo contém três camadas lineares. Entretanto, como o conjunto de dados é pequeno, você deseja treinar apenas a última camada linear desse modelo e congelar as duas primeiras camadas lineares.
O modelo já foi criado e está disponível na variável model
. Você deve usar o método named_parameters
do modelo para listar os parâmetros do modelo. Cada parâmetro é descrito por um nome. Esse nome é uma string com a seguinte convenção de nomenclatura: x.name
, em que x
é o índice da camada.
Lembre-se de que uma camada linear tem dois parâmetros: weight
e bias
.
Este exercício faz parte do curso
Introdução ao Aprendizado Profundo com o PyTorch
Instruções do exercício
- Use uma instrução
if
para verificar se um parâmetro é um peso da primeira ou da segunda camada. - Congele os pesos das duas primeiras camadas desse modelo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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.____ = ____