adding Heun and DPMSingleStep samplers

This commit is contained in:
Phr00t 2024-09-21 19:59:37 -04:00
parent b36d1b7a4a
commit 75565346bf

View File

@ -3,7 +3,7 @@ import torch
import folder_paths
import comfy.model_management as mm
from comfy.utils import ProgressBar, load_torch_file
from diffusers.schedulers import CogVideoXDDIMScheduler, CogVideoXDPMScheduler, DDIMScheduler, PNDMScheduler, DPMSolverMultistepScheduler, EulerDiscreteScheduler, EulerAncestralDiscreteScheduler, LCMScheduler, UniPCMultistepScheduler, TCDScheduler
from diffusers.schedulers import CogVideoXDDIMScheduler, CogVideoXDPMScheduler, DDIMScheduler, PNDMScheduler, DPMSolverMultistepScheduler, EulerDiscreteScheduler, EulerAncestralDiscreteScheduler, LCMScheduler, UniPCMultistepScheduler, TCDScheduler, HeunDiscreteScheduler, DPMSolverSinglestepScheduler
from diffusers.models import AutoencoderKLCogVideoX, CogVideoXTransformer3DModel
from .pipeline_cogvideox import CogVideoXPipeline
@ -701,6 +701,8 @@ class CogVideoXFunSampler:
"LCM",
"UniPC",
"TCD",
"Heun",
"DPMSingleStep",
"CogVideoXDDIM",
"CogVideoXDPMScheduler",
],
@ -762,6 +764,10 @@ class CogVideoXFunSampler:
noise_scheduler = UniPCMultistepScheduler.from_config(scheduler_config)
elif scheduler == "TCD":
noise_scheduler = TCDScheduler.from_config(scheduler_config)
elif scheduler == "Heun":
noise_scheduler = HeunDiscreteScheduler.from_config(scheduler_config)
elif scheduler == "DPMSingleStep":
noise_scheduler = DPMSolverSinglestepScheduler.from_config(scheduler_config)
elif scheduler == "CogVideoXDDIM":
noise_scheduler = CogVideoXDDIMScheduler.from_config(scheduler_config)
elif scheduler == "CogVideoXDPMScheduler":
@ -823,6 +829,8 @@ class CogVideoXFunVid2VidSampler:
"LCM",
"UniPC",
"TCD",
"Heun",
"DPMSingleStep",
"CogVideoXDDIM",
"CogVideoXDPMScheduler",
],
@ -873,6 +881,10 @@ class CogVideoXFunVid2VidSampler:
noise_scheduler = UniPCMultistepScheduler.from_pretrained(base_path, subfolder= 'scheduler')
elif scheduler == "TCD":
noise_scheduler = TCDScheduler.from_pretrained(base_path, subfolder= 'scheduler')
elif scheduler == "Heun":
noise_scheduler = HeunDiscreteScheduler.from_pretrained(base_path, subfolder= 'scheduler')
elif scheduler == "DPMSingleStep":
noise_scheduler = DPMSolverSinglestepScheduler.from_pretrained(base_path, subfolder= 'scheduler')
elif scheduler == "CogVideoXDDIM":
noise_scheduler = CogVideoXDDIMScheduler.from_pretrained(base_path, subfolder= 'scheduler')
elif scheduler == "CogVideoXDPMScheduler":