rizar / attention-lvcsr

End-to-End Attention-Based Large Vocabulary Speech Recognition
MIT License
262 stars 99 forks source link

decoding issue #8

Open synetkim opened 8 years ago

synetkim commented 8 years ago

Hello, I have an issue when I tried to decode the model for TLE.

export THEANO_FLAGS=mode=FAST_RUN,device=gpu3,floatX=float32; $LVSR/exp/wsj/decode_tle.sh wsj_reward6 test 200

Here is the log:

Backtrace when the variable is created: File "/speech05-ssd/sykim/attention-lvcsr/bin/run.py", line 154, in getattr(lvsr.main, args.pop('func'))(config, _args) File "/speech05-ssd/sykim/attention-lvcsr/lvsr/main.py", line 716, in search recognizer = create_model(config, data, load_path) File "/speech05-ssd/sykim/attention-lvcsr/lvsr/main.py", line 221, in create_model _net_config) File "/speech05-ssd/sykim/attention-lvcsr/lvsr/bricks/recognizer.py", line 360, in init self.single_labels = tensor.lvector('labels')

attention-lvcsr/lvsr/main.py", line 716, in search recognizer = create_model(config, data, load_path) File "/speech05-ssd/sykim/attention-lvcsr/lvsr/main.py", line 221, in create_model net_config) File "/speech05-ssd/sykim/attention-lvcsr/lvsr/bricks/recognizer.py", line 360, in init** self.single_labels = tensor.lvector('labels')

dmitriy-serdyuk commented 8 years ago

Hmm, that's strange.

Can you run a postmortem debugger and check if input_variables contains the labels (this one)?

synetkim commented 8 years ago

Thanks for replying. Could you explain more detail how to use it?

dmitriy-serdyuk commented 8 years ago

Somehow, a function analyze is not compiled in your case. It just outputs the cost and visualizes the alignment, it is not needed for decoding, but it's very suspicious...

So, I propose to run a debugger like (assuming that you have ipdb; I'm taking the command from your log)

python -mipdb /speech05-ssd/sykim/attention-lvcsr/bin/run.py search --part=test --report wsj_reward6/reports/test_nolm_200 wsj_reward6/annealing1_best_ll.zip /speech05-ssd/sykim/attention-lvcsr/exp/wsj/configs/wsj_reward6.yaml vocabulary data/local/nist_lm/wsj_trigram_no_bos/words.txt monitoring.search.beam_size 200

You can use ... -mpdb ... if you don't want to install ipdb. If you are not familiar with pdb/ipdb, there are a lot of tutorials in internet how to use it.

You'll be able to go up/down the stack and print/inspect the variables.