Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Meertraps-Terugpropagatie | Meer Geavanceerde Concepten
PyTorch Essentials

bookMeertraps-Terugpropagatie

Net als Tensorflow stelt PyTorch je ook in staat om complexere computationele grafen te bouwen met meerdere intermediaire tensors.

12345678910111213
import 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)
copy

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]])
Taak

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.

  1. Definieer een willekeurige gewichtenmatrix (tensor) W met vorm 1x3, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met gradiënttracking ingeschakeld.
  2. Maak een invoermatrix (tensor) X op basis van deze lijst: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Voer matrixvermenigvuldiging uit tussen W en X om Y te berekenen.
  4. Bereken de mean squared error (MSE): loss = mean((Y - Ytarget)2).
  5. Bereken de gradiënt van het verlies (loss) ten opzichte van W met behulp van backpropagation.
  6. Print de berekende gradiënt van W.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 5

bookMeertraps-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.

12345678910111213
import 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)
copy

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]])
Taak

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.

  1. Definieer een willekeurige gewichtenmatrix (tensor) W met vorm 1x3, geïnitialiseerd met waarden uit een uniforme verdeling over [0, 1], met gradiënttracking ingeschakeld.
  2. Maak een invoermatrix (tensor) X op basis van deze lijst: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Voer matrixvermenigvuldiging uit tussen W en X om Y te berekenen.
  4. Bereken de mean squared error (MSE): loss = mean((Y - Ytarget)2).
  5. Bereken de gradiënt van het verlies (loss) ten opzichte van W met behulp van backpropagation.
  6. Print de berekende gradiënt van W.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

close

Awesome!

Completion rate improved to 5
Sectie 2. Hoofdstuk 2
single

single

some-alt