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-Grundlæggende

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å tensorer 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, som er oprettet ved hjælp af PyTorchViz-biblioteket, kan virke 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

Suggested prompts:

Can you explain how the backward() method works in more detail?

What does the computational graph represent in PyTorch?

How is the gradient value interpreted in this example?

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å tensorer 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, som er oprettet ved hjælp af PyTorchViz-biblioteket, kan virke 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