Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Gradienten in PyTorch | Fortgeschrittenere Konzepte
Pytorch Grundlagen
course content

Kursinhalt

Pytorch Grundlagen

Pytorch Grundlagen

1. Einführung in PyTorch
2. Fortgeschrittenere Konzepte
3. Neuronale Netzwerke in PyTorch

book
Gradienten in PyTorch

Gradienten sind grundlegend in Optimierungsaufgaben wie dem Training von neuronalen Netzwerken, wo sie helfen, Gewichte und Verzerrungen anzupassen, um Fehler zu minimieren. In PyTorch werden sie automatisch mit dem autograd-Modul berechnet, das Operationen auf Tensors verfolgt und Ableitungen effizient berechnet.

Aktivierung der Gradientenverfolgung

Um die Gradientenverfolgung für einen Tensor zu aktivieren, wird das Argument requires_grad=True verwendet, wenn der Tensor erstellt wird. Dies teilt PyTorch mit, alle Operationen auf dem Tensor für die Gradientenberechnung zu verfolgen.

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

Aufbau eines Rechengraphen

PyTorch erstellt einen dynamischen Rechengraphen, während Sie Operationen an Tensors mit requires_grad=True durchführen. Dieser Graph speichert die Beziehungen zwischen Tensors und Operationen und ermöglicht die automatische Differenzierung.

Wir beginnen mit der Definition einer recht einfachen Polynomfunktion:

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

Unser Ziel ist es, die Ableitung in Bezug auf x bei x = 2 zu berechnen.

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

Die Visualisierung dieses Rechengraphen, erstellt mit der PyTorchViz-Bibliothek, mag etwas komplex erscheinen, vermittelt jedoch effektiv die dahinterstehende Hauptidee:

Berechnung von Gradienten

Um den Gradienten zu berechnen, sollte die Methode backward() auf dem Ausgabetensor aufgerufen werden. Dies berechnet die Ableitung der Funktion in Bezug auf den Eingabetensor.

Der berechnete Gradient selbst kann dann mit dem Attribut .grad abgerufen werden.

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

Der berechnete Gradient ist die Ableitung von y in Bezug auf x, ausgewertet bei x = 2.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1
We're sorry to hear that something went wrong. What happened?
some-alt