Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Monivaiheinen Takaisinkytkentä | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Pytorch-Osaamisen Perusteet ML-Insinöörille

bookMonivaiheinen Takaisinkytkentä

Kuten Tensorflow, myös PyTorch mahdollistaa monimutkaisempien laskentakaavioiden rakentamisen, joissa on 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

output_mean:n gradientti suhteessa x:ään lasketaan ketjusäännön avulla. Tuloksesta 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 yksinkertaisesti luoda tensorin ilman tämän parametrin määrittämistä:

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 häviön gradientti painomatriisia kohtaan.

  1. Määrittele satunnainen painomatriisi (tenosri) W, jonka muoto on 1x3 ja joka alustetaan arvoilla tasaisesta jakaumasta välillä [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): häviö = mean((Y - Ytarget)2).
  5. Laske häviön gradientti (loss) W:tä kohtaan takaisinkuljetuksella.
  6. Tulosta lasketut gradientit W:lle.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 12
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, joissa on 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

output_mean:n gradientti suhteessa x:ään lasketaan ketjusäännön avulla. Tuloksesta 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 yksinkertaisesti luoda tensorin ilman tämän parametrin määrittämistä:

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 häviön gradientti painomatriisia kohtaan.

  1. Määrittele satunnainen painomatriisi (tenosri) W, jonka muoto on 1x3 ja joka alustetaan arvoilla tasaisesta jakaumasta välillä [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): häviö = mean((Y - Ytarget)2).
  5. Laske häviön 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 1. Luku 12
single

single

some-alt