Menu

decoding problem

Help
2011-09-16
2012-09-22
  • Martha Yifiru

    Martha Yifiru - 2011-09-16

    Hi,
    I am currently using sphinx3.7. Until now it worked perfectly in training and
    decoding. However, when I use a model topology of 5 sates with skips, I get
    the following error messages.

    INFO: srch_time_switch_tree.c(344): Lextrees (2) for lm 0, its name is
    default, it has 144252 nodes(ug)
    INFO: srch_time_switch_tree.c(351): Time for building trees, 1.0841 CPU 1.0873
    Clk
    INFO: srch_time_switch_tree.c(373): Lextrees(0), 1 nodes(filler)
    INFO: srch_time_switch_tree.c(373): Lextrees(1), 1 nodes(filler)
    INFO: srch_time_switch_tree.c(373): Lextrees(2), 1 nodes(filler)
    INFO: vithist.c(169): Initializing Viterbi-history module
    INFO: Initialization of srch_t, report:
    INFO: Operation Mode = 4, Operation Name = fwdtree
    INFO:

    INFO: utt.c(196): Processing: d501021
    INFO: feat.c(1148): At directory ./feat
    INFO: feat.c(378): Reading mfc file:
    './feat/AmhSyllBasedASRtest_adapwav/d501021.mfc'
    INFO: cmn.c(175): CMN: 11.39 0.23 -0.63 0.08 -0.28 -0.25 -0.08 -0.16 -0.07
    -0.05 -0.02 -0.15 -0.04
    .ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 1, best HMM score

    0 (1476342644); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 2, best HMM score >
    0 (536798668); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 3, best HMM score >
    0 (536773697); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 4, best HMM score >
    0 (536749713); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 5, best HMM score >
    0 (536736858); int32 wraparound?
    ERROR: "lextree.c", line 1624: out.history==-1, error
    ERROR: "srch_time_switch_tree.c", line 1039: Propagation Failed for
    lextree_hmm_propagate_leave at tree 0
    ..............................................................................
    ...............................................
    INFO: fast_algo_struct.c(397): HMMHist(d501021): 1253(100)
    INFO: lm.c(950): 0 tg(), 0 tgcache, 0 bo; 0 fills, 0 in mem (0.0%)
    INFO: lm.c(954): 0 bg(), 0 bo; 0 fills, 0 in mem (0.0%)
    ERROR: "srch.c", line 494: s->funcs->utt_end failed
    INFO: corpus.c(661): d501021: 5.3 sec CPU, 5.3 sec Clk; TOT: 5.3 sec CPU, 5.3
    sec Clk

    I also tried to run the decoder with -mode fwdflat option so as to get the
    function of sphinx3_decode_anytopo, but without success. I have got the
    following error.

    INFO: utt.c(196): Processing: d501021
    INFO: feat.c(1148): At directory ./feat
    INFO: feat.c(378): Reading mfc file:
    './feat/AmhSyllBasedASRtest_adapwav/d501021.mfc'
    INFO: cmn.c(175): CMN: 11.39 0.23 -0.63 0.08 -0.28 -0.25 -0.08 -0.16 -0.07
    -0.05 -0.02 -0.15 -0.04
    ............INFO: vithist.c(1463):
    Lattice size(32768) exceeded; increasing to 65536
    ..............................................................................
    ...............INFO: vithist.c(1463):
    Lattice size(65536) exceeded; increasing to 98304
    .....................
    INFO: lm.c(950): 0 tg(), 0 tgcache, 0 bo; 9416 fills, 6455 in mem (0.3%)
    INFO: lm.c(954): 0 bg(), 0 bo; 7325 fills, 450854 in mem (40.4%)
    INFO: srch_flat_fwd.c(92):
    lt-sphinx3_decode: vithist.c:1576: lat_seg_lscr: Assertion `bw2 ==
    dict->startwid' failed.
    Abandon

    By the way there is no problem when the hmm topology is without skips.

    I have no idea how I can solve the problem. Any idea?
    Thanks in advance.

     
  • Nickolay V. Shmyrev

    Hello

    It feels like you HMM topology is corrupted and doesn't have a way from
    initial state to exit. Most likely you defined skips in a wrong way somehow.
    Share you transition_matrices to check that in each matrix there is a way from
    start to exit. How did you train with skips?

     
  • Martha Yifiru

    Martha Yifiru - 2011-09-16

    Thanks a lot for your instant reply.

    I just set $CFG_SKIPSTATE = 'yes' in the sphinx_train.cfg file. I uploaded the
    transition_matrices on the following web page. You can get the file at the end
    of the page as an attachment.
    https://nats-www.informatik.uni-hamburg.de/view/User/MarthaTachbelie

    Hope to get a solution.

     
  • Nickolay V. Shmyrev

    If you run

    printp -tmatfn transition_matrices
    

    you'll see the warning

    WARNING: "main.c", line 399: tmat [162][4][*] zero
    

    It means that the matrix 162 is corrupted. It is indeed so:

    7.130e-01 3.940e-02 2.476e-01
              7.500e-01 1.429e-01 1.071e-01
                       4.667e-01 5.333e-01
                                3.625e-01          6.375e-01
    

    The matrix wasn't trained properly because you didn't have sufficient data to
    train matrix with skips. Without skips there are less parameters to train. To
    solve this problem you can remove phone number 162 from training (see mdef
    files for details which phone is it) or somehow increase the size of training
    database.

     
  • Martha Yifiru

    Martha Yifiru - 2011-09-19

    Thanks you very much for identifying the problem and for your suggested
    solutions.
    Have a good day.

     
  • Martha Yifiru

    Martha Yifiru - 2011-09-21

    Hi,

    As per your suggestions, I found the corrupted phone from the mdef and removed
    it from the phone list and dictionary. Then, I trained another acoustic model
    (again with a topology of 5 states with skips), but I still get the same error
    message as before.

    INFO: utt.c(196): Processing: d501021
    INFO: feat.c(1148): At directory ../AmhSyllBasedASR/feat
    INFO: feat.c(378): Reading mfc file:
    '../AmhSyllBasedASR/feat/AmhSyllBasedASRtest_adapwav/d501021.mfc'
    INFO: cmn.c(175): CMN: 11.39 0.23 -0.63 0.08 -0.28 -0.25 -0.08 -0.16 -0.07
    -0.05 -0.02 -0.15 -0.04
    .ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 1, best HMM score

    0 (1476347165); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 2, best HMM score >
    0 (536803724); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 3, best HMM score >
    0 (536765095); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 4, best HMM score >
    0 (536743897); int32 wraparound?
    ERROR: "srch_time_switch_tree.c", line 849: ERROR Fr 5, best HMM score >
    0 (536732062); int32 wraparound?
    ERROR: "lextree.c", line 1624: out.history==-1, error
    ERROR: "srch_time_switch_tree.c", line 1039: Propagation Failed for
    lextree_hmm_propagate_leave at tree 0
    ..............................................................................
    ...............................................
    INFO: fast_algo_struct.c(397): HMMHist(d501021): 1253(100)
    INFO: lm.c(950): 0 tg(), 0 tgcache, 0 bo; 0 fills, 0 in mem (0.0%)
    INFO: lm.c(954): 0 bg(), 0 bo; 0 fills, 0 in mem (0.0%)
    ERROR: "srch.c", line 494: s->funcs->utt_end failed
    INFO: corpus.c(661): d501021: 4.6 sec CPU, 4.6 sec Clk; TOT: 4.6 sec CPU, 4.6
    sec Clk

    I checked the transition_matrices (with printp) and there is no corrupted
    phone this time. Just in case, I uploaded the new transition_matrices on the
    following website. You can find the transition_matrices at the end of the
    page.

    https://nats-www.informatik.uni-hamburg.de/view/User/MarthaTachbelie

    Where can be the problem, any other idea?

    Thanks a lot in advance.

     
  • Nickolay V. Shmyrev

    Hello

    It's usually very easy to debug. Most likely some other transition matrix is
    wrong and floored due to small values. I don't see anything offhand but it
    would be easier to find the problem if you provide a full model not just the
    transition_matrices file.

     
  • Martha Yifiru

    Martha Yifiru - 2011-09-23

    Hi,

    Thanks a lot for your reply. I uploaded the full model (in a compressed
    directory ) on the same web site https://sourceforge.net/projects/cmusphinx/f
    orums/forum/5471/topic/4711034

    I can also debug it if you tell me how to do that. Thanks a lot once again and
    waiting for your reply.

     
  • Martha Yifiru

    Martha Yifiru - 2011-09-23

    Sorry, I did not gave you the correct link in the above post. Here is the
    correct link to the website to which I uploaded the model.

    http://nats-www.informatik.uni-hamburg.de/User/MarthaTachbelie

     
  • Nickolay V. Shmyrev

    The problem was in phone number 169, the transition matrix had zero in
    position 4,4

    You could find that out with setting breakpoint in hmm.c on line 441 in the
    end of
    hmm_vit_eval_5st_lr and printing tmatid. For more information on debugging
    check the gdb
    documentation:

    http://www.gnu.org/s/gdb/documentation/

    I recommend you to remove that phone or increase training data but I also
    committed
    the fix to sphinx3 trunk right now. If you will rebuild the snapshot there
    will be no
    wraparound.

     
  • Martha Yifiru

    Martha Yifiru - 2011-09-26

    Thank you very much for all.

     

Log in to post a comment.