Local variable 'counter' is assigned to but never used:
393 counter = 0Local variable 'n_reduced' is assigned to but never used:
494 n_reduced = fl_oscillation.sum()Local variable 'loss' is assigned to but never used:
549 loss = -1e10 * torch.ones_like(acc).float()Local variable 'eps_target' is assigned to but never used:
625 eps_target = float(epss[-1])Line too long (170 > 120 characters):
307 def attack_single_run(self, x: torch.Tensor, y: torch.Tensor, x_init: Optional[torch.Tensor] = None) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]:Line too long (163 > 120 characters):
429 x_adv_1 = torch.clamp(x + self.normalize(x_adv_1 - x) * torch.min(self.eps * torch.ones_like(x).detach(), self.lp_norm(x_adv_1 - x)), 0.0, 1.0)Line too long (163 > 120 characters):
431 x_adv_1 = torch.clamp(x + self.normalize(x_adv_1 - x) * torch.min(self.eps * torch.ones_like(x).detach(), self.lp_norm(x_adv_1 - x)), 0.0, 1.0)Line too long (170 > 120 characters):
437 x_adv_1 = x_adv + step_size * sparsegrad.sign() / (sparsegrad.sign().abs().view(x.shape[0], -1).sum(dim=-1).view(-1, *[1]*(len(x.shape) - 1)) + 1e-10)Line too long (153 > 120 characters):
517 def perturb(self, x: torch.Tensor, y: Optional[torch.Tensor] = None, best_loss: bool = False, x_init: Optional[torch.Tensor] = None) -> torch.Tensor:Line too long (147 > 120 characters):
551 print('-------------------------- ', 'running {}-attack with epsilon {:.5f}'.format(self.norm, self.eps), '--------------------------')Line too long (123 > 120 characters):
561 print('using schedule [{}x{}]'.format('+'.join([str(c) for c in epss]), '+'.join([str(c) for c in iters])))Line too long (172 > 120 characters):
602 def decr_eps_pgd(self, x: torch.Tensor, y: torch.Tensor, epss: list, iters: list, use_rs: bool = True) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]:Line too long (121 > 120 characters):
614 Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: A tuple containing the final perturbed inputs,