class_docstr: `ScoreSdeVeScheduler` is a variance exploding stochastic differential equation (SDE) scheduler.
  
  This model inherits from [`SchedulerMixin`] and [`ConfigMixin`]. Check the superclass documentation for the generic
  methods the library implements for all schedulers such as loading and saving.
  
  Args:
      num_train_timesteps (`int`, defaults to 1000):
          The number of diffusion steps to train the model.
      snr (`float`, defaults to 0.15):
          A coefficient weighting the step from the `model_output` sample (from the network) to the random noise.
      sigma_min (`float`, defaults to 0.01):
          The initial noise scale for the sigma sequence in the sampling procedure. The minimum sigma should mirror
          the distribution of the data.
      sigma_max (`float`, defaults to 1348.0):
          The maximum value used for the range of continuous timesteps passed into the model.
      sampling_eps (`float`, defaults to 1e-5):
          The end value of sampling where timesteps decrease progressively from 1 to epsilon.
      correct_steps (`int`, defaults to 1):
          The number of correction steps performed on a produced sample.
class_docstr_tok: ["`","ScoreSdeVeScheduler","`","is","a","variance","exploding","stochastic","differential","equation","(","SDE",")","scheduler",".","This","model","inherits","from","[","`","SchedulerMixin","`","]","and","[","`","ConfigMixin","`","]",".","Check","the","superclass","documentation","for","the","generic","methods","the","library","implements","for","all","schedulers","such","as","loading","and","saving",".","Args",":","num_train_timesteps","(","`","int","`",",","defaults","to","1000",")",":","The","number","of","diffusion","steps","to","train","the","model",".","snr","(","`","float","`",",","defaults","to","0.15",")",":","A","coefficient","weighting","the","step","from","the","`","model_output","`","sample","(","from","the","network",")","to","the","random","noise",".","sigma_min","(","`","float","`",",","defaults","to","0.01",")",":","The","initial","noise","scale","for","the","sigma","sequence","in","the","sampling","procedure",".","The","minimum","sigma","should","mirror","the","distribution","of","the","data",".","sigma_max","(","`","float","`",",","defaults","to","1348.0",")",":","The","maximum","value","used","for","the","range","of","continuous","timesteps","passed","into","the","model",".","sampling_eps","(","`","float","`",",","defaults","to","1e-5",")",":","The","end","value","of","sampling","where","timesteps","decrease","progressively","from","1","to","epsilon",".","correct_steps","(","`","int","`",",","defaults","to","1",")",":","The","number","of","correction","steps","performed","on","a","produced","sample","."]
docstr: Sets the noise scales used for the diffusion chain (to be run before inference). The sigmas control the weight
  of the `drift` and `diffusion` components of the sample update.
  
  Args:
      num_inference_steps (`int`):
          The number of diffusion steps used when generating samples with a pre-trained model.
      sigma_min (`float`, optional):
          The initial noise scale value (overrides value given during scheduler instantiation).
      sigma_max (`float`, optional):
          The final noise scale value (overrides value given during scheduler instantiation).
      sampling_eps (`float`, optional):
          The final timestep value (overrides value given during scheduler instantiation).
docstr_tok: ["Sets","the","noise","scales","used","for","the","diffusion","chain","(","to","be","run","before","inference",")",".","The","sigmas","control","the","weight","of","the","`","drift","`","and","`","diffusion","`","components","of","the","sample","update",".","Args",":","num_inference_steps","(","`","int","`",")",":","The","number","of","diffusion","steps","used","when","generating","samples","with","a","pre-trained","model",".","sigma_min","(","`","float","`",",","optional",")",":","The","initial","noise","scale","value","(","overrides","value","given","during","scheduler","instantiation",")",".","sigma_max","(","`","float","`",",","optional",")",":","The","final","noise","scale","value","(","overrides","value","given","during","scheduler","instantiation",")",".","sampling_eps","(","`","float","`",",","optional",")",":","The","final","timestep","value","(","overrides","value","given","during","scheduler","instantiation",")","."]
code: def set_sigmas(
      self,
      num_inference_steps: int,
      sigma_min: float = None,
      sigma_max: float = None,
      sampling_eps: float = None,
  ):
      """
      Sets the noise scales used for the diffusion chain (to be run before inference). The sigmas control the weight
      of the `drift` and `diffusion` components of the sample update.
  
      Args:
          num_inference_steps (`int`):
              The number of diffusion steps used when generating samples with a pre-trained model.
          sigma_min (`float`, optional):
              The initial noise scale value (overrides value given during scheduler instantiation).
          sigma_max (`float`, optional):
              The final noise scale value (overrides value given during scheduler instantiation).
          sampling_eps (`float`, optional):
              The final timestep value (overrides value given during scheduler instantiation).
  
      """
      sigma_min = (
          sigma_min if sigma_min is not None else self.config.sigma_min
      )
      sigma_max = (
          sigma_max if sigma_max is not None else self.config.sigma_max
      )
      sampling_eps = (
          sampling_eps
          if sampling_eps is not None
          else self.config.sampling_eps
      )
      if self.timesteps is None:
          self.set_timesteps(num_inference_steps, sampling_eps)
  
      self.sigmas = sigma_min * (sigma_max / sigma_min) ** (
          self.timesteps / sampling_eps
      )
      self.discrete_sigmas = torch.exp(
          torch.linspace(
              math.log(sigma_min),
              math.log(sigma_max),
              num_inference_steps,
          )
      )
      self.sigmas = torch.tensor(
          [
              sigma_min * (sigma_max / sigma_min) ** t
              for t in self.timesteps
          ]
      )
  
imports: import math
  from dataclasses import dataclass
  from typing import Optional, Tuple, Union
  import torch
  from ..configuration_utils import ConfigMixin, register_to_config
  from ..utils import BaseOutput
  from ..utils.torch_utils import randn_tensor
  from .scheduling_utils import SchedulerMixin, SchedulerOutput
label_desc: Use image node_id 4 for calling the ScoreSdeVeScheduler obj's underlying member method code with example usage: obj.set_sigmas(num_inference_steps, sigma_min, sigma_max, sampling_eps) without return types