Torch7 provides a Matlab-like environment for state-of-the-art machine learning algorithms. It is easy to use and provides a very efficient implementation, thanks to an easy and fast scripting language (Lua / LuaJIT) and an underlying C/OpenMP/CUDA implementation.
Torch7's plotting capabilities.
Torch7: A Matlab-like Environment for Machines Learning
Torch7 now has its own portal on Github. If you want to use Torch7, you can easily get started by using these one-line install scripts. Also of interest is this repo, where I've started putting demos, which should help newcomers get started quickly. This site also provides tutorials on supervised/unsupervised machine learning.
In terms of code base, Torch7, and all our 3rd-party modules are hosted on Gihub. Here's a non exhaustive list:
- an image toolbox
- a toolbox for graphs on images
- an unsupervised learning package
- an optimization package (tuned for stochastic problems)
- a matlab-Torch7 interface
- a parallel computing env for Lua
- a camera interface package
- the neuFlow compiler/toolkit
Note: all of the packages listed above are packaged as Torch packages. Given a proper Torch7 install, you can easily install any of them, like this:
$ torch-rocks install image
$ torch-rocks install optim
Torch7 is the official successor of the very cool Torch5, an original work from Ronan Collobert. It is now developed and maintained by Ronan Collobert, Koray Kavukcuoglu and I. Here is a short paper that describes Torch7. Among the cool features of Torch7 are Lua, and speed:
Torch7 is fast. Benchmarks of Torch7 (red stripes) versus Theano (solid green), while training various neural networks architectures with SGD. We considered a single CPU core, OpenMP with 4 cores and GPU alternatives. Performance is given in number of examples processed by second (higher is better). "batch" means 60 examples were fed at the time when training with SGD.