class_docstr: `RePaintScheduler` is a scheduler for DDPM inpainting inside a given mask.
  
  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.
      beta_start (`float`, defaults to 0.0001):
          The starting `beta` value of inference.
      beta_end (`float`, defaults to 0.02):
          The final `beta` value.
      beta_schedule (`str`, defaults to `"linear"`):
          The beta schedule, a mapping from a beta range to a sequence of betas for stepping the model. Choose from
          `linear`, `scaled_linear`, `squaredcos_cap_v2`, or `sigmoid`.
      eta (`float`):
          The weight of noise for added noise in diffusion step. If its value is between 0.0 and 1.0 it corresponds
          to the DDIM scheduler, and if its value is between -0.0 and 1.0 it corresponds to the DDPM scheduler.
      trained_betas (`np.ndarray`, *optional*):
          Pass an array of betas directly to the constructor to bypass `beta_start` and `beta_end`.
      clip_sample (`bool`, defaults to `True`):
          Clip the predicted sample between -1 and 1 for numerical stability.
docstr: Ensures interchangeability with schedulers that need to scale the denoising model input depending on the
  current timestep.
  
  Args:
      sample (`torch.FloatTensor`):
          The input sample.
      timestep (`int`, *optional*):
          The current timestep in the diffusion chain.
  
  Returns:
      `torch.FloatTensor`:
          A scaled input sample.
docstr_tok: ["Ensures","interchangeability","with","schedulers","that","need","to","scale","the","denoising","model","input","depending","on","the","current","timestep",".","Args",":","sample","(","`","torch.FloatTensor","`",")",":","The","input","sample",".","timestep","(","`","int","`",",","*","optional","*",")",":","The","current","timestep","in","the","diffusion","chain",".","Returns",":","`","torch.FloatTensor","`",":","A","scaled","input","sample","."]
code: def scale_model_input(
      self, sample: torch.FloatTensor, timestep: Optional[int] = None
  ) -> torch.FloatTensor:
      """
      Ensures interchangeability with schedulers that need to scale the denoising model input depending on the
      current timestep.
  
      Args:
          sample (`torch.FloatTensor`):
              The input sample.
          timestep (`int`, *optional*):
              The current timestep in the diffusion chain.
  
      Returns:
          `torch.FloatTensor`:
              A scaled input sample.
      """
      return sample
  
imports: import math
  from dataclasses import dataclass
  from typing import Optional, Tuple, Union
  import numpy
  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
label_desc: Use image node_id 2 for calling the RePaintScheduler obj's underlying member method code with example usage: obj.scale_model_input(sample, timestep) and returns: sample