Extraltodeus / Skimmed_CFG

A powerful anti-burn allowing much higher CFG scales for latent diffusion models (for ComfyUI)
108 stars 4 forks source link

Error if used after Automatic CFG has been used #3

Closed caniyabanci76 closed 1 week ago

caniyabanci76 commented 1 month ago

I've noticed that if Automatic CFG has been used prior to using CFG Skim, I'll get the following, until I restart the server again.

Error occurred when executing SamplerCustomAdvanced:

'list' object is not callable

File "/home/user7/ai/ComfyUI/execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/user7/ai/ComfyUI/execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/user7/ai/ComfyUI/custom_nodes/ComfyUI-0246/utils.py", line 381, in new_func
res_value = old_func(*final_args, **kwargs)
File "/home/user7/ai/ComfyUI/execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/user7/ai/ComfyUI/comfy_extras/nodes_custom_sampler.py", line 612, in sample
samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed)
File "/home/user7/ai/ComfyUI/comfy/samplers.py", line 716, in sample
output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
File "/home/user7/ai/ComfyUI/comfy/samplers.py", line 695, in inner_sample
samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
File "/home/user7/ai/ComfyUI/comfy/samplers.py", line 600, in sample
samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
File "/home/user7/ai/ComfyUI/venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/user7/ai/ComfyUI/comfy/k_diffusion/sampling.py", line 600, in sample_dpmpp_2m
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "/home/user7/ai/ComfyUI/comfy/samplers.py", line 299, in __call__
out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
File "/home/user7/ai/ComfyUI/comfy/samplers.py", line 682, in __call__
return self.predict_noise(*args, **kwargs)
File "/home/user7/ai/ComfyUI/comfy/samplers.py", line 685, in predict_noise
return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
File "/home/user7/ai/ComfyUI/custom_nodes/ComfyUI-AutomaticCFG/nodes.py", line 41, in sampling_function_patched
uncond, cond, cond_scale = model_options["sampler_pre_cfg_function"](
Extraltodeus commented 1 month ago

Hello! Yes that's because automatic-cfg patches a function that is used by this node. So just don't run any auto-cfg related node (if you did, restart the UI) and it will be ok

Extraltodeus commented 1 week ago

I updated automatic CFG to make it compatible.