Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Flerstegs-Backpropagering | Mer Avancerade Koncept
Pytorch-Grunder

bookFlerstegs-Backpropagering

Precis som Tensorflow tillåter PyTorch att bygga mer komplexa beräkningsgrafer som involverar flera intermediära tensorer.

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

Gradienten av output_mean med avseende på x beräknas med hjälp av kedjeregeln. Resultatet visar hur mycket en liten förändring i varje element av x påverkar output_mean.

Inaktivering av gradientspårning

I vissa fall kan det vara önskvärt att inaktivera gradientspårning för att spara minne och beräkningsresurser. Eftersom requires_grad=False är standardbeteendet kan du helt enkelt skapa tensorn utan att ange denna parameter:

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

Swipe to start coding

Du ska bygga ett enkelt neuralt nätverk i PyTorch. Målet är att beräkna gradienten av förlusten med avseende på viktmatrisen.

  1. Definiera en slumpmässig viktmatris (tensor) W med formen 1x3, initialiserad med värden från en uniform fördelning över [0, 1], med gradientspårning aktiverad.
  2. Skapa en inmatningsmatris (tensor) X baserad på denna lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Utför matrismultiplikation mellan W och X för att beräkna Y.
  4. Beräkna medelkvadratfel (MSE): loss = mean((Y - Ytarget)2).
  5. Beräkna gradienten av förlusten (loss) med avseende på W med hjälp av backpropagation.
  6. Skriv ut den beräknade gradienten för W.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 5

bookFlerstegs-Backpropagering

Svep för att visa menyn

Precis som Tensorflow tillåter PyTorch att bygga mer komplexa beräkningsgrafer som involverar flera intermediära tensorer.

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

Gradienten av output_mean med avseende på x beräknas med hjälp av kedjeregeln. Resultatet visar hur mycket en liten förändring i varje element av x påverkar output_mean.

Inaktivering av gradientspårning

I vissa fall kan det vara önskvärt att inaktivera gradientspårning för att spara minne och beräkningsresurser. Eftersom requires_grad=False är standardbeteendet kan du helt enkelt skapa tensorn utan att ange denna parameter:

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

Swipe to start coding

Du ska bygga ett enkelt neuralt nätverk i PyTorch. Målet är att beräkna gradienten av förlusten med avseende på viktmatrisen.

  1. Definiera en slumpmässig viktmatris (tensor) W med formen 1x3, initialiserad med värden från en uniform fördelning över [0, 1], med gradientspårning aktiverad.
  2. Skapa en inmatningsmatris (tensor) X baserad på denna lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Utför matrismultiplikation mellan W och X för att beräkna Y.
  4. Beräkna medelkvadratfel (MSE): loss = mean((Y - Ytarget)2).
  5. Beräkna gradienten av förlusten (loss) med avseende på W med hjälp av backpropagation.
  6. Skriv ut den beräknade gradienten för W.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

close

Awesome!

Completion rate improved to 5
Avsnitt 2. Kapitel 2
single

single

some-alt