code: def perturb_resnet18(
      nfilters,
      avgpool=4,
      nclasses=10,
      nmasks=32,
      level=0.1,
      filter_size=0,
      first_filter_size=0,
      pool_type=None,
      input_size=None,
      scale_noise=1,
      act="relu",
      use_act=True,
      dropout=0.5,
      unique_masks=False,
      debug=False,
      noise_type="uniform",
      train_masks=False,
      mix_maps=None,
  ):
      return PerturbResNet(
          PerturbBasicBlock,
          [2, 2, 2, 2],
          nfilters=nfilters,
          avgpool=avgpool,
          nclasses=nclasses,
          pool_type=pool_type,
          scale_noise=scale_noise,
          nmasks=nmasks,
          level=level,
          filter_size=filter_size,
          train_masks=train_masks,
          first_filter_size=first_filter_size,
          act=act,
          use_act=use_act,
          unique_masks=unique_masks,
          debug=debug,
          noise_type=noise_type,
          input_size=input_size,
          mix_maps=mix_maps,
      )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 2 for calling a global function with example usage: perturb_resnet18(nfilters, avgpool, nclasses, nmasks, level, filter_size, first_filter_size, pool_type, input_size, scale_noise, act, use_act, dropout, unique_masks, debug, noise_type, train_masks, mix_maps) and returns: PerturbResNet