Skip to content

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.

Torch has a distant relationship to PyTorch. PyTorch provides a Python interface to software with similar functionality, but PyTorch is not dependent on Torch. See PyTorch for instructions on using it.

Torch and PyTorch Relationship

For more information on the relationship between Torch and PyTorch, see: * https://stackoverflow.com/questions/44371560/what-is-the-relationship-between-pytorch-and-torch * https://www.quora.com/What-are-the-differences-between-Torch-and-Pytorch * https://discuss.pytorch.org/t/torch-autograd-vs-pytorch-autograd/1671/4

Torch depends on CUDA. In order to use Torch you must first load a CUDA module, like so:

module load cuda torch

Installing Lua packages

Torch comes with the Lua package manager, named luarocks. Run luarocks list to see a list of installed packages.

If you need some package which does not appear on the list, use the following to install it in your own folder:

luarocks install --local --deps-mode=all <package name>

If after this installation you are having trouble finding the packages at runtime, then add the following command right before running "lua your_program.lua" command:

eval $(luarocks path --bin)

LuaRocks Path Configuration

For more details on managing LuaRocks paths, see the LuaRocks wiki on Rocks trees and the Lua libraries path.

By experience, we often find packages that do not install well with luarocks. If you have a package that is not installed in the default module and need help installing it, please contact our Technical support.