From d467338837af4ed6ace949d23f2459bce0eecae1 Mon Sep 17 00:00:00 2001 From: Daniel Povey Date: Sat, 8 Oct 2022 21:37:21 +0800 Subject: [PATCH] Limit bypass scale to >= 0.1 --- egs/librispeech/ASR/pruned_transducer_stateless7/conformer.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/egs/librispeech/ASR/pruned_transducer_stateless7/conformer.py b/egs/librispeech/ASR/pruned_transducer_stateless7/conformer.py index eedd792d2..938da227f 100644 --- a/egs/librispeech/ASR/pruned_transducer_stateless7/conformer.py +++ b/egs/librispeech/ASR/pruned_transducer_stateless7/conformer.py @@ -375,6 +375,9 @@ class ConformerEncoderLayer(nn.Module): keep_prob = 0.5 + 0.5 * warmup_value # the :1 means the mask is chosen per frame. delta = delta * (torch.rand_like(delta[...,:1]) < keep_prob) + bypass_scale = self.bypass_scale + if random.random() > 0.1: + bypass_scale = bypass_scale.clamp(min=0.1) src = src_orig + delta * self.bypass_scale return src, attn_scores_out