-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adding frame level dropout to TDNN+LSTM on AMI SDM1 #1264
Conversation
Conflicts: egs/wsj/s5/steps/libs/nnet3/train/common.py
Submit your own PR into which you will merge, or have already merged, #1248.
…On Wed, Dec 14, 2016 at 6:10 AM, Gaofeng Cheng ***@***.***> wrote:
@danpovey <https://github.com/danpovey> Could you help me merge this into
... #1248 <#1248>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1264 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADJVu5hATmYTiMuv98r948Ntm_1Oak9wks5rH_i8gaJpZM4LM9gE>
.
|
@vimalmanohar, can you please review this?
…On Wed, Dec 14, 2016 at 6:09 AM, Gaofeng Cheng ***@***.***> wrote:
------------------------------
You can view, comment on, or merge this pull request online at:
#1264
Commit Summary
- dropout_schedule: Adding dropout schedule to scripts
- dropout_schedule: Add set-dropout-proportion in nnet3 utils
- dropout_schedule: Print dropout info
- dropout_schedule: Adding more comments and fixing bug
- dropout_schedule: Bug fix
- dropout_schedule: Fixed bug
- dropout_schedule: Fixing logging
- dropout_schedule: Not printing shrinkage when its 1.0
- change dropout_parser strategy
- adding frame level dropout to TDNN+LSTM on AMI SDM1 #1248
File Changes
- *A* egs/ami/s5b/local/chain/tuning/run_tdnn_lstm_1i_dp.sh
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-0> (295)
- *M* egs/wsj/s5/steps/libs/nnet3/train/chain_objf/acoustic_model.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-1> (20)
- *M* egs/wsj/s5/steps/libs/nnet3/train/common.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-2> (233)
- *M* egs/wsj/s5/steps/libs/nnet3/train/frame_level_objf/common.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-3> (18)
- *M* egs/wsj/s5/steps/libs/nnet3/xconfig/lstm.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-4> (25)
- *M* egs/wsj/s5/steps/nnet3/chain/train.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-5> (31)
- *M* egs/wsj/s5/steps/nnet3/train_dnn.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-6> (14)
- *M* egs/wsj/s5/steps/nnet3/train_raw_dnn.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-7> (14)
- *M* egs/wsj/s5/steps/nnet3/train_raw_rnn.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-8> (29)
- *M* egs/wsj/s5/steps/nnet3/train_rnn.py
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-9> (29)
- *M* src/nnet3/nnet-utils.cc
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-10> (33)
- *M* src/nnet3/nnet-utils.h
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-11> (3)
- *M* src/nnet3bin/nnet3-copy.cc
<https://github.com/kaldi-asr/kaldi/pull/1264/files#diff-12> (12)
Patch Links:
- https://github.com/kaldi-asr/kaldi/pull/1264.patch
- https://github.com/kaldi-asr/kaldi/pull/1264.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1264>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADJVuwWNHFvmEA0CGrO_qwtQh3srTBZTks5rH_iJgaJpZM4LM9gE>
.
|
ihm_gmm=tri3 # the gmm for the IHM system (if --use-ihm-ali true). | ||
num_threads_ubm=32 | ||
nnet3_affix=_cleaned # cleanup affix for nnet3 and chain dirs, e.g. _cleaned | ||
dropout_schedule='0,0@0.20,0.5@0.50,0@0.50,0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will now crash with the new change. But it seems like in some cases this step change is required. So should I change the script to accept the step changes and retain the order?
for decode_set in dev eval; do | ||
( | ||
steps/nnet3/decode.sh --acwt 1.0 --post-decode-acwt 10.0 \ | ||
--nj $nj --cmd "$decode_cmd" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check that nj < the number of speakers in dev and eval for both sdm and ihm. Otherwise it may crash.
Use nj_dev as min(number of speakers, nj)
dropout_values.append((0, float(parts[0]))) | ||
|
||
dropout_values.append((0, float(parts[0]))) | ||
data_fraction_one_previous='' # used to control situations like: 0.2@0.75,0@0.75 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make a pull request wrt my branch? I think we made conflicting changes.
@@ -339,6 +345,8 @@ def generate_lstm_config(self): | |||
abs(delay))) | |||
affine_str = self.config['ng-affine-options'] | |||
pes_str = self.config['ng-per-element-scale-options'] | |||
lstm_dropout_value = self.config['dropout-proportion'] | |||
lstm_dropout_str = 'dropout-proportion='+str(self.config['dropout-proportion']) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use 'dropout-proportion={0}'.format( )
@@ -745,6 +761,7 @@ def set_default_configs(self): | |||
'ng-affine-options' : ' max-change=1.5', | |||
'zeroing-interval' : 20, | |||
'zeroing-threshold' : 15.0 | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove extra line.
I think the best way is that @GaofengCheng changes this pull request to be wrt my branch in #1248. I will merge that PR to my branch and that will be merged to master in #1248. |
I think it's better if he changes the function specification to not have a
step change.
I expect he meant @0.8 or something like that, anyway.
…On Wed, Dec 14, 2016 at 3:27 PM, Vimal Manohar ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In egs/ami/s5b/local/chain/tuning/run_tdnn_lstm_1i_dp.sh
<#1264 (review)>:
> +
+set -e -o pipefail
+
+# First the options that are passed through to run_ivector_common.sh
+# (some of which are also used in this script directly).
+stage=0
+mic=ihm
+nj=30
+min_seg_len=1.55
+use_ihm_ali=false
+train_set=train_cleaned
+gmm=tri3_cleaned # the gmm for the target data
+ihm_gmm=tri3 # the gmm for the IHM system (if --use-ihm-ali true).
+num_threads_ubm=32
+nnet3_affix=_cleaned # cleanup affix for nnet3 and chain dirs, e.g. _cleaned
***@***.******@***.******@***.***,0'
This will now crash with the new change. But it seems like in some cases
this step change is required. So should I change the script to accept the
step changes and retain the order?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1264 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADJVuxLq_Z-T4aDWjAoYa-RErxuTOAZQks5rIHtdgaJpZM4LM9gE>
.
|
He changed the dropout parser to use num_archives + 1 if the number of
archives is same for two consecutive dropout specifications. That seems to
work at least for his case.
On Wed, Dec 14, 2016 at 6:57 PM Daniel Povey <notifications@github.com>
wrote:
I think it's better if he changes the function specification to not have a
step change.
I expect he meant @0.8 or something like that, anyway.
On Wed, Dec 14, 2016 at 3:27 PM, Vimal Manohar ***@***.***>
wrote:
> ***@***.**** commented on this pull request.
> ------------------------------
>
> In egs/ami/s5b/local/chain/tuning/run_tdnn_lstm_1i_dp.sh
> <#1264 (review)
>:
>
> > +
> +set -e -o pipefail
> +
> +# First the options that are passed through to run_ivector_common.sh
> +# (some of which are also used in this script directly).
> +stage=0
> +mic=ihm
> +nj=30
> +min_seg_len=1.55
> +use_ihm_ali=false
> +train_set=train_cleaned
> +gmm=tri3_cleaned # the gmm for the target data
> +ihm_gmm=tri3 # the gmm for the IHM system (if --use-ihm-ali true).
> +num_threads_ubm=32
> +nnet3_affix=_cleaned # cleanup affix for nnet3 and chain dirs, e.g.
_cleaned
> ***@***.******@***.******@***.***,0'
>
> This will now crash with the new change. But it seems like in some cases
> this step change is required. So should I change the script to accept the
> step changes and retain the order?
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#1264 (review)
>,
> or mute the thread
> <
https://github.com/notifications/unsubscribe-auth/ADJVuxLq_Z-T4aDWjAoYa-RErxuTOAZQks5rIHtdgaJpZM4LM9gE
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1264 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AEATV9PUq2ZbwoGem5cAqPyIMHhw5H9bks5rIIJQgaJpZM4LM9gE>
.
--
Vimal Manohar
PhD Student
Electrical & Computer Engineering
Johns Hopkins University
|
this PR is merged into #1248 |
@GaofengCheng I added a new commit in #1248 for the same data fraction issue. See if that works. |
@vimalmanohar thx Vimal, I'll later revised the issues |
No description provided.