Mehrstufige Rückpropagation
Wie Tensorflow ermöglicht auch PyTorch das Erstellen komplexerer Rechen-Graphen mit mehreren Zwischentensoren.
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 bezüglich x wird mithilfe der Kettenregel berechnet. Das Ergebnis zeigt, wie stark eine kleine Änderung in jedem Element von x den Wert von output_mean beeinflusst.
Deaktivieren der Gradientenverfolgung
In bestimmten Fällen kann es sinnvoll sein, die Gradientenverfolgung zu deaktivieren, um Speicher und Rechenleistung zu sparen. Da requires_grad=False das Standardverhalten ist, kann der Tensor einfach ohne Angabe dieses Parameters erstellt werden:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Sie sollen ein einfaches neuronales Netzwerk in PyTorch erstellen. Ziel ist es, den Gradienten des Verlusts bezüglich der Gewichtsmatrix zu berechnen.
- Definieren Sie eine zufällige Gewichtsmatrix (Tensor)
Wder Form1x3, initialisiert mit Werten aus einer gleichverteilten Zufallsverteilung über [0, 1], mit aktiviertem Gradienten-Tracking. - Erstellen Sie eine Eingabematrix (Tensor)
Xbasierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Führen Sie eine Matrixmultiplikation zwischen
WundXdurch, umYzu berechnen. - Berechnen Sie den mittleren quadratischen Fehler (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnen Sie den Gradienten des Verlusts (
loss) bezüglichWmittels Backpropagation. - Geben Sie den berechneten Gradienten von
Waus.
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ückpropagation
Swipe um das Menü anzuzeigen
Wie Tensorflow ermöglicht auch PyTorch das Erstellen komplexerer Rechen-Graphen mit mehreren Zwischentensoren.
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 bezüglich x wird mithilfe der Kettenregel berechnet. Das Ergebnis zeigt, wie stark eine kleine Änderung in jedem Element von x den Wert von output_mean beeinflusst.
Deaktivieren der Gradientenverfolgung
In bestimmten Fällen kann es sinnvoll sein, die Gradientenverfolgung zu deaktivieren, um Speicher und Rechenleistung zu sparen. Da requires_grad=False das Standardverhalten ist, kann der Tensor einfach ohne Angabe dieses Parameters erstellt werden:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Sie sollen ein einfaches neuronales Netzwerk in PyTorch erstellen. Ziel ist es, den Gradienten des Verlusts bezüglich der Gewichtsmatrix zu berechnen.
- Definieren Sie eine zufällige Gewichtsmatrix (Tensor)
Wder Form1x3, initialisiert mit Werten aus einer gleichverteilten Zufallsverteilung über [0, 1], mit aktiviertem Gradienten-Tracking. - Erstellen Sie eine Eingabematrix (Tensor)
Xbasierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Führen Sie eine Matrixmultiplikation zwischen
WundXdurch, umYzu berechnen. - Berechnen Sie den mittleren quadratischen Fehler (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnen Sie den Gradienten des Verlusts (
loss) bezüglichWmittels Backpropagation. - Geben Sie den berechneten Gradienten von
Waus.
Lösung
Danke für Ihr Feedback!
single