¿Cómo calcular el gradiente sin escala de un tensor en PyTorch?

Como Calcular El Gradiente Sin Escala De Un Tensor En Pytorch



Las entradas de datos individuales se guardan en forma de ' Tensores 'en PyTorch y' gradientes ”de tensores se calculan mediante propagación hacia atrás dentro del ciclo de entrenamiento de un modelo de aprendizaje profundo. El término ' sin escala 'Significa que los datos están sin procesar y no hay preprocesamiento ni optimización involucrados. El gradiente sin escala de un tensor proporciona el verdadero valor de cambio sobre la función de pérdida especificada.

En este blog, discutiremos cómo calcular el gradiente sin escala de un tensor en PyTorch.







¿Qué es un gradiente sin escala de un tensor en PyTorch?

Los tensores son matrices multidimensionales que contienen datos y pueden ejecutarse en GPU en PyTorch. Los tensores que contienen datos sin procesar del conjunto de datos sin ningún procesamiento previo, transformaciones u optimizaciones se denominan tensores sin escala. Sin embargo, un “ Degradado sin escala ”es diferente de un tensor sin escala y se debe tener cuidado de no confundirlos. Se calcula un gradiente sin escala de un tensor con respecto a la función de pérdida seleccionada y no tiene más optimizaciones ni escalas.



¿Cómo calcular el gradiente sin escala de un tensor en PyTorch?

El gradiente sin escala de un tensor es el valor real de la tasa de cambio de los datos de entrada relacionados con la función de pérdida seleccionada. Los datos de gradiente sin procesar son importantes para comprender el comportamiento del modelo y su progresión durante el ciclo de entrenamiento.



Siga los pasos que se indican a continuación para aprender cómo calcular el gradiente sin escala de un tensor en PyTorch:





Paso 1: comience el proyecto configurando el IDE

El IDE de Google Colaboratory es una de las mejores opciones para el desarrollo de proyectos de PyTorch porque proporciona acceso gratuito a GPU para un procesamiento más rápido. Ir a la colab sitio web y haga clic en “ Nuevo cuaderno Opción para empezar a trabajar:



Paso 2: Importe la biblioteca Essential Torch

Toda la funcionalidad del marco PyTorch está contenida en el ' Antorcha ' biblioteca. Cada proyecto de PyTorch comienza instalando e importando esta biblioteca:

!pip instalar antorcha

importar antorcha

El código anterior funciona de la siguiente manera:

  • “! pepita ”es un paquete de instalación de Python que se utiliza para instalar bibliotecas en proyectos.
  • El ' importar El comando 'se utiliza para llamar las bibliotecas instaladas al proyecto.
  • Este proyecto sólo necesita la funcionalidad del “ antorcha ' biblioteca:

Paso 3: definir un tensor de PyTorch con degradado

Utilizar el ' antorcha.tensor ()” método para definir un tensor con un gradiente “ requiere_grad=Verdadero ' método:

A = antorcha.tensor([5.0], requiere_grad=Verdadero)

Paso 4: definir una función de pérdida simple

Una función de pérdida se define utilizando una ecuación aritmética simple como se muestra:

función_pérdida = A*5

Paso 5: Calcule el gradiente e imprima como resultado

Utilizar el ' hacia atrás ()” para calcular el gradiente sin escala como se muestra:

loss_function.hacia atrás ()

unscaled_grad = A.grad

print ('Gradiente sin escala de PyTorch Tensor:', unscaled_grad)

El código anterior funciona de la siguiente manera:

  • Utilizar el ' hacia atrás ()” para calcular el gradiente sin escala mediante propagación hacia atrás.
  • Asigne el ' A.grad ' hacia ' graduado_sin escalar ' variable.
  • Por último, utilice el ' imprimir ()” método para mostrar la salida del gradiente sin escala:

Nota : Puede acceder a nuestro Colab Notebook en este enlace .

Consejo profesional

El gradiente de tensores sin escala puede mostrar la relación exacta de los datos de entrada con la función de pérdida de una red neuronal dentro del marco de PyTorch. El gradiente sin editar muestra cómo ambos valores se relacionan sistemáticamente.

¡Éxito! Acabamos de mostrar cómo calcular el gradiente sin escala de un tensor en PyTorch.

Conclusión

Calcule el gradiente sin escala de un tensor en PyTorch definiendo primero el tensor y luego usando el método back() para encontrar el gradiente. Esto muestra cómo el modelo de aprendizaje profundo relaciona los datos de entrada con la función de pérdida definida. En este blog, brindamos un tutorial paso a paso sobre cómo calcular el gradiente sin escala de un tensor en PyTorch.