diff --git a/deepspeech/exps/u2/model.py b/deepspeech/exps/u2/model.py index 5cb0962a7fda3dbac6730b52e660f56192a01b68..5cf8866c315b22228927011a02897b3dc805cf95 100644 --- a/deepspeech/exps/u2/model.py +++ b/deepspeech/exps/u2/model.py @@ -243,6 +243,7 @@ class U2Trainer(Trainer): self.visualizer.add_scalars( 'epoch', {'cv_loss': cv_loss, 'lr': self.lr_scheduler()}, self.epoch) + self.save(tag=self.epoch, infos={'val_loss': cv_loss}) self.new_epoch() @@ -291,7 +292,8 @@ class U2Trainer(Trainer): batch_size=config.collator.batch_size, shuffle=False, drop_last=False, - collate_fn=collate_fn_dev) + collate_fn=collate_fn_dev, + num_workers=config.collator.num_workers, ) # test dataset, return raw text config.data.manifest = config.data.test_manifest diff --git a/deepspeech/modules/ctc.py b/deepspeech/modules/ctc.py index 11ce871fc5111782b77da45048d077d5068df917..551bbf6711ffae55c74decbc80fbebccfb6f0e7b 100644 --- a/deepspeech/modules/ctc.py +++ b/deepspeech/modules/ctc.py @@ -49,7 +49,7 @@ class CTCDecoder(nn.Layer): dropout_rate (float): dropout rate (0.0 ~ 1.0) reduction (bool): reduce the CTC loss into a scalar, True for 'sum' or 'none' batch_average (bool): do batch dim wise average. - grad_norm_type (str): one of 'instance', 'batchsize', 'frame', None. + grad_norm_type (str): one of 'instance', 'batch', 'frame', None. """ assert check_argument_types() super().__init__() diff --git a/deepspeech/modules/loss.py b/deepspeech/modules/loss.py index 7d24e17031db7d83c2a78eaca60c4b7151d8455d..1f33e5125acd403fe67abd82f683fbe41d4ca17b 100644 --- a/deepspeech/modules/loss.py +++ b/deepspeech/modules/loss.py @@ -49,6 +49,8 @@ class CTCLoss(nn.Layer): self.norm_by_batchsize = True elif grad_norm_type == 'frame': self.norm_by_total_logits_len = True + else: + raise ValueError(f"CTCLoss Grad Norm no support {grad_norm_type}") def forward(self, logits, ys_pad, hlens, ys_lens): """Compute CTC loss.