Mehrstufige Rückwärtspropagation
Wie Tensorflow ermöglicht auch PyTorch den Aufbau komplexerer Rechengraphen, die mehrere Zwischentensoren umfassen.
12345678910111213import 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:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
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!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5
Mehrstufige Rückwärtspropagation
Swipe um das Menü anzuzeigen
Wie Tensorflow ermöglicht auch PyTorch den Aufbau komplexerer Rechengraphen, die mehrere Zwischentensoren umfassen.
12345678910111213import 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:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
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!
Awesome!
Completion rate improved to 5single