Meertraps-Backpropagatie
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ë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 standaard 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 gewichtsmatrix te berekenen.
- Definieer een willekeurige gewichtsmatrix (tensor)
Wmet vorm1x3, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met gradiënttracking ingeschakeld. - 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 ). - Bepaal de gradiënt van het verlies (
loss) ten opzichte vanWvia 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.
Awesome!
Completion rate improved to 5
Meertraps-Backpropagatie
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ë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 standaard 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 gewichtsmatrix te berekenen.
- Definieer een willekeurige gewichtsmatrix (tensor)
Wmet vorm1x3, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met gradiënttracking ingeschakeld. - 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 ). - Bepaal de gradiënt van het verlies (
loss) ten opzichte vanWvia backpropagation. - Print de berekende gradiënt van
W.
Oplossing
Bedankt voor je feedback!
single