class_docstr: Implementation of the HopSkipJump attack from Jianbo et al. (2019). This is a powerful black-box attack that
  only requires final class prediction, and is an advanced version of the boundary attack.
  
  | Paper link: https://arxiv.org/abs/1904.02144
docstr: Create a HopSkipJump attack instance.
  
  :param classifier: A trained classifier.
  :param batch_size: The size of the batch used by the estimator during inference.
  :param targeted: Should the attack target one specific class.
  :param norm: Order of the norm. Possible values: "inf", np.inf or 2.
  :param max_iter: Maximum number of iterations.
  :param max_eval: Maximum number of evaluations for estimating gradient.
  :param init_eval: Initial number of evaluations for estimating gradient.
  :param init_size: Maximum number of trials for initial generation of adversarial examples.
  :param verbose: Show progress bars.
docstr_tok: ["Create","a","HopSkipJump","attack","instance",".",":","param","classifier",":","A","trained","classifier",".",":","param","batch_size",":","The","size","of","the","batch","used","by","the","estimator","during","inference",".",":","param","targeted",":","Should","the","attack","target","one","specific","class",".",":","param","norm",":","Order","of","the","norm",".","Possible","values",":","``","inf","''",",","np.inf","or","2.",":","param","max_iter",":","Maximum","number","of","iterations",".",":","param","max_eval",":","Maximum","number","of","evaluations","for","estimating","gradient",".",":","param","init_eval",":","Initial","number","of","evaluations","for","estimating","gradient",".",":","param","init_size",":","Maximum","number","of","trials","for","initial","generation","of","adversarial","examples",".",":","param","verbose",":","Show","progress","bars","."]
code: def __init__(
      self,
      classifier: "CLASSIFIER_TYPE",
      batch_size: int = 64,
      targeted: bool = False,
      norm: Union[int, float, str] = 2,
      max_iter: int = 50,
      max_eval: int = 10000,
      init_eval: int = 100,
      init_size: int = 100,
      verbose: bool = True,
  ) -> None:
      """
      Create a HopSkipJump attack instance.
  
      :param classifier: A trained classifier.
      :param batch_size: The size of the batch used by the estimator during inference.
      :param targeted: Should the attack target one specific class.
      :param norm: Order of the norm. Possible values: "inf", np.inf or 2.
      :param max_iter: Maximum number of iterations.
      :param max_eval: Maximum number of evaluations for estimating gradient.
      :param init_eval: Initial number of evaluations for estimating gradient.
      :param init_size: Maximum number of trials for initial generation of adversarial examples.
      :param verbose: Show progress bars.
      """
      super().__init__(estimator=classifier)
      self._targeted = targeted
      self.norm = norm
      self.max_iter = max_iter
      self.max_eval = max_eval
      self.init_eval = init_eval
      self.init_size = init_size
      self.curr_iter = 0
      self.batch_size = batch_size
      self.verbose = verbose
      self._check_params()
      self.curr_iter = 0
  
      # Set binary search threshold
      if norm == 2:
          self.theta = 0.01 / np.sqrt(
              np.prod(self.estimator.input_shape)
          )
      else:
          self.theta = 0.01 / np.prod(self.estimator.input_shape)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import tqdm
  from art.config import ART_NUMPY_DTYPE
  from art.attacks.attack import EvasionAttack
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification import ClassifierMixin
  from art.utils import compute_success, to_categorical, check_and_transform_label_format, get_labels_np_array
label_desc: Use image node_id 1 to create a new HopSkipJump object from inherited base classes: EvasionAttack with example: obj = HopSkipJump(classifier, batch_size, targeted, norm, max_iter, max_eval, init_eval, init_size, verbose)