Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Multi-Trins Backpropagation | Sektion
Pytorch Essentials for ML-ingeniør

bookMulti-Trins Backpropagation

Ligesom Tensorflow giver PyTorch dig også mulighed for at opbygge mere komplekse beregningsgrafer, der involverer flere mellemliggende 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 af output_mean med hensyn til x beregnes ved hjælp af kædereglen. Resultatet viser, hvor meget en lille ændring i hvert element af x påvirker output_mean.

Deaktivering af gradientsporing

I visse tilfælde kan det være ønskeligt at deaktivere gradientsporing for at spare hukommelse og beregning. Da requires_grad=False er standardindstillingen, kan du blot oprette tensoren uden at angive denne parameter:

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

Swipe to start coding

Du skal opbygge et simpelt neuralt netværk i PyTorch. Dit mål er at beregne gradienten af tabet med hensyn til vægtmatricen.

  1. Definér en tilfældig vægtmatrix (tensor) W med formen 1x3, initialiseret med værdier fra en uniform fordeling over [0, 1], med aktiveret gradientsporing.
  2. Opret en inputmatrix (tensor) X baseret på denne liste: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Udfør matrixmultiplikation mellem W og X for at beregne Y.
  4. Beregn mean squared error (MSE): tab = mean((Y - Ytarget)2).
  5. Beregn gradienten af tabet (loss) med hensyn til W ved hjælp af backpropagation.
  6. Udskriv den beregnede gradient for W.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 12
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookMulti-Trins Backpropagation

Stryg for at vise menuen

Ligesom Tensorflow giver PyTorch dig også mulighed for at opbygge mere komplekse beregningsgrafer, der involverer flere mellemliggende 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 af output_mean med hensyn til x beregnes ved hjælp af kædereglen. Resultatet viser, hvor meget en lille ændring i hvert element af x påvirker output_mean.

Deaktivering af gradientsporing

I visse tilfælde kan det være ønskeligt at deaktivere gradientsporing for at spare hukommelse og beregning. Da requires_grad=False er standardindstillingen, kan du blot oprette tensoren uden at angive denne parameter:

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

Swipe to start coding

Du skal opbygge et simpelt neuralt netværk i PyTorch. Dit mål er at beregne gradienten af tabet med hensyn til vægtmatricen.

  1. Definér en tilfældig vægtmatrix (tensor) W med formen 1x3, initialiseret med værdier fra en uniform fordeling over [0, 1], med aktiveret gradientsporing.
  2. Opret en inputmatrix (tensor) X baseret på denne liste: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Udfør matrixmultiplikation mellem W og X for at beregne Y.
  4. Beregn mean squared error (MSE): tab = mean((Y - Ytarget)2).
  5. Beregn gradienten af tabet (loss) med hensyn til W ved hjælp af backpropagation.
  6. Udskriv den beregnede gradient for W.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 12
single

single

some-alt