Gradienter i PyTorch
Gradienter er grunnleggende i optimaliseringsoppgaver som trening av nevrale nettverk, hvor de bidrar til å justere vekter og bias for å minimere feil. I PyTorch beregnes de automatisk ved hjelp av autograd-modulen, som sporer operasjoner på tensorer og effektivt beregner deriverte.
Aktivering av 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.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
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 ganske enkel polynomfunksjon:
y = 5x
Målet vårt er å beregne den deriverte med hensyn til x når x = 2.
123456import 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}")
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 inntakstensoren.
Den beregnede gradienten kan deretter nås med .grad-attributtet.
12345678import 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}")
Den beregnede gradienten er den deriverte av y med hensyn til x, evaluert ved x = 2.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 5
Gradienter i PyTorch
Sveip for å vise menyen
Gradienter er grunnleggende i optimaliseringsoppgaver som trening av nevrale nettverk, hvor de bidrar til å justere vekter og bias for å minimere feil. I PyTorch beregnes de automatisk ved hjelp av autograd-modulen, som sporer operasjoner på tensorer og effektivt beregner deriverte.
Aktivering av 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.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
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 ganske enkel polynomfunksjon:
y = 5x
Målet vårt er å beregne den deriverte med hensyn til x når x = 2.
123456import 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}")
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 inntakstensoren.
Den beregnede gradienten kan deretter nås med .grad-attributtet.
12345678import 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}")
Den beregnede gradienten er den deriverte av y med hensyn til x, evaluert ved x = 2.
Takk for tilbakemeldingene dine!