def group()

in privacy_lint/attack_results.py [0:0]


    def group(self, group_size: int, num_groups: int):
        """
        Averages train and test scores over num_groups of size group_size.
        """

        p = torch.ones(self.scores_train.size(0)) / self.scores_train.size(0)
        group_train = torch.Tensor(
            [
                self.scores_train[p.multinomial(num_samples=group_size)].mean().item()
                for _ in range(num_groups)
            ]
        )

        p = torch.ones(self.scores_test.size(0)) / self.scores_test.size(0)
        group_test = torch.Tensor(
            [
                self.scores_test[p.multinomial(num_samples=group_size)].mean().item()
                for _ in range(num_groups)
            ]
        )

        return AttackResults(scores_train=group_train, scores_test=group_test)