Beispiel #1
0
 def validation_epoch_end(self, outputs):
     if self.logger is not None and self.logger.experiment is not None:
         waveglow_log_to_tb_func(
             self.logger.experiment,
             outputs[0].values(),
             self.global_step,
             tag="eval",
             mel_fb=self.audio_to_melspec_precessor.fb,
         )
     avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean()
     self.log('val_loss', avg_loss)
Beispiel #2
0
 def validation_epoch_end(self, outputs):
     if self.logger is not None and self.logger.experiment is not None:
         waveglow_log_to_tb_func(
             self.logger.experiment,
             tuple(outputs[0].values())[:-1],
             self.global_step,
             tag="eval",
             mel_fb=self.audio_to_melspec_precessor.fb,
         )
     avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean()
     avg_stoi = torch.FloatTensor([x['stoi'] for x in outputs]).mean()
     tensorboard_logs = {'val_loss': avg_loss, 'stoi': avg_stoi}
     logging.info(
         f"Validation summary | Epoch {self.current_epoch} | NLL {avg_loss:.2f} | STOI: {avg_stoi:.2f}"
     )
     return {'val_loss': avg_loss, 'log': tensorboard_logs}
Beispiel #3
0
 def validation_epoch_end(self, outputs):
     if self.logger is not None and self.logger.experiment is not None:
         tb_logger = self.logger.experiment
         if isinstance(self.logger, LoggerCollection):
             for logger in self.logger:
                 if isinstance(logger, TensorBoardLogger):
                     tb_logger = logger.experiment
                     break
         waveglow_log_to_tb_func(
             tb_logger,
             outputs[0].values(),
             self.global_step,
             tag="eval",
             mel_fb=self.audio_to_melspec_precessor.fb,
         )
     avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean()
     self.log('val_loss', avg_loss)