예제 #1
0
    def validation_epoch_end(self, output_data_batch):
        """Finishes a validation epoch."""

        # Reduce depth metrics
        metrics_data = all_reduce_metrics(output_data_batch,
                                          self.validation_dataset,
                                          self.metrics_name)

        # Create depth dictionary
        metrics_dict = create_dict(metrics_data, self.metrics_keys,
                                   self.metrics_modes,
                                   self.config.datasets.validation)

        # Print stuff
        self.print_metrics(metrics_data, self.config.datasets.validation)

        # Log to wandb
        if self.logger:
            self.logger.log_metrics({
                **metrics_dict,
                'global_step':
                self.current_epoch + 1,
            })

        return {**metrics_dict}
예제 #2
0
    def test_epoch_end(self, output_data_batch, filename):
        """Finishes a test epoch."""

        # Reduce depth metrics
        metrics_data = all_reduce_metrics(output_data_batch, self.test_dataset,
                                          self.metrics_name)

        # Create depth dictionary
        metrics_dict = create_dict(metrics_data, self.metrics_keys,
                                   self.metrics_modes,
                                   self.config.datasets.test)
        np.save(filename, metrics_dict)
        # Print stuff
        self.print_metrics(metrics_data, self.config.datasets.test)

        return {**metrics_dict}