class_docstr: Smooth grad analyzer.
  
  Applies the "smooth grad" algorithm to analyze the model.
  
  :param model: A Keras model.
  :param augment_by_n: Number of distortions to average for smoothing.
class_docstr_tok: ["Smooth","grad","analyzer",".","Applies","the","``","smooth","grad","''","algorithm","to","analyze","the","model",".",":","param","model",":","A","Keras","model",".",":","param","augment_by_n",":","Number","of","distortions","to","average","for","smoothing","."]
code: def __init__(
      self,
      model,
      augment_by_n=64,
      neuron_selection_mode="max_activation",
      postprocess=None,
      **kwargs,
  ):
      # If initialized through serialization:
      if "subanalyzer" in kwargs:
          subanalyzer = kwargs.pop("subanalyzer")
      # If initialized normally:
      else:
          subanalyzer = Gradient(
              model,
              neuron_selection_mode=neuron_selection_mode,
              postprocess=postprocess,
          )
  
      super().__init__(
          subanalyzer,
          augment_by_n=augment_by_n,
          neuron_selection_mode=neuron_selection_mode,
          **kwargs,
      )
  
imports: from __future__ import annotations
  import tensorflow
  import tensorflow.keras.backend
  import tensorflow.keras.layers
  import innvestigate.backend
  import innvestigate.backend.checks
  import innvestigate.backend.graph
  from innvestigate.analyzer.network_base import AnalyzerNetworkBase
  from innvestigate.analyzer.reverse_base import ReverseAnalyzerBase
  from innvestigate.analyzer.wrapper import GaussianSmoother, PathIntegrator
  from innvestigate.backend.types import List, OptionalList, Tensor
label_desc: Use image node_id 1 to create a new SmoothGrad object from inherited base classes: GaussianSmoother with example: obj = SmoothGrad(model, augment_by_n, neuron_selection_mode, postprocess)