该类主要为了提供一种方便解析参数的框架,对于每个实验尤其是神经网络中要调参数上。同时还可以把输出重定向到log文件中。
一般用法:
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()
params = cmd:parse(arg)
params.rundir = cmd:string(‘experiment’,params,{dir=true})
paths.mkdir(params.rundir)
cmd:log(params.rundir .. ‘/log’, params)
增加时间
addTime([name] [,format])
对每个log前都加上时间信息:
log(filename,parameter_table) 把log输出到给定的文件名
option(name,default,help) 把参数的名字(以’-‘开头)和默认值给定,后面的help最好用字符串提示
[table] parse(arg) 把命令行的参数解析出来
silent() 只输出到文件,不输出到屏幕
[string] string(prefix,params,ignore) 字符串合成
text(string) 就是输出给定的字符串到屏幕或者文件中。
cmd:addTime(‘your project name‘,‘%F %T’)