###Torch CmdLine
此類提供了一個參數解析架構,當需要運作依賴于指令行中傳遞的不同參數的實驗設定時,該架構非常有用。 此類還将覆寫預設列印功能,以将所有輸出同時指向日志檔案和螢幕。
一段執行個體代碼
cmd = torch.CmdLine()
cmd:text()
cmd:text()
cmd:text('Training a simple network')
cmd:text()
cmd:text('Options')
cmd:option('-seed',123,'initial random seed')
cmd:option('-booloption',false,'boolean option')
cmd:option('-stroption','mystring','string option')
cmd:text()
-- parse input params
params = cmd:parse(arg)
params.rundir = cmd:string('experiment', params, {dir=true})
paths.mkdir(params.rundir)
-- create log file
cmd:log(params.rundir .. '/log', params)
輸出如下所示:
[program started on Tue Jan 10 15:33:49 2012]
[command line arguments]
booloption false
seed 123
rundir experiment
stroption mystring
[----------------------]
booloption false
seed 123
rundir experiment
stroption mystring
該輸出結果也會儲存在‘
experiment/log’下,如果預設參數改變,‘rundir
’用于顯示這些改變。
運作如下指令'''# th myscript.lua -seed 456 -stroption mycustomstring'''
輸出如下所示'''
[program started on Tue Jan 10 15:36:55 2012]
[command line arguments]
booloption false
seed 456
rundir experiment,seed=456,stroption=mycustomstring
stroption mycustomstring
[----------------------]
booloption false
seed 456
rundir experiment,seed=456,stroption=mycustomstring
stroption mycustomstring
##cmd.option(name, default, help)
将default參數存儲在name中
##cmd.addTime([name] [,format])
用于顯示時間
##cmd.text(string)
記錄自定義文本資訊
##cmd:parse(arg or {})
用于将參數儲存在table中,并傳回,arg為torch預設表格