Torch 入门 在 GitHub 上编辑

安装 Torch

我们为 Mac OS X 和 Ubuntu 12+ 提供了一个简单的 Torch 安装过程。

可以通过运行以下三个命令将 Torch 安装到您的主文件夹 ~/torch 中。

# in a terminal, run the commands WITHOUT sudo
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; bash install-deps;
./install.sh

第一个脚本 安装 LuaJIT 和 Torch 所需的基本包依赖项。第二个脚本 安装 LuaJITLuaRocks,然后使用 LuaRocks(Lua 包管理器)安装核心包,如 torchnnpaths,以及其他一些包。

该脚本将 torch 添加到您的 PATH 变量中。您只需要运行它一次来刷新您的环境变量。安装脚本将检测您当前的 shell 并修改正确配置文件中的路径。

# On Linux with bash
source ~/.bashrc
# On Linux with zsh
source ~/.zshrc
# On OSX or in Linux with none of the above.
source ~/.profile

如果您需要卸载 torch,只需运行以下命令。

rm -rf ~/torch

如果您想使用 Lua 5.2 而不是 LuaJIT 安装 torch,只需运行

git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch

# clean old torch installation
./clean.sh
# optional clean command (for older torch versions)
# curl -s https://raw.githubusercontent.com/torch/ezinstall/master/clean-old.sh | bash

# https://github.com/torch/distro : set env to use lua
TORCH_LUA_VERSION=LUA52 ./install.sh

可以使用 Luarocks 从命令行安装新包。

# run luarocks WITHOUT sudo
$ luarocks install image
$ luarocks list

安装完成后,您就可以使用命令 th 从您的提示符中运行 torch 了!

学习和尝试使用 Torch 的最简单方法是启动一个交互式会话(也称为 torch 读取-求值-打印循环或 TREPL)。

$ th
 
  ______             __   |  Torch7                                   
 /_  __/__  ________/ /   |  Scientific computing for Lua.         
  / / / _ \/ __/ __/ _ \  |                                           
 /_/  \___/_/  \__/_//_/  |  https://github.com/torch   
                          |  https://torch.org.cn            
			  
th> torch.Tensor{1,2,3}
 1
 2
 3
[torch.DoubleTensor of dimension 3]

th>

要退出交互式会话,请键入两次 ^c - 控制键和 c 键一起按下两次,或键入 os.exit()。用户输入完一个完整的表达式,例如 1 + 2,并按 Enter 键后,交互式会话会对表达式求值并显示其值。

要对源文件 file.lua 中的表达式进行求值,请写入 dofile "file.lua"

要以非交互方式运行文件中的代码,可以将其作为 th 命令的第一个参数:

$ th file.lua

有各种方法来运行 Lua 代码并提供选项,类似于 perlruby 程序。

 $ th -h
Usage: th [options] [script.lua [arguments]]

Options:
  -l name            load library name
  -e statement       execute statement
  -h,--help          print this help
  -a,--async         preload async (libuv) and start async repl (BETA)
  -g,--globals       monitor global variables (print a warning on creation/access)
  -gg,--gglobals     monitor global variables (throw an error on creation/access)
  -x,--gfx           start gfx server and load gfx env
  -i,--interactive   enter the REPL after executing a script

TREPL 充满了方便的功能,例如

  • 嵌套命名空间的 Tab 补全
  • 磁盘文件的 Tab 补全(打开字符串时)
  • 历史记录(在会话之间保存)
  • 漂亮打印(表格内省和着色)
  • 在求值后自动打印(可以使用 ; 停止)
  • 每个命令都被分析,计时结果会被报告
  • 不需要使用 ‘=’ 打印
  • 可以使用:? funcname 获取帮助
  • 自述帮助:?
  • 使用:$ cmd 运行 shell 命令(例如:$ ls

后续步骤

除了本手册外,还有其他一些资源可以帮助新用户入门,所有这些资源都在本 速查表 中汇总。

该速查表提供了教程、演示、包摘要以及大量有用信息的链接。

如果您有任何问题,请加入 Torch 用户邮件列表