I run the script 00/verify_all.pl and I dont know wy my control file have parser errors:
Phase 1: DICT - Checking to see if the dict and filler dict agrees with the phonelist file
Found 354 words using 23 phones
passed
Phase 2: DICT - Checking to make sure there are not duplicate entries in the dictionary
passed
Phase 3: CTL - Check general format; utterance length (must be positive); files exist
WARNING: CTL line does not parse correctly: file001
WARNING: CTL line does not parse correctly: file002
WARNING: CTL line does not parse correctly: file003
WARNING: CTL line does not parse correctly: file004
WARNING: CTL line does not parse correctly: file005
WARNING: CTL line does not parse correctly: file006
WARNING: CTL line does not parse correctly: file007
WARNING: CTL line does not parse correctly: file008
WARNING: CTL line does not parse correctly: file009
WARNING: CTL line does not parse correctly: file010
WARNING: CTL line does not parse correctly: file011
WARNING: CTL line does not parse correctly: file012
WARNING: CTL line does not parse correctly: file013
WARNING: CTL line does not parse correctly: file014
WARNING: CTL line does not parse correctly: file015
WARNING: CTL line does not parse correctly: file016
WARNING: CTL line does not parse correctly: file017
WARNING: CTL line does not parse correctly: file018
WARNING: CTL line does not parse correctly: file019
WARNING: CTL line does not parse correctly: file020
FAILED
Phase 4: CTL - Checking number of lines in the transcript should match lines in control file
passed
Phase 5: CTL - Determine amount of training data, see if n_tied_states seems reasonable.
passed
Phase 6: TRANSCRIPT - Checking that all the words in the transcript are in the dictionary
Words in dictionary: 350
Words in filler dictionary: 2
passed
Phase 7: TRANSCRIPT - Checking that all the phones in the transcript are in the phonelist, and all phones in the phonelist appear at least once
passed
WELL I put 2 integers an a string after that each file ( ex. file001 0 200 abc) and I continue to the 02/slave_convg.pl but I HAVE A PROBLEMS I DONT KNOW WY BW PRINT ERRORS, I DONT UNDERSTAND PLEASE HELP
THIS ARE MY ERRORS:
[root@localhost modeloaspmx]# perl /root/modeloaspmx/scripts_pl/02.ci_schmm/slave_convg.pl
MODULE: 02 Training Context Independent models
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 20 files: 0% ERROR: 460 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file001 ignored
10% ERROR: 448 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file002 ignored
ERROR: 456 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file003 ignored
20% ERROR: 392 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file004 ignored
ERROR: 360 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file005 ignored
30% ERROR: 692 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file006 ignored
ERROR: 752 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file007 ignored
40% ERROR: 712 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file008 ignored
ERROR: 596 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file009 ignored
50% ERROR: 584 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file010 ignored
ERROR: 620 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file011 ignored
60% ERROR: 440 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file012 ignored
ERROR: 692 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file013 ignored
70% ERROR: 656 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file014 ignored
ERROR: 472 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file015 ignored
80% ERROR: 1284 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file016 ignored
ERROR: 1096 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file017 ignored
90% ERROR: 896 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file018 ignored
ERROR: 688 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file019 ignored
100% ERROR: 1020 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file020 ignored
Finished
PLEASE HELP
OMAR
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The past error (last message) was fix, but I dont know how i fix it.
I compute the features again , but this time I use the -mach_endian big -deither yes and -input_indian big (of the wave2feat application) and run again the 02/slave_convg.pl and I pas the first iteration of bw, but in the first execution of norm I have a error that I dont know, I open an check the file norm.pl but I dont find the mistake.
Pleasem help help
this is the run and the error:
[root@localhost modeloaspmx]# perl /root/modeloaspmx/scripts_pl/02.ci_schmm/slave_convg.pl
MODULE: 02 Training Context Independent models
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 20 files: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Finished
Normalization for iteration: 1 ERROR: ERROR: "cmd_ln.c", line 525: Expecting '/root/modeloaspmx/bin/norm -switch_1 <arg_1> -switch_2 <arg_2> ...'
Finished
Current Overall Likelihood Per Frame = -42.6187337485638
Baum welch starting for iteration: 2 (1 of 1)
Using 20 files: 0% ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
Received a fatal error at /root/modeloaspmx/scripts_pl/02.ci_schmm/baum_welch.pl line 143, <PIPE> line 94.
omar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
What OS are you using for your sphinxtrain? could the script 00/verify_all.pl fail because of line ending convention of Windows system? if you want to convert raw file to features files, use wave2feat. Change the format to raw and use dither. hope this will help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-05-24
Omar -- you are correct that the error occurred in the program "norm" in the first iteration. This program is executed by the script 02.ci_schmm/norm.pl . The error reported is that the command line for the program "norm" has an incorrect format -- the arguments to norm must be in pairs, where each switch name is followed by a switch value (for example,
norm -accumdir something1 -mixwfn something2 ...).
For some reason, the command line string made in the norm.pl script is incorrect. I suggest that you insert debugging statements into norm.pl to print out the command string so that you can find the problem. For example, you could do something like this:
I fix the error of the scripts 01 and 02, but I have an error in the last script (for the continous model), and I cant completed the train.
Thank you for the last tip.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-05-24
Omar -- please be more specific. I am glad to hear that you have advanced as far as module 07, but we can't even try to help until you explain exactly where you were in that module and show us the error output and logs.
cheers,
jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I write the last line because $bwaccumdir was clear (without a valor) then I put the path directly (If I didnt put this line I did pass the spcripts with "norm").
Well, when I run the script 07 , I obtain this message, I supose that this error can be caused for the new line in the scripts with "norm":
[root@localhost amodelspmx]# perl scripts_pl/07.cd-schmm/slave_convg.pl
MODULE: 07 Training Context dependent models
Cleaning up directories: accumulator...logs...
Copy CI to CD initialize Baum welch starting for 1 Gaussian(s), iteration: 1 (1 of 1)
Using 20 files: 0% ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
Received a fatal error at /root/amodelspmx/scripts_pl/07.cd-schmm/baum_welch.pl line 143, <PIPE>
line 86.
Atte. Omar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-05-24
OK, this error message tells us that the program "bw" failed in initialization, but not why it failed. Is there a log file in logdir/07.cd-schmm named something like amodelspmx.1.1-1.bw.log? That should contain information about the way that this program was called and what went wrong. Please show it to us.
cheers,
jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is the log file, The application cant read the file, but I dont know why, Can you tellme if the modification to the "norm" script (see the last message) can be the source of the error??
[Switch][Default][Value]
-help no no
-example no no
-moddeffn /root/amodelspmx/model_architecture/amodelspmx.4000.mdef
-tmatfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/transition_matrices
-mixwfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/mixture_weights
-meanfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/means
-varfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/variances
-mwfloor 0.00001 1.000000e-08
-tpfloor 0.0001 1.000000e-04
-varfloor 0.00001 1.000000e-04
-topn 4 4
-dictfn /root/amodelspmx/etc/amodelspmx.dic
-fdictfn /root/amodelspmx/etc/amodelspmx.filler
-ctlfn /root/amodelspmx/etc/amodelspmx_train.fileids
-nskip
-runlen -1 -1
-part 1
-npart 1
-cepext mfc mfc
-cepdir /root/amodelspmx/feat
-segext v8_seg v8_seg
-segdir
-sentdir
-sentext sent sent
-lsnfn /root/amodelspmx/etc/amodelspmx_train.transcription
-accumdir /root/amodelspmx/bwaccumdir/amodelspmx_buff_1
-ceplen 13 13
-agc max none
-cmn current current
-varnorm no no
-silcomp none none
-sildel no no
-siltag SIL SIL
-abeam 1e-100 1.000000e-90
-bbeam 1e-100 1.000000e-40
-varreest yes yes
-meanreest yes yes
-mixwreest yes yes
-tmatreest yes yes
-spkrxfrm
-mllrmult no no
-mllradd no no
-ts2cbfn .cont.
-feat 1s_c_d_dd
-timing yes yes
-viterbi no no
-2passvar no no
-sildelfn
-cb2mllrfn
-spthresh 0.0 0.000000e+00
-maxuttlen 0 0
-ckptintv
INFO: main.c(184): Reading /root/amodelspmx/model_architecture/amodelspmx.4000.mdef
WARN: "model_def_io.c", line 436: Unable to open /root/amodelspmx/model_architecture/amodelspmx.4000.mdef for reading; No such file or directory
atte. omar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-05-24
The model definition file amodelspmx.4000.mdef is created in the initialization step of module 07 in slave_convg.pl.
1. Does this file exist? I suspect not.
2. If not, then you have to find out why it does not exist. It is created by subroutine "copyci2cd2initialize() in slave_convg.pl, and the program writes a log file in logdir/07..../amodelspmx/copy.ci.2.cd.log . Look in that log file to figure out what went wrong. It is likely that something went wrong earlier in the training process.
The strategy that Arthur and I are suggesting is to follow each step in the training scripts and to verify from the log files whether each step was successful. Those log files are very useful for this.
This same strategy will be useful for the Module 02 problem that you cited earlier (and also below).
cheers,
jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sounds like the model definition file is missing. Chances are
1, you specified a wrong path of the model defiinition file.
Can you do an ls to see whether the file really exist?
2, you changes could have the problems.
Is your last step completed?
3, If you suspect that your own change was the problem, you may just revert it and see whether it helps or not.
Omar, you are actually the best person to debug it. Think in this way, what will be the next information Jerry or I will ask you? Then you will probably know what would be your next step.
Saying this doesn't mean you are not welcomed to ask your question. I do think though your ability to learn how to learn will help you even more.
Arthur
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I revert all the changes in the script, but I have an error in the script 02, and only can pass if I modify the lines in script "norm". Did you make a acutic model before?, Did you have any problem with the scripts?
I need know if somebody make before a acutic model continous, and tell me if I need know a special error or aome tip
Please,
atte omar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is the error that I obtain when I execute the script 02.ci_schmm/slave_convg.pl, and the error is in the script norm that is called in the previus script (02.ci_schmm/slave_convg.pl), but I dont know if is correct put the new line in norm.pl script, Did you have this problem with your acustic model?, How do you fixed?:
[root@localhost acusticmsm]# perl scripts_pl/02.ci_schmm/slave_convg.pl
MODULE: 02 Training Context Independent models
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 20 files: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Finished
Normalization for iteration: 1 ERROR: ERROR: "cmd_ln.c", line 525: Expecting '/root/acusticmsm/bin/norm -switch_1 <arg_1> -switch_2 <arg_2> ...'
Finished
Current Overall Likelihood Per Frame = -42.6187337485638
Baum welch starting for iteration: 2 (1 of 1)
Using 20 files: 0% ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
Received a fatal error at /root/acusticmsm/scripts_pl/02.ci_schmm/baum_welch.pl line 143, <PIPE>
line 94.
atte. omar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
-Once again, we only know that your new changes stopped at step 02, so what is actually the problem? Could you show us the log file? Could you try to understand what the error is?
Now another important hint we got from your mail is that in step 07, you actually didn't have a model at the stage.
Judging from your previous mail. It seems that you were only using 20 utterances in your training. In that case, even if you could pass through stage 01-06, the protective mechanims of the script will probably cause nothing to be generated at stage 7. Tell us how many utterances are you using. If you are using something like 20 -200, stop, and either go to collect data or go to get a corpus.
-BTW, there are a lot of people in this forum who have trained an acoustic model. In your case, the problem is that we never able to get enough information to debug your situation.
I will recommend you to spend 1 day to try to debug and understand what you were doing before you ask the next question. In your next mail, if you got stuck somewhere, try to send your mail in a more organized way. Give us logs. Give us error messages. Please don't send us multiple mails on multiple threads. That will make the answerers' job very very hard.
Regards,
Arthur
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This will give you a more concrete idea how training could be done. It also tell you how much data you actually need to do training. Read it carefully and follow it and you will find yourself knows the subjects better. .
Arthur
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I check the log file, but I find the same error in this log, "no souch file or directory", and I dont know where the file was create, this is the error:
The file amodelspmx.4000.mdef dosnt exist in the path: /root/amodelspmx/model_architecture/ And in any place.
I check all the directories but I dont find it
atte. omar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2005-05-24
Sorry, I was wrong earlier (2005-05-24 07:44) when I said that the model definition file amodelspmx.4000.mdef is created in the initialization step of module 07 in slave_convg.pl. In fact, it is created earlier in 06.prunetree/tiestate.pl, and the logfile to examine is named logdir/06.prunetree/amodelspmx.tiestate.4000.log. That's where you should look for the problem -- why did it fail to be created.
I also echo Arthur's concern that your training corpus is much too small. I do not know how long your 20 utterances are in total, but it is much too little to attempt to train an 4000-senone acoustic model. You must have seem Arthur's recent "10 Pitfalls" posting in the Open Discussion forum http://sourceforge.net/forum/forum.php?thread_id=1282643&forum_id=5470 . There he suggests that you need about 1 second of training data per gaussian per senone. An acoustic model is a statistical model, and you need sufficient data to gather statistics of every distribution in every tied state (senone) that you are training.
cheers,
jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, I pretty much know what the problem likely is. You have used too few utterance in your training. This makes some steps from step 3 or step 6 dies and they are responsible to create the model definition file you missed right now.
-Why do you use only 20 utterances in training in the first place? Nothing serious could be trained in this way.
I run the script 00/verify_all.pl and I dont know wy my control file have parser errors:
Phase 1: DICT - Checking to see if the dict and filler dict agrees with the phonelist file
Found 354 words using 23 phones
passed
Phase 2: DICT - Checking to make sure there are not duplicate entries in the dictionary
passed
Phase 3: CTL - Check general format; utterance length (must be positive); files exist
WARNING: CTL line does not parse correctly: file001
WARNING: CTL line does not parse correctly: file002
WARNING: CTL line does not parse correctly: file003
WARNING: CTL line does not parse correctly: file004
WARNING: CTL line does not parse correctly: file005
WARNING: CTL line does not parse correctly: file006
WARNING: CTL line does not parse correctly: file007
WARNING: CTL line does not parse correctly: file008
WARNING: CTL line does not parse correctly: file009
WARNING: CTL line does not parse correctly: file010
WARNING: CTL line does not parse correctly: file011
WARNING: CTL line does not parse correctly: file012
WARNING: CTL line does not parse correctly: file013
WARNING: CTL line does not parse correctly: file014
WARNING: CTL line does not parse correctly: file015
WARNING: CTL line does not parse correctly: file016
WARNING: CTL line does not parse correctly: file017
WARNING: CTL line does not parse correctly: file018
WARNING: CTL line does not parse correctly: file019
WARNING: CTL line does not parse correctly: file020
FAILED
Phase 4: CTL - Checking number of lines in the transcript should match lines in control file
passed
Phase 5: CTL - Determine amount of training data, see if n_tied_states seems reasonable.
passed
Phase 6: TRANSCRIPT - Checking that all the words in the transcript are in the dictionary
Words in dictionary: 350
Words in filler dictionary: 2
passed
Phase 7: TRANSCRIPT - Checking that all the phones in the transcript are in the phonelist, and all phones in the phonelist appear at least once
passed
WELL I put 2 integers an a string after that each file ( ex. file001 0 200 abc) and I continue to the 02/slave_convg.pl but I HAVE A PROBLEMS I DONT KNOW WY BW PRINT ERRORS, I DONT UNDERSTAND PLEASE HELP
THIS ARE MY ERRORS:
[root@localhost modeloaspmx]# perl /root/modeloaspmx/scripts_pl/02.ci_schmm/slave_convg.pl
MODULE: 02 Training Context Independent models
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 20 files: 0% ERROR: 460 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file001 ignored
10% ERROR: 448 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file002 ignored
ERROR: 456 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file003 ignored
20% ERROR: 392 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file004 ignored
ERROR: 360 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file005 ignored
30% ERROR: 692 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file006 ignored
ERROR: 752 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file007 ignored
40% ERROR: 712 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file008 ignored
ERROR: 596 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file009 ignored
50% ERROR: 584 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file010 ignored
ERROR: 620 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file011 ignored
60% ERROR: 440 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file012 ignored
ERROR: 692 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file013 ignored
70% ERROR: 656 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file014 ignored
ERROR: 472 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file015 ignored
80% ERROR: 1284 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file016 ignored
ERROR: 1096 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file017 ignored
90% ERROR: 896 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file018 ignored
ERROR: 688 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file019 ignored
100% ERROR: 1020 134 ERROR: "backward.c", line 409: final state not reached
ERROR: ERROR: "baum_welch.c", line 300: file020 ignored
Finished
PLEASE HELP
OMAR
I have new problems,
The past error (last message) was fix, but I dont know how i fix it.
I compute the features again , but this time I use the -mach_endian big -deither yes and -input_indian big (of the wave2feat application) and run again the 02/slave_convg.pl and I pas the first iteration of bw, but in the first execution of norm I have a error that I dont know, I open an check the file norm.pl but I dont find the mistake.
Pleasem help help
this is the run and the error:
[root@localhost modeloaspmx]# perl /root/modeloaspmx/scripts_pl/02.ci_schmm/slave_convg.pl
MODULE: 02 Training Context Independent models
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 20 files: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Finished
Normalization for iteration: 1 ERROR: ERROR: "cmd_ln.c", line 525: Expecting '/root/modeloaspmx/bin/norm -switch_1 <arg_1> -switch_2 <arg_2> ...'
Finished
Current Overall Likelihood Per Frame = -42.6187337485638
Baum welch starting for iteration: 2 (1 of 1)
Using 20 files: 0% ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
Received a fatal error at /root/modeloaspmx/scripts_pl/02.ci_schmm/baum_welch.pl line 143, <PIPE> line 94.
omar
Hi
What OS are you using for your sphinxtrain? could the script 00/verify_all.pl fail because of line ending convention of Windows system? if you want to convert raw file to features files, use wave2feat. Change the format to raw and use dither. hope this will help.
Omar -- you are correct that the error occurred in the program "norm" in the first iteration. This program is executed by the script 02.ci_schmm/norm.pl . The error reported is that the command line for the program "norm" has an incorrect format -- the arguments to norm must be in pairs, where each switch name is followed by a switch value (for example,
norm -accumdir something1 -mixwfn something2 ...).
For some reason, the command line string made in the norm.pl script is incorrect. I suggest that you insert debugging statements into norm.pl to print out the command string so that you can find the problem. For example, you could do something like this:
open LOG,">$logfile";
$command = "$NORM -accumdir $bwaccumdir -mixwfn $mixture_weights -tmatfn $transition_matrices -meanfn $means -varfn $variances -feat $CFG_FEATURE -ceplen $CFG_VECTOR_LENGTH";
print "NORM COMMAND LINE= $command\n";
if (open PIPE, "$command 2>&1 |") {
I hope this helps you to find the problem.
cheers,
jerry wolf
I fix the error of the scripts 01 and 02, but I have an error in the last script (for the continous model), and I cant completed the train.
Thank you for the last tip.
Omar -- please be more specific. I am glad to hear that you have advanced as far as module 07, but we can't even try to help until you explain exactly where you were in that module and show us the error output and logs.
cheers,
jerry
So,
Im find an error in the scipts that use "norm" an "bw", and I think that I fix the mistake, but Im not sure. I modified this lines:
$bwaccumdir = "";
for (<"${CFG_BASE_DIR}/bwaccumdir/${CFG_EXPTNAME}buff*">) {
$bwaccumdir .= " \"$_\"";
}
$bwaccumdir = "/root/amodelspmx/bwaccumdir/amodelspmx_buff_1";
I write the last line because $bwaccumdir was clear (without a valor) then I put the path directly (If I didnt put this line I did pass the spcripts with "norm").
Well, when I run the script 07 , I obtain this message, I supose that this error can be caused for the new line in the scripts with "norm":
[root@localhost amodelspmx]# perl scripts_pl/07.cd-schmm/slave_convg.pl
MODULE: 07 Training Context dependent models
Cleaning up directories: accumulator...logs...
Copy CI to CD initialize Baum welch starting for 1 Gaussian(s), iteration: 1 (1 of 1)
Using 20 files: 0% ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
Received a fatal error at /root/amodelspmx/scripts_pl/07.cd-schmm/baum_welch.pl line 143, <PIPE>
line 86.
Atte. Omar
OK, this error message tells us that the program "bw" failed in initialization, but not why it failed. Is there a log file in logdir/07.cd-schmm named something like amodelspmx.1.1-1.bw.log? That should contain information about the way that this program was called and what went wrong. Please show it to us.
cheers,
jerry
This is the log file, The application cant read the file, but I dont know why, Can you tellme if the modification to the "norm" script (see the last message) can be the source of the error??
INFO: main.c(167): Compiled on Apr 27 2005 at 15:05:53
/root/amodelspmx/bin/bw \ -moddeffn /root/amodelspmx/model_architecture/amodelspmx.4000.mdef \ -ts2cbfn .cont. \ -mixwfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/mixture_weights \ -mwfloor 1e-08 \ -tmatfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/transition_matrices \ -meanfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/means \ -varfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/variances \ -dictfn /root/amodelspmx/etc/amodelspmx.dic \ -fdictfn /root/amodelspmx/etc/amodelspmx.filler \ -ctlfn /root/amodelspmx/etc/amodelspmx_train.fileids \ -part 1 \ -npart 1 \ -cepdir /root/amodelspmx/feat \ -cepext mfc \ -lsnfn /root/amodelspmx/etc/amodelspmx_train.transcription \ -accumdir /root/amodelspmx/bwaccumdir/amodelspmx_buff_1 \ -varfloor 0.0001 \ -topn 4 \ -abeam 1e-90 \ -bbeam 1e-40 \ -agc none \ -cmn current \ -meanreest yes \ -varreest yes -2passvar no \ -tmatreest yes \ -feat 1s_c_d_dd \ -ceplen 13
[Switch] [Default] [Value]
-help no no
-example no no
-moddeffn /root/amodelspmx/model_architecture/amodelspmx.4000.mdef
-tmatfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/transition_matrices
-mixwfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/mixture_weights
-meanfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/means
-varfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/variances
-mwfloor 0.00001 1.000000e-08
-tpfloor 0.0001 1.000000e-04
-varfloor 0.00001 1.000000e-04
-topn 4 4
-dictfn /root/amodelspmx/etc/amodelspmx.dic
-fdictfn /root/amodelspmx/etc/amodelspmx.filler
-ctlfn /root/amodelspmx/etc/amodelspmx_train.fileids
-nskip
-runlen -1 -1
-part 1
-npart 1
-cepext mfc mfc
-cepdir /root/amodelspmx/feat
-segext v8_seg v8_seg
-segdir
-sentdir
-sentext sent sent
-lsnfn /root/amodelspmx/etc/amodelspmx_train.transcription
-accumdir /root/amodelspmx/bwaccumdir/amodelspmx_buff_1
-ceplen 13 13
-agc max none
-cmn current current
-varnorm no no
-silcomp none none
-sildel no no
-siltag SIL SIL
-abeam 1e-100 1.000000e-90
-bbeam 1e-100 1.000000e-40
-varreest yes yes
-meanreest yes yes
-mixwreest yes yes
-tmatreest yes yes
-spkrxfrm
-mllrmult no no
-mllradd no no
-ts2cbfn .cont.
-feat 1s_c_d_dd
-timing yes yes
-viterbi no no
-2passvar no no
-sildelfn
-cb2mllrfn
-spthresh 0.0 0.000000e+00
-maxuttlen 0 0
-ckptintv
INFO: main.c(184): Reading /root/amodelspmx/model_architecture/amodelspmx.4000.mdef
WARN: "model_def_io.c", line 436: Unable to open /root/amodelspmx/model_architecture/amodelspmx.4000.mdef for reading; No such file or directory
atte. omar
The model definition file amodelspmx.4000.mdef is created in the initialization step of module 07 in slave_convg.pl.
1. Does this file exist? I suspect not.
2. If not, then you have to find out why it does not exist. It is created by subroutine "copyci2cd2initialize() in slave_convg.pl, and the program writes a log file in logdir/07..../amodelspmx/copy.ci.2.cd.log . Look in that log file to figure out what went wrong. It is likely that something went wrong earlier in the training process.
The strategy that Arthur and I are suggesting is to follow each step in the training scripts and to verify from the log files whether each step was successful. Those log files are very useful for this.
This same strategy will be useful for the Module 02 problem that you cited earlier (and also below).
cheers,
jerry
Sounds like the model definition file is missing. Chances are
1, you specified a wrong path of the model defiinition file.
Can you do an ls to see whether the file really exist?
2, you changes could have the problems.
Is your last step completed?
3, If you suspect that your own change was the problem, you may just revert it and see whether it helps or not.
Omar, you are actually the best person to debug it. Think in this way, what will be the next information Jerry or I will ask you? Then you will probably know what would be your next step.
Saying this doesn't mean you are not welcomed to ask your question. I do think though your ability to learn how to learn will help you even more.
Arthur
I revert all the changes in the script, but I have an error in the script 02, and only can pass if I modify the lines in script "norm". Did you make a acutic model before?, Did you have any problem with the scripts?
I need know if somebody make before a acutic model continous, and tell me if I need know a special error or aome tip
Please,
atte omar
This is the error that I obtain when I execute the script 02.ci_schmm/slave_convg.pl, and the error is in the script norm that is called in the previus script (02.ci_schmm/slave_convg.pl), but I dont know if is correct put the new line in norm.pl script, Did you have this problem with your acustic model?, How do you fixed?:
[root@localhost acusticmsm]# perl scripts_pl/02.ci_schmm/slave_convg.pl
MODULE: 02 Training Context Independent models
Cleaning up directories: accumulator...logs...models...
Flat initialize
Baum welch starting for iteration: 1 (1 of 1)
Using 20 files: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Finished
Normalization for iteration: 1 ERROR: ERROR: "cmd_ln.c", line 525: Expecting '/root/acusticmsm/bin/norm -switch_1 <arg_1> -switch_2 <arg_2> ...'
Finished
Current Overall Likelihood Per Frame = -42.6187337485638
Baum welch starting for iteration: 2 (1 of 1)
Using 20 files: 0% ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
ERROR: FATAL_ERROR: "main.c", line 969: initialization failed
Received a fatal error at /root/acusticmsm/scripts_pl/02.ci_schmm/baum_welch.pl line 143, <PIPE>
line 94.
atte. omar
-Once again, we only know that your new changes stopped at step 02, so what is actually the problem? Could you show us the log file? Could you try to understand what the error is?
Now another important hint we got from your mail is that in step 07, you actually didn't have a model at the stage.
Judging from your previous mail. It seems that you were only using 20 utterances in your training. In that case, even if you could pass through stage 01-06, the protective mechanims of the script will probably cause nothing to be generated at stage 7. Tell us how many utterances are you using. If you are using something like 20 -200, stop, and either go to collect data or go to get a corpus.
-BTW, there are a lot of people in this forum who have trained an acoustic model. In your case, the problem is that we never able to get enough information to debug your situation.
I will recommend you to spend 1 day to try to debug and understand what you were doing before you ask the next question. In your next mail, if you got stuck somewhere, try to send your mail in a more organized way. Give us logs. Give us error messages. Please don't send us multiple mails on multiple threads. That will make the answerers' job very very hard.
Regards,
Arthur
Omar,
Another suggestion for you is that you could try to use the script which is a tutorial of training prepared by Evandro Gouvea
http://www-2.cs.cmu.edu/~robust/Tutorial/opensource.html
This will give you a more concrete idea how training could be done. It also tell you how much data you actually need to do training. Read it carefully and follow it and you will find yourself knows the subjects better. .
Arthur
HI,
I check the log file, but I find the same error in this log, "no souch file or directory", and I dont know where the file was create, this is the error:
/root/amodelspmx/bin/init_mixw \ -src_moddeffn /root/amodelspmx/model_architecture/amodelspmx.ci.mdef \ -src_ts2cbfn .cont. \ -src_mixwfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/mixture_weights \ -src_meanfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/means \ -src_varfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/variances \ -src_tmatfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/transition_matrices \ -dest_moddeffn /root/amodelspmx/model_architecture/amodelspmx.4000.mdef \ -dest_ts2cbfn .cont. \ -dest_mixwfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/mixture_weights \ -dest_meanfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/means \ -dest_varfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/variances \ -dest_tmatfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/transition_matrices \ -feat 1s_c_d_dd \ -ceplen 13
[Switch] [Default] [Value]
-help no no
-example no no
-src_moddeffn /root/amodelspmx/model_architecture/amodelspmx.ci.mdef
-src_ts2cbfn .cont.
-src_mixwfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/mixture_weights
-src_meanfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/means
-src_varfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/variances
-src_tmatfn /root/amodelspmx/model_parameters/amodelspmx.ci_cont/transition_matrices
-dest_moddeffn /root/amodelspmx/model_architecture/amodelspmx.4000.mdef
-dest_ts2cbfn .cont.
-dest_mixwfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/mixture_weights
-dest_meanfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/means
-dest_varfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/variances
-dest_tmatfn /root/amodelspmx/model_parameters/amodelspmx.cd_cont_initial/transition_matrices
-feat 1s_12c_12d_3p_12dd 1s_c_d_dd
-ceplen 13 13
INFO: main.c(268): Reading src /root/amodelspmx/model_architecture/amodelspmx.ci.mdef
INFO: model_def_io.c(587): Model definition info:
INFO: model_def_io.c(588): 24 total models defined (24 base, 0 tri)
INFO: model_def_io.c(589): 96 total states
INFO: model_def_io.c(590): 72 total tied states
INFO: model_def_io.c(591): 72 total tied CI states
INFO: model_def_io.c(592): 24 total tied transition matrices
INFO: model_def_io.c(593): 4 max state/model
INFO: model_def_io.c(594): 4 min state/model
INFO: main.c(285): Generating continous ts2cb mapping
INFO: main.c(300): Reading src /root/amodelspmx/model_parameters/amodelspmx.ci_cont/mixture_weights
INFO: s3mixw_io.c(116): Read /root/amodelspmx/model_parameters/amodelspmx.ci_cont/mixture_weights [72x1x1 array]
INFO: main.c(309): Reading src /root/amodelspmx/model_parameters/amodelspmx.ci_cont/transition_matrices
INFO: s3tmat_io.c(115): Read /root/amodelspmx/model_parameters/amodelspmx.ci_cont/transition_matrices [24x3x4 array]
INFO: main.c(319): Reading src /root/amodelspmx/model_parameters/amodelspmx.ci_cont/means
INFO: s3gau_io.c(162): Read /root/amodelspmx/model_parameters/amodelspmx.ci_cont/means [72x1x1 array]
INFO: main.c(344): Reading src /root/amodelspmx/model_parameters/amodelspmx.ci_cont/variances
INFO: s3gau_io.c(162): Read /root/amodelspmx/model_parameters/amodelspmx.ci_cont/variances [72x1x1 array]
INFO: main.c(375): Reading dest /root/amodelspmx/model_architecture/amodelspmx.4000.mdef
WARN: "model_def_io.c", line 436: Unable to open /root/amodelspmx/model_architecture/amodelspmx.4000.mdef for reading; No such file or directory
The file amodelspmx.4000.mdef dosnt exist in the path: /root/amodelspmx/model_architecture/ And in any place.
I check all the directories but I dont find it
atte. omar
Sorry, I was wrong earlier (2005-05-24 07:44) when I said that the model definition file amodelspmx.4000.mdef is created in the initialization step of module 07 in slave_convg.pl. In fact, it is created earlier in 06.prunetree/tiestate.pl, and the logfile to examine is named logdir/06.prunetree/amodelspmx.tiestate.4000.log. That's where you should look for the problem -- why did it fail to be created.
I also echo Arthur's concern that your training corpus is much too small. I do not know how long your 20 utterances are in total, but it is much too little to attempt to train an 4000-senone acoustic model. You must have seem Arthur's recent "10 Pitfalls" posting in the Open Discussion forum http://sourceforge.net/forum/forum.php?thread_id=1282643&forum_id=5470 . There he suggests that you need about 1 second of training data per gaussian per senone. An acoustic model is a statistical model, and you need sufficient data to gather statistics of every distribution in every tied state (senone) that you are training.
cheers,
jerry
Because the file is created before step 7.
Ok, I pretty much know what the problem likely is. You have used too few utterance in your training. This makes some steps from step 3 or step 6 dies and they are responsible to create the model definition file you missed right now.
-Why do you use only 20 utterances in training in the first place? Nothing serious could be trained in this way.
-This is the second time I say this, could you check out
the tutorial ?
http://www-2.cs.cmu.edu/~robust/Tutorial/opensource.html
Not only you will have scripts there, there are also some training data you could play with.
Arthur
Thanks Jerry,
Just to echo a little bit, you could also find an on-line version of "10 Pitfalls" in my web page.
http://www.cs.cmu.edu/~archan/10CommonPitfalls_ST.html
Arthur