class_docstr: Blurs the inputs using a Gaussian filter with linearly
  increasing standard deviation.
  
  Args:
      steps : Number of sigma values tested between 0 and max_sigma.
      channel_axis : Index of the channel axis in the input data.
      max_sigma : Maximally allowed sigma value of the Gaussian blur.
class_docstr_tok: ["Blurs","the","inputs","using","a","Gaussian","filter","with","linearly","increasing","standard","deviation",".","Args",":","steps",":","Number","of","sigma","values","tested","between","0","and","max_sigma",".","channel_axis",":","Index","of","the","channel","axis","in","the","input","data",".","max_sigma",":","Maximally","allowed","sigma","value","of","the","Gaussian","blur","."]
code: def __init__(
      self,
      *,
      distance: Optional[Distance] = None,
      steps: int = 1000,
      channel_axis: Optional[int] = None,
      max_sigma: Optional[float] = None,
  ):
      super().__init__(distance=distance)
      self.steps = steps
      self.channel_axis = channel_axis
      self.max_sigma = max_sigma
  
file_path: foolbox/foolbox/attacks/blur.py
imports: from typing import Union, Optional, Any
  import numpy
  from scipy.ndimage.filters import gaussian_filter
  import eagerpy
  from ..devutils import atleast_kd
  from ..models import Model
  from ..criteria import Criterion
  from ..distances import Distance
  from .base import FlexibleDistanceMinimizationAttack
  from .base import T
  from .base import get_is_adversarial
  from .base import get_criterion
  from .base import get_channel_axis
  from .base import raise_if_kwargs
  from .base import verify_input_bounds
label_desc: Use image node_id 1 to create a new GaussianBlurAttack object from inherited base classes: FlexibleDistanceMinimizationAttack with example: obj = GaussianBlurAttack()