Meertraps-Terugpropagatie
Net als Tensorflow stelt PyTorch je ook in staat 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 verandering in elk element van x
invloed heeft op output_mean
.
Uitschakelen van Gradiënttracking
In sommige gevallen kan het wenselijk zijn om de gradiënttracking uit te schakelen om geheugen en rekentijd te besparen. Omdat requires_grad=False
de standaardinstelling is, kun je de tensor aanmaken 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 bent verantwoordelijk voor het bouwen van een eenvoudig neuraal netwerk in PyTorch. Het doel is om de gradiënt van het verlies ten opzichte van de gewichtenmatrix te berekenen.
- Definieer een willekeurige gewichtenmatrix (tensor)
W
met vorm1x3
, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met gradiënttracking ingeschakeld. - Maak een invoermatrix (tensor)
X
op basis van deze lijst:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Voer matrixvermenigvuldiging uit tussen
W
enX
omY
te berekenen. - Bereken de mean squared error (MSE):
loss = mean((Y - Ytarget)
2 ). - Bereken de gradiënt van het verlies (
loss
) ten opzichte vanW
met 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 do I disable gradient tracking for specific operations?
Awesome!
Completion rate improved to 5
Meertraps-Terugpropagatie
Veeg om het menu te tonen
Net als Tensorflow stelt PyTorch je ook in staat 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 verandering in elk element van x
invloed heeft op output_mean
.
Uitschakelen van Gradiënttracking
In sommige gevallen kan het wenselijk zijn om de gradiënttracking uit te schakelen om geheugen en rekentijd te besparen. Omdat requires_grad=False
de standaardinstelling is, kun je de tensor aanmaken 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 bent verantwoordelijk voor het bouwen van een eenvoudig neuraal netwerk in PyTorch. Het doel is om de gradiënt van het verlies ten opzichte van de gewichtenmatrix te berekenen.
- Definieer een willekeurige gewichtenmatrix (tensor)
W
met vorm1x3
, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met gradiënttracking ingeschakeld. - Maak een invoermatrix (tensor)
X
op basis van deze lijst:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Voer matrixvermenigvuldiging uit tussen
W
enX
omY
te berekenen. - Bereken de mean squared error (MSE):
loss = mean((Y - Ytarget)
2 ). - Bereken de gradiënt van het verlies (
loss
) ten opzichte vanW
met behulp van backpropagation. - Print de berekende gradiënt van
W
.
Oplossing
Bedankt voor je feedback!
Awesome!
Completion rate improved to 5single