Antorcha

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de marzo de 2022; las comprobaciones requieren 6 ediciones .
Antorcha
Tipo de Biblioteca para el aprendizaje automático
Autor Ronan Collober, Koray Cavukcuoglu, Clement Farabe
Escrito en Lua , LuaJIT , C , CUDA y C++
Sistema operativo Linux , Android , Mac OS X , iOS
ultima versión 7.0 ( 1 de septiembre de 2015 )
Licencia BSD
Sitio web antorcha.ch

Torch  es una biblioteca de código abierto para el lenguaje de programación Lua que proporciona una gran cantidad de algoritmos para el aprendizaje profundo y los cálculos científicos. El núcleo está escrito en C , la parte de la aplicación se ejecuta en LuaJIT , la paralelización de los cálculos se admite mediante CUDA y OpenMP . El estilo de trabajar con matrices es similar a Matlab y Octave y, por lo tanto, a veces se lo denomina "entorno similar a Matlab para el aprendizaje automático" [1] .

Torch es utilizado por Facebook AI Research Group [2] , IBM [3] , Yandex [4] y el Idiap Research Institute [5] . Torch se ha ampliado para su uso en Android [6] e iOS [7] . Se ha utilizado para crear implementaciones de hardware de flujos de datos similares a los que se utilizan en las redes neuronales [8] .

Paquetes

El paquete torch implementa la estructura de datos principal de la biblioteca, el tensor n - dimensional , así como los métodos básicos para trabajar con él, operaciones matemáticas y estadísticas estándar, rutinas básicas de álgebra lineal implementadas en C.

El paquete de imágenes está diseñado para trabajar con imágenes e implementa operaciones estándar para ellas: cargar, guardar, rotar, escalar, filtros de matriz y otros.

El paquete compacto optim contiene implementaciones de algoritmos básicos de optimización, como la implementación del método de descenso de gradiente estocástico y similares.

El paquete nn está diseñado para trabajar con redes neuronales , se implementa como un conjunto de submódulos complementarios que definen una forma específica del gráfico de red. Módulos contenedores Sequential, Parallely Concatle permiten crear estructuras complejas en paralelo y en serie. Hay módulos que definen funciones de activación, como Tanhy Sigmoid. Los módulos simples, por ejemplo Linear, son Reshapelos Maxcomponentes básicos del gráfico y le permiten implementar ciertas transformaciones. Módulos para redes convolucionales  - Temporal, Spatialy Volumetricotros. Métodos forward()e backward()implementar métodos de propagación hacia adelante y hacia atrás de un error .

El paquete nngraph proporciona herramientas para construir arquitecturas de redes neuronales más complejas.

Además, Torch tiene una gran cantidad de otros módulos incorporados para admitir bibliotecas de terceros, un paquete especial para un soporte más eficiente para la programación orientada a objetos , un módulo para la verificación previa de argumentos, así como sus propias implementaciones de hash . , números racionales, corrientes.

Muchos paquetes se utilizan con Torch además de los paquetes oficiales anteriores. Se enumeran en la hoja de trucos de la antorcha. Estos paquetes adicionales proporcionan una amplia gama de utilidades, como concurrencia, E/S asíncrona, procesamiento de imágenes, etc. Se pueden instalar usando LuaRocks, el administrador de paquetes de Lua que también se incluye con la distribución de Torch. [9]

Véase también

Notas

  1. Torch7: un entorno similar a Matlab para el aprendizaje automático  // Sistemas de procesamiento de información neuronal. — 2011.
  2. Entrevista de KDnuggets con Yann LeCun, experto en aprendizaje profundo, director de Facebook AI Lab
  3. Noticias de piratas informáticos
  4. Página de Facebook de Yann Lecun
  5. Instituto de Investigación IDIAP: Antorcha
  6. Repositorio GitHub Torch-android
  7. Repositorio GitHub Torch-ios
  8. NeuFlow: un procesador de flujo de datos reconfigurable en tiempo de ejecución para Vision
  9. Hoja de trucos torch/torch7  Wiki . GitHub . Recuperado: 19 Agosto 2022.

Enlaces