Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Gradientit PyTorchissa | Osio
Pytorch-Osaamisen Perusteet ML-Insinöörille

bookGradientit PyTorchissa

Note
Määritelmä

Yhteenvetona, gradientit ovat funktion osittaisderivaattoja sen syötteiden suhteen.

Gradientit ovat keskeisiä optimointitehtävissä, kuten neuroverkkojen koulutuksessa, joissa niiden avulla säädetään painoja ja bias-arvoja virheen minimoimiseksi. PyTorchissa gradientit lasketaan automaattisesti autograd-moduulin avulla, joka seuraa tensorien operaatioita ja laskee derivaatat tehokkaasti.

Gradienttien seurannan käyttöönotto

Gradienttien seuranta tensorille otetaan käyttöön asettamalla requires_grad=True tensorin luomisen yhteydessä. Tämä ohjeistaa PyTorchia seuraamaan kaikkia tensorille tehtyjä operaatioita gradienttien laskentaa varten.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Laskentaverkon rakentaminen

PyTorch rakentaa dynaamisen laskentaverkon suoritettaessa operaatioita tensoreilla, joilla on requires_grad=True. Tämä verkko tallentaa tensorien ja operaatioiden väliset suhteet mahdollistaen automaattisen differentiaation.

Aloitetaan määrittelemällä yksinkertainen polynomifunktio:

y = 5x3 + 2x2 + 4x + 8

Tavoitteena on laskea derivaatta muuttujan x suhteen kohdassa x = 2.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

Tämän laskentaverkon visualisointi, joka on luotu PyTorchViz-kirjastolla, saattaa vaikuttaa hieman monimutkaiselta, mutta se havainnollistaa tehokkaasti sen keskeisen periaatteen:

Gradienttien laskeminen

Gradientin laskemiseksi tulee kutsua backward()-metodia tulos-tensorille. Tämä laskee funktion derivaatan suhteessa syöte-tensoriin.

Laskettu gradientti on tämän jälkeen saatavilla .grad-attribuutin kautta.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

Laskettu gradientti on y:n derivaatta muuttujan x suhteen, arvioituna kohdassa x = 2.

question mark

Kuinka voit hakea tensorin lasketun gradientin takaisinlevityksen jälkeen PyTorchissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 11

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

bookGradientit PyTorchissa

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Yhteenvetona, gradientit ovat funktion osittaisderivaattoja sen syötteiden suhteen.

Gradientit ovat keskeisiä optimointitehtävissä, kuten neuroverkkojen koulutuksessa, joissa niiden avulla säädetään painoja ja bias-arvoja virheen minimoimiseksi. PyTorchissa gradientit lasketaan automaattisesti autograd-moduulin avulla, joka seuraa tensorien operaatioita ja laskee derivaatat tehokkaasti.

Gradienttien seurannan käyttöönotto

Gradienttien seuranta tensorille otetaan käyttöön asettamalla requires_grad=True tensorin luomisen yhteydessä. Tämä ohjeistaa PyTorchia seuraamaan kaikkia tensorille tehtyjä operaatioita gradienttien laskentaa varten.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Laskentaverkon rakentaminen

PyTorch rakentaa dynaamisen laskentaverkon suoritettaessa operaatioita tensoreilla, joilla on requires_grad=True. Tämä verkko tallentaa tensorien ja operaatioiden väliset suhteet mahdollistaen automaattisen differentiaation.

Aloitetaan määrittelemällä yksinkertainen polynomifunktio:

y = 5x3 + 2x2 + 4x + 8

Tavoitteena on laskea derivaatta muuttujan x suhteen kohdassa x = 2.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

Tämän laskentaverkon visualisointi, joka on luotu PyTorchViz-kirjastolla, saattaa vaikuttaa hieman monimutkaiselta, mutta se havainnollistaa tehokkaasti sen keskeisen periaatteen:

Gradienttien laskeminen

Gradientin laskemiseksi tulee kutsua backward()-metodia tulos-tensorille. Tämä laskee funktion derivaatan suhteessa syöte-tensoriin.

Laskettu gradientti on tämän jälkeen saatavilla .grad-attribuutin kautta.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

Laskettu gradientti on y:n derivaatta muuttujan x suhteen, arvioituna kohdassa x = 2.

question mark

Kuinka voit hakea tensorin lasketun gradientin takaisinlevityksen jälkeen PyTorchissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 11
some-alt