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)
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}
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)