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)