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
ifpara 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.____ = ____