Como obter os pesos de uma camada de modelo no PyTorch?

Como Obter Os Pesos De Uma Camada De Modelo No Pytorch



Os modelos de rede neural criados na estrutura PyTorch são baseados nos parâmetros que podem ser aprendidos das camadas do modelo. Esses ' pesos ”São fundamentais na definição do processamento da entrada de dados para produzir resultados na saída. Cada iteração do modelo atualiza os pesos existentes para melhorar a qualidade do resultado e fornecer melhores inferências.

Neste blog, o foco será como obter os pesos de uma camada de modelo no PyTorch.

Quais são os pesos de uma camada de modelo no PyTorch?

Pesos ' e ' Vieses ”São recursos essenciais dos modelos de Rede Neural. Ambos são parâmetros que podem ser aprendidos e atualizados regularmente durante o ciclo de treinamento a cada passagem para frente do modelo. Esta atualização regular se deve a um otimizador integrado como o otimizador Adam. O objetivo dos modelos de redes neurais é fazer previsões precisas com base nos dados de entrada e os pesos e vieses são usados ​​para ajustar esses resultados para minimizar as perdas.







Como obter os pesos de uma camada de modelo no PyTorch?

O ' pesos ”de uma camada são armazenados no dicionário Python e usam a sintaxe“ estado_dict() ”. O dicionário é usado para chamar os pesos usando as etapas abaixo:



Etapa 1: abra o IDE Colab

Este tutorial começará com a escolha do IDE para o projeto. Vá para o Colaborador local na rede Internet e comece um “ Novo caderno ”para começar a trabalhar:







Etapa 2: instalar e importar bibliotecas

Depois de configurar o notebook Colab, “ instalar ' e ' importar ”as bibliotecas que cobrem todas as funcionalidades necessárias no projeto:

! pip instalar tocha

importar tocha

importar visão da tocha. modelos

O código acima funciona da seguinte maneira:



  • O ' pip ”Instalador de pacote de python é usado para instalar o essencial“ tocha ' biblioteca.
  • A seguir, o “ importar ”O comando é usado para importá-lo para o projeto.
  • Por último, o “ torchvision.modelos ”O pacote também é importado para a funcionalidade adicional de modelos de aprendizagem profunda:

Etapa 3: importar modelo ResNet

Neste tutorial, o “ ResNet50 ”O modelo de rede neural com 50 camadas contidas na biblioteca torchvision é usado para demonstração. Importe o modelo pré-treinado conforme mostrado:

modelo_amostra = visão da tocha. modelos . sério50 ( pré-treinado = Verdadeiro )

Etapa 4: definir a camada do modelo

Defina o nome da camada do modelo e use o “ estado_dict() ”Método para obter seus pesos conforme mostrado:

nome_camada_amostra = 'camada2.0.conv1'

sample_layer_weights = modelo_amostra. estado_dict ( ) [ nome_camada_amostra + '.peso' ]

imprimir ( 'Pesos da camada: \n ' , sample_layer_weights. forma )

O código acima funciona da seguinte maneira:

  • A segunda camada complicada do modelo ResNet50 é atribuída ao “ nome_camada_amostra ' variável.
  • Então o ' estado_dict() ”O método é usado com o“ modelo_amostra ”variável e eles são atribuídos ao“ sample_layer_weights ' variável.
  • O ' nome_camada_amostra ' e a ' .peso ”são adicionados como argumentos do“ estado_dict() ”Método para obter pesos.
  • Por último, use o “ imprimir() ”Método para mostrar os pesos da camada como saída:

A saída abaixo mostra que obtivemos os pesos da camada do modelo no Pytorch:

Observação : Você pode acessar nosso Colab Notebook neste link .

Dica profissional

Os pesos de uma camada de modelo no PyTorch mostram o progresso do ciclo de treinamento. Esses pesos são usados ​​para verificar o crescimento do modelo à medida que ele processa os dados de entrada nos resultados e previsões de saída. A obtenção dos pesos de uma camada é importante para avaliar a qualidade dos resultados e verificar se alguma melhoria deve ser feita ou não.

Sucesso! Demonstramos como obter os pesos de uma camada de um modelo PyTorch.

Conclusão

Obtenha os pesos de uma camada de modelo no PyTorch usando o “estado_dict() ” após importar um modelo do torchvision ou usar um modelo personalizado. Os pesos de uma camada de modelo são os parâmetros que podem ser aprendidos que são constantemente atualizados durante o treinamento e catalogam seu progresso. Neste artigo, mostramos como importar o modelo ResNet50 do torchvision e obter os pesos de sua segunda camada complicada.