class_docstr: Implementation of Randomized Smoothing applied to classifier predictions and gradients, as introduced
  in Cohen et al. (2019).
  
  | Paper link: https://arxiv.org/abs/1902.02918
code: def input_shape(self) -> Tuple[int, ...]:
      return self._input_shape
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import List, Optional, Union, TYPE_CHECKING, Tuple
  import warnings
  import numpy
  from art.config import ART_NUMPY_DTYPE
  from art.estimators.estimator import BaseEstimator, LossGradientsMixin, NeuralNetworkMixin
  from art.estimators.certification.randomized_smoothing.randomized_smoothing import RandomizedSmoothingMixin
  from art.estimators.classification import ClassifierMixin, ClassGradientsMixin
  from art.defences.preprocessor.gaussian_augmentation import GaussianAugmentation
label_desc: Use image node_id 2 for calling the NumpyRandomizedSmoothing obj's underlying member method code with example usage: obj.input_shape() and returns: self