4

我将所有的火炬包安装到我的本地文件火炬发行版中(本教程之后)。我想用来Zerobrane调试我的代码。Zerobrane找不到我本地的火炬路径。如何设置Zerobrane环境变量的本地路径。
我尝试将 path.lua = "${prefix}/torch-distro/install/bin/luajit" 添加到 user.lua 中。但它不能工作

4

2 回答 2

2

以下方法适用于linux平台:

  1. 通过将以下代码添加到 user.lua 来配置 luajit 解释器

    path.lua = "your_path/luajit"

  2. 通过将以下代码添加到 /opt/zbsstudio/lualibs/mobdebug/mobdebug.lua 来配置环境变量

    package.path = package.path .. ';my_path/?/init.lua' package.cpath = package.cpath .. ';my_path/?.so'

于 2014-12-04T08:57:43.730 回答
0

(这些说明适用于 Windows 版本的 Torch,但假设路径已修改,这些步骤应该适用于 Linux/OSX 版本)。

假设 Torch 安装在 中C:\Program Files\Torch,那么要让它作为 ZeroBrane Studio (ZBS) 的外部解释器运行,您需要添加path.lua=[[C:\Program Files\Torch\bin\torch-lua]]<ZBS>\cfg\user.lua配置文件中。

Project | Run现在,当您从 ZBS(或)执行 Lua 脚本时F6,它将在 Torch 环境中运行:

local torch = require 'torch'
local data = torch.Tensor{
   {68, 24, 20},
   {74, 26, 21},
   {80, 32, 24}
}
print(data)

但是,要在 Windows 上进行调试还需要几个步骤(在其他系统上可能不需要这些步骤,但我还没有在那里测试过调试)。ZBS 正在使用 luasocket,它是针对 编译的lua51.dll,但 Torch 正在使用libtorch-lua.dll,因此将 luasocket 加载到您的 (Torch) 进程中可能会使其崩溃。要使其工作,您需要构建一个代理 DLL 并将其放入您的Torch/bin文件夹中。

要构建代理 DLL,您需要编译 Visual Studio C++ 或 mingw/gcc,并且可以按照以下步骤操作:

  1. 从Lua Proxy DLL3 page获取mkforwardlib.lua(VS) 或mkforwardlib-gcc.lua(mingw/gcc) 脚本。
  2. 运行lua mkforwardlib.lua libtorch-lua lua51 X86;如果一切顺利,这将lua51.dll在当前文件夹中生成文件。
  3. 将文件复制lua51.dllTorch\bin文件夹。

现在您应该能够使用Project | Start Debugging.

于 2014-10-17T05:44:08.903 回答