Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Monivaiheinen Takaisinkytkentä | Edistyneemmät Käsitteet
Pytorch Essentials

bookMonivaiheinen Takaisinkytkentä

Kuten Tensorflow, myös PyTorch mahdollistaa monimutkaisempien laskentakaavioiden rakentamisen, jotka sisältävät useita väliarvotensoreita.

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

Gradientti output_mean:n suhteen x:ään lasketaan ketjusäännön avulla. Tuloksena nähdään, kuinka paljon jokaisen x:n alkion pieni muutos vaikuttaa output_mean:iin.

Gradienttien seurannan poistaminen käytöstä

Joissakin tapauksissa gradienttien seuranta kannattaa poistaa käytöstä muistin ja laskennan säästämiseksi. Koska requires_grad=False on oletusarvo, voit luoda tensorin ilman tämän parametrin määrittelyä:

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Tehtävä

Swipe to start coding

Sinun tehtävänäsi on rakentaa yksinkertainen neuroverkko PyTorchilla. Tavoitteena on laskea tappion gradientti painomatriisia kohtaan.

  1. Määrittele satunnainen painomatriisi (tenosri) W muodossa 1x3, alustettuna arvoilla yhtenäisestä jaksosta [0, 1], gradientin seuranta käytössä.
  2. Luo syötematriisi (tenosri) X tämän listan perusteella: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Suorita matriisikertolasku W:n ja X:n välillä laskeaksesi Y.
  4. Laske keskineliövirhe (MSE): loss = mean((Y - Ytarget)2).
  5. Laske tappion gradientti (loss) W:tä kohtaan takaisinkuljetuksella.
  6. Tulosta lasketut gradientit W:lle.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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 does disabling gradient tracking affect performance?

close

Awesome!

Completion rate improved to 5

bookMonivaiheinen Takaisinkytkentä

Pyyhkäise näyttääksesi valikon

Kuten Tensorflow, myös PyTorch mahdollistaa monimutkaisempien laskentakaavioiden rakentamisen, jotka sisältävät useita väliarvotensoreita.

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

Gradientti output_mean:n suhteen x:ään lasketaan ketjusäännön avulla. Tuloksena nähdään, kuinka paljon jokaisen x:n alkion pieni muutos vaikuttaa output_mean:iin.

Gradienttien seurannan poistaminen käytöstä

Joissakin tapauksissa gradienttien seuranta kannattaa poistaa käytöstä muistin ja laskennan säästämiseksi. Koska requires_grad=False on oletusarvo, voit luoda tensorin ilman tämän parametrin määrittelyä:

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Tehtävä

Swipe to start coding

Sinun tehtävänäsi on rakentaa yksinkertainen neuroverkko PyTorchilla. Tavoitteena on laskea tappion gradientti painomatriisia kohtaan.

  1. Määrittele satunnainen painomatriisi (tenosri) W muodossa 1x3, alustettuna arvoilla yhtenäisestä jaksosta [0, 1], gradientin seuranta käytössä.
  2. Luo syötematriisi (tenosri) X tämän listan perusteella: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Suorita matriisikertolasku W:n ja X:n välillä laskeaksesi Y.
  4. Laske keskineliövirhe (MSE): loss = mean((Y - Ytarget)2).
  5. Laske tappion gradientti (loss) W:tä kohtaan takaisinkuljetuksella.
  6. Tulosta lasketut gradientit W:lle.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
single

single

some-alt