Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Gradienter i PyTorch | Seksjon
PyTorch-essensielt for ML-ingeniør

bookGradienter i PyTorch

Note
Definisjon

For å oppsummere, gradienter er partielle deriverte av en funksjon med hensyn til dens inputverdier.

Gradienter er grunnleggende i optimaliseringsoppgaver som trening av nevrale nettverk, hvor de hjelper til med å justere vekter og bias for å minimere feil. I PyTorch beregnes de automatisk ved hjelp av autograd-modulen, som sporer operasjoner på tensorer og beregner deriverte effektivt.

Aktivere gradientsporing

For å aktivere gradientsporing for en tensor, brukes argumentet requires_grad=True når tensoren opprettes. Dette forteller PyTorch å spore alle operasjoner på tensoren for gradientberegning.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Bygging av en beregningsgraf

PyTorch bygger en dynamisk beregningsgraf når du utfører operasjoner på tensorer med requires_grad=True. Denne grafen lagrer relasjonene mellom tensorer og operasjoner, noe som muliggjør automatisk derivasjon.

Vi starter med å definere en enkel polynomfunksjon:

y = 5x3 + 2x2 + 4x + 8

Målet er å beregne den deriverte med hensyn på x når x = 2.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

Visualiseringen av denne beregningsgrafen laget med PyTorchViz-biblioteket kan virke noe kompleks, men den formidler effektivt hovedideen bak:

Beregning av gradienter

For å beregne gradienten må backward()-metoden kalles på utgangstensoren. Dette beregner den deriverte av funksjonen med hensyn til inngangstensoren.

Den beregnede gradienten kan deretter nås med .grad-attributtet.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

Den beregnede gradienten er den deriverte av y med hensyn på x, evaluert ved x = 2.

question mark

Hvordan kan du få tilgang til den beregnede gradienten til et tensor etter tilbakepropagering i PyTorch?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 11

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

bookGradienter i PyTorch

Sveip for å vise menyen

Note
Definisjon

For å oppsummere, gradienter er partielle deriverte av en funksjon med hensyn til dens inputverdier.

Gradienter er grunnleggende i optimaliseringsoppgaver som trening av nevrale nettverk, hvor de hjelper til med å justere vekter og bias for å minimere feil. I PyTorch beregnes de automatisk ved hjelp av autograd-modulen, som sporer operasjoner på tensorer og beregner deriverte effektivt.

Aktivere gradientsporing

For å aktivere gradientsporing for en tensor, brukes argumentet requires_grad=True når tensoren opprettes. Dette forteller PyTorch å spore alle operasjoner på tensoren for gradientberegning.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Bygging av en beregningsgraf

PyTorch bygger en dynamisk beregningsgraf når du utfører operasjoner på tensorer med requires_grad=True. Denne grafen lagrer relasjonene mellom tensorer og operasjoner, noe som muliggjør automatisk derivasjon.

Vi starter med å definere en enkel polynomfunksjon:

y = 5x3 + 2x2 + 4x + 8

Målet er å beregne den deriverte med hensyn på x når x = 2.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

Visualiseringen av denne beregningsgrafen laget med PyTorchViz-biblioteket kan virke noe kompleks, men den formidler effektivt hovedideen bak:

Beregning av gradienter

For å beregne gradienten må backward()-metoden kalles på utgangstensoren. Dette beregner den deriverte av funksjonen med hensyn til inngangstensoren.

Den beregnede gradienten kan deretter nås med .grad-attributtet.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

Den beregnede gradienten er den deriverte av y med hensyn på x, evaluert ved x = 2.

question mark

Hvordan kan du få tilgang til den beregnede gradienten til et tensor etter tilbakepropagering i PyTorch?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 11
some-alt