Retropropagació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.
12345678910111213import 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)
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]])
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.
- Definir una matriz de pesos aleatoria (tensor)
W
de forma1x3
inicializada con valores de una distribución uniforme en el intervalo [0, 1], con seguimiento de gradientes habilitado. - Crear una matriz de entrada (tensor)
X
basada en esta lista:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Realizar la multiplicación de matrices entre
W
yX
para calcularY
. - Calcular el error cuadrático medio (MSE):
pérdida = mean((Y - Ytarget)
2 ). - Calcular el gradiente de la pérdida (
loss
) con respecto aW
utilizando retropropagación. - Imprimir el gradiente calculado de
W
.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 5
Retropropagació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.
12345678910111213import 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)
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]])
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.
- Definir una matriz de pesos aleatoria (tensor)
W
de forma1x3
inicializada con valores de una distribución uniforme en el intervalo [0, 1], con seguimiento de gradientes habilitado. - Crear una matriz de entrada (tensor)
X
basada en esta lista:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Realizar la multiplicación de matrices entre
W
yX
para calcularY
. - Calcular el error cuadrático medio (MSE):
pérdida = mean((Y - Ytarget)
2 ). - Calcular el gradiente de la pérdida (
loss
) con respecto aW
utilizando retropropagación. - Imprimir el gradiente calculado de
W
.
Solución
¡Gracias por tus comentarios!
Awesome!
Completion rate improved to 5single