GANimation conditional attacks
This commit is contained in:
+17
-11
@@ -420,10 +420,10 @@ class Solver(Utils):
|
||||
# img = regular_image_transform(Image.open(images_to_animate_path[idx])).unsqueeze(0).cuda()
|
||||
|
||||
# Wrong Class
|
||||
# x_adv, perturb = pgd_attack.perturb(image_to_animate, black, targets[0, :].unsqueeze(0).cuda())
|
||||
x_adv, perturb = pgd_attack.perturb(image_to_animate, black, targets[0, :].unsqueeze(0).cuda())
|
||||
|
||||
# Joint Class Conditional
|
||||
x_adv, perturb = pgd_attack.perturb_joint_class(image_to_animate, black, targets[:, :].cuda())
|
||||
# x_adv, perturb = pgd_attack.perturb_joint_class(image_to_animate, black, targets[:, :].cuda())
|
||||
|
||||
# Iterative Class Conditional
|
||||
# x_adv, perturb = pgd_attack.perturb_iter_class(image_to_animate, black, targets[:, :].cuda())
|
||||
@@ -451,11 +451,11 @@ class Solver(Utils):
|
||||
resulting_image = self.imFromAttReg(
|
||||
resulting_images_att, resulting_images_reg, x_adv).cuda()
|
||||
|
||||
with torch.no_grad():
|
||||
resulting_images_att_noattack, resulting_images_reg_noattack = self.G(
|
||||
image_to_animate, targets_au)
|
||||
resulting_image_noattack = self.imFromAttReg(
|
||||
resulting_images_att_noattack, resulting_images_reg_noattack, image_to_animate).cuda()
|
||||
# with torch.no_grad():
|
||||
# resulting_images_att_noattack, resulting_images_reg_noattack = self.G(
|
||||
# image_to_animate, targets_au)
|
||||
# resulting_image_noattack = self.imFromAttReg(
|
||||
# resulting_images_att_noattack, resulting_images_reg_noattack, image_to_animate).cuda()
|
||||
|
||||
save_image((resulting_image+1)/2, os.path.join(self.animation_results_dir,
|
||||
image_path.split('/')[-1].split('.')[0]
|
||||
@@ -465,10 +465,16 @@ class Solver(Utils):
|
||||
image_path.split('/')[-1].split('.')[0]
|
||||
+ '_ref.jpg'))
|
||||
|
||||
l1_error += F.l1_loss(resulting_image, resulting_image_noattack)
|
||||
l2_error += F.mse_loss(resulting_image, resulting_image_noattack)
|
||||
l0_error += (resulting_image - resulting_image_noattack).norm(0)
|
||||
min_dist += (resulting_image - resulting_image_noattack).norm(float('-inf'))
|
||||
# l1_error += F.l1_loss(resulting_image, resulting_image_noattack)
|
||||
# l2_error += F.mse_loss(resulting_image, resulting_image_noattack)
|
||||
# l0_error += (resulting_image - resulting_image_noattack).norm(0)
|
||||
# min_dist += (resulting_image - resulting_image_noattack).norm(float('-inf'))
|
||||
|
||||
# Compare to input image
|
||||
l1_error += F.l1_loss(resulting_image, image_to_animate)
|
||||
l2_error += F.mse_loss(resulting_image, image_to_animate)
|
||||
l0_error += (resulting_image - image_to_animate).norm(0)
|
||||
min_dist += (resulting_image - image_to_animate).norm(float('-inf'))
|
||||
n_samples += 1
|
||||
|
||||
# Print metrics
|
||||
|
||||
Reference in New Issue
Block a user