code: def parse_params(self, ngpu=1, **kwargs):
      
  
      return_status = super(MadryEtAlMultiGPU, self).parse_params(**kwargs)
      self.ngpu = ngpu
  
      return return_status
docs: Take in a dictionary of parameters and applies attack-specific checks
      before saving them as attributes.
  
      Attack-specific parameters:
      :param ngpu: (required int) the number of GPUs available.
      :param kwargs: A dictionary of parameters for MadryEtAl attack.