Torch – Scientific computing for LuaJIT
Torch | Scientific computing for LuaJIT.




What is Torch?

Torch is a scientific computing framework with wide support for machine learning algorithms that puts GPUs first. 
It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.

A summary of core features:


  a powerful N-dimensional array
  lots of routines for indexing, slicing, transposing, …
  amazing interface to C, via LuaJIT
  linear algebra routines
  neural network, and energy-based models
  numeric optimization routines
  Fast and efficient GPU support
  Embeddable, with ports to iOS and Android backends


Why Torch?

The goal of Torch is to have maximum flexibility and speed in building your scientific algorithms while making the process extremely simple. Torch comes with a large ecosystem of community-driven packages in machine learning, computer vision, signal processing, parallel processing, image, video, audio and networking among others, and builds on top of the Lua community.

At the heart of Torch are the popular neural network and optimization libraries which are simple to use, while having maximum flexibility in implementing complex neural network topologies. You can build arbitrary graphs of neural networks, and parallelize them over CPUs and GPUs in an efficient manner.

Using Torch

Start with our Getting Started guide to download and try Torch yourself. Torch is open-source, so you can also start with the code on the GitHub repo.

Torch is constantly evolving: it is already used within Facebook, Google, Twitter, NYU, IDIAP, Purdue and several other companies and research labs.




