ExponentialML / ComfyUI_Native_DynamiCrafter

DynamiCrafter that works natively with ComfyUI's nodes, optimizations, and more.
Apache License 2.0
109 stars 10 forks source link

Error occurred when executing KSampler : CrossAttention.efficient_forward() got an unexpected keyword argument 'value' #10

Open hyongqi opened 6 months ago

hyongqi commented 6 months ago

Error occurred when executing KSampler:

CrossAttention.efficient_forward() got an unexpected keyword argument 'value'

File "D:\tools\ComfyUI-aki-v1.2\execution.py", line 151, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\execution.py", line 81, in get_output_data return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\execution.py", line 74, in map_node_over_list results.append(getattr(obj, func)(slice_dict(input_data_all, i))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\nodes.py", line 1369, in sample return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\nodes.py", line 1339, in common_ksampler samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\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 "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 267, in motion_sample return orig_comfy_sample(model, noise, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\sample.py", line 100, in sample samples = sampler.sample(noise, positive_copy, negative_copy, 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 "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_smZNodes\smZNodes.py", line 1380, in KSampler_sample return _KSampler_sample(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 705, 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 "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_smZNodes\smZNodes.py", line 1399, in sample return _sample(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 610, in sample samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 548, in sample samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, self.extra_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context return func(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\k_diffusion\sampling.py", line 137, in sample_euler denoised = model(x, sigma_hat * s_in, extra_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl return self._call_impl(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl return forward_call(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 286, in forward out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl return self._call_impl(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl return forward_call(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 273, in forward return self.apply_model(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_smZNodes\smZNodes.py", line 1012, in apply_model out = super().apply_model(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 270, in apply_model out = sampling_function(self.inner_model, x, timestep, uncond, cond, cond_scale, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 250, in sampling_function cond_pred, uncond_pred = calc_cond_uncondbatch(model, cond, uncond, x, timestep, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI-TiledDiffusion.patches.py", line 4, in calc_cond_uncond_batch return calc_cond_uncond_batch_original_tiled_diffusion_aaa7df7f(model, cond, uncond, x_in, timestep, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\samplers.py", line 222, in calc_cond_uncond_batch output = model_options['model_function_wrapper'](model.apply_model, {"input": inputx, "timestep": timestep, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\nodes.py", line 128, in _forward x_out = apply_model( ^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\comfy\model_base.py", line 96, in apply_model model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, extra_conds).float() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl return self._call_impl(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl return forward_call(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\modules\networks\openaimodel3d.py", line 751, in forward h = forward_timestep_embed( ^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\modules\networks\openaimodel3d.py", line 38, in forward_timestep_embed x = layer(x, context) ^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl return self._call_impl(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl return forward_call(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\modules\attention.py", line 554, in forward x = block(x, context=context, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl return self._call_impl(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl return forward_call(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\modules\attention.py", line 364, in forward return checkpoint(self._forward, input_tuple, self.parameters(), self.checkpoint) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\common.py", line 94, in checkpoint return func(inputs) ^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\modules\attention.py", line 425, in _forward n = self.attn1(n, context=context_attn1, value=value_attn1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1511, in _wrapped_call_impl return self._call_impl(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\tools\ComfyUI-aki-v1.2.ext\Lib\site-packages\torch\nn\modules\module.py", line 1520, in _call_impl return forward_call(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

hyongqi commented 6 months ago

What version of CUDA needs to be installed?

cardenluo commented 6 months ago

me too ,the same problem : Total VRAM 24576 MB, total RAM 65384 MB xformers version: 0.0.23.post1+cu118 Set vram state to: NORMAL_VRAM Device: cuda:0 NVIDIA GeForce RTX 3090 : cudaMallocAsync VAE dtype: torch.bfloat16 Using xformers cross attention

ellyoun13 commented 6 months ago

i got same error!

shanyu333 commented 6 months ago

same error!

daoliangai commented 6 months ago

same

Inmanguo commented 6 months ago

same :(

wudideasdf commented 6 months ago

same

winne20220302 commented 6 months ago

same :(

liulsg commented 6 months ago

same

kijai commented 6 months ago

Seems to work if you just make the efficient_forward take the value arg, even if it's not used: image

SoaringTiger commented 6 months ago

Seems to work if you just make the efficient_forward take the value arg, even if it's not used: image

solve the same problem!

NeedsMoar commented 6 months ago

FYI the offending code (calling self.attn1 with value_attn1 as a parameter) appears to be gone in the "stable" version linked in the readme. The fix here just causes

File "C:\Programs\ComfyUI\custom_nodes\ComfyUI_Native_DynamiCrafter\lvdm\modules\networks\openaimodel3d.py", line 806, in forward
    h = torch.cat([h, hsp], dim=1)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 12 but got size 11 for tensor number 1 in the list.

for me with xformers enabled, although I don't think that's actually the problem.

Cokeheart commented 6 months ago

如果您只是让efficient_forward取值 arg,即使它没有被使用,似乎也有效: image

This method that I have tried works well

NeedsMoar commented 6 months ago

Mine was actually a dumb typo in my latent batch node (OFC), it works with that fix.

leoleelxh commented 5 months ago

My method is : image

g0ro commented 3 months ago

Adding --use-pytorch-cross-attention to the ComfyUI command line solved the problem It enables the new pytorch 2.0 cross attention function