Como calcular o gradiente não dimensionado de um tensor no PyTorch?

Como Calcular O Gradiente Nao Dimensionado De Um Tensor No Pytorch



As entradas de dados individuais são armazenadas na forma de “ Tensores ”No PyTorch e“ gradientes ”De tensores são calculados usando propagação para trás dentro do loop de treinamento de um modelo de aprendizado profundo. O termo ' sem escala ”Significa que os dados são brutos e não há pré-processamento ou otimização envolvido. O gradiente não escalonado de um Tensor fornece o verdadeiro valor da mudança sobre a função de perda especificada.

Neste blog, discutiremos como calcular o gradiente sem escala de um Tensor no PyTorch.







O que é um gradiente não dimensionado de um tensor no PyTorch?

Tensores são arrays multidimensionais que contêm dados e podem ser executados em GPUs no PyTorch. Os tensores que contêm dados brutos do conjunto de dados sem qualquer pré-processamento, transformação ou otimização são chamados de tensores sem escala. No entanto, um “ Gradiente sem escala ”É diferente de um tensor sem escala e deve-se tomar cuidado para não confundir os dois. Um gradiente não escalonado de um tensor é calculado em relação à função de perda selecionada e não possui nenhuma otimização ou escala adicional.



Como calcular o gradiente não dimensionado de um tensor no PyTorch?

O gradiente não escalonado de um Tensor é o valor real da taxa de mudança dos dados de entrada relativos à função de perda selecionada. Os dados brutos do gradiente são importantes para entender o comportamento do modelo e sua progressão durante o ciclo de treinamento.



Siga as etapas abaixo para aprender como calcular o gradiente não dimensionado de um tensor no PyTorch:





Etapa 1: comece o projeto configurando o IDE

O IDE Google Colaboratory é uma das melhores opções para o desenvolvimento de projetos PyTorch porque fornece acesso gratuito a GPUs para processamento mais rápido. Vá para o Colab local na rede Internet e clique no botão “ Novo caderno ”Opção para começar a trabalhar:



Etapa 2: importar a biblioteca Essential Torch

Todas as funcionalidades da estrutura PyTorch estão contidas no “ Tocha ' biblioteca. Cada projeto PyTorch começa instalando e importando esta biblioteca:

!pip instalar tocha

importar tocha

O código acima funciona da seguinte maneira:

  • “! pip ”é um pacote de instalação para Python usado para instalar bibliotecas em projetos.
  • O ' importar ”O comando é usado para chamar as bibliotecas instaladas no projeto.
  • Este projeto só precisa da funcionalidade do “ tocha ' biblioteca:

Etapa 3: definir um tensor PyTorch com gradiente

Use o ' tocha.tensor ()”método para definir um tensor com gradiente “ requer_grad = Verdadeiro ”método:

A = tocha.tensor([5.0], requer_grad=True)

Etapa 4: definir uma função de perda simples

Uma função de perda é definida usando uma equação aritmética simples, conforme mostrado:

função_perda = A*5

Etapa 5: Calcule o gradiente e imprima na saída

Use o ' para trás ()”método para calcular o gradiente não dimensionado conforme mostrado:

função_perda.backward()

sem escala_grad = A.grad

print('Gradiente não dimensionado do tensor PyTorch: ', unscaled_grad)

O código acima funciona da seguinte maneira:

  • Use o ' para trás ()”método para calcular o gradiente não escalonado por meio de propagação para trás.
  • Atribuir o “ A.grad ' para o ' não escalado_grad ' variável.
  • Por último, use o “ imprimir ()”método para mostrar a saída do gradiente não dimensionado:

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

Dica profissional

O gradiente não escalado de tensores pode mostrar a relação exata dos dados de entrada com a função de perda para uma rede neural dentro da estrutura PyTorch. O gradiente bruto e não editado mostra como ambos os valores estão relacionados sistematicamente.

Sucesso! Acabamos de mostrar como calcular o gradiente sem escala de um tensor no PyTorch.

Conclusão

Calcule o gradiente não escalado de um tensor no PyTorch definindo primeiro o tensor e, em seguida, usando o método backward() para encontrar o gradiente. Isso mostra como o modelo de aprendizagem profunda relaciona os dados de entrada com a função de perda definida. Neste blog, fornecemos um tutorial passo a passo sobre como calcular o gradiente não dimensionado de um tensor no PyTorch.