Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Retropropagación de Múltiples Pasos | Conceptos Más Avanzados
Esenciales de PyTorch

bookRetropropagación de Múltiples Pasos

Al igual que Tensorflow, PyTorch también permite construir grafos computacionales más complejos que involucran múltiples tensores intermedios.

12345678910111213
import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
copy

El gradiente de output_mean con respecto a x se calcula utilizando la regla de la cadena. El resultado muestra cuánto afecta un pequeño cambio en cada elemento de x a output_mean.

Desactivación del seguimiento de gradientes

En algunos casos, puede ser conveniente desactivar el seguimiento de gradientes para ahorrar memoria y computación. Dado que requires_grad=False es el comportamiento predeterminado, simplemente puede crear el tensor sin especificar este parámetro:

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Tarea

Swipe to start coding

Se te asigna la tarea de construir una red neuronal simple en PyTorch. Tu objetivo es calcular el gradiente de la pérdida con respecto a la matriz de pesos.

  1. Definir una matriz de pesos aleatoria (tensor) W de forma 1x3 inicializada con valores de una distribución uniforme en el intervalo [0, 1], con seguimiento de gradientes habilitado.
  2. Crear una matriz de entrada (tensor) X basada en esta lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Realizar la multiplicación de matrices entre W y X para calcular Y.
  4. Calcular el error cuadrático medio (MSE): pérdida = mean((Y - Ytarget)2).
  5. Calcular el gradiente de la pérdida (loss) con respecto a W utilizando retropropagación.
  6. Imprimir el gradiente calculado de W.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 2
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 5

bookRetropropagación de Múltiples Pasos

Desliza para mostrar el menú

Al igual que Tensorflow, PyTorch también permite construir grafos computacionales más complejos que involucran múltiples tensores intermedios.

12345678910111213
import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
copy

El gradiente de output_mean con respecto a x se calcula utilizando la regla de la cadena. El resultado muestra cuánto afecta un pequeño cambio en cada elemento de x a output_mean.

Desactivación del seguimiento de gradientes

En algunos casos, puede ser conveniente desactivar el seguimiento de gradientes para ahorrar memoria y computación. Dado que requires_grad=False es el comportamiento predeterminado, simplemente puede crear el tensor sin especificar este parámetro:

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Tarea

Swipe to start coding

Se te asigna la tarea de construir una red neuronal simple en PyTorch. Tu objetivo es calcular el gradiente de la pérdida con respecto a la matriz de pesos.

  1. Definir una matriz de pesos aleatoria (tensor) W de forma 1x3 inicializada con valores de una distribución uniforme en el intervalo [0, 1], con seguimiento de gradientes habilitado.
  2. Crear una matriz de entrada (tensor) X basada en esta lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Realizar la multiplicación de matrices entre W y X para calcular Y.
  4. Calcular el error cuadrático medio (MSE): pérdida = mean((Y - Ytarget)2).
  5. Calcular el gradiente de la pérdida (loss) con respecto a W utilizando retropropagación.
  6. Imprimir el gradiente calculado de W.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

close

Awesome!

Completion rate improved to 5
Sección 2. Capítulo 2
single

single

some-alt