Skip to content

Commit ba9364a

Browse files
rogiervdRogier van DalenAdel-Moumen
authored
Add test for various length mask functions (code from Samsung, AI Center, Cambridge) (#2894)
Co-authored-by: Rogier van Dalen <r.vandalen@samsung.com> Co-authored-by: Adel Moumen <88119391+Adel-Moumen@users.noreply.github.com>
1 parent f769926 commit ba9364a

3 files changed

Lines changed: 601 additions & 3 deletions

File tree

speechbrain/nnet/losses.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ def compute_length_mask(data, length=None, len_dim=1):
917917
mask = torch.ones_like(data)
918918
if length is not None:
919919
length_mask = length_to_mask(
920-
length * data.shape[len_dim],
920+
(length * data.shape[len_dim] - 1e-6),
921921
max_len=data.shape[len_dim],
922922
)
923923

speechbrain/processing/features.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,7 @@ def _load(self, path, end_of_epoch=False):
15451545
self._load_statistics_dict(stats)
15461546

15471547

1548-
def make_padding_mask(x, lengths=None, length_dim=1, eps=1e-8):
1548+
def make_padding_mask(x, lengths=None, length_dim=1, eps=1e-6):
15491549
"""Create a mask from relative lengths along a given dimension.
15501550
15511551
Arguments
@@ -1597,7 +1597,7 @@ def make_padding_mask(x, lengths=None, length_dim=1, eps=1e-8):
15971597

15981598
# Convert relative lengths to absolute lengths, then compute boolean mask
15991599
max_len = x.size(length_dim)
1600-
abs_lengths = (lengths * max_len + eps).unsqueeze(1)
1600+
abs_lengths = (lengths * max_len - eps).unsqueeze(1)
16011601
mask = torch.arange(max_len, device=x.device).unsqueeze(0) < abs_lengths
16021602

16031603
# Add dimensions other than (batch, length) back into the mask

0 commit comments

Comments
 (0)