Fáklya | |
---|---|
Típusú | Könyvtár a gépi tanuláshoz |
Szerző | Ronan Collober, Koray Cavukcuoglu, Clement Farabe |
Beírva | Lua , LuaJIT , C , CUDA és C++ |
Operációs rendszer | Linux , Android , Mac OS X , iOS |
legújabb verzió | 7.0 ( 2015. szeptember 1. ) |
Engedély | BSD |
Weboldal | fáklya.ch |
A Torch egy nyílt forráskódú könyvtár a Lua programozási nyelvhez, amely számos algoritmust kínál a mélytanuláshoz és a tudományos számításokhoz. A mag C nyelven íródott , az alkalmazási rész LuaJIT -ben fut, a számítások párhuzamosítását CUDA és OpenMP támogatja . A tömbökkel végzett munka stílusa hasonló a Matlabhoz és az Octave -hoz, ezért néha "Matlab-szerű gépi tanulási környezetnek" nevezik [1] .
A Torch-ot a Facebook AI Research Group [2] , az IBM [3] , a Yandex [4] és az Idiap Research Institute [5] használja . A Torch-t kibővítették Android [6] és iOS [7] rendszerre . A neurális hálózatokban használthoz hasonló adatfolyamok hardveres implementációinak létrehozására használták [8] .
A fáklyacsomag megvalósítja a könyvtár fő adatstruktúráját - az n - dimenziós tenzort , valamint a vele való munkavégzés alapvető módszereit - szabványos matematikai és statisztikai műveleteket, alapvető lineáris algebrai rutinokat a C-ben.
A képcsomagot úgy tervezték, hogy képekkel működjön, és szabványos műveleteket hajt végre velük: betöltés, mentés, elforgatás, méretezés, mátrixszűrők és egyebek.
A kompakt optim csomag alapvető optimalizálási algoritmusok implementációit tartalmazza, mint például a sztochasztikus gradiens süllyedés módszerének megvalósítását és hasonlókat.
Az nn csomagot neurális hálózatokkal való együttműködésre tervezték, beépülő modulok halmazaként valósítják meg, amelyek meghatározzák a hálózati gráf egy meghatározott formáját. Container moduls Sequential, Parallelés Concatlehetővé teszik összetett párhuzamos és soros struktúrák létrehozását. Vannak olyan modulok, amelyek aktiválási funkciókat határoznak meg, mint például a Tanhés Sigmoid. Az egyszerű modulok, például Lineara Reshapeés Maxa gráf alapvető összetevői, és lehetővé teszik bizonyos átalakítások végrehajtását. Modulok konvolúciós hálózatokhoz - Temporal, Spatialés Volumetricmások. A hiba előre- és visszaterjedésének módszerei forward()és backward()megvalósítási módjai .
Az nngraph csomag eszközöket biztosít bonyolultabb neurális hálózati architektúrák felépítéséhez.
Ezenkívül a Torch számos egyéb beépített modullal rendelkezik a harmadik féltől származó könyvtárak támogatására, egy speciális csomaggal az objektum-orientált programozás hatékonyabb támogatásához , egy modullal az argumentumok előzetes ellenőrzéséhez, valamint a saját hash -megvalósításaival. , racionális számok, folyamok.
A fenti hivatalos csomagokon kívül sok csomagot használnak a Torch-hoz. Fel vannak sorolva a fáklya csalólapján. Ezek a kiegészítő csomagok a segédprogramok széles skáláját kínálják, például a párhuzamosságot, az aszinkron I/O-t, a képfeldolgozást és így tovább. Telepíthetők a LuaRocks, a Lua csomagkezelő használatával, amely szintén a Torch disztribúció része. [9]
Mélytanulási programok | |
---|---|
ingyenes szoftver |
|
Nem ingyenes szoftver |
|
|
Lua | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|