summaryrefslogtreecommitdiff
path: root/examples/tnet_preprocessing_example.lua
diff options
context:
space:
mode:
authorDeterminant <[email protected]>2015-06-02 12:50:20 +0800
committerDeterminant <[email protected]>2015-06-02 12:50:20 +0800
commit821aec314824b89e9fe9c3ee467793a05ed89ee5 (patch)
tree4a6e25f71bb2574fafa355386923d13f67742f46 /examples/tnet_preprocessing_example.lua
parentd8ea67ee420c2fc73085da04de86df023acd98d7 (diff)
modify preprocessing example to use layers
Diffstat (limited to 'examples/tnet_preprocessing_example.lua')
-rw-r--r--examples/tnet_preprocessing_example.lua38
1 files changed, 31 insertions, 7 deletions
diff --git a/examples/tnet_preprocessing_example.lua b/examples/tnet_preprocessing_example.lua
index c36463b..4f36aa8 100644
--- a/examples/tnet_preprocessing_example.lua
+++ b/examples/tnet_preprocessing_example.lua
@@ -1,5 +1,7 @@
require 'libspeech'
require 'layer.affine'
+require 'layer.bias'
+require 'layer.window'
frm_ext = 5
feat_repo = nerv.TNetFeatureRepo(
"/slfs1/users/mfy43/swb_ivec/train_bp.scp",
@@ -22,7 +24,7 @@ window1 = cf:read_chunk("window1", gconf)
bias2 = cf:read_chunk("bias2", gconf)
window2 = cf:read_chunk("window2", gconf)
-cf2 = nerv.ChunkFile("input.param", "r")
+cf2 = nerv.ChunkFile("feat_256", "r")
input = cf2:read_chunk("input", gconf)
step = frm_ext * 2 + 1
@@ -32,13 +34,35 @@ expanded:expand_frm(nerv.CuMatrixFloat.new_from_host(feat_utter), frm_ext)
rearranged = expanded:create()
rearranged:rearrange_frm(expanded, step)
-rearranged:add_row(bias1.trans, 1)
-rearranged:scale_row(window1.trans)
-rearranged:add_row(bias2.trans, 1)
-rearranged:scale_row(window2.trans)
+output1 = {expanded:create()}
+output2 = {expanded:create()}
+output3 = {expanded:create()}
+output4 = {expanded:create()}
-for i = 0, 9 do
- row_diff = input.trans[i] - rearranged[i + 5]
+blayer1 = nerv.BiasLayer("b1", gconf, {bias = bias1,
+ dim_in = {429},
+ dim_out = {429}})
+wlayer1 = nerv.WindowLayer("w1", gconf, {window = window1,
+ dim_in = {429},
+ dim_out = {429}})
+blayer2 = nerv.BiasLayer("b1", gconf, {bias = bias2,
+ dim_in = {429},
+ dim_out = {429}})
+wlayer2 = nerv.WindowLayer("w1", gconf, {window = window2,
+ dim_in = {429},
+ dim_out = {429}})
+blayer1:init()
+wlayer1:init()
+blayer2:init()
+wlayer2:init()
+
+blayer1:propagate({rearranged}, output1)
+wlayer1:propagate(output1, output2)
+blayer2:propagate(output2, output3)
+wlayer2:propagate(output3, output4)
+
+for i = 0, 157 - 10 do
+ row_diff = input.trans[i] - output4[1][i + 5]
for j = 0, row_diff:ncol() - 1 do
nerv.utils.printf("%.8f ", row_diff[j])
end