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
135 stars 8 forks source link

PAG doesn't work with AND #59

Open slashedstar opened 1 month ago

slashedstar commented 1 month ago

Prompt a AND b

    Traceback (most recent call last):
      File "E:\stable-diffusion-webui\modules\script_callbacks.py", line 341, in cfg_denoised_callback
        c.callback(params)
      File "E:\stable-diffusion-webui\extensions\sd-webui-incantations\scripts\pag.py", line 289, in <lambda>
        cfg_denoised_lambda = lambda callback_params: self.on_cfg_denoised_callback(callback_params, pag_params)
      File "E:\stable-diffusion-webui\extensions\sd-webui-incantations\scripts\pag.py", line 503, in on_cfg_denoised_callback
        pag_x_out = params.inner_model(x_in, sigma_in, cond=conds)
      File "E:\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 "E:\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
        return forward_call(*args, **kwargs)
      File "E:\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\external.py", line 112, in forward
        eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)
      File "E:\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\external.py", line 138, in get_eps
        return self.inner_model.apply_model(*args, **kwargs)
      File "E:\stable-diffusion-webui\modules\sd_models_xl.py", line 44, in apply_model
        return self.model(x, t, cond)
      File "E:\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 "E:\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
        return forward_call(*args, **kwargs)
      File "E:\stable-diffusion-webui\modules\sd_hijack_utils.py", line 18, in <lambda>
        setattr(resolved_obj, func_path[-1], lambda *args, **kwargs: self(*args, **kwargs))
      File "E:\stable-diffusion-webui\modules\sd_hijack_utils.py", line 32, in __call__
        return self.__orig_func(*args, **kwargs)
      File "E:\stable-diffusion-webui\repositories\generative-models\sgm\modules\diffusionmodules\wrappers.py", line 28, in forward
        return self.diffusion_model(
      File "E:\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 "E:\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
        return forward_call(*args, **kwargs)
      File "E:\stable-diffusion-webui\modules\sd_unet.py", line 91, in UNetModel_forward
        return original_forward(self, x, timesteps, context, *args, **kwargs)
      File "E:\stable-diffusion-webui\repositories\generative-models\sgm\modules\diffusionmodules\openaimodel.py", line 987, in forward
        assert y.shape[0] == x.shape[0]
    AssertionError

---
ERROR:scripts.cfg_combiner:Exception in combine_denoised_pass_conds_list - 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "E:\stable-diffusion-webui\extensions\sd-webui-incantations\scripts\cfg_combiner.py", line 244, in new_combine_denoised
    pag_delta = x_out[cond_index] - pag_x_out[i]
TypeError: 'NoneType' object is not subscriptable
ERROR:scripts.cfg_combiner:Exception in combine_denoised_pass_conds_list - 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "E:\stable-diffusion-webui\extensions\sd-webui-incantations\scripts\cfg_combiner.py", line 244, in new_combine_denoised
    pag_delta = x_out[cond_index] - pag_x_out[i]
TypeError: 'NoneType' object is not subscriptable