v0xie / sd-webui-incantations

Enhance Stable Diffusion image quality, prompt following, and more through multiple implementations of novel algorithms for Automatic1111 WebUI.
GNU General Public License v3.0
120 stars 7 forks source link

SCFG stuck in 'on' mode after AttributeError #56

Open silveroxides opened 3 weeks ago

silveroxides commented 3 weeks ago

S-CFG cannot be disabled if it encounters AttributeError and forces full restart of webui.

    Traceback (most recent call last):
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\call_queue.py", line 58, in f
        res = list(func(*args, **kwargs))
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\call_queue.py", line 37, in f
        res = func(*args, **kwargs)
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\txt2img.py", line 109, in txt2img
        processed = processing.process_images(p)
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\processing.py", line 847, in process_images
        res = process_images_inner(p)
      File "C:\Stable_Diffusion\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\batch_hijack.py", line 59, in processing_process_images_hijack
        return getattr(processing, '__controlnet_original_process_images_inner')(p, *args, **kwargs)
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\processing.py", line 985, 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 "C:\Stable_Diffusion\stable-diffusion-webui\modules\processing.py", line 1343, in sample
        samples = self.sampler.sample(self, x, conditioning, unconditional_conditioning, image_conditioning=self.txt2img_image_conditioning(x))
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 223, 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 "C:\Stable_Diffusion\stable-diffusion-webui\modules\sd_samplers_common.py", line 272, in launch_sampling
        return func()
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 223, in <lambda>
        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 "C:\Stable_Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
        return func(*args, **kwargs)
      File "C:\Stable_Diffusion\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py", line 128, in sample_euler
        denoised = model(x, sigma_hat * s_in, **extra_args)
      File "C:\Stable_Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
        return self._call_impl(*args, **kwargs)
      File "C:\Stable_Diffusion\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
        return forward_call(*args, **kwargs)
      File "C:\Stable_Diffusion\stable-diffusion-webui\modules\sd_samplers_cfg_denoiser.py", line 281, in forward
        denoised = self.combine_denoised(x_out, conds_list, uncond, cond_scale)
      File "C:\Stable_Diffusion\stable-diffusion-webui\extensions\4-sd-webui-incantations\scripts\cfg_combiner.py", line 110, in <lambda>
        pass_conds_func = lambda *args, **kwargs: combine_denoised_pass_conds_list(
      File "C:\Stable_Diffusion\stable-diffusion-webui\extensions\4-sd-webui-incantations\scripts\cfg_combiner.py", line 276, in combine_denoised_pass_conds_list
        return new_combine_denoised(*args)
      File "C:\Stable_Diffusion\stable-diffusion-webui\extensions\4-sd-webui-incantations\scripts\cfg_combiner.py", line 215, in new_combine_denoised
        rate = scfg_combine_denoised(
      File "C:\Stable_Diffusion\stable-diffusion-webui\extensions\4-sd-webui-incantations\scripts\scfg.py", line 421, in scfg_combine_denoised
        if mask_t.shape[2:] != model_delta_norm.shape[2:]:
    AttributeError: 'NoneType' object has no attribute 'shape'