gooofy / zamia-speech

Open tools and data for cloudless automatic speech recognition
GNU Lesser General Public License v3.0
443 stars 84 forks source link

Factorized TDNN models not working #31

Closed fquirin closed 6 years ago

fquirin commented 6 years ago

OS: Debian 9 Stretch 64bit Expected behavior: Factorized ASR models work the same way as the previous models Observed: Previous models work fine, factorized ones (both de and en) create a RuntimeError

I've been trying to use the factorized TDNN models but getting a RuntimeError in the wave decoder test. Here is the command I've used:

python kaldi_decode_wav.py -v -m /opt/kaldi/model/kaldi-generic-de-tdnn_f test.wav 

and here is the error message:

Traceback (most recent call last): File "kaldi_decode_wav.py", line 60, in <module> kaldi_model = KaldiNNet3OnlineModel (options.modeldir, acoustic_scale=1.0, beam=7.0, frame_subsampling_factor=3) File "kaldiasr/nnet3.pyx", line 134, in kaldiasr.nnet3.KaldiNNet3OnlineModel.__cinit__ (kaldiasr/nnet3.cpp:3549) RuntimeError

What I've tried to far is to update the Debian packages (python-kaldiasr python-nltools, no updates where available) and the kaldi_decode_wav.py.

svenha commented 6 years ago

I am not sure if the following is related. I repeated the training of German models (last succesful run was in May; the following failed run is with the current git version) and it stops as follows:

mkdir -p exp/nnet3_chain/tdnn_f + echo + echo './run-chain.sh: creating neural net configs using the xconfig parser' ./run-chain.sh: creating neural net configs using the xconfig parser + echo + mkdir -p exp/nnet3_chain/tdnn_f/configs + cat + steps/nnet3/xconfig_to_configs.py --xconfig-file exp/nnet3_chain/tdnn_f/configs/network.xconfig --config-dir exp/nnet3_chain/tdnn_f/configs/ steps/nnet3/xconfig_to_configs.py --xconfig-file exp/nnet3_chain/tdnn_f/configs/network.xconfig --config-dir exp/nnet3_chain/tdnn_f/configs/ ERROR:root:***Exception caught while parsing the following xconfig line: *** tdnnf-layer name=tdnnf2 l2-regularize=0.01 dropout-proportion=0.0 bypass-scale=0.66 dim=1536 bottleneck-dim=160 time-stride=1 Traceback (most recent call last): File "steps/nnet3/xconfig_to_configs.py", line 333, in <module> main() File "steps/nnet3/xconfig_to_configs.py", line 323, in main all_layers = xparser.read_xconfig_file(args.xconfig_file, existing_layers) File "steps/libs/nnet3/xconfig/parser.py", line 183, in read_xconfig_file this_layer = xconfig_line_to_object(line, existing_layers) File "steps/libs/nnet3/xconfig/parser.py", line 89, in xconfig_line_to_object raise RuntimeError("No such layer type '{0}'".format(first_token)) RuntimeError: No such layer type 'tdnnf-layer' + '[' 0 -le 15 ']' + echo

Is a specific kaldi version needed for tdnnf?

Any other ideas?

BTW: Here are the results for the other models calculated before the failing one: %WER 11.53 [ 20328 / 176256, 3532 ins, 2629 del, 14167 sub ] exp/nnet3_chain/tdnn_sp/decode_test/wer_9_0.5 %WER 13.17 [ 23216 / 176256, 3623 ins, 3232 del, 16361 sub ] exp/nnet3_chain/tdnn_250/decode_test/wer_8_1.0

gooofy commented 6 years ago

I have pushed libkaldi-asr version 5.4 packages today which should enable you to run and build tdnn_f models.