您的位置:首页 > 编程语言 > Lua

Torch7平台学习_CmdLine()总结

2015-11-05 10:20 441 查看
  该类主要为了提供一种方便解析参数的框架,对于每个实验尤其是神经网络中要调参数上。同时还可以把输出重定向到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)


把上述指令保存在myscript.lua文件中,在命令行下执行下面语句:

# th myscript.lua


可得到如下结果:

[program started on Thu Nov 5 10:21:59 2015]

[command line arguments]

stroption mystring

booloption false

seed 123

rundir experiment

[———————-]

该结果会被保存在同文件夹下experiment/log里.

当在命令行中修改options的参数时,则不会采用缺省值,而且会生成rundir来反应这些参数设置.

th myscript.lua -seed 456 -stroption mycustomstring


结果如下:

stroption mycustomstring mystring

seed 456 123

[program started on Thu Nov 5 10:29:05 2015]

[command line arguments]

stroption mycustomstring

booloption false

seed 456

rundir experiment,seed=456,stroption=mycustomstring

[———————-]

该输出结果会记录在experiment,seed=456,stroption=mycustomstring/log中.

%------------------------------%

增加时间: addTime([name] [,format])

作用:在记录文件(log file)中增加时间的’前缀’,日期格式和os.date()相同,值得注意的是,该前缀只添加在记录文件中,不在屏幕输出.名字的缺省值为空,默认格式为’%F %T’.

举例:在刚才的myscript.lua文件中添加语句:

cmd:addTime('your project name','%F %T')


再执行

# th myscript.lua


可得到如下结果:

2015-11-05 10:40:33[your project name]: [program started on Thu Nov 5 10:40:33 2015]

2015-11-05 10:40:33[your project name]: [command line arguments]

2015-11-05 10:40:33[your project name]: stroption mystring

2015-11-05 10:40:33[your project name]: booloption false

2015-11-05 10:40:33[your project name]: seed 123

2015-11-05 10:40:33[your project name]: rundir experiment

2015-11-05 10:40:33[your project name]: [———————-]

%------------------------------%

其他的一些函数:

log(filename,parameter_table) 把log输出到给定的文件名

option(name,default,help) 把参数的名字(以’-‘开头)和默认值给定,后面的help最好用字符串提示

parse(arg) 把命令行的参数解析出来

silent() 只输出到文件,不输出到屏幕

[string] string(prefix,params,ignore) 字符串合成

text(string) 就是输出给定的字符串到屏幕或者文件中。

参考资料:

Torch7学习笔记(一)CmdLine: http://www.07net01.com/2015/09/931385.html

CmdLine:http://torch7.readthedocs.org/en/latest/cmdline/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lua torch