diff --git a/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/.conformer.py.swp b/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/.conformer.py.swp index 0c34adc04..86ff639e6 100644 Binary files a/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/.conformer.py.swp and b/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/.conformer.py.swp differ diff --git a/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/conformer.py b/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/conformer.py index ba95433a9..d22ed5962 100644 --- a/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/conformer.py +++ b/egs/librispeech/ASR/pruned_transducer_stateless_gtrans/conformer.py @@ -135,7 +135,7 @@ class Conformer(EncoderInterface): ) self._init_state: List[torch.Tensor] = [torch.empty(0)] - self.alpha = nn.Parameter(torch.rand(6)) + self.alpha = nn.Parameter(torch.rand(12)) self.sigmoid = nn.Sigmoid() self.layer_norm = nn.LayerNorm(512) @@ -205,11 +205,21 @@ class Conformer(EncoderInterface): layer_output = [x.permute(1, 0, 2) for x in layer_output] - x = self.layer_norm(1/3*(self.sigmoid(self.alpha[0])*layer_output[3] + \ + ''' + x = self.layer_norm(1/12*(self.sigmoid(self.alpha[0])*layer_output[3] + \ + self.sigmoid(self.alpha[1])*layer_output[7] + \ + self.sigmoid(self.alpha[1])*layer_output[7] + \ + self.sigmoid(self.alpha[1])*layer_output[7] + \ self.sigmoid(self.alpha[1])*layer_output[7] + \ self.sigmoid(self.alpha[2])*layer_output[11] ) ) + ''' + x = 0 + for enum, alpha in enumerate(self.alpha): + x += self.sigmoid(alpha)*layer_output[self.group_size*(enum+1)] + + x = self.layer_norm((1/self.group_size)*x) return x, lengths