Linuxシェルからth
コマンドでTorchスクリプトを実行しています。Torch、 "dofile"と入力パラメータを使ってスクリプトを実行する方法は?
th torch_script.lua input_parameter1 input_parameter2
は、今私はトーチシェルを介してこのスクリプトを実行したいと思います:このトーチスクリプトは、2つの入力パラメータを取ります。これを行うには、dofile
コマンドを使用する必要があります。しかし、この場合、入力パラメータinput_parameter1
とinput_parameter2
をどのように渡すかわかりません。
Torchでは、dofile
実行コマンドに入力パラメータを渡す方法はありますか?
EDIT:ここで私が実行しようとしているコードです。私は多分あなたは私に言うことができ、それを適切に実行することはできないんだけど、なぜ
external_command.lua内容:
$th
th> tempFunc = load "external_command.lua"
th> tempFunc("try")
[string "_RESULT={tempFunc("try")}"]:1: attempt to call global 'tempFunc' (a nil value)
stack traceback:
[string "_RESULT={tempFunc("try")}"]:1: in main chunk
[C]: in function 'xpcall'
/home/davide/torch/install/share/lua/5.1/trepl/init.lua:630: in function 'repl'
...vide/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:185: in main chunk
[C]: at 0x004064d0
EDIT 2:シェルで
local arg = arg or {...}
input_parameter = arg[1]
print("input_parameter ".. input_parameter);
:私はTonyHsuによって投稿されたソリューションを試しましたが、とにかく動作しません。 ここに私がやっていることがあります。
私は次のコードを含むrunfile.lua
呼ばれるスクリプト内の関数runfile()
を定義:
function runfile(scriptName, input)
opt = nil
arg = input
dofile(scriptName)
end
そして私は以前にこの関数のscriptName
入力パラメータとして定義external_command.lua
スクリプト使用:
th> scriptName = "external_command.lua"
th> require './runfile.lua'
th> runfile(scriptName, "Hello world");
を
残念ながら、この場合もエラーが表示されます。
external_command.lua:4: attempt to concatenate global 'input_parameter' (a nil value)
stack traceback:
external_command.lua:4: in main chunk
[C]: in function 'dofile'
/home/davide/torch/temp/runfile.lua:4: in function 'runfile'
[string "runfile(scriptName, "Hello world");"]:1: in main chunk
[C]: in function 'xpcall'
/home/davide/torch/install/share/lua/5.1/trepl/init.lua:648: in function 'repl'
...vide/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:185: in main chunk
[C]: at 0x004064d0
あなたは
loadfile
を使用
代わりに 'load'の' loadfile' –
感謝を使用し@EgorSkriptunoffが、それは同じように動作しません。同じエラー... –
誰かが助けることができますか? –