code: def check_over_forward(self, time_step=0, **forward_kwargs):
      kwargs = dict(self.forward_default_kwargs)
      num_inference_steps = kwargs.pop("num_inference_steps", None)
      sample = self.dummy_sample
      residual = 0.1 * sample
      dummy_past_residuals = [
          residual + 0.2,
          residual + 0.15,
          residual + 0.1,
          residual + 0.05,
      ]
  
      for scheduler_class in self.scheduler_classes:
          scheduler_config = self.get_scheduler_config()
          scheduler = scheduler_class(**scheduler_config)
          scheduler.set_timesteps(num_inference_steps)
  
          # copy over dummy past residuals (must be after setting timesteps)
          scheduler.ets = dummy_past_residuals[:]
  
          if time_step is None:
              time_step = scheduler.timesteps[
                  len(scheduler.timesteps) // 2
              ]
  
          with tempfile.TemporaryDirectory() as tmpdirname:
              scheduler.save_config(tmpdirname)
              new_scheduler = scheduler_class.from_pretrained(
                  tmpdirname
              )
              # copy over dummy past residuals
              new_scheduler.set_timesteps(num_inference_steps)
  
              # copy over dummy past residual (must be after setting timesteps)
              new_scheduler.ets = dummy_past_residuals[:]
  
          output = scheduler.step(
              residual, time_step, sample, **kwargs
          ).prev_sample
          new_output = new_scheduler.step(
              residual, time_step, sample, **kwargs
          ).prev_sample
  
          assert (
              torch.sum(torch.abs(output - new_output)) < 1e-5
          ), "Scheduler outputs are not identical"
  
          output = scheduler.step(
              residual, time_step, sample, **kwargs
          ).prev_sample
          new_output = new_scheduler.step(
              residual, time_step, sample, **kwargs
          ).prev_sample
  
          assert (
              torch.sum(torch.abs(output - new_output)) < 1e-5
          ), "Scheduler outputs are not identical"
  
file_path: llmga/llmga/diffusers/tests/schedulers/test_scheduler_ipndm.py
imports: import tempfile
  import torch
  from diffusers import IPNDMScheduler
  from .test_schedulers import SchedulerCommonTest
label_desc: Use image node_id 4 for calling the IPNDMSchedulerTest obj's underlying member method code with example usage: obj.check_over_forward(time_step) without return types