PyTorch

PyTorch
Type Machine and Deep Learning Library
Forfatter Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Skrevet i Python , C++ , CUDA
Operativ system Linux , macOS , Windows
Første udgave oktober 2016
nyeste version
Licens BSD
Internet side pytorch.org
 Mediefiler på Wikimedia Commons

PyTorch er en open source maskinlæringsramme  for Python bygget oven på Torch [2] [3] [4] . Anvendes til forskellige opgaver: computersyn , naturlig sprogbehandling . [5] Udviklet primært af den kunstige intelligens-gruppe Facebook [6] [7] [8] . Også et økosystem [9] er bygget op omkring denne ramme , bestående af forskellige biblioteker udviklet af tredjepartsteams: PyTorch Lightning og Fast.ai [10] , som forenkler processen med træning af modeller, Pyro , et modul til probabilistisk programmering , fra Uber [11] Flair [12] til naturlig sprogbehandling og Catalyst [13] til træning af DL- og RL - modeller.

PyTorch leverer to hovedmodeller på højt niveau: [14]

PyTorch-tensorer

Tensorer er ikke noget særligt, de er bare multidimensionelle arrays. PyTorch-tensorer (tensorer) ligner arrays i NumPy-pakken , men kan desuden behandles på videoacceleratorer. PyTorch understøtter forskellige typer af tensorer. [femten]

Moduler

Autograd modul

PyTorch bruger en automatisk differentieringsmetode. Fremadrettede beregninger optages og afspilles derefter for at beregne gradienter ( tilbageudbredelse ). Denne metode er især nyttig, når du bygger neurale netværk, da den giver dig mulighed for at beregne de differentielle parameterkorrektioner samtidigt med fremadgående pass.

Optim modul

torch.optim er et modul, der implementerer adskillige optimeringsalgoritmer, der bruges til at bygge neurale netværk. De fleste af de mest brugte metoder er blevet implementeret.

Modul nn

PyTorch autograd-modulet gør det nemt at definere beregningsgrafer og arbejde med gradienter, men det kan være for lavt niveau til at definere komplekse neurale netværk. Et højere abstraktionsniveau for sådanne applikationer er nn-modulet.

Eksempel

Følgende kode demonstrerer bibliotekets funktionalitet med et simpelt eksempel: [16] [17]

import lommelygte dtype = fakkel . flyde enhed = lommelygte . enhed ( "cpu" ) # Dette udfører alle beregninger på CPU'en # device = torch.device("cuda:0") # Dette udfører alle beregninger på GPU'en # Oprettelse af en tensor og fyldning af en tensor med tilfældige tal a = fakkel . randn ( 2 , 3 , enhed = enhed , dtype = dtype ) print ( a ) # Output af tensor A # Output: tensor([[-1.1884, 0.8498, -1.7129], # [-0,8816, 0,1944, 0,5847]]) # Oprettelse af en tensor og fyldning af en tensor med tilfældige tal b = fakkel . randn ( 2 , 3 , enhed = enhed , dtype = dtype ) print ( b ) # Output af tensor B # Output: tensor([[ 0.7178, -0.8453, -1.3403], # [ 1,3262, 1,1512, -1,7070]]) print ( a * b ) # Output af en multiplikation af de to tensorer # Output: tensor([[-0.8530, -0.7183, 2.58], # [-1,1692, 0,2238, -0,9981]]) print ( a . sum ()) # Output af summen af ​​alle elementer i tensor A # Output: tensor(-2.1540) print ( a [ 1 , 2 ]) # Output af elementet i tredje kolonne i anden række # Output: tensor(0,5847) print ( a . min ()) # Output af minimumsværdien i tensor A # Output: tensor(-1,7129)

Se også

Noter

  1. https://github.com/pytorch/pytorch/releases/tag/v1.13.0
  2. Yegulalp, Serdar . Facebook bringer GPU-drevet maskinlæring til Python , InfoWorld  (19. januar 2017). Arkiveret fra originalen den 12. juli 2018. Hentet 11. december 2017.
  3. Lorica, Ben Hvorfor AI og maskinlæringsforskere begynder at omfavne PyTorch . O'Reilly Media (3. august 2017). Hentet 11. december 2017. Arkiveret fra originalen 17. maj 2019.
  4. Ketkar, Nikhil. Dyb læring med Python  . - Apress, Berkeley, CA, 2017. - S. 195-208. — ISBN 9781484227657 . - doi : 10.1007/978-1-4842-2766-4_12 .
  5. ↑ Natural Language Processing (NLP) med PyTorch - NLP med PyTorch-dokumentation  . dl4nlp.info . Hentet 18. december 2017. Arkiveret fra originalen 21. juni 2019.
  6. Patel, Mo. Når to trends smelter sammen: PyTorch og recommender systems  (engelsk) , O'Reilly Media  (7. december 2017). Arkiveret fra originalen den 30. marts 2019. Hentet 30. september 2018.
  7. Mannes, John . Facebook og Microsoft samarbejder om at forenkle konverteringer fra PyTorch til  Caffe2 , TechCrunch . Arkiveret fra originalen den 6. juli 2020. Hentet 30. september 2018.  “FAIR er vant til at arbejde med PyTorch — en deep learning-ramme, der er optimeret til at opnå topmoderne resultater inden for forskning, uanset ressourcebegrænsninger. Desværre i den virkelige verden er de fleste af os begrænset af vores smartphones og computeres beregningsmuligheder."
  8. Arakelyan, Sophia Tech-giganter bruger open source-rammer til at dominere AI  -fællesskabet . Venture Beat (29. november 2017). Hentet 18. december 2017. Arkiveret fra originalen 30. marts 2019.
  9. PyTorch  (engelsk)  (downlink) . pytorch.org. Hentet 16. juni 2019. Arkiveret fra originalen 31. august 2019.
  10. fast.ai Gør neurale net uafkølede igen . www.fast.ai. Hentet 16. juni 2019. Arkiveret fra originalen 16. juni 2019.
  11. Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language  , Uber Engineering Blog (  3. november 2017). Arkiveret fra originalen den 25. december 2017. Hentet 30. september 2018.
  12. En meget enkel ramme for state-of-the-art Natural Language Processing (NLP): zalandoresearch/flair . - 2019-06-16. Arkiveret fra originalen den 18. juni 2019.
  13. Reproducerbar og hurtig DL & RL. Bidrag til udvikling af katalysator-team/katalysator ved at oprette en konto på GitHub . — 2019-11-25. Arkiveret fra originalen den 22. december 2019.
  14. PyTorch - Om (downlink) . pytorch.org . Hentet 11. juni 2018. Arkiveret fra originalen 15. juni 2018. 
  15. En introduktion til PyTorch - Et simpelt, men kraftfuldt Deep Learning-bibliotek . analyticsvidhya.com . Hentet 11. juni 2018. Arkiveret fra originalen 22. oktober 2019.
  16. Jeremy Howard, Sylvain Gugger. Dyb læring for kodere med fastai og PyTorch . - O'Reilly, 2020. - ISBN 978-1492045526 . Arkiveret 8. oktober 2021 på Wayback Machine
  17. Caffe2 fusionerer med PyTorch (2. april 2018). Hentet 8. oktober 2021. Arkiveret fra originalen 30. marts 2019.

Litteratur

  • McMahan B., Rao D. Introduktion til PyTorch: Deep Learning in Natural Language Processing = Natural Language Processing med PyTorch. Byg intelligente sprogapplikationer ved hjælp af Deep Learning. - Peter , 2020. - 256 s. — ISBN 978-5-4461-1241-8 .

Links