class_docstr: Give up the sample if the result of the profiler is out of range.
  
  ``min`` and ``max`` can't be both None.
  
  Parameters
  ----------
  profiler
      The profiler which is used to profile the sample.
  min
      The lower bound of the profiler result. None means no minimum.
  max
      The upper bound of the profiler result. None means no maximum.
class_docstr_tok: ["Give","up","the","sample","if","the","result","of","the","profiler","is","out","of","range",".","``","min","``","and","``","max","``","ca","n't","be","both","None",".","Parameters","--","--","--","--","--","profiler","The","profiler","which","is","used","to","profile","the","sample",".","min","The","lower","bound","of","the","profiler","result",".","None","means","no","minimum",".","max","The","upper","bound","of","the","profiler","result",".","None","means","no","maximum","."]
code: def __init__(
      self,
      profiler: Profiler,
      min: float | None = None,
      max: float | None = None,
  ):  # pylint: disable=redefined-builtin
      super().__init__(profiler)
      self.min_value = min
      self.max_value = max
      if self.min_value is None and self.max_value is None:
          raise ValueError("min and max can't be both None")
  
imports: from __future__ import annotations
  import logging
  from typing import cast
  from typing_extensions import Literal
  import numpy
  import torch
  from torch import nn
  from nni.mutable import Sample
  from nni.nas.profiler import Profiler, ExpressionProfiler
  from .supermodule._expression_utils import expression_expectation
label_desc: Use image node_id 1 to create a new RangeProfilerFilter object from inherited base classes: ProfilerFilter with example: obj = RangeProfilerFilter(profiler, min, max)