天天看點

Torch CmdLine

###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預設表格