Torch7平台學習 CmdLine 總結

2021-07-06 10:36:32 字數 2838 閱讀 4903

該類主要為了提供一種方便解析引數的框架,對於每個實驗尤其是神經網路中要調引數上。同時還可以把輸出重定向到log檔案中。

一般用法

cmd = torch.cmdline()

cmd:text()

cmd:text()

cmd:text(『training a ****** 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,)

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最好用字串提示

[table] parse(arg)把命令列的引數解析出來

silent()只輸出到檔案,不輸出到螢幕

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

text(string)就是輸出給定的字串到螢幕或者檔案中。

參考資料:

torch7學習筆記(一)cmdline:

cmdline:

Torch7模型訓練

torch7搭建卷積神經網路詳細教程 已經詳細的介紹啦module模組,這裡再次基礎上再給出一些上container transfer functions layers和 layers模組的理解。並在後面給出一些簡單的模型訓練方法。下述程式在itorch qtconsole下執行。主要有四個函式 詳...

Torch7深度學習教程(二)

這是自己定義tensor的值輸入10個整型值,列印price,注意這時它只是乙個有10資料的tensor。對比這兩張,第一張是有10個資料的tensor,第二張是10x1的矩陣,也可以成為列向量 神經網路經常用到 是呼叫了reshape 方法轉換的,它們看著一樣本質上是不一樣的!這時再次呼叫resh...

Torch7深度學習教程(五)

這一節先介紹一些基本操作,然後再對我們前面建立的網路進行訓練 隨即生產一張 1通道,32x32畫素的。為了直觀像是,匯入image包,然後用itorch.image 方法顯示生成的,就是隨即的一些點。用之前建立好的神經網路net呼叫forward 方法輸入隨即生成的得到輸出的結果,如列印出來的形式,...