|
|
|
@ -17,6 +17,10 @@ class LCM(comfy.model_sampling.EPS):
|
|
|
|
|
|
|
|
|
|
return c_out * x0 + c_skip * model_input
|
|
|
|
|
|
|
|
|
|
class X0(comfy.model_sampling.EPS):
|
|
|
|
|
def calculate_denoised(self, sigma, model_output, model_input):
|
|
|
|
|
return model_output
|
|
|
|
|
|
|
|
|
|
class ModelSamplingDiscreteDistilled(comfy.model_sampling.ModelSamplingDiscrete):
|
|
|
|
|
original_timesteps = 50
|
|
|
|
|
|
|
|
|
@ -68,7 +72,7 @@ class ModelSamplingDiscrete:
|
|
|
|
|
@classmethod
|
|
|
|
|
def INPUT_TYPES(s):
|
|
|
|
|
return {"required": { "model": ("MODEL",),
|
|
|
|
|
"sampling": (["eps", "v_prediction", "lcm"],),
|
|
|
|
|
"sampling": (["eps", "v_prediction", "lcm", "x0"],),
|
|
|
|
|
"zsnr": ("BOOLEAN", {"default": False}),
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
|
@ -88,6 +92,8 @@ class ModelSamplingDiscrete:
|
|
|
|
|
elif sampling == "lcm":
|
|
|
|
|
sampling_type = LCM
|
|
|
|
|
sampling_base = ModelSamplingDiscreteDistilled
|
|
|
|
|
elif sampling == "x0":
|
|
|
|
|
sampling_type = X0
|
|
|
|
|
|
|
|
|
|
class ModelSamplingAdvanced(sampling_base, sampling_type):
|
|
|
|
|
pass
|
|
|
|
|