code: def test_pgd_attack(targeted):
      compare_attacks(
          LinfPGDAttack, attack_kwargs[LinfPGDAttack], targeted
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import warnings
  import pytest
  import random
  import numpy
  import torch
  import torch.nn.parallel
  import torch.optim
  import torch.utils.data
  import tensorflow
  from cleverhans.attacks import CarliniWagnerL2
  from cleverhans.attacks import ElasticNetMethod
  from cleverhans.attacks import FastGradientMethod
  from cleverhans.attacks import MomentumIterativeMethod
  from cleverhans.attacks import MadryEtAl
  from cleverhans.attacks import FastFeatureAdversaries
  from cleverhans.attacks import BasicIterativeMethod
  from cleverhans.attacks import LBFGS
  from cleverhans.attacks import SaliencyMapMethod
  from cleverhans.model import Model
  from advertorch.attacks import CarliniWagnerL2Attack
  from advertorch.attacks import ElasticNetL1Attack
  from advertorch.attacks import GradientAttack
  from advertorch.attacks import GradientSignAttack
  from advertorch.attacks import L2MomentumIterativeAttack
  from advertorch.attacks import LinfMomentumIterativeAttack
  from advertorch.attacks import LinfPGDAttack
  from advertorch.attacks import FastFeatureAttack
  from advertorch.attacks import LinfBasicIterativeAttack
  from advertorch.attacks import L2BasicIterativeAttack
  from advertorch.attacks import LBFGSAttack
  from advertorch.attacks import JacobianSaliencyMapAttack
  from advertorch.test_utils import SimpleModel
  from advertorch.test_utils import merge2dicts
label_desc: Use image node_id 12 for calling a global function with example usage: test_pgd_attack(targeted) without return types