ComeçarComece gratuitamente

Congelar camadas de um modelo

Você está prestes a fazer o ajuste fino de um modelo em 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 existe na variável model. Você 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 cadeia de caracteres 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: o weight e o bias.

Este exercício faz parte do curso

Introdução à aprendizagem profunda com PyTorch

Ver Curso

Instruções de exercício

  • Use uma instrução if para determinar se o parâmetro deve ser congelado ou não com base em seu nome.
  • Congele os parâmetros das duas primeiras camadas desse modelo.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

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
        ____.____ = ____
Editar e executar código