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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
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

close

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