hako-mikan / sd-webui-regional-prompter

set prompt to divided region
GNU Affero General Public License v3.0
1.57k stars 133 forks source link

Getting AttributeError: module 'torch.nn' has no attribute 'Linear_forward_before_network' whenever I try to use attention mode. #224

Closed blugail closed 1 year ago

blugail commented 1 year ago

I have pytorch 2.0.1 and cuda 11.7 installed and whenever I try to use attention mode in regional prompter I get this error. It had been a month since I used sd a1111 so I also tried doing a fresh install, but with the same results:

The long form error I get is:

Regional Prompter Active, Pos tokens : [13, 37, 37], Neg tokens : [4] Error completing request Arguments: ('task(3qh697rwwzt8iv2)', 'A car and a motorcycle racing past the camera on a desert road\n\nBREAK\n\nclose up of [[nick cage]|(sheldon)|[tom cruise]] riding a motorcycle down an apocalypse desert road chased by a ufo pirateship driven by a bipedal cat with an explosion in the background,\n\n\n\nBREAK\n\nclose up of (woman (nerd) in a lab coat) driving a ford thunderbird convertible down an apocalypse road chased by a truck pirateship driven by a bipedal cat with an explosion in the background,\n\n', '[cat ears], (Mercedes)', [], 30, 'Euler a', 1, 1, 7, 1024, 2048, False, 0.7, 2, 'Latent', 0, 0, 0, 'Use same checkpoint', 'Use same sampler', '', '', [], <gradio.routes.Request object at 0x000001DB14759150>, 0, False, '', 0.8, 2425777295, False, -1, 0, 0, 0, False, False, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, None, 'Refresh models', <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001DB1472FA30>, <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001DB1472F8B0>, <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001DB1472F460>, True, False, 'Matrix', 'Columns', 'Mask', 'Prompt', '1,1', '0.2', True, False, False, 'Attention', False, '0', '0', '0.4', None, '0', '0', False, False, False, False, False, False, False, False, 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 "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\call_queue.py", line 57, in f res = list(func(*args, kwargs)) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\call_queue.py", line 36, in f res = func(*args, *kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\txt2img.py", line 55, in txt2img processed = processing.process_images(p) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\processing.py", line 732, in process_images res = process_images_inner(p) File "C:\Work\StableDiffusionA1111\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 "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\processing.py", line 856, in process_images_inner p.setup_conds() File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\processing.py", line 1309, in setup_conds super().setup_conds() File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\processing.py", line 469, in setup_conds self.uc = self.get_conds_with_caching(prompt_parser.get_learned_conditioning, negative_prompts, total_steps, [self.cached_uc], self.extra_network_data) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\processing.py", line 455, in get_conds_with_caching cache[1] = function(shared.sd_model, required_prompts, steps, hires_steps, shared.opts.use_old_scheduling) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\prompt_parser.py", line 189, in get_learned_conditioning conds = model.get_learned_conditioning(texts) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\diffusion\ddpm.py", line 669, in get_learned_conditioning c = self.cond_stage_model(c) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\sd_hijack_clip.py", line 234, in forward z = self.process_tokens(tokens, multipliers) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\sd_hijack_clip.py", line 273, in process_tokens z = self.encode_with_transformers(tokens) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\modules\sd_hijack_clip.py", line 326, in encode_with_transformers outputs = self.wrapped.transformer(input_ids=tokens, output_hidden_states=-opts.CLIP_stop_at_last_layers) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, *kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 822, in forward return self.text_model( File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 740, in forward encoder_outputs = self.encoder( File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 654, in forward layer_outputs = encoder_layer( File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, *kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 383, in forward hidden_states, attn_weights = self.self_attn( File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 272, in forward query_states = self.q_proj(hidden_states) self.scale File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, **kwargs) File "C:\Work\StableDiffusionA1111\stable-diffusion-webui\extensions\sd-webui-regional-prompter\scripts\latent.py", line 466, in h_Linear_forward return torch.nn.Linear_forward_before_network(self, input) AttributeError: module 'torch.nn' has no attribute 'Linear_forward_before_network'


HavelockVimes commented 1 year ago

Same problem here

DrJimmyBrungus commented 1 year ago

I was going to submit this as a new issue, but I think this is the same. The difference is, I only see the error when switching from Latent to Attention.

To reproduce error:

@blugail, @HavelockVimes, can you confirm if you are able to use Attention mode as long as you don't use Latent first, or can you not use it at all?

Error:

Regional Prompter Active, Pos tokens : [5, 6], Neg tokens : [14] Error completing request Arguments: ('task(nsg1lv6wrxpi14l)', 'park, trees, autumn BREAK\n1girl, sitting, bench', '(worst quality, low quality:1.4), easynegative', [], 30, 'DPM++ 2M Karras', 1, 1, 7, 512, 512, False, 0.5, 2, '4x-UltraSharp', 0, 0, 0, 'Use same checkpoint', 'Use same sampler', '', '', [], <gradio.routes.Request object at 0x0000023E3BDA0880>, 0, False, '', 0.8, -1, False, -1, 0, 0, 0, 0, False, True, 'keyword prompt', 'keyword1, keyword2', 'None', 'textual inversion first', 'None', '0.7', 'None', False, 'MultiDiffusion', False, True, 1024, 1024, 96, 96, 48, 1, 'None', 2, False, 10, 1, 1, 64, False, False, False, False, 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, False, 0.4, 0.4, 0.2, 0.2, '', '', 'Background', 0.2, -1.0, False, 1536, 96, True, True, True, False, True, False, 1, False, False, False, 1.1, 1.5, 100, 0.7, False, False, True, False, False, 0, 'Gustavosta/MagicPrompt-Stable-Diffusion', '', False, False, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, 'LoRA', 'None', 0, 0, None, 'Refresh models', True, False, 'Matrix', 'Columns', 'Mask', 'Prompt', '2,1', '0.2', False, False, False, 'Attention', False, '0', '0', '0.4', None, '0', '0', False, False, False, False, False, False, False, False, False, '1:1,1:2,1:2', '0:0,0:0,0:1', '0.2,0.8,0.8', 150, 0.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, False, False, 'positive', 'comma', 0, False, False, '', False, False, '', False, False, 100.0, True, '', '', False, False, 100.0, True, '', 1, '', [], 0, '', [], 0, '', [], True, False, False, False, 0, False, '', '', 0) {} Traceback (most recent call last): File "E:\Stable Diffusion\stable-diffusion-webui\modules\call_queue.py", line 57, in f res = list(func(*args, kwargs)) File "E:\Stable Diffusion\stable-diffusion-webui\modules\call_queue.py", line 36, in f res = func(*args, *kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\modules\txt2img.py", line 55, in txt2img processed = processing.process_images(p) File "E:\Stable Diffusion\stable-diffusion-webui\modules\processing.py", line 732, in process_images res = process_images_inner(p) File "E:\Stable Diffusion\stable-diffusion-webui\modules\processing.py", line 856, in process_images_inner p.setup_conds() File "E:\Stable Diffusion\stable-diffusion-webui\modules\processing.py", line 1309, in setup_conds super().setup_conds() File "E:\Stable Diffusion\stable-diffusion-webui\modules\processing.py", line 469, in setup_conds self.uc = self.get_conds_with_caching(prompt_parser.get_learned_conditioning, negative_prompts, total_steps, [self.cached_uc], self.extra_network_data) File "E:\Stable Diffusion\stable-diffusion-webui\modules\processing.py", line 455, in get_conds_with_caching cache[1] = function(shared.sd_model, required_prompts, steps, hires_steps, shared.opts.use_old_scheduling) File "E:\Stable Diffusion\stable-diffusion-webui\modules\prompt_parser.py", line 189, in get_learned_conditioning conds = model.get_learned_conditioning(texts) File "E:\Stable Diffusion\stable-diffusion-webui\repositories\stable-diffusion-stability-ai\ldm\models\diffusion\ddpm.py", line 669, in get_learned_conditioning c = self.cond_stage_model(c) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\modules\sd_hijack_clip.py", line 234, in forward z = self.process_tokens(tokens, multipliers) File "E:\Stable Diffusion\stable-diffusion-webui\modules\sd_hijack_clip.py", line 273, in process_tokens z = self.encode_with_transformers(tokens) File "E:\Stable Diffusion\stable-diffusion-webui\modules\sd_hijack_clip.py", line 326, in encode_with_transformers outputs = self.wrapped.transformer(input_ids=tokens, output_hidden_states=-opts.CLIP_stop_at_last_layers) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 822, in forward return self.text_model( File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, *kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 740, in forward encoder_outputs = self.encoder( File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 654, in forward layer_outputs = encoder_layer( File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(*args, *kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 383, in forward hidden_states, attn_weights = self.self_attn( File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\transformers\models\clip\modeling_clip.py", line 272, in forward query_states = self.q_proj(hidden_states) self.scale File "E:\Stable Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl return forward_call(args, kwargs) File "E:\Stable Diffusion\stable-diffusion-webui\extensions\sd-webui-regional-prompter\scripts\latent.py", line 466, in h_Linear_forward return torch.nn.Linear_forward_before_network(self, input) AttributeError: module 'torch.nn' has no attribute 'Linear_forward_before_network'


Disguised-Giraffe commented 1 year ago

I'm getting this error when I'm using regional prompter with composable lora. If I have composable lora enabled and run regional prompter(successfully, no errors) but then disable both regional prompter and composable lora. Having Controlnet on and then disabling it also adds a line to the error code text that references Controlnet but enabling then disabling it will remove it from the error code.

hako-mikan commented 1 year ago

I have attempted a fix, but I am not sure whether it will resolve the issue.

HavelockVimes commented 1 year ago

Thank you!

Em sex., 22 de set. de 2023 às 13:28, hako-mikan @.***> escreveu:

I have attempted a fix, but I am not sure whether it will resolve the issue.

— Reply to this email directly, view it on GitHub https://github.com/hako-mikan/sd-webui-regional-prompter/issues/224#issuecomment-1731708523, or unsubscribe https://github.com/notifications/unsubscribe-auth/AENORGJUYT7ANQ2UJHU5NGTX3W4DRANCNFSM6AAAAAA4P2HEBE . You are receiving this because you were mentioned.Message ID: @.***>