Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Gradienter i PyTorch | Mer Avancerade Koncept
Pytorch-Grunder

bookGradienter i PyTorch

Gradienter är grundläggande inom optimeringsuppgifter såsom träning av neurala nätverk, där de hjälper till att justera vikter och bias för att minimera fel. I PyTorch beräknas de automatiskt med hjälp av modulen autograd, som spårar operationer på tensorer och effektivt beräknar derivator.

Aktivering av gradientspårning

För att aktivera gradientspårning för en tensor används argumentet requires_grad=True vid skapandet av tensorn. Detta instruerar PyTorch att spåra alla operationer på tensorn för gradientberäkning.

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

Bygga ett beräkningsdiagram

PyTorch konstruerar ett dynamiskt beräkningsdiagram när du utför operationer på tensorer med requires_grad=True. Detta diagram lagrar relationerna mellan tensorer och operationer, vilket möjliggör automatisk differentiering.

Vi börjar med att definiera en ganska enkel polynomfunktion:

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

Målet är att beräkna derivatan med avseende på x vid 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 detta beräkningsdiagram som skapats med hjälp av PyTorchViz-biblioteket kan verka något komplex, men den förmedlar effektivt huvudidén bakom det:

Beräkning av gradienter

För att beräkna gradienten ska metoden backward() anropas på utdatatensorn. Detta beräknar derivatan av funktionen med avseende på indatatensorn.

Den beräknade gradienten kan sedan nås via attributet .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 beräknade gradienten är derivatan av y med avseende på x, utvärderad vid x = 2.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

What does the computed gradient value represent in this context?

How can I use these gradients for optimization in PyTorch?

Awesome!

Completion rate improved to 5

bookGradienter i PyTorch

Svep för att visa menyn

Gradienter är grundläggande inom optimeringsuppgifter såsom träning av neurala nätverk, där de hjälper till att justera vikter och bias för att minimera fel. I PyTorch beräknas de automatiskt med hjälp av modulen autograd, som spårar operationer på tensorer och effektivt beräknar derivator.

Aktivering av gradientspårning

För att aktivera gradientspårning för en tensor används argumentet requires_grad=True vid skapandet av tensorn. Detta instruerar PyTorch att spåra alla operationer på tensorn för gradientberäkning.

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

Bygga ett beräkningsdiagram

PyTorch konstruerar ett dynamiskt beräkningsdiagram när du utför operationer på tensorer med requires_grad=True. Detta diagram lagrar relationerna mellan tensorer och operationer, vilket möjliggör automatisk differentiering.

Vi börjar med att definiera en ganska enkel polynomfunktion:

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

Målet är att beräkna derivatan med avseende på x vid 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 detta beräkningsdiagram som skapats med hjälp av PyTorchViz-biblioteket kan verka något komplex, men den förmedlar effektivt huvudidén bakom det:

Beräkning av gradienter

För att beräkna gradienten ska metoden backward() anropas på utdatatensorn. Detta beräknar derivatan av funktionen med avseende på indatatensorn.

Den beräknade gradienten kan sedan nås via attributet .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 beräknade gradienten är derivatan av y med avseende på x, utvärderad vid x = 2.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 1
some-alt