class_docstr: The black-box zeroth-order optimization attack from Pin-Yu Chen et al. (2018). This attack is a variant of the
  C&W attack which uses ADAM coordinate descent to perform numerical estimation of gradients.
  
  | Paper link: https://arxiv.org/abs/1708.03999
class_docstr_tok: ["The","black-box","zeroth-order","optimization","attack","from","Pin-Yu","Chen","et","al",".","(","2018",")",".","This","attack","is","a","variant","of","the","C","&","W","attack","which","uses","ADAM","coordinate","descent","to","perform","numerical","estimation","of","gradients",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1708.03999"]
docstr: Check two objects for equality if the attack is targeted, otherwise check for inequality.
  
  :param object1: First object to compare.
  :param object2: Second object to compare.
  :return: When the attack is targeted, returns "True" if object are equal otherwise "False". When the attack is
              untargeted, the function returns "True" when the objects are different otherwise "False".
docstr_tok: ["Check","two","objects","for","equality","if","the","attack","is","targeted",",","otherwise","check","for","inequality",".",":","param","object1",":","First","object","to","compare",".",":","param","object2",":","Second","object","to","compare",".",":","return",":","When","the","attack","is","targeted",",","returns","``","True","''","if","object","are","equal","otherwise","``","False","''",".","When","the","attack","is","untargeted",",","the","function","returns","``","True","''","when","the","objects","are","different","otherwise","``","False","''","."]
code: def _compare(self, object1: Any, object2: Any) -> bool:
      """
      Check two objects for equality if the attack is targeted, otherwise check for inequality.
  
      :param object1: First object to compare.
      :param object2: Second object to compare.
      :return: When the attack is targeted, returns "True" if object are equal otherwise "False". When the attack is
                  untargeted, the function returns "True" when the objects are different otherwise "False".
  
      """
      return object1 == object2 if self.targeted else object1 != object2
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple, Any, TYPE_CHECKING
  import numpy
  from scipy.ndimage import zoom
  from tqdm.auto import trange
  from art.config import ART_NUMPY_DTYPE
  from art.attacks.attack import EvasionAttack
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin
  from art.utils import compute_success, get_labels_np_array, check_and_transform_label_format
label_desc: Use image node_id 6 for calling the ZooAttack obj's underlying member method code with example usage: obj._compare(object1, object2) and returns: unknown