Kursinhalt
Pytorch Grundlagen
Pytorch Grundlagen
Mehrstufige Rückwärtspropagation
Wie Tensorflow ermöglicht auch PyTorch den Aufbau komplexerer Rechengraphen, die mehrere Zwischentensoren umfassen.
import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
Der Gradient von output_mean
in Bezug auf x
wird unter Verwendung der Kettenregel berechnet. Das Ergebnis zeigt, wie stark eine kleine Änderung in jedem Element von x
output_mean
beeinflusst.
Deaktivierung der Gradientenverfolgung
In einigen Fällen möchten Sie möglicherweise die Gradientenverfolgung deaktivieren, um Speicher und Rechenleistung zu sparen. Da requires_grad=False
das Standardverhalten ist, können Sie den Tensor einfach ohne Angabe dieses Parameters erstellen:
Swipe to start coding
Sie sind beauftragt, ein einfaches neuronales Netzwerk in PyTorch zu erstellen. Ihr Ziel ist es, den Gradienten des Verlusts in Bezug auf die Gewichtsmatrix zu berechnen.
- Definieren Sie eine zufällige Gewichtsmatrix (Tensor)
W
der Form1x3
, initialisiert mit Werten aus einer gleichmäßigen Verteilung über [0, 1], mit aktivierter Gradientenverfolgung. - Erstellen Sie eine Eingabematrix (Tensor)
X
basierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Führen Sie eine Matrixmultiplikation durch, um
Y
zu berechnen. - Berechnen Sie den mittleren quadratischen Fehler (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnen Sie den Gradienten des Verlusts (
loss
) in Bezug aufW
mittels Backpropagation. - Drucken Sie den berechneten Gradienten von
W
.
Lösung
Danke für Ihr Feedback!
Mehrstufige Rückwärtspropagation
Wie Tensorflow ermöglicht auch PyTorch den Aufbau komplexerer Rechengraphen, die mehrere Zwischentensoren umfassen.
import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
Der Gradient von output_mean
in Bezug auf x
wird unter Verwendung der Kettenregel berechnet. Das Ergebnis zeigt, wie stark eine kleine Änderung in jedem Element von x
output_mean
beeinflusst.
Deaktivierung der Gradientenverfolgung
In einigen Fällen möchten Sie möglicherweise die Gradientenverfolgung deaktivieren, um Speicher und Rechenleistung zu sparen. Da requires_grad=False
das Standardverhalten ist, können Sie den Tensor einfach ohne Angabe dieses Parameters erstellen:
Swipe to start coding
Sie sind beauftragt, ein einfaches neuronales Netzwerk in PyTorch zu erstellen. Ihr Ziel ist es, den Gradienten des Verlusts in Bezug auf die Gewichtsmatrix zu berechnen.
- Definieren Sie eine zufällige Gewichtsmatrix (Tensor)
W
der Form1x3
, initialisiert mit Werten aus einer gleichmäßigen Verteilung über [0, 1], mit aktivierter Gradientenverfolgung. - Erstellen Sie eine Eingabematrix (Tensor)
X
basierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Führen Sie eine Matrixmultiplikation durch, um
Y
zu berechnen. - Berechnen Sie den mittleren quadratischen Fehler (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnen Sie den Gradienten des Verlusts (
loss
) in Bezug aufW
mittels Backpropagation. - Drucken Sie den berechneten Gradienten von
W
.
Lösung
Danke für Ihr Feedback!