Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PSA] New ComfyUI update came out that requires new Advanced-ControlNet version, does not work with previous ComfyUI version ('ControlNet' object has no attribute 'latent_format', or KSampler 0 error) ) #124

Open
Kosinkadink opened this issue Jun 28, 2024 · 12 comments
Labels

Comments

@Kosinkadink
Copy link
Owner

In latest ComfyUI changes, breaking changes were introduced to controlnet code to make it easier to implement new controlnet types in the future as well as adding SD3 controlnet support.

Because of that, Advanced-ControlNet v1.1.0 supports the most recent version of ComfyUI (comfyanonymous/ComfyUI@264caca), but does not support anything before. Likewise, any version of Advanced-ControlNet prior to v1.1.0 cannot support the latest ComfyUI version.

@Kosinkadink
Copy link
Owner Author

Kosinkadink commented Jul 3, 2024

Here is what will be displayed based on particular version mismatches:

When ComfyUI is updated, but Advanced-ControlNet version is outdated to the breaking changes (error will pop up in KSampler)

To fix, simply update Advanced-ControlNet. If it is not fixed, that means it failed to update for whatever reason through the ComfyUI Manager. You can do a manual git pull from the custom_nodes/ComfyUI-Advanced-ControlNet directory.

image
(and end of error stack will look like this):
image

When Advanced-ControlNet is updated, but ComfyUI is outdated (error will pop up in ControlNet loader most likely)

To fix, update ComfyUI to a more recent version if you can, or downgrade Advanced-ControlNet to a version before v1.1.0 if you can't.

image

@Kosinkadink Kosinkadink changed the title [PSA] New ComfyUI update came out that requires new Advanced-ControlNet version, does not work with previous ComfyUI version [PSA] New ComfyUI update came out that requires new Advanced-ControlNet version, does not work with previous ComfyUI version (ControlNet' object has no attribute 'latent_format', or KSampler 0 error) ) Jul 3, 2024
@Kosinkadink Kosinkadink changed the title [PSA] New ComfyUI update came out that requires new Advanced-ControlNet version, does not work with previous ComfyUI version (ControlNet' object has no attribute 'latent_format', or KSampler 0 error) ) [PSA] New ComfyUI update came out that requires new Advanced-ControlNet version, does not work with previous ComfyUI version ('ControlNet' object has no attribute 'latent_format', or KSampler 0 error) ) Jul 3, 2024
@Uli2410
Copy link

Uli2410 commented Jul 5, 2024

hi! I don’t know what i should do 😱 hhelp 🙏🏻 all is updated)
error

@Kosinkadink
Copy link
Owner Author

@Uli2410 as the error states, you need to use nodes from Advanced-ControlNet, not the vanilla controlnet node.

You need to use at least one of these nodes to have them become Advanced ControlNet objects so that they have sliding context support:
image

@Uli2410
Copy link

Uli2410 commented Jul 8, 2024 via email

@Uli2410
Copy link

Uli2410 commented Jul 8, 2024 via email

@Kosinkadink
Copy link
Owner Author

Kosinkadink commented Jul 8, 2024

Your image didn't link on github

@Uli2410
Copy link

Uli2410 commented Jul 8, 2024

Your image didn't link on github

346614892-9bb76375-edc8-4d1f-b681-1bef9f507ee6

@Kosinkadink
Copy link
Owner Author

Your ComfyUI is likely outdated.

@Uli2410
Copy link

Uli2410 commented Jul 8, 2024

Your ComfyUI is likely outdated.

oh my God)) I update it every time I run it. It goes once without an error, then 10 times with an error - the same file ((( This may be the reason that I use locally ComfyUI?

@mikheys
Copy link

mikheys commented Jul 20, 2024

Just updated everything (comfyUI, ComfyUI-Advanced-ControlNet) but still this error pops up(( Everything worked before.

image

@Kosinkadink
Copy link
Owner Author

@mikheys As stated above, this error means your ComfyUI is not updated (but Advanced-ControlNet is updated). latent_format is not a variable I came up with, I had to use it because ComfyUI introduced it for controlnet a few weeks ago. windows_portable version of ComfyUI is sometimes annoying to get to update.

@sundaxiong6
Copy link

Thank you very much for your help. After updating ComfyUI-Advanced-ControlNet with your help, the following error message appears when running again. What is the problem?

Error occurred when executing KSampler (Efficient):

'NoneType' object has no attribute 'size'

File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\efficiency-nodes-comfyui\efficiency_nodes.py", line 732, in sample
samples, images, gifs, preview = process_latent_image(model, seed, steps, cfg, sampler_name, scheduler,
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\efficiency-nodes-comfyui\efficiency_nodes.py", line 550, in process_latent_image
samples = KSampler().sample(model, seed, steps, cfg, sampler_name, scheduler, positive, negative,
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\nodes.py", line 1373, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\nodes.py", line 1343, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-Impact-Pack\modules\impact\sample_error_enhancer.py", line 9, in informative_sample
return original_sample(*args, **kwargs) # This code helps interpret error messages that occur within exceptions but does not have any impact on other operations.
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 520, in motion_sample
latents = orig_comfy_sample(model, noise, *args, **kwargs)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-Advanced-ControlNet\adv_control\sampling.py", line 92, in acn_sample
return orig_comfy_sample(model, *args, **kwargs)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-Advanced-ControlNet\adv_control\utils.py", line 112, in uncond_multiplier_check_cn_sample
return orig_comfy_sample(model, *args, **kwargs)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\sample.py", line 43, in sample
samples = sampler.sample(noise, positive, negative, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 829, in sample
return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 729, in sample
return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 716, in sample
output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 695, in inner_sample
samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\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 "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\python\lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\k_diffusion\sampling.py", line 779, in sample_lcm
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 299, in call
out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 682, in call
return self.predict_noise(*args, **kwargs)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\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 "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 627, in evolved_sampling_function
cond_pred, uncond_pred = sliding_calc_conds_batch(model, [cond, uncond_], x, timestep, model_options)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 820, in sliding_calc_conds_batch
sub_conds_out = calc_cond_uncond_batch_wrapper(model, sub_conds, sub_x, sub_timestep, model_options)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 904, in calc_cond_uncond_batch_wrapper
return comfy.samplers.calc_cond_batch(model, conds, x_in, timestep, model_options)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\comfy\samplers.py", line 228, in calc_cond_batch
output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 221, in apply_model_ade_wrapper
motion_model.prepare_img_features(x=x, cond_or_uncond=cond_or_uncond, ad_params=ad_params, latent_format=self.latent_format)
File "G:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\model_injection.py", line 877, in prepare_img_features
if sub_idxs is not None and self.orig_img_latents.size(0) >= full_length:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants