ry scheduler has to have a set_num_inference_steps, and a step function. set_num_inference_steps(...) has to be called before every denoising process, i.e. before step(...) is called.
Every scheduler exposes the timesteps to be “looped over” via a timesteps attribute, which is an array of timesteps the model will be called upon
The step(...) function takes a predicted model output and the “current” sample (x_t) and returns the “previous”, sligh