class_docstr: Compute averaged sensitivity map based on ``n_samples`` (Gaussian additive) of noisy versions
  of the input image ``x``.
  
  See also:
  
      - Smilkov et al. SmoothGrad: removing noise by adding noise https://arxiv.org/abs/1706.03825
class_docstr_tok: ["Compute","averaged","sensitivity","map","based","on","``","n_samples","``","(","Gaussian","additive",")","of","noisy","versions","of","the","input","image","``","x","``",".","See","also",":","-","Smilkov","et","al",".","SmoothGrad",":","removing","noise","by","adding","noise","https",":","\/\/arxiv.org\/abs\/1706.03825"]
code: def __init__(
      self,
      model: torch.nn.Module,
      stdev_spread: float = 0.15,
      n_samples: int = 25,
      magnitude: bool = True,
      verbose: bool = True,
  ) -> None:
      super().__init__(model)
      self.stdev_spread = stdev_spread
      self.n_samples = n_samples
      self.magnitude = magnitude
      self.range: Callable
      if verbose and has_trange:
          self.range = partial(
              trange, desc=f"Computing {self.__class__.__name__}"
          )
      else:
          self.range = range
  
imports: from __future__ import annotations
  from functools import partial
  from typing import Any, Callable
  import torch
  from monai.networks.utils import replace_modules_temp
  from monai.utils.module import optional_import
  from monai.visualize.class_activation_maps import ModelWithHooks
label_desc: Use image node_id 1 to create a new SmoothGrad object from inherited base classes: VanillaGrad with example: obj = SmoothGrad(model, stdev_spread, n_samples, magnitude, verbose)