Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Retropropagação de Múltiplos Passos | Conceitos Mais Avançados
Essenciais do PyTorch

bookRetropropagaçã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.

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

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]])
Tarefa

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.

  1. Defina uma matriz de pesos aleatória (tensor) W de forma 1x3 inicializada com valores de uma distribuição uniforme no intervalo [0, 1], com rastreamento de gradiente habilitado.
  2. Crie uma matriz de entrada (tensor) X baseada nesta lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Realize a multiplicação de matrizes entre W e X para calcular Y.
  4. Calcule o erro quadrático médio (MSE): loss = mean((Y - Ytarget)2).
  5. Calcule o gradiente da perda (loss) em relação a W utilizando retropropagação.
  6. Exiba o gradiente calculado de W.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 5

bookRetropropagaçã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.

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

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]])
Tarefa

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.

  1. Defina uma matriz de pesos aleatória (tensor) W de forma 1x3 inicializada com valores de uma distribuição uniforme no intervalo [0, 1], com rastreamento de gradiente habilitado.
  2. Crie uma matriz de entrada (tensor) X baseada nesta lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Realize a multiplicação de matrizes entre W e X para calcular Y.
  4. Calcule o erro quadrático médio (MSE): loss = mean((Y - Ytarget)2).
  5. Calcule o gradiente da perda (loss) em relação a W utilizando retropropagação.
  6. Exiba o gradiente calculado de W.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

close

Awesome!

Completion rate improved to 5
Seção 2. Capítulo 2
single

single

some-alt