class_docstr: This class implements the black-box attack `SimBA`.
  
  | Paper link: https://arxiv.org/abs/1905.07121
class_docstr_tok: ["This","class","implements","the","black-box","attack","`","SimBA","`",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1905.07121"]
docstr: Create a SimBA (dct) attack instance.
  
  :param classifier: A trained classifier predicting probabilities and not logits.
  :param attack: attack type: pixel (px) or DCT (dct) attacks
  :param max_iter: The maximum number of iterations.
  :param epsilon: Overshoot parameter.
  :param order: order of pixel attacks: random or diagonal (diag)
  :param freq_dim: dimensionality of 2D frequency space (DCT).
  :param stride: stride for block order (DCT).
  :param targeted: perform targeted attack
  :param batch_size: Batch size (but, batch process unavailable in this implementation)
  :param verbose: Show progress bars.
docstr_tok: ["Create","a","SimBA","(","dct",")","attack","instance",".",":","param","classifier",":","A","trained","classifier","predicting","probabilities","and","not","logits",".",":","param","attack",":","attack","type",":","pixel","(","px",")","or","DCT","(","dct",")","attacks",":","param","max_iter",":","The","maximum","number","of","iterations",".",":","param","epsilon",":","Overshoot","parameter",".",":","param","order",":","order","of","pixel","attacks",":","random","or","diagonal","(","diag",")",":","param","freq_dim",":","dimensionality","of","2D","frequency","space","(","DCT",")",".",":","param","stride",":","stride","for","block","order","(","DCT",")",".",":","param","targeted",":","perform","targeted","attack",":","param","batch_size",":","Batch","size","(","but",",","batch","process","unavailable","in","this","implementation",")",":","param","verbose",":","Show","progress","bars","."]
code: def __init__(
      self,
      classifier: "CLASSIFIER_TYPE",
      attack: str = "dct",
      max_iter: int = 3000,
      order: str = "random",
      epsilon: float = 0.1,
      freq_dim: int = 4,
      stride: int = 1,
      targeted: bool = False,
      batch_size: int = 1,
      verbose: bool = True,
  ):
      """
      Create a SimBA (dct) attack instance.
  
      :param classifier: A trained classifier predicting probabilities and not logits.
      :param attack: attack type: pixel (px) or DCT (dct) attacks
      :param max_iter: The maximum number of iterations.
      :param epsilon: Overshoot parameter.
      :param order: order of pixel attacks: random or diagonal (diag)
      :param freq_dim: dimensionality of 2D frequency space (DCT).
      :param stride: stride for block order (DCT).
      :param targeted: perform targeted attack
      :param batch_size: Batch size (but, batch process unavailable in this implementation)
      :param verbose: Show progress bars.
      """
      super().__init__(estimator=classifier)
  
      self.attack = attack
      self.max_iter = max_iter
      self.epsilon = epsilon
      self.order = order
      self.freq_dim = freq_dim
      self.stride = stride
      self._targeted = targeted
      self.batch_size = batch_size
      self.verbose = verbose
      self._check_params()
  
file_path: adversarial-robustness-toolbox/art/attacks/evasion/simba.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, TYPE_CHECKING
  import numpy
  from scipy.fftpack import idct
  from tqdm.auto import trange
  from art.attacks.attack import EvasionAttack
  from art.estimators.estimator import BaseEstimator, NeuralNetworkMixin
  from art.estimators.classification.classifier import ClassifierMixin
  from art.config import ART_NUMPY_DTYPE
  from art.utils import is_probability
label_desc: Use image node_id 1 to create a new SimBA object from inherited base classes: EvasionAttack with example: obj = SimBA(classifier, attack, max_iter, order, epsilon, freq_dim, stride, targeted, batch_size, verbose)