PyTorch

PyTorch
Tip de Biblioteca de învățare automată și profundă
Autor Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Scris in Python , C++ , CUDA
Sistem de operare Linux , macOS , Windows
Prima editie octombrie 2016
ultima versiune
Licență BSD
Site-ul web pytorch.org
 Fișiere media la Wikimedia Commons

PyTorch este un  cadru open source de învățare automată pentru Python , construit pe Torch [2] [3] [4] . Folosit pentru diverse sarcini: viziune computerizată , procesare a limbajului natural . [5] Dezvoltat în principal de grupul de inteligență artificială Facebook [6] [7] [8] . De asemenea, în jurul acestui cadru este construit un ecosistem [9] , format din diverse biblioteci dezvoltate de echipe terțe: PyTorch Lightning și Fast.ai [10], care simplifică procesul de antrenare a modelelor, Pyro , un modul de programare probabilistică , de la Uber [11] , Flair [12] , pentru procesarea limbajului natural și Catalyst [13] , pentru antrenamentul modelelor DL ​​și RL .

PyTorch oferă două modele principale de nivel înalt: [14]

Tensorii PyTorch

Tensorii nu sunt nimic special, fiind doar matrice multidimensionale. Tensorii PyTorch (Tensorii) sunt similari cu matricele din pachetul NumPy , dar pot fi procesați suplimentar pe acceleratoarele video. PyTorch acceptă diferite tipuri de tensori. [cincisprezece]

Module

Modul Autograd

PyTorch folosește o metodă de diferențiere automată. Calculele înainte sunt înregistrate, apoi redate pentru a calcula gradienții ( backpropagation ). Această metodă este utilă în special la construirea rețelelor neuronale, deoarece vă permite să calculați corecțiile parametrilor diferențiali simultan cu trecerea înainte.

Modulul Optim

torch.optim este un modul care implementează mai mulți algoritmi de optimizare utilizați în construirea rețelelor neuronale. Cele mai multe dintre metodele cele mai frecvent utilizate au fost implementate.

Modulul nn

Modulul PyTorch autograd facilitează definirea graficelor computaționale și lucrul cu gradienți, dar poate fi un nivel prea scăzut pentru a defini rețele neuronale complexe. O abstractizare de nivel superior pentru astfel de aplicații este modulul nn.

Exemplu

Următorul cod demonstrează funcționalitatea bibliotecii printr-un exemplu simplu: [16] [17]

torță de import dtype = torță . pluti dispozitiv = lanternă . device ( "cpu" ) # Acesta execută toate calculele pe CPU # device = torch.device("cuda:0") # Aceasta execută toate calculele pe GPU # Crearea unui tensor și completarea unui tensor cu numere aleatorii a = torță . randn ( 2 , 3 , device = device , dtype = dtype ) print ( a ) # Ieșirea tensorului A # Ieșire: tensor([[-1,1884, 0,8498, -1,7129], # [-0,8816, 0,1944, 0,5847]]) # Crearea unui tensor și completarea unui tensor cu numere aleatorii b = torță . randn ( 2 , 3 , device = device , dtype = dtype ) print ( b ) # Ieșirea tensorului B # Ieșire: tensor([[ 0,7178, -0,8453, -1,3403], # [ 1,3262, 1,1512, -1,7070]]) print ( a * b ) # Ieșirea unei înmulțiri a celor doi tensori # Ieșire: tensor([[-0,8530, -0,7183, 2,58], # [-1,1692, 0,2238, -0,9981]]) print ( a . sum ()) # Ieșirea sumei tuturor elementelor din tensorul A # Ieșire: tensor (-2,1540) print ( a [ 1 , 2 ]) # Ieșirea elementului din a treia coloană a celui de-al doilea rând # Ieșire: tensor (0,5847) print ( a . min ()) # Ieșirea valorii minime în tensorul A # Ieșire: tensor (-1,7129)

Vezi și

Note

  1. https://github.com/pytorch/pytorch/releases/tag/v1.13.0
  2. Yegulalp, Serdar . Facebook aduce în Python învățarea automată bazată pe GPU , InfoWorld  (19 ianuarie 2017). Arhivat din original pe 12 iulie 2018. Preluat la 11 decembrie 2017.
  3. Lorica, Ben De ce cercetătorii AI și învățarea automată încep să îmbrățișeze PyTorch . O'Reilly Media (3 august 2017). Preluat la 11 decembrie 2017. Arhivat din original la 17 mai 2019.
  4. Ketkar, Nikhil. Învățare profundă cu Python  . - Apress, Berkeley, CA, 2017. - P. 195-208. — ISBN 9781484227657 . - doi : 10.1007/978-1-4842-2766-4_12 .
  5. ↑ Procesarea limbajului natural (NLP) cu PyTorch - NLP cu documentația PyTorch  . dl4nlp.info . Preluat la 18 decembrie 2017. Arhivat din original la 21 iunie 2019.
  6. Patel, Mo. Când două tendințe fuzionează: PyTorch și sistemele de recomandare  (engleză) , O'Reilly Media  (7 decembrie 2017). Arhivat din original pe 30 martie 2019. Preluat la 30 septembrie 2018.
  7. Mannes, John . Facebook și Microsoft colaborează pentru a simplifica conversiile de la PyTorch la  Caffe2 , TechCrunch . Arhivat din original pe 6 iulie 2020. Consultat la 30 septembrie 2018.  „FAIR este obișnuit să lucreze cu PyTorch — un cadru de învățare profundă optimizat pentru a obține rezultate de ultimă generație în cercetare, indiferent de constrângerile de resurse. Din păcate, în lumea reală, cei mai mulți dintre noi suntem limitați de capacitățile de calcul ale smartphone-urilor și computerelor noastre.”
  8. Arakelyan, giganții Sophia Tech folosesc cadre open source pentru a domina  comunitatea AI . Venture Beat (29 noiembrie 2017). Consultat la 18 decembrie 2017. Arhivat din original la 30 martie 2019.
  9. PyTorch  (engleză)  (downlink) . pytorch.org. Preluat la 16 iunie 2019. Arhivat din original la 31 august 2019.
  10. fast.ai Facerea rețelelor neuronale să se răcească din nou . www.fast.ai. Preluat la 16 iunie 2019. Arhivat din original la 16 iunie 2019.
  11. Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language  , Uber Engineering Blog (  3 noiembrie 2017). Arhivat din original pe 25 decembrie 2017. Preluat la 30 septembrie 2018.
  12. Un cadru foarte simplu pentru procesarea limbajului natural (NLP) de ultimă generație: zalandoresearch/flair . — 16.06.2019. Arhivat din original pe 18 iunie 2019.
  13. Reproductibil și rapid DL & RL. Contribuiți la dezvoltarea echipei catalizatoare/catalizatorului creând un cont pe GitHub . — 25.11.2019. Arhivat din original pe 22 decembrie 2019.
  14. PyTorch - Despre (link descendent) . pytorch.org . Preluat la 11 iunie 2018. Arhivat din original la 15 iunie 2018. 
  15. O introducere în PyTorch - O bibliotecă de învățare profundă simplă, dar puternică . analyticsvidhya.com . Preluat la 11 iunie 2018. Arhivat din original la 22 octombrie 2019.
  16. Jeremy Howard, Sylvain Gugger. Învățare profundă pentru codificatori cu fastai și PyTorch . - O'Reilly, 2020. - ISBN 978-1492045526 . Arhivat pe 8 octombrie 2021 la Wayback Machine
  17. Caffe2 Merges With PyTorch (2 aprilie 2018). Preluat la 8 octombrie 2021. Arhivat din original la 30 martie 2019.

Literatură

  • McMahan B., Rao D. Introduction to PyTorch: Deep Learning in Natural Language Processing = Natural Language Processing with PyTorch. Creați aplicații lingvistice inteligente folosind Deep Learning. - Peter , 2020. - 256 p. — ISBN 978-5-4461-1241-8 .

Link -uri