Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Gradienter i PyTorch | Mere Avancerede Begreber
Pytorch Essentials

bookGradienter 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.

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

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 = 5x3 + 2x2 + 4x + 8

Målet er at beregne den afledte med hensyn til x ved 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 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.

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 gradient er den afledte af y med hensyn til x, evalueret ved x = 2.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1

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

Awesome!

Completion rate improved to 5

bookGradienter 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.

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

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 = 5x3 + 2x2 + 4x + 8

Målet er at beregne den afledte med hensyn til x ved 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 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.

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 gradient er den afledte af y med hensyn til x, evalueret ved x = 2.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
some-alt