Retropropagação de Múltiplos Passos
Assim como o Tensorflow, o PyTorch também permite construir grafos computacionais mais complexos envolvendo múltiplos tensores intermediários.
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)
O gradiente de output_mean
em relação a x
é calculado utilizando a regra da cadeia. O resultado mostra quanto uma pequena alteração em cada elemento de x
afeta o output_mean
.
Desativando o Rastreamento de Gradientes
Em alguns casos, pode ser desejável desativar o rastreamento de gradientes para economizar memória e processamento. Como requires_grad=False
é o comportamento padrão, basta criar o tensor sem especificar esse parâmetro:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Você deve construir uma rede neural simples em PyTorch. Seu objetivo é calcular o gradiente da perda em relação à matriz de pesos.
- Defina uma matriz de pesos aleatória (tensor)
W
de forma1x3
inicializada com valores de uma distribuição uniforme no intervalo [0, 1], com rastreamento de gradiente habilitado. - Crie uma matriz de entrada (tensor)
X
baseada nesta lista:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Realize a multiplicação de matrizes entre
W
eX
para calcularY
. - Calcule o erro quadrático médio (MSE):
loss = mean((Y - Ytarget)
2 ). - Calcule o gradiente da perda (
loss
) em relação aW
utilizando retropropagação. - Exiba o gradiente calculado de
W
.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain how the gradients are calculated in this example?
What happens if I change the values in the tensor `x`?
How do I disable gradient tracking for specific operations?
Awesome!
Completion rate improved to 5
Retropropagação de Múltiplos Passos
Deslize para mostrar o menu
Assim como o Tensorflow, o PyTorch também permite construir grafos computacionais mais complexos envolvendo múltiplos tensores intermediários.
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)
O gradiente de output_mean
em relação a x
é calculado utilizando a regra da cadeia. O resultado mostra quanto uma pequena alteração em cada elemento de x
afeta o output_mean
.
Desativando o Rastreamento de Gradientes
Em alguns casos, pode ser desejável desativar o rastreamento de gradientes para economizar memória e processamento. Como requires_grad=False
é o comportamento padrão, basta criar o tensor sem especificar esse parâmetro:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Você deve construir uma rede neural simples em PyTorch. Seu objetivo é calcular o gradiente da perda em relação à matriz de pesos.
- Defina uma matriz de pesos aleatória (tensor)
W
de forma1x3
inicializada com valores de uma distribuição uniforme no intervalo [0, 1], com rastreamento de gradiente habilitado. - Crie uma matriz de entrada (tensor)
X
baseada nesta lista:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Realize a multiplicação de matrizes entre
W
eX
para calcularY
. - Calcule o erro quadrático médio (MSE):
loss = mean((Y - Ytarget)
2 ). - Calcule o gradiente da perda (
loss
) em relação aW
utilizando retropropagação. - Exiba o gradiente calculado de
W
.
Solução
Obrigado pelo seu feedback!
Awesome!
Completion rate improved to 5single