Gradienter 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.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
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 = 5x
Målet är att beräkna derivatan med avseende på x
vid 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 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
.
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 beräknade gradienten är derivatan av y
med avseende på x
, utvärderad vid x = 2
.
Tack för dina kommentarer!
Fråga AI
Fråga AI
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
Gradienter 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.
1234import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
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 = 5x
Målet är att beräkna derivatan med avseende på x
vid 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 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
.
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 beräknade gradienten är derivatan av y
med avseende på x
, utvärderad vid x = 2
.
Tack för dina kommentarer!