Commit f3262776 authored by Ho Yin Chan's avatar Ho Yin Chan
Browse files

trunk:egs/hkust Update with GPU-based DNN experiments and results

git-svn-id: https://svn.code.sf.net/p/kaldi/code/trunk@2949 5e6a8d80-dfce-4ca6-a32a-6e07a63d50c8
parent d394c759
......@@ -21,7 +21,7 @@ mandarin telephone data + other telephone recordings) as described below:
Other telephone speech 2 - ~81000 recording segments with a unique of 1800
reading sentences recorded under telephone, which comprises ~105 hours of speech data.
987 recording segments from 2 speakers held out from training set were used for evaluation.
987 recording segments held out from training set were used for evaluation.
......@@ -43,6 +43,8 @@ nnet_8m_6l/decode_eval_iter280/cer_10:%CER 27.43 [ 2074 / 7562, 424 ins, 605 del
nnet_8m_6l/decode_eval_iter290/cer_10:%CER 26.37 [ 1994 / 7562, 410 ins, 572 del, 1012 sub ]
nnet_8m_6l/decode_eval/cer_10:%CER 25.55 [ 1932 / 7562, 405 ins, 549 del, 978 sub ]
tri5a_pretrain-dbn_dnn/decode/cer_10:%CER 20.48 [ 1549 / 7562, 383 ins, 468 del, 698 sub ]
### 16K wordlist close LM, the perplexity of the LM was optimized with the sentences of evaluation data
tri1/decode_eval_closelm/cer_10:%CER 46.69 [ 3531 / 7562, 1205 ins, 407 del, 1919 sub ]
......@@ -87,3 +89,6 @@ nnet_8m_6l/decode_eval_closelm_iter280/cer_10:%CER 21.44 [ 1621 / 7562, 354 ins,
nnet_8m_6l/decode_eval_closelm_iter290/cer_10:%CER 20.40 [ 1543 / 7562, 323 ins, 492 del, 728 sub ]
nnet_8m_6l/decode_eval_closelm/cer_10:%CER 20.68 [ 1564 / 7562, 351 ins, 483 del, 730 sub ]
tri5a_pretrain-dbn_dnn/decode_closelm/cer_10:%CER 16.54 [ 1251 / 7562, 346 ins, 413 del, 492 sub ]
#!/bin/bash
# Karel Vesely (Brno University of Technology) 's style DNN training
#
# Prepared by Ricky Chan Ho Yin (Hong Kong University of Science and Technology)
#
# Apache License, 2.0
. cmd.sh
. path.sh
ulimit -u 10000
gmmdir=exp/tri5a
{
# test data preparation
dir=data-fmllr-tri5a/test
steps/make_fmllr_feats.sh --nj 2 --cmd "$train_cmd" \
--transform-dir exp/tri5a/decode_eval \
$dir data/eval $gmmdir $dir/_log $dir/_data || exit 1
# train data preparation
dir=data-fmllr-tri5a/train
steps/make_fmllr_feats.sh --nj 25 --cmd "$train_cmd" \
--transform-dir exp/tri5a_ali_dt100k \
$dir data/train $gmmdir $dir/_log $dir/_data || exit 1
# split the data : 90% train 10% cross-validation (held-out)
utils/subset_data_dir_tr_cv.sh $dir ${dir}_tr90 ${dir}_cv10 || exit 1
}
{ # Pre-train the DBN with Restricted Boltzmann Machine
dir=exp/tri5a_pretrain-dbn
(tail --pid=$$ -F $dir/_pretrain_dbn.log 2>/dev/null)&
$cuda_cmd $dir/_pretrain_dbn.log \
steps/pretrain_dbn.sh --hid-dim 1024 --rbm-iter 20 data-fmllr-tri5a/train $dir || exit 1;
}
# Frame-level cross-entropy DNN training
{ # Train the MLP
dir=exp/tri5a_pretrain-dbn_dnn
ali=exp/tri5a_ali_dt100k
feature_transform=exp/tri5a_pretrain-dbn/final.feature_transform
dbn=exp/tri5a_pretrain-dbn/6.dbn
(tail --pid=$$ -F $dir/_train_nnet.log 2>/dev/null)&
$cuda_cmd $dir/_train_nnet.log \
steps/train_nnet.sh --feature-transform $feature_transform --dbn $dbn --hid-layers 0 --learn-rate 0.008 \
data-fmllr-tri5a/train_tr90 data-fmllr-tri5a/train_cv10 data/lang $ali $ali $dir || exit 1;
}
......@@ -139,6 +139,12 @@ steps/decode_nnet_cpu.sh --cmd "$decode_cmd" --nj 2 --iter $n --config conf/deco
steps/decode_nnet_cpu.sh --cmd "$decode_cmd" --nj 2 --iter $n --config conf/decode.config --transform-dir exp/tri5a/decode_eval_closelm exp/tri5a/graph_closelm data/eval exp/nnet_8m_6l/decode_eval_closelm_iter${n} &
done
# GPU based DNN traing, this was run on CentOS 6.4 with CUDA 5.0
# 6 layers DNN pretrained with restricted boltzmann machine, decoding was done by CPUs
local/run_dnn.sh
steps/decode_nnet.sh --nj 2 --cmd "$decode_cmd" --config conf/decode_dnn.config --acwt 0.1 exp/tri5a/graph data-fmllr-tri5a/test $dir/decode || exit 1;
steps/decode_nnet.sh --nj 2 --cmd "$decode_cmd" --config conf/decode_dnn.config --acwt 0.1 exp/tri5a/graph_closelm data-fmllr-tri5a/test $dir/decode_closelm || exit 1;
### Scoring ###
local/ext/score.sh data/eval exp/tri1/graph exp/tri1/decode_eval
local/ext/score.sh data/eval exp/tri1/graph_closelm exp/tri1/decode_eval_closelm
......@@ -167,12 +173,12 @@ local/ext/score.sh data/eval exp/tri5a/graph_closelm exp/tri5a_mmi_b0.1/decode_e
for n in 1 2 3 4; do local/ext/score.sh data/eval exp/tri5a/graph exp/tri5a_mmi_b0.1/decode_eval$n; done
for n in 1 2 3 4; do local/ext/score.sh data/eval exp/tri5a/graph_closelm exp/tri5a_mmi_b0.1/decode_eval_closelm$n; done
local/ext/score.sh data/eval data/lang_test exp/sgmm_5a/decode_eval;
local/ext/score.sh data/eval data/lang_test_closelm exp/sgmm_5a/decode_eval_closelm;
local/ext/score.sh data/eval exp/sgmm_5a/graph exp/sgmm_5a/decode_eval;
local/ext/score.sh data/eval exp/sgmm_5a/graph_closelm exp/sgmm_5a/decode_eval_closelm;
for n in 1 2 3 4; do
local/ext/score.sh data/eval data/lang_test exp/sgmm_5a_mmi_b0.1/decode_eval$n;
local/ext/score.sh data/eval data/lang_test_closelm exp/sgmm_5a_mmi_b0.1/decode_eval_closelm$n;
local/ext/score.sh data/eval exp/sgmm_5a/graph exp/sgmm_5a_mmi_b0.1/decode_eval$n;
local/ext/score.sh data/eval exp/sgmm_5a/graph_closelm exp/sgmm_5a_mmi_b0.1/decode_eval_closelm$n;
done
local/ext/score.sh data/eval exp/tri5a/graph exp/nnet_8m_6l/decode_eval
......@@ -183,3 +189,6 @@ for n in 290 280 270 260 250 240 230 220 210 200 150 100 50; do
local/ext/score.sh data/eval exp/tri5a/graph_closelm exp/nnet_8m_6l/decode_eval_closelm_iter${n};
done
local/ext/score.sh data/eval exp/tri5a/graph exp/tri5a_pretrain-dbn_dnn/decode
local/ext/score.sh data/eval exp/tri5a/graph_closelm exp/tri5a_pretrain-dbn_dnn/decode_closelm
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment