Fáklya

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. március 16-án felülvizsgált verziótól ; az ellenőrzések 6 szerkesztést igényelnek .
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] .

Csomagok

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]

Lásd még

Jegyzetek

  1. Torch7: Matlab-szerű környezet a gépi tanuláshoz  // Neurális információfeldolgozó rendszerek. – 2011.
  2. KDnuggets interjú Yann LeCunnal, a mély tanulási szakértővel, a Facebook AI Lab igazgatójával
  3. Hacker News
  4. Yann Lecun Facebook-oldala
  5. IDIAP Kutatóintézet: Fáklya
  6. Torch-android GitHub adattár
  7. Torch-ios GitHub adattár
  8. NeuFlow: Futásidejű újrakonfigurálható adatfolyam-processzor a Visionhoz
  9. Cheatsheet torch/torch7  Wiki . GitHub . Letöltve: 2022. augusztus 19.

Linkek