Meertraps-Backpropagatie
Net als Tensorflow maakt PyTorch het mogelijk om complexere computationele grafen te bouwen met meerdere intermediaire tensors.
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)
De gradiënt van output_mean ten opzichte van x wordt berekend met behulp van de kettingregel. Het resultaat toont hoeveel een kleine wijziging in elk element van x invloed heeft op output_mean.
Uitschakelen van Gradiëntregistratie
In sommige gevallen kan het wenselijk zijn om de registratie van gradiënten uit te schakelen om geheugen en rekentijd te besparen. Omdat requires_grad=False de standaardinstelling is, kan de tensor eenvoudig worden aangemaakt zonder deze parameter te specificeren:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Je krijgt de opdracht om een eenvoudig neuraal netwerk te bouwen in PyTorch. Het doel is om de gradiënt van het verlies ten opzichte van de gewichtsmatrix te berekenen.
- Definieer een willekeurige gewichtsmatrix (tensor)
Wmet vorm1x3, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met ingeschakelde gradiënttracking. - Maak een invoermatrix (tensor)
Xop basis van deze lijst:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Voer matrixvermenigvuldiging uit tussen
WenXomYte berekenen. - Bereken de mean squared error (MSE):
loss = mean((Y - Ytarget)
2 ). - Bereken de gradiënt van het verlies (
loss) ten opzichte vanWmet behulp van backpropagation. - Print de berekende gradiënt van
W.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain how the gradients are calculated in this example?
What happens if I change the values in the tensor `x`?
How does disabling gradient tracking affect performance?
Awesome!
Completion rate improved to 5
Meertraps-Backpropagatie
Veeg om het menu te tonen
Net als Tensorflow maakt PyTorch het mogelijk om complexere computationele grafen te bouwen met meerdere intermediaire tensors.
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)
De gradiënt van output_mean ten opzichte van x wordt berekend met behulp van de kettingregel. Het resultaat toont hoeveel een kleine wijziging in elk element van x invloed heeft op output_mean.
Uitschakelen van Gradiëntregistratie
In sommige gevallen kan het wenselijk zijn om de registratie van gradiënten uit te schakelen om geheugen en rekentijd te besparen. Omdat requires_grad=False de standaardinstelling is, kan de tensor eenvoudig worden aangemaakt zonder deze parameter te specificeren:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Je krijgt de opdracht om een eenvoudig neuraal netwerk te bouwen in PyTorch. Het doel is om de gradiënt van het verlies ten opzichte van de gewichtsmatrix te berekenen.
- Definieer een willekeurige gewichtsmatrix (tensor)
Wmet vorm1x3, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met ingeschakelde gradiënttracking. - Maak een invoermatrix (tensor)
Xop basis van deze lijst:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Voer matrixvermenigvuldiging uit tussen
WenXomYte berekenen. - Bereken de mean squared error (MSE):
loss = mean((Y - Ytarget)
2 ). - Bereken de gradiënt van het verlies (
loss) ten opzichte vanWmet behulp van backpropagation. - Print de berekende gradiënt van
W.
Oplossing
Bedankt voor je feedback!
single