Fakkel

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 16. marts 2022; checks kræver 6 redigeringer .
Fakkel
Type Bibliotek til maskinlæring
Forfatter Ronan Collober, Koray Cavukcuoglu, Clement Farabe
Skrevet i Lua , LuaJIT , C , CUDA og C++
Operativ system Linux , Android , Mac OS X , iOS
nyeste version 7.0 ( 1. september 2015 )
Licens BSD
Internet side torch.ch

Torch  er et open source- bibliotek til programmeringssproget Lua , der giver et stort antal algoritmer til dyb læring og videnskabelige beregninger. Kernen er skrevet i C , applikationsdelen udføres i LuaJIT , parallelisering af beregninger understøttes ved hjælp af CUDA og OpenMP . Stilen for at arbejde med arrays ligner Matlab og Octave , og bliver derfor nogle gange omtalt som et "Matlab-lignende miljø for maskinlæring" [1] .

Torch bruges af Facebook AI Research Group [2] , IBM [3] , Yandex [4] og Idiap Research Institute [5] . Torch er blevet udvidet til brug på Android [6] og iOS [7] . Det er blevet brugt til at skabe hardwareimplementeringer af datastrømme svarende til dem, der bruges i neurale netværk [8] .

Pakker

Fakkelpakken implementerer bibliotekets hoveddatastruktur - den n - dimensionelle tensor , såvel som de grundlæggende metoder til at arbejde med den - standard matematiske og statistiske operationer, grundlæggende lineære algebra-rutiner implementeret i C.

Billedpakken er designet til at arbejde med billeder og implementerer standardhandlinger for dem: indlæsning, lagring, rotation, skalering, matrixfiltre og andre.

Den kompakte pakkeoptimering indeholder implementeringer af grundlæggende optimeringsalgoritmer, såsom implementeringen af ​​den stokastiske gradientnedstigningsmetode og lignende.

nn - pakken er designet til at arbejde med neurale netværk , den er implementeret som et sæt plug-in-undermoduler, der definerer en specifik form for netværksgrafen. Containermoduler Sequentialog Parallelgiver Concatdig mulighed for at skabe komplekse parallelle og serielle strukturer. Der er moduler, der definerer aktiveringsfunktioner, såsom Tanhog Sigmoid. Simple moduler, for eksempel Linear, Reshapeog Maxer de grundlæggende komponenter i grafen og giver dig mulighed for at implementere visse transformationer. Moduler til foldningsnetværk  - Temporal, Spatialog Volumetricandre. Metoder forward()og backward()implementeringsmetoder til frem- og tilbageudbredelse af en fejl .

Pakken nngraph giver værktøjer til at bygge mere komplekse neurale netværksarkitekturer.

Derudover har Torch en lang række andre indbyggede moduler til at understøtte tredjeparts biblioteker, en speciel pakke til mere effektiv understøttelse af objektorienteret programmering , et modul til forhåndskontrol af argumenter, samt egne implementeringer af hashing . , rationelle tal, vandløb.

Mange pakker bruges sammen med Torch andre end ovenstående officielle pakker. De er opført i fakkelsnydearket. Disse ekstra pakker giver en bred vifte af hjælpeprogrammer såsom samtidighed, asynkron I/O, billedbehandling og så videre. De kan installeres ved hjælp af LuaRocks, Lua-pakkehåndteringen, der også er inkluderet i Torch-distributionen. [9]

Se også

Noter

  1. Torch7: Et Matlab-lignende miljø for maskinlæring  // Neurale informationsbehandlingssystemer. – 2011.
  2. KDnuggets Interview med Yann LeCun, Deep Learning Expert, direktør for Facebook AI Lab
  3. Hacker News
  4. Yann Lecuns Facebook-side
  5. IDIAP Research Institute: Torch
  6. Torch-android GitHub-lager
  7. Torch-ios GitHub repository
  8. NeuFlow: En Runtime Reconfigurable Dataflow Processor til Vision
  9. Cheatsheet torch/torch7  Wiki . GitHub . Hentet: 19. august 2022.

Links