###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默认表格