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]
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]
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.
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.
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.
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) ![]() | |
---|---|
Foto, video og lyd | |
Tematiske steder |
Deep learning programmer | |
---|---|
gratis software |
|
Ikke-fri software |
|
|