hustille / ComfyUI_Fooocus_KSampler

Fooocus KSamplerWithRefiner as a ComfyUI node
GNU General Public License v3.0
60 stars 11 forks source link

Any workflow, such as the default workflow, cannot use batch plotting #6

Open hben35096 opened 1 year ago

hben35096 commented 1 year ago

Error occurred when executing KSampler:

The size of tensor a (4) must match the size of tensor b (2) at non-singleton dimension 0

File "/mnt/workspace/ComfyUI/execution.py", line 151, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) File "/mnt/workspace/ComfyUI/execution.py", line 81, in get_output_data return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True) File "/mnt/workspace/ComfyUI/execution.py", line 74, in map_node_over_list results.append(getattr(obj, func)(slice_dict(input_data_all, i))) File "/mnt/workspace/ComfyUI/nodes.py", line 1206, in sample return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise) File "/mnt/workspace/ComfyUI/nodes.py", line 1176, in common_ksampler samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, File "/mnt/workspace/ComfyUI/custom_nodes/ComfyUI-Impact-Pack/modules/impact/hacky.py", line 22, in informative_sample raise e File "/mnt/workspace/ComfyUI/custom_nodes/ComfyUI-Impact-Pack/modules/impact/hacky.py", line 9, in informative_sample return original_sample(*args, *kwargs) File "/mnt/workspace/ComfyUI/comfy/sample.py", line 88, 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 "/mnt/workspace/ComfyUI/comfy/samplers.py", line 716, in sample samples = getattr(k_diffusionsampling, "sample{}".format(self.sampler))(self.model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar) File "/usr/local/lib/python3.10/dist-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(args, kwargs) File "/mnt/workspace/ComfyUI/comfy/k_diffusion/sampling.py", line 137, in sample_euler denoised = model(x, sigma_hat * s_in, extra_args) File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, *kwargs) File "/mnt/workspace/ComfyUI/comfy/samplers.py", line 319, in forward out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, cond_concat=cond_concat, model_options=model_options, seed=seed) File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(input, kwargs) File "/mnt/workspace/ComfyUI/comfy/k_diffusion/external.py", line 125, in forward eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), kwargs) File "/mnt/workspace/ComfyUI/comfy/k_diffusion/external.py", line 151, in get_eps return self.inner_model.apply_model(args, kwargs) File "/mnt/workspace/ComfyUI/comfy/samplers.py", line 307, in apply_model out = sampling_function(self.inner_model.apply_model, x, timestep, uncond, cond, cond_scale, cond_concat, model_options=model_options, seed=seed) File "/mnt/workspace/ComfyUI/custom_nodes/ComfyUI_Fooocus_KSampler/sampler/Fooocus/patch.py", line 296, in sampling_function_patched cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, cond_concat, File "/mnt/workspace/ComfyUI/custom_nodes/ComfyUI_Fooocus_KSampler/sampler/Fooocus/patch.py", line 266, in calc_cond_uncond_batch output = model_function(inputx, timestep, c).chunk(batch_chunks) File "/mnt/workspace/ComfyUI/comfy/model_base.py", line 61, in apply_model return self.diffusion_model(xc, t, context=context, y=c_adm, control=control, transformer_options=transformer_options).float() File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(input, kwargs) File "/mnt/workspace/ComfyUI/custom_nodes/ComfyUI_Fooocus_KSampler/sampler/Fooocus/patch.py", line 354, in unet_forward_patched x0 = x0 uc_mask + degraded_x0 (1.0 - uc_mask)

Any workflow, such as the default workflow, cannot use batch plotting batch_size: 2

hustille commented 1 year ago

So far no idea - I never have used batch jobs anyway, because of insufficient memory. Perhaps the last update to ComfyUI wil help me with this ...

hben35096 commented 1 year ago

Thank you for your reply. I'm just looking for any good solutions. This node has greatly improved the efficiency and quality of SDXL's drawing.

hustille commented 1 year ago

Does it really? With the simple example I packaged the differences against two separate samplers are barely visible, except for pushing sharpness up high. Is your workflow fundamentally different, or does it just need more elaborate prompts?