Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Flerstegs Tilbakepropagering | Mer Avanserte Konsepter
PyTorch-essensielt

bookFlerstegs Tilbakepropagering

Som med Tensorflow tillater også PyTorch deg å bygge mer komplekse beregningsgrafer som involverer flere mellomliggende 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 til output_mean med hensyn til x beregnes ved hjelp av kjerneregelen. Resultatet viser hvor mye en liten endring i hvert element av x påvirker output_mean.

Deaktivere gradientsporing

I enkelte tilfeller kan det være ønskelig å deaktivere gradientsporing for å spare minne og beregningsressurser. Siden requires_grad=False er standardinnstillingen, kan du ganske enkelt opprette tensoren uten å angi denne parameteren:

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

Swipe to start coding

Du skal bygge et enkelt nevralt nettverk i PyTorch. Målet ditt er å beregne gradienten til tapet med hensyn til vektmatrisen.

  1. Definer en tilfeldig vektmatrise (tensor) W med form 1x3 initialisert med verdier fra en uniform fordeling over [0, 1], med gradientsporing aktivert.
  2. Opprett en inputmatrise (tensor) X basert på denne listen: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Utfør matrise-multiplikasjon mellom W og X for å beregne Y.
  4. Beregn gjennomsnittlig kvadratfeil (MSE): tap = mean((Y - Ytarget)2).
  5. Beregn gradienten til tapet (loss) med hensyn til W ved hjelp av tilbakepropagering.
  6. Skriv ut den beregnede gradienten til W.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 2
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

Awesome!

Completion rate improved to 5

bookFlerstegs Tilbakepropagering

Sveip for å vise menyen

Som med Tensorflow tillater også PyTorch deg å bygge mer komplekse beregningsgrafer som involverer flere mellomliggende 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 til output_mean med hensyn til x beregnes ved hjelp av kjerneregelen. Resultatet viser hvor mye en liten endring i hvert element av x påvirker output_mean.

Deaktivere gradientsporing

I enkelte tilfeller kan det være ønskelig å deaktivere gradientsporing for å spare minne og beregningsressurser. Siden requires_grad=False er standardinnstillingen, kan du ganske enkelt opprette tensoren uten å angi denne parameteren:

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

Swipe to start coding

Du skal bygge et enkelt nevralt nettverk i PyTorch. Målet ditt er å beregne gradienten til tapet med hensyn til vektmatrisen.

  1. Definer en tilfeldig vektmatrise (tensor) W med form 1x3 initialisert med verdier fra en uniform fordeling over [0, 1], med gradientsporing aktivert.
  2. Opprett en inputmatrise (tensor) X basert på denne listen: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Utfør matrise-multiplikasjon mellom W og X for å beregne Y.
  4. Beregn gjennomsnittlig kvadratfeil (MSE): tap = mean((Y - Ytarget)2).
  5. Beregn gradienten til tapet (loss) med hensyn til W ved hjelp av tilbakepropagering.
  6. Skriv ut den beregnede gradienten til W.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

close

Awesome!

Completion rate improved to 5
Seksjon 2. Kapittel 2
single

single

some-alt