mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-04-20 03:13:30 +00:00
Add a way for nodes to set a custom CFG function.
This commit is contained in:
parent
0ab5c619ea
commit
884ea653c8
@ -211,7 +211,10 @@ def sampling_function(model_function, x, timestep, uncond, cond, cond_scale, con
|
|||||||
|
|
||||||
max_total_area = model_management.maximum_batch_area()
|
max_total_area = model_management.maximum_batch_area()
|
||||||
cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, cond_concat, model_options)
|
cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, cond_concat, model_options)
|
||||||
return uncond + (cond - uncond) * cond_scale
|
if "sampler_cfg_function" in model_options:
|
||||||
|
return model_options["sampler_cfg_function"](cond, uncond, cond_scale)
|
||||||
|
else:
|
||||||
|
return uncond + (cond - uncond) * cond_scale
|
||||||
|
|
||||||
|
|
||||||
class CompVisVDenoiser(k_diffusion_external.DiscreteVDDPMDenoiser):
|
class CompVisVDenoiser(k_diffusion_external.DiscreteVDDPMDenoiser):
|
||||||
|
@ -250,6 +250,9 @@ class ModelPatcher:
|
|||||||
def set_model_tomesd(self, ratio):
|
def set_model_tomesd(self, ratio):
|
||||||
self.model_options["transformer_options"]["tomesd"] = {"ratio": ratio}
|
self.model_options["transformer_options"]["tomesd"] = {"ratio": ratio}
|
||||||
|
|
||||||
|
def set_model_sampler_cfg_function(self, sampler_cfg_function):
|
||||||
|
self.model_options["sampler_cfg_function"] = sampler_cfg_function
|
||||||
|
|
||||||
def model_dtype(self):
|
def model_dtype(self):
|
||||||
return self.model.diffusion_model.dtype
|
return self.model.diffusion_model.dtype
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user