Pochodeň

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 16. března 2022; kontroly vyžadují 6 úprav .
Pochodeň
Typ Knihovna pro strojové učení
Autor Ronan Collober, Koray Cavukcuoglu, Clement Farabe
Zapsáno v Lua , LuaJIT , C , CUDA a C++
Operační systém Linux , Android , Mac OS X , iOS
Nejnovější verze 7.0 ( 1. září 2015 )
Licence BSD
webová stránka pochodeň.ch

Torch  je open source knihovna pro programovací jazyk Lua , která poskytuje velké množství algoritmů pro hluboké učení a vědecké výpočty. Jádro je napsáno v C , aplikační část je vykonávána v LuaJIT , paralelizace výpočtů je podporována pomocí CUDA a OpenMP . Styl práce s poli je podobný Matlabu a Octave , a proto je někdy označován jako „prostředí podobné Matlabu pro strojové učení“ [1] .

Torch používají Facebook AI Research Group [2] , IBM [3] , Yandex [4] a Idiap Research Institute [5] . Torch byl rozšířen pro použití v systémech Android [6] a iOS [7] . Byl použit k vytvoření hardwarových implementací datových toků podobných těm, které se používají v neuronových sítích [8] .

Balíčky

Balíček pochodní implementuje hlavní datovou strukturu knihovny - n - rozměrný tenzor a také základní metody pro práci s ním - standardní matematické a statistické operace, základní rutiny lineární algebry implementované v C.

Balíček obrázků je navržen pro práci s obrázky a implementuje pro ně standardní operace: načítání, ukládání, otáčení, škálování, maticové filtry a další.

Kompaktní balíček optim obsahuje implementace základních optimalizačních algoritmů, jako je implementace metody stochastického gradientu a podobně.

Balíček nn je navržen pro práci s neuronovými sítěmi , je implementován jako sada zásuvných submodulů, které definují konkrétní podobu síťového grafu. Kontejnerové moduly Sequentiala umožňují vytvářet složité paralelní a sériové struktury Parallel. ConcatExistují moduly, které definují aktivační funkce, jako jsou Tanha Sigmoid. Jednoduché moduly, například Linear, Reshapea Maxjsou základními součástmi grafu a umožňují implementovat určité transformace. Moduly pro konvoluční sítě  - Temporal, Spatiala Volumetricdalší. Metody forward()a backward()implementace metod dopředného a zpětného šíření chyby .

Balíček nngraph poskytuje nástroje pro budování složitějších architektur neuronových sítí.

Kromě toho má Torch velké množství dalších vestavěných modulů pro podporu knihoven třetích stran, speciální balíček pro efektivnější podporu objektově orientovaného programování , modul pro předběžnou kontrolu argumentů a také vlastní implementace hashování . , racionální čísla, proudy.

S Torchem se používá mnoho jiných balíčků, než jsou výše uvedené oficiální balíčky. Jsou uvedeny v cheat sheetu na pochodeň. Tyto dodatečné balíčky poskytují širokou škálu nástrojů, jako je souběžnost, asynchronní I/O, zpracování obrazu a tak dále. Lze je nainstalovat pomocí LuaRocks, správce balíčků Lua, který je také součástí distribuce Torch. [9]

Viz také

Poznámky

  1. Torch7: Prostředí pro strojové učení podobné Matlabu  // Neural Information Processing Systems. — 2011.
  2. Rozhovor KDnuggets s Yannem LeCunem, expertem na hluboké učení, ředitelem laboratoře Facebook AI Lab
  3. Hacker News
  4. Facebooková stránka Yanna Lecuna
  5. Výzkumný ústav IDIAP: Pochodeň
  6. Úložiště Torch-android GitHub
  7. GitHub úložiště Torch-ios
  8. NeuFlow: Runtime Reconfigurable Dataflow Processor for Vision
  9. Cheatsheet pochodeň/pochodeň7  Wiki . GitHub . Staženo: 19. srpna 2022.

Odkazy