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 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]
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.
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 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.
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)În rețelele sociale | |
---|---|
Foto, video și audio | |
Site-uri tematice |
Programe de învățare profundă | |
---|---|
software gratuit |
|
Software care nu este gratuit |
|
|