def _eval_dataset()

in sing/fondation/trainer.py [0:0]


    def _eval_dataset(self, dataset_name, dataset, epoch):
        """
        Evaluate all the losses `eval_lossers` on the given dataset
        and reports the metrics averaged over the entire dataset.
        """
        loader = DataLoader(
            dataset, batch_size=self.batch_size, collate_fn=collate)
        total_losses = {loss_name: 0 for loss_name in self.eval_losses}
        with tqdm.tqdm(total=len(dataset), unit="ex") as bar:
            for batch in loader:
                if self.cuda:
                    batch.cuda_()
                rebuilt, target = self._get_rebuilt_target(batch)
                for name, loss in self.eval_losses.items():
                    total_losses[name] += loss(rebuilt,
                                               target).item() * len(batch)
                bar.update(len(batch))

        print("[{}{}][{:03d}] Evaluation: \n{}\n".format(
            dataset_name, self.suffix, epoch, "\n".join(
                "\t{}={:.6f}".format(name, loss / len(dataset))
                for name, loss in total_losses.items())))
        return total_losses