require 'kaldi_io'
require 'kaldi_seq'
gconf = {lrate = 0.00001, wcost = 0, momentum = 0.0,
cumat_type = nerv.CuMatrixFloat,
mmat_type = nerv.MMatrixFloat,
frm_ext = 5,
tr_scp = "ark,o:/slfs6/users/ymz09/kaldi/src/featbin/copy-feats scp:/slfs5/users/ymz09/chime/baseline/ASR/exp/tri4a_dnn_tr05_multi_enhanced_mmi/train.scp ark:- |",
initialized_param = {"/slfs6/users/ymz09/nerv-project/nerv/nerv-speech/kaldi_seq/test/chime3_init_mmi.nerv",
"/slfs6/users/ymz09/nerv-project/nerv/nerv-speech/kaldi_seq/test/chime3_global_transf_mmi.nerv"},
debug = false}
function make_layer_repo(param_repo)
local layer_repo = nerv.LayerRepo(
{
-- global transf
["nerv.BiasLayer"] =
{
blayer1 = {{bias = "bias1"}, {dim_in = {440}, dim_out = {440}}},
blayer2 = {{bias = "bias2"}, {dim_in = {440}, dim_out = {440}}}
},
["nerv.WindowLayer"] =
{
wlayer1 = {{window = "window1"}, {dim_in = {440}, dim_out = {440}}},
wlayer2 = {{window = "window2"}, {dim_in = {440}, dim_out = {440}}}
},
-- biased linearity
["nerv.AffineLayer"] =
{
affine0 = {{ltp = "affine0_ltp", bp = "affine0_bp"},
{dim_in = {440}, dim_out = {2048}}},
affine1 = {{ltp = "affine1_ltp", bp = "affine1_bp"},
{dim_in = {2048}, dim_out = {2048}}},
affine2 = {{ltp = "affine2_ltp", bp = "affine2_bp"},
{dim_in = {2048}, dim_out = {2048}}},
affine3 = {{ltp = "affine3_ltp", bp = "affine3_bp"},
{dim_in = {2048}, dim_out = {2048}}},
affine4 = {{ltp = "affine4_ltp", bp = "affine4_bp"},
{dim_in = {2048}, dim_out = {2048}}},
affine5 = {{ltp = "affine5_ltp", bp = "affine5_bp"},
{dim_in = {2048}, dim_out = {2048}}},
affine6 = {{ltp = "affine6_ltp", bp = "affine6_bp"},
{dim_in = {2048}, dim_out = {2048}}},
affine7 = {{ltp = "affine7_ltp", bp = "affine7_bp"},
{dim_in = {2048}, dim_out = {2011}}}
},
["nerv.SigmoidLayer"] =
{
sigmoid0 = {{}, {dim_in = {2048}, dim_out = {2048}}},
sigmoid1 = {{}, {dim_in = {2048}, dim_out = {2048}}},
sigmoid2 = {{}, {dim_in = {2048}, dim_out = {2048}}},
sigmoid3 = {{}, {dim_in = {2048}, dim_out = {2048}}},
sigmoid4 = {{}, {dim_in = {2048}, dim_out = {2048}}},
sigmoid5 = {{}, {dim_in = {2048}, dim_out = {2048}}},
sigmoid6 = {{}, {dim_in = {2048}, dim_out = {2048}}}
},
["nerv.MMILayer"] =
{
mmi_crit = {{}, {dim_in = {2011, -1}, dim_out = {1},
cmd = {
arg = "--class-frame-counts=/slfs5/users/ymz09/chime/baseline/ASR/exp/tri4a_dnn_tr05_multi_enhanced/ali_train_pdf.counts --acoustic-scale=0.1 --lm-scale=1.0 --learn-rate=0.00001 --drop-frames=true --verbose=1",
mdl = "/slfs5/users/ymz09/chime/baseline/ASR/exp/tri4a_dnn_tr05_multi_enhanced_ali/final.mdl",
lat = "scp:/slfs5/users/ymz09/chime/baseline/ASR/exp/tri4a_dnn_tr05_multi_enhanced_denlats/lat.scp",
ali = "ark:gunzip -c /slfs5/users/ymz09/chime/baseline/ASR/exp/tri4a_dnn_tr05_multi_enhanced_ali/ali.*.gz |"
}
}
}
},
["nerv.SoftmaxLayer"] = -- softmax for decode output
{
softmax = {{}, {dim_in = {2011}, dim_out = {2011}}}
}
}, param_repo, gconf)
layer_repo:add_layers(
{
["nerv.DAGLayer"] =
{
global_transf = {{}, {
dim_in = {440}, dim_out = {440},
sub_layers = layer_repo,
connections = {
["[1]"] = "blayer1[1]",
["blayer1[1]"] = "wlayer1[1]",
["wlayer1[1]"] = "blayer2[1]",
["blayer2[1]"] = "wlayer2[1]",
["wlayer2[1]"] = "