class_docstr: Implementation of Query-Efficient Black-box Adversarial Examples. The attack approximates the gradient by
  maximizing the loss function over samples drawn from random Gaussian noise around the input.
  
  | Paper link: https://arxiv.org/abs/1712.07113
class_docstr_tok: ["Implementation","of","Query-Efficient","Black-box","Adversarial","Examples",".","The","attack","approximates","the","gradient","by","maximizing","the","loss","function","over","samples","drawn","from","random","Gaussian","noise","around","the","input",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1712.07113"]
docstr: Return the shape of one input sample.
  
  :return: Shape of one input sample.
docstr_tok: ["Return","the","shape","of","one","input","sample",".",":","return",":","Shape","of","one","input","sample","."]
code: def input_shape(self) -> Tuple[int, ...]:
      """
      Return the shape of one input sample.
  
      :return: Shape of one input sample.
      """
      return self._classifier.input_shape
  
file_path: adversarial-robustness-toolbox/art/estimators/classification/query_efficient_bb.py
imports: import logging
  from typing import List, Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from scipy.stats import entropy
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin, ClassifierLossGradients
  from art.utils import clip_and_round
label_desc: Use image node_id 2 for calling the QueryEfficientGradientEstimationClassifier obj's underlying member method code with example usage: obj.input_shape() and returns: self