Small fix on scripts of Aishell2#2522
Conversation
…e output probs for diff. objectives
| #!/bin/bash | ||
|
|
||
| # _1d is as _1c, but with dropout schedule added, referenced from wsj | ||
| # _1d is as _1a, but with i-vector and dropout schedule added, referenced from wsj |
There was a problem hiding this comment.
OK, I am assuming this is not the entire difference because this one has pitch too.
|
can you please rename 1d to 1b? Also, please make clear at the top of each chain script, which 'mode' it was run with, i.e. whether it was done in 'normal' or 'simple' mode. Make sure that local/chain/compare_wer.sh prints out the number of parameters, and also please include the output chain_dir_info.pl in the comments at the top. (That will also help clarify what the feature type was). |
egs/aishell2/s5/local/run_gmm.sh
Outdated
| # nj for dev and test | ||
| dev_nj=$(wc -l data/dev/utt2spk | awk '${print $1}' || exit 1;) | ||
| test_nj=$(wc -l data/test/utt2spk | awk '${print $1}' || exit 1;) | ||
| dev_nj=$(wc -l data/dev/spk2utt | awk '${print $1}' || exit 1;) |
There was a problem hiding this comment.
@underdogliu hi, Xuechen, still syntax error in awk command
|
|
||
| # _1d is as _1c, but with dropout schedule added, referenced from wsj | ||
| # _1b is as _1a, but with pitch feats, i-vector and dropout schedule added, referenced from wsj | ||
| # this script is for 'normal' mode |
There was a problem hiding this comment.
When you say this script is for 'normal' mode: do you mean that the results you show here are from running it in 'normal' mode, or that it would only run correctly in 'normal' mod?
There was a problem hiding this comment.
it would only run correctly in 'normal' mode due to feature dimension. I think it has been indicated in run.sh, where setting different modes leads to different scripts. But of course I can make changes to make it potentially simpler.
|
That script works out the feature dimension from the features-- it looks to
me like it would work.
…On Wed, Jul 4, 2018 at 3:37 PM, Xuechen Liu ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In egs/aishell2/s5/local/chain/tuning/run_tdnn_1b.sh
<#2522 (comment)>:
> @@ -1,24 +1,30 @@
#!/bin/bash
-# _1d is as _1c, but with dropout schedule added, referenced from wsj
+# _1b is as _1a, but with pitch feats, i-vector and dropout schedule added, referenced from wsj
+# this script is for 'normal' mode
it would only run correctly in 'normal' mode due to feature dimension. I
think it has been indicated in run.sh, where setting different modes leads
to different scripts. But of course I can make changes to make it
potentially simpler.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2522 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADJVuxUiiKadQwiesaI3meOrhMhhcaH5ks5uDRlggaJpZM4U4Cv9>
.
|
|
For alignments and question tree generation there may be some dimension mismatch. For example when doing alignment conversion, if the number of columns of final.mat from ali_dir is something like, for example, 144=16x9 (this is with pitch) while the dimension of input features is 13, then it would fail. But there is a possibility that I got the wrong memory from experience. Also, even if they is not, it's still good practice from my point of view to keep the dimension consistent. But if it's not please point out sharply and I'd be happy to correct my mistakes in the script. |
|
The only thing I see in the script that wouldn't be comptible with the
"simple" setting is that it does steps/make_mfcc_pitch.sh instead of
steps/make_mfcc.sh. But that shouldn't cause a crash, it's just that it
isn't really compatible with your intentions in the "simple" setting.
Anyway, I suppose my main problem is as follows: if your training script is
going to have the "simple" option, that option should actually work.
Currently it wouldn't work, because local/chain/run_tdnn.sh points to a
script which does use pitch. IMO there are two reasonable possibilities:
(1) Take out the "simple" option
(2) Split the scripts into local/chain_simple/ and local/chain/ (the
latter for the 'normal' setup), with separate tuning sequences (e.g. 1a in
both).
And obviously, in the "simple" case, the script would call the version in
local/chain_simple/.
Dan
…On Wed, Jul 4, 2018 at 5:17 PM, Xuechen Liu ***@***.***> wrote:
For alignments and question tree generation there may be some dimension
mismatch. For example when doing alignment conversion, if the number of
columns of final.mat from ali_dir is something like, for example, 144=16x9
(this is with pitch) while the dimension of input features is 13, then it
would fail. But there is a possibility that I got the wrong memory from
experience. Also, even if they is not, it's still good practice from my
point of view to keep the dimension consistent. But if it's not please
point out sharply and I'd be happy to correct my mistakes in the script.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2522 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADJVu4wCXXPJiYnAE8lYxqmovLTZA2Rrks5uDTDQgaJpZM4U4Cv9>
.
|
|
@danpovey After some discussion with @dophist, I have removed the mode option and decided to simply use the most decent model with pitch, ivector and dropout. Hope this will make everything clearer. Also I changed the cmd options back to queue.pl, using GridEngine by default. Hope that helps and please make sharp comments if there is anything still need to be modified or cleaned. |
|
OK, great. You might want to remove the references to "mode" in the RESULTS file now that it no longer exists. And I think the "--stage 5" in the TDNN script invocation probably shouldn't be there. |
|
@danpovey Thanks for pointing it out and I've made the change on RESULTS file. However, for '--stage 5', I think it's necessary since we need to extract hires features and training ivector extractor then extract ivectors from it. |
|
Regarding --stage 5: those scripts, if run without the --stage option,
should always run from the beginning. Since that was the first nnet3 or
chain script in the run.sh, it should run from the beginning when invoked
there, so it shouldn't require the --stage option.
…On Fri, Jul 6, 2018 at 4:24 AM, Xuechen Liu ***@***.***> wrote:
@danpovey <https://github.com/danpovey> Thanks for pointing it out and
I've made the change on RESULTS file. However, for '--stage 5', I think
it's necessary since we need to extract hires features and training ivector
extractor then extract ivectors from it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2522 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADJVuzg0e53l2Cd1tc6EyYYWb1A2jeGbks5uDx7WgaJpZM4U4Cv9>
.
|
|
ah I got what you meant. Fixed. |
|
Thanks! Merging. |
This PR includes some slight modifications on Aishell2 scripts, including:
Add a mode option, which decides whether to train simple model with 40-dim mfcc or 'normal' model with 43-dim pitch-added mfcc, i-vector and dropout.
Some minor comment fix.
@danpovey This PR has been primarily checked by @dophist although I believe you may have more comments before merging. Thanks for checking!