VincentZB's picture
Duplicate from king007/Stable-Diffusion-ControlNet-WebUI
4ec2f90
from diffusers import (
DDIMScheduler,
EulerAncestralDiscreteScheduler,
EulerDiscreteScheduler,
HeunDiscreteScheduler,
LMSDiscreteScheduler,
UniPCMultistepScheduler,
)
SCHEDULER_LIST = [
"DDIM",
"EulerA",
"Euler",
"LMS",
"Heun",
"UniPC",
]
def get_scheduler_list(pipe, scheduler):
if scheduler == SCHEDULER_LIST[0]:
pipe.scheduler = DDIMScheduler.from_config(pipe.scheduler.config)
elif scheduler == SCHEDULER_LIST[1]:
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(
pipe.scheduler.config
)
elif scheduler == SCHEDULER_LIST[2]:
pipe.scheduler = EulerDiscreteScheduler.from_config(
pipe.scheduler.config
)
elif scheduler == SCHEDULER_LIST[3]:
pipe.scheduler = LMSDiscreteScheduler.from_config(pipe.scheduler.config)
elif scheduler == SCHEDULER_LIST[4]:
pipe.scheduler = HeunDiscreteScheduler.from_config(
pipe.scheduler.config
)
elif scheduler == SCHEDULER_LIST[5]:
pipe.scheduler = UniPCMultistepScheduler.from_config(
pipe.scheduler.config
)
return pipe