Gradienter i PyTorch
Gradienter er grundlæggende i optimeringsopgaver såsom træning af neurale netværk, hvor de hjælper med at justere vægte og bias for at minimere fejl. I PyTorch beregnes de automatisk ved hjælp af autograd-modulet, som sporer operationer på tensores og effektivt udregner afledte.
Aktivering af gradientsporing
For at aktivere gradientsporing for en tensor anvendes argumentet requires_grad=True, når tensoren oprettes. Dette instruerer PyTorch i at spore alle operationer på tensoren til gradientberegning.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
Opbygning af en beregningsgraf
PyTorch opbygger en dynamisk beregningsgraf, når du udfører operationer på tensores med requires_grad=True. Denne graf gemmer relationerne mellem tensores og operationer, hvilket muliggør automatisk differentiering.
Vi starter med at definere en forholdsvis simpel polynomiel funktion:
y = 5x
Målet er at beregne den afledte med hensyn til x ved 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 af denne beregningsgraf, oprettet ved hjælp af PyTorchViz-biblioteket, kan fremstå en smule kompleks, men den formidler effektivt hovedideen bag:
Beregning af gradienter
For at beregne gradienten skal backward()-metoden kaldes på output-tensoren. Dette beregner den afledte af funktionen med hensyn til input-tensoren.
Den beregnede gradient kan derefter tilgås med attributten .grad.
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 gradient er den afledte af y med hensyn til x, evalueret ved x = 2.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 5
Gradienter i PyTorch
Stryg for at vise menuen
Gradienter er grundlæggende i optimeringsopgaver såsom træning af neurale netværk, hvor de hjælper med at justere vægte og bias for at minimere fejl. I PyTorch beregnes de automatisk ved hjælp af autograd-modulet, som sporer operationer på tensores og effektivt udregner afledte.
Aktivering af gradientsporing
For at aktivere gradientsporing for en tensor anvendes argumentet requires_grad=True, når tensoren oprettes. Dette instruerer PyTorch i at spore alle operationer på tensoren til gradientberegning.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
Opbygning af en beregningsgraf
PyTorch opbygger en dynamisk beregningsgraf, når du udfører operationer på tensores med requires_grad=True. Denne graf gemmer relationerne mellem tensores og operationer, hvilket muliggør automatisk differentiering.
Vi starter med at definere en forholdsvis simpel polynomiel funktion:
y = 5x
Målet er at beregne den afledte med hensyn til x ved 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 af denne beregningsgraf, oprettet ved hjælp af PyTorchViz-biblioteket, kan fremstå en smule kompleks, men den formidler effektivt hovedideen bag:
Beregning af gradienter
For at beregne gradienten skal backward()-metoden kaldes på output-tensoren. Dette beregner den afledte af funktionen med hensyn til input-tensoren.
Den beregnede gradient kan derefter tilgås med attributten .grad.
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 gradient er den afledte af y med hensyn til x, evalueret ved x = 2.
Tak for dine kommentarer!