すべてのtorchパッケージをローカル ファイル torch-distro にインストールします (このチュートリアルが続きます)。Zerobrane
コードのデバッグに使用したい。Zerobrane
トーチのローカル パスが見つかりません。Zerobrane
ローカル パスを環境変数に設定するにはどうすればよいですか。
user.lua に path.lua = "${prefix}/torch-distro/install/bin/luajit" を追加しようとしました。しかし、それは機能しません
2 に答える
次の方法は、Linux プラットフォームで機能します。
次のコードを user.lua に追加して、luajit インタープリターを構成します。
path.lua = "your_path/luajit"
次のコードを /opt/zbsstudio/lualibs/mobdebug/mobdebug.lua に追加して、環境変数を構成します。
package.path = package.path .. ';my_path/?/init.lua' package.cpath = package.cpath .. ';my_path/?.so'
(これらの手順は Torch の Windows バージョン用ですが、パスが変更されていると仮定すると、手順は Linux/OSX バージョンでも機能するはずです)。
Torch が にインストールされているとしましょうC:\Program Files\Torch
。次に、ZeroBrane Studio (ZBS) から外部インタープリターとして実行するには、構成ファイルに追加path.lua=[[C:\Program Files\Torch\bin\torch-lua]]
する必要があります。<ZBS>\cfg\user.lua
これで、ZBS (Project | Run
またはF6
) から Lua スクリプトを実行すると、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) プロセスにロードするとクラッシュする可能性があります。Torch/bin
これを機能させるには、プロキシ DLL を作成してフォルダーに配置する必要があります。
プロキシ DLL をビルドするには、Visual Studio C++ または mingw/gcc をコンパイルする必要があり、次の手順に従うことができます。
- Lua Proxy DLL3 ページから
mkforwardlib.lua
(VS) またはmkforwardlib-gcc.lua
(mingw/gcc) スクリプトを取得します。 - 実行します
lua mkforwardlib.lua libtorch-lua lua51 X86
。すべてがうまくいけばlua51.dll
、現在のフォルダーにファイルが生成されます。 lua51.dll
ファイルをTorch\bin
フォルダにコピーします。
これで、 を使用して Torch スクリプトをデバッグできるはずですProject | Start Debugging
。