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:
python
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:
python
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!