Spaces:
Running
Running
from diffusers import DPMSolverMultistepScheduler, DPMSolverSinglestepScheduler, FlowMatchEulerDiscreteScheduler | |
schedulers = {"Euler": (FlowMatchEulerDiscreteScheduler, | |
{}), | |
"DPM++ 2M": (DPMSolverMultistepScheduler, | |
{}), | |
"DPM++ 2M Karras": (DPMSolverMultistepScheduler, | |
{"use_karras_sigmas": True}), | |
"DPM++ 2M SDE": (DPMSolverMultistepScheduler, | |
{"algorithm_type": "sde-dpmsolver++"}, | |
), | |
"DPM++ 2M SDE Karras": (DPMSolverMultistepScheduler, | |
{"use_karras_sigmas": True, | |
"algorithm_type": "sde-dpmsolver++"}, | |
), | |
"DPM++ SDE": (DPMSolverSinglestepScheduler, | |
{}), | |
"DPM++ SDE Karras": (DPMSolverSinglestepScheduler, | |
{"use_karras_sigmas": True}), | |
} | |
def apply_scheduler(name, pipeline): | |
# Check if the scheduler name exists in the schedulers dictionary | |
if name in schedulers: | |
scheduler_class, config = schedulers[name] | |
# Update the pipeline's scheduler with the selected scheduler class and | |
# configuration | |
pipeline.scheduler = scheduler_class.from_config( | |
pipeline.scheduler.config, **config) | |
return pipeline | |