Fackla

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 mars 2022; kontroller kräver 6 redigeringar .
Fackla
Sorts Bibliotek för maskininlärning
Författare Ronan Collober, Koray Cavukcuoglu, Clement Farabe
Skrivet i Lua , LuaJIT , C , CUDA och C++
Operativ system Linux , Android , Mac OS X , iOS
senaste versionen 7.0 ( 1 september 2015 )
Licens BSD
Hemsida torch.ch

Torch  är ett bibliotek med öppen källkod för programmeringsspråket Lua som tillhandahåller ett stort antal algoritmer för djupinlärning och vetenskapliga beräkningar. Kärnan är skriven i C , applikationsdelen exekveras i LuaJIT , parallellisering av beräkningar stöds med hjälp av CUDA och OpenMP . Stilen att arbeta med arrayer liknar Matlab och Octave , och kallas därför ibland för en "Matlab-liknande miljö för maskininlärning" [1] .

Torch används av Facebook AI Research Group [2] , IBM [3] , Yandex [4] och Idiap Research Institute [5] . Torch har utökats för användning på Android [6] och iOS [7] . Det har använts för att skapa hårdvaruimplementationer av dataflöden liknande de som används i neurala nätverk [8] .

Paket

Fackelpaketet implementerar bibliotekets huvuddatastruktur - den n - dimensionella tensorn , såväl som de grundläggande metoderna för att arbeta med den - standard matematiska och statistiska operationer, grundläggande linjära algebra-rutiner implementerade i C.

Bildpaketet är utformat för att fungera med bilder och implementerar standardoperationer för dem: ladda, spara, rotera, skala, matrisfilter och annat.

Det kompakta paketoptimeringen innehåller implementeringar av grundläggande optimeringsalgoritmer, såsom implementeringen av den stokastiska gradientnedstigningsmetoden och liknande.

Paketet nn är designat för att fungera med neurala nätverk , det är implementerat som en uppsättning plug-in submoduler som definierar en specifik form av nätverksgrafen. Containermoduler Sequentialoch låter dig skapa komplexa parallella och seriella strukturer Parallel. ConcatDet finns moduler som definierar aktiveringsfunktioner, såsom Tanhoch Sigmoid. Enkla moduler, till exempel Linear, Reshapeoch Maxär de grundläggande komponenterna i grafen och låter dig implementera vissa transformationer. Moduler för konvolutionella nätverk  - Temporal, Spatialoch Volumetricandra. Metoder forward()och backward()implementera metoder för att sprida ett fel framåt och bakåt .

Paketet nngraph tillhandahåller verktyg för att bygga mer komplexa neurala nätverksarkitekturer.

Dessutom har Torch ett stort antal andra inbyggda moduler för att stödja tredjepartsbibliotek, ett specialpaket för effektivare stöd för objektorienterad programmering , en modul för förkontroll av argument, samt sina egna implementeringar av hashing , rationella tal, strömmar.

Många paket används med Torch andra än ovanstående officiella paket. De är listade i facklans fuskblad. Dessa ytterligare paket tillhandahåller ett brett utbud av verktyg som samtidighet, asynkron I/O, bildbehandling och så vidare. De kan installeras med LuaRocks, Lua-pakethanteraren som också ingår i Torch-distributionen. [9]

Se även

Anteckningar

  1. Torch7: En Matlab-liknande miljö för maskininlärning  // Neural Information Processing Systems. — 2011.
  2. KDnuggets intervju med Yann LeCun, Deep Learning Expert, direktör för Facebook AI Lab
  3. Hacker News
  4. Yann Lecuns Facebook-sida
  5. IDIAP Research Institute: Torch
  6. Torch-android GitHub-förråd
  7. Torch-ios GitHub-förråd
  8. NeuFlow: En Runtime Reconfigurable Dataflow Processor för Vision
  9. Cheatsheet torch/torch7  Wiki . GitHub . Hämtad: 19 augusti 2022.

Länkar