Closed tomvdp closed 10 months ago
I can't get Region Prompt Control to work.
Here is the full error stack:
[Tiled Diffusion] ControlNet found, support is enabled.
Total progress: 36it [03:59, 2.50s/it] MultiDiffusion hooked into 'Euler a' sampler, Tile size: NonexNone, Tile count: None, Batch size: None, Tile batches: 0 (ext: RegionCtrl, ContrlNet)
38%|██████████████████████████████████████████████████████████▏ | 9/24 [00:00<00:01, 11.01it/s]
Error completing request 2.36s/it]
Arguments: ('task(zob8mqrzrkonord)', 'x', '', [], 24, 'Euler a', 1, 1, 6, 768, 512, False, 0.7, 2, 'Latent', 0, 0, 0, 'Use same checkpoint', 'Use same sampler', '', '', [], <gradio.routes.Request object at 0x000001F0EC5D4EB0>, 0, False, '', 0.8, -1, False, -1, 0, 0, 0, True, 'MultiDiffusion', True, True, 1024, 1024, 96, 96, 48, 4, 'None', 2, False, 10, 1, 1, 64, False, True, False, False, True, 0.4, 0.4, 0.2, 0.2, 'x', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, True, 3072, 192, True, True, True, False, False, False, 1, False, False, False, 1.1, 1.5, 100, 0.7, False, False, True, False, False, 0, 'Gustavosta/MagicPrompt-Stable-Diffusion', '', False, 7, 100, 'Constant', 0, 'Constant', 0, 4, True, 'MEAN', 'AD', 1, <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001F0E3592EC0>, <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001F0E6830220>, <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001F0E6833D30>, False, False, 'positive', 'comma', 0, False, False, '', 1, '', [], 0, '', [], 0, '', [], True, False, False, False, 0, False, None, None, False, None, None, False, None, None, False, 50) {}
Traceback (most recent call last):
File "F:\projects\sd2\stable-diffusion-webui\modules\call_queue.py", line 57, in f
res = list(func(*args, kwargs))
File "F:\projects\sd2\stable-diffusion-webui\modules\call_queue.py", line 36, in f
res = func(*args, *kwargs)
File "F:\projects\sd2\stable-diffusion-webui\modules\txt2img.py", line 55, in txt2img
processed = processing.process_images(p)
File "F:\projects\sd2\stable-diffusion-webui\modules\processing.py", line 732, in process_images
res = process_images_inner(p)
File "F:\projects\sd2\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\batch_hijack.py", line 42, in processing_process_images_hijack
return getattr(processing, '__controlnet_original_process_images_inner')(p, args, kwargs)
File "F:\projects\sd2\stable-diffusion-webui\modules\processing.py", line 867, in process_images_inner
samples_ddim = p.sample(conditioning=p.c, unconditional_conditioning=p.uc, seeds=p.seeds, subseeds=p.subseeds, subseed_strength=p.subseed_strength, prompts=p.prompts)
File "F:\projects\sd2\stable-diffusion-webui\modules\processing.py", line 1140, in sample
samples = self.sampler.sample(self, x, conditioning, unconditional_conditioning, image_conditioning=self.txt2img_image_conditioning(x))
File "F:\projects\sd2\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 235, in sample
samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args=self.sampler_extra_args, disable=False, callback=self.callback_state, extra_params_kwargs))
File "F:\projects\sd2\stable-diffusion-webui\modules\sd_samplers_common.py", line 261, in launch_sampling
return func()
File "F:\projects\sd2\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 235, in
Total progress: 45it [04:49, 2.36s/it]
Solved!
The prompt (at the top) needs BREAK statements. Add as many BREAK statements minus 1 as you have regions enabled.
I started to get this error too after updating A1111 (1.7) and the Extension to the last... "RuntimeError: einsum(): subscript b has size 16 for operand 1 which does not broadcast with previously seen size 8" Adding BREAK only make it generate for a couple of sample then the error come back.
I was not using any BREAK before. So is there somebody who know what is going on? I tested back a backup of A1111 v1.5.1 with ultimate-upscale master [c99f382b] (the one from this summer or something) This combo work fine with no BREAK. Also If i remember correctly it was working on my 1.6 installation but it is the one I updated.
Edit: If I disable "Pad prompt/negative prompt to be same length" or change "Negative Guidance" then the error behave differently. I was able to generate a couple of images like that but it is not guarantee some prompt still cause the error.
RuntimeError: einsum(): subscript b has size 16 for operand 1 which does not broadcast with previously seen size 8 This happens when "Region Prompt Control" is enabled. This is without --xformers.
With --xformers, the runtime error is: RuntimeError: shape '[77, 8, 40]' is invalid for input of size 49280