PyTorch

PyTorch
Tyyppi Kone- ja syväoppimiskirjasto
Tekijä Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Sisään kirjoitettu Python , C++ , CUDA
Käyttöjärjestelmä Linux , macOS , Windows
Ensimmäinen painos lokakuuta 2016
uusin versio
Lisenssi BSD
Verkkosivusto pytorch.org
 Mediatiedostot Wikimedia Commonsissa

PyTorch on avoimen lähdekoodin koneoppimiskehys Pythonille  , joka on rakennettu Torchin [2] [3] [4] päälle . Käytetään erilaisiin tehtäviin: tietokonenäköön , luonnollisen kielen käsittelyyn . [5] Kehittänyt ensisijaisesti tekoälyryhmä Facebook [6] [7] [8] . Lisäksi tämän kehyksen ympärille on rakennettu ekosysteemi [9] , joka koostuu useista ulkopuolisten ryhmien kehittämistä kirjastoista: PyTorch Lightning ja Fast.ai [10] , jotka yksinkertaistavat koulutusmallien prosessia, Pyro , todennäköisyyspohjaisen ohjelmoinnin moduuli , Uberilta [11] Flair [12] luonnollisen kielen käsittelyyn ja Catalyst [13] DL- ja RL - mallien koulutukseen .

PyTorch tarjoaa kaksi pääasiallista korkean tason mallia: [14]

PyTorch-tensorit

Tensorit eivät ole mitään erikoisia, ne ovat vain moniulotteisia taulukoita. PyTorch-tensorit (Tensorit) ovat samanlaisia ​​kuin NumPy-paketin taulukot , mutta niitä voidaan lisäksi käsitellä videokiihdyttimillä. PyTorch tukee erilaisia ​​tensoreita. [viisitoista]

Moduulit

Autograd-moduuli

PyTorch käyttää automaattista erottelumenetelmää. Eteenpäin tehdyt laskelmat tallennetaan, minkä jälkeen ne toistetaan gradientien laskemiseksi ( backpropagation ). Tämä menetelmä on erityisen hyödyllinen hermoverkkojen rakentamisessa, koska sen avulla voit laskea differentiaaliparametrien korjaukset samanaikaisesti eteenpäin kulkemisen kanssa.

Optim-moduuli

torch.optim on moduuli, joka toteuttaa useita neuroverkkojen rakentamiseen käytettyjä optimointialgoritmeja. Suurin osa yleisimmin käytetyistä menetelmistä on otettu käyttöön.

Moduuli nn

PyTorch autograd -moduulin avulla on helppo määrittää laskennallisia kaavioita ja työskennellä gradienttien kanssa, mutta se voi olla liian alhainen monimutkaisten hermoverkkojen määrittelemiseen. Korkeamman tason abstraktio tällaisille sovelluksille on nn-moduuli.

Esimerkki

Seuraava koodi havainnollistaa kirjaston toimivuutta yksinkertaisella esimerkillä: [16] [17]

tuonti taskulamppu dtype = taskulamppu . kellua laite = taskulamppu . laite ( "cpu" ) # Tämä suorittaa kaikki suorittimen laskelmat # laite = torch.device("cuda:0") # Tämä suorittaa kaikki laskelmat GPU:ssa # Tensorin luominen ja tensorin täyttäminen satunnaisluvuilla a = taskulamppu . randn ( 2 , 3 , laite = laite , dtype = dtype ) tulosta ( a ) # Tensorin A tulos # Lähtö: tensori([[-1.1884, 0.8498, -1.7129], # [-0,8816, 0,1944, 0,5847]]) # Tensorin luominen ja tensorin täyttäminen satunnaisluvuilla b = taskulamppu . randn ( 2 , 3 , laite = laite , dtype = dtype ) tulosta ( b ) # Tensorin B lähtö # Lähtö: tensori([[ 0,7178, -0,8453, -1,3403], # [ 1,3262, 1,1512, -1,7070]]) print ( a * b ) # Kahden tensorin kertolaskutulos # Lähtö: tensori([[-0,8530, -0,7183, 2,58], # [-1,1692, 0,2238, -0,9981]]) tulosta ( a . summa ()) # Tensorin A kaikkien elementtien summan tulos # Lähtö: tensori(-2,1540) print ( a [ 1 , 2 ] ) # Elementin tulostus toisen rivin kolmannessa sarakkeessa # Lähtö: tensori(0,5847) print ( a . min ()) # Minimiarvon tulos tensorissa A # Lähtö: tensori(-1,7129)

Katso myös

Muistiinpanot

  1. https://github.com/pytorch/pytorch/releases/tag/v1.13.0
  2. Yegulalp, Serdar . Facebook tuo GPU-käyttöisen koneoppimisen Pythoniin , InfoWorldiin  (19. tammikuuta 2017). Arkistoitu alkuperäisestä 12. heinäkuuta 2018. Haettu 11. joulukuuta 2017.
  3. Lorica, Ben Miksi tekoäly ja koneoppimisen tutkijat ovat alkaneet omaksua PyTorchin . O'Reilly Media (3. elokuuta 2017). Haettu 11. joulukuuta 2017. Arkistoitu alkuperäisestä 17. toukokuuta 2019.
  4. Ketkar, Nikhil. Syväoppiminen Pythonilla  . - Apress, Berkeley, CA, 2017. - S. 195-208. — ISBN 9781484227657 . - doi : 10.1007/978-1-4842-2766-4_12 .
  5. ↑ Natural Language Processing (NLP) PyTorchin kanssa - NLP PyTorch-dokumentaatiolla  . dl4nlp.info . Haettu 18. joulukuuta 2017. Arkistoitu alkuperäisestä 21. kesäkuuta 2019.
  6. Patel, Mo. Kun kaksi trendiä sulautuvat yhteen: PyTorch ja suosittelejajärjestelmät  (englanniksi) , O'Reilly Media  (7. joulukuuta 2017). Arkistoitu alkuperäisestä 30. maaliskuuta 2019. Haettu 30. syyskuuta 2018.
  7. Mannes, John . Facebook ja Microsoft tekevät yhteistyötä yksinkertaistaakseen muunnoksia PyTorchista  Caffe2 :een , TechCrunchiin . Arkistoitu alkuperäisestä 6.7.2020. Haettu 30. syyskuuta 2018.  ”FAIR on tottunut työskentelemään PyTorchin kanssa – syvän oppimiskehyksen kanssa, joka on optimoitu saavuttamaan huippuluokan tuloksia tutkimuksessa resurssirajoituksista huolimatta. Valitettavasti todellisessa maailmassa useimpia meistä rajoittavat älypuhelimiemme ja tietokoneidemme laskentaominaisuudet."
  8. Arakelyan, Sophia Tech -jättiläiset käyttävät avoimen lähdekoodin kehyksiä  hallitakseen tekoälyyhteisöä . Venture Beat (29. marraskuuta 2017). Haettu 18. joulukuuta 2017. Arkistoitu alkuperäisestä 30. maaliskuuta 2019.
  9. PyTorch  (englanniksi)  (downlink) . pytorch.org. Haettu 16. kesäkuuta 2019. Arkistoitu alkuperäisestä 31. elokuuta 2019.
  10. fast.ai Hermoverkkojen tekeminen viileäksi jälleen . www.fast.ai. Haettu 16. kesäkuuta 2019. Arkistoitu alkuperäisestä 16. kesäkuuta 2019.
  11. Uber AI Labs Open Sources Pyro, Deep Probabilistic Programming Language  , Uber Engineering Blog (  3.11.2017). Arkistoitu alkuperäisestä 25. joulukuuta 2017. Haettu 30. syyskuuta 2018.
  12. Erittäin yksinkertainen kehys uusimman luonnollisen kielen käsittelyyn (NLP): zalandoresearch/flair . – 16.06.2019. Arkistoitu alkuperäisestä 18. kesäkuuta 2019.
  13. Toistettava ja nopea DL & RL. Osallistu katalyyttitiimin/katalysaattorin kehittämiseen luomalla tili GitHubiin . – 25.11.2019. Arkistoitu alkuperäisestä 22. joulukuuta 2019.
  14. PyTorch - Tietoja (downlink) . pytorch.org . Haettu 11. kesäkuuta 2018. Arkistoitu alkuperäisestä 15. kesäkuuta 2018. 
  15. Johdatus PyTorchiin – yksinkertainen mutta tehokas syväoppiva kirjasto . analyticsvidhya.com . Haettu 11. kesäkuuta 2018. Arkistoitu alkuperäisestä 22. lokakuuta 2019.
  16. Jeremy Howard, Sylvain Gugger. Deep Learning for Coders fastai ja PyTorch . - O'Reilly, 2020. - ISBN 978-1492045526 . Arkistoitu 8. lokakuuta 2021 Wayback Machinessa
  17. Caffe2 sulautuu PyTorchin kanssa (2. huhtikuuta 2018). Haettu 8. lokakuuta 2021. Arkistoitu alkuperäisestä 30. maaliskuuta 2019.

Kirjallisuus

  • McMahan B., Rao D. Johdatus PyTorchiin: Deep Learning in Natural Language Processing = Natural Language Processing with PyTorch. Rakenna älykkäitä kielisovelluksia syväoppimisen avulla. - Pietari , 2020. - 256 s. — ISBN 978-5-4461-1241-8 .

Linkit