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 autograd-modulen, 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 en beräkningsgraf

PyTorch bygger en dynamisk beräkningsgraf när du utför operationer på tensorer med requires_grad=True. Denna graf 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 denna beräkningsgraf som skapats med hjälp av PyTorchViz-biblioteket kan verka något komplex, men den förmedlar effektivt huvudidén bakom den:

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

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 autograd-modulen, 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 en beräkningsgraf

PyTorch bygger en dynamisk beräkningsgraf när du utför operationer på tensorer med requires_grad=True. Denna graf 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 denna beräkningsgraf som skapats med hjälp av PyTorchViz-biblioteket kan verka något komplex, men den förmedlar effektivt huvudidén bakom den:

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