Closed nightdye closed 1 week ago
还有一个办法,就是我得关闭插件生成一次图像,再次启用就正常
我剛剛測試沒有問題。
realisticVisionV51
模型FC
模式;上傳主角;進行文生圖flux1-schnell-bnb-nf4
模型我指的是来回切换IC-Light的模型,同一个Checkpoint下生成图片会有以上的报错,就是我先使用FC生成后切换FBC模型生成就会出错,相反先使用FBC生成后再切换FC也会报错,我目前解决方法是重启控制台或者关闭插件进行一次文生图后再启用插件
这是我用forge版本和py版本
有了,我也 repro 這個問題了
研究中...
以下是ChatGPT给的回复:
这个错误提示表明 torch.nn.Conv2d
层期望输入的通道数是 8,但当前输入的是 12 个通道。这个问题通常由以下原因引起:
ic_light
或其他增强功能),可能这些扩展改变了模型的内部结构,导致通道数不匹配。检查输入数据:确保输入数据的格式和通道数符合模型要求。可以在 txt2img_function
调用 processing.process_images
前,打印或检查输入数据的形状。
验证模型层配置:在 apply_model
函数中确认 unet
模型配置是否正确。检查卷积层是否被设置为接受正确数量的通道。如果模型代码可以更改,尝试显式指定每层的输入和输出通道数。
禁用相关扩展:如果使用了 sd-forge-ic-light
扩展,尝试禁用它,并查看问题是否解决。然后可以排查这个扩展的设置,或查找是否存在更新或补丁修复这个问题。
检查依赖项版本:有时依赖库(例如 torch
)的更新会引起此类问题。确保当前的依赖项版本与项目要求匹配,特别是对于 torch
和 diffusers
等重要组件。
如果以上步骤仍无法解决问题,请提供更多信息(如模型架构和数据输入的形状)以便进一步排查。
新發現: 在舊 Forge (Gradio 3
) 上切換模型不會有這個問題,所以這是新 Forge 的 Backend 造成的。
修好了~
ok,完美
报错如下: Traceback (most recent call last): File "D:\stable-diffusion-webui-forge\modules_forge\main_thread.py", line 30, in work self.result = self.func(*self.args, self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\stable-diffusion-webui-forge\modules\txt2img.py", line 124, in txt2img_function processed = processing.process_images(p) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\stable-diffusion-webui-forge\modules\processing.py", line 842, in process_images res = process_images_inner(p) ^^^^^^^^^^^^^^^^^^^^^^^ File "D:\stable-diffusion-webui-forge\modules\processing.py", line 990, 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 "D:\stable-diffusion-webui-forge\modules\processing.py", line 1387, in sample samples = self.sampler.sample(self, x, conditioning, unconditional_conditioning, image_conditioning=self.txt2img_image_conditioning(x)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\stable-diffusion-webui-forge\modules\sd_samplers_kdiffusion.py", line 238, 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 "D:\stable-diffusion-webui-forge\modules\sd_samplers_common.py", line 272, in launch_sampling return func() ^^^^^^ File "D:\stable-diffusion-webui-forge\modules\sd_samplers_kdiffusion.py", line 238, in
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 "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, *kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\k_diffusion\sampling.py", line 146, in sample_euler_ancestral
denoised = model(x, sigmas[i] s_in, extra_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
return self._call_impl(*args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
return forward_call(*args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\modules\sd_samplers_cfg_denoiser.py", line 199, in forward
denoised, cond_pred, uncond_pred = sampling_function(self, denoiser_params=denoiser_params, cond_scale=cond_scale, cond_composition=cond_composition)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\sampling\sampling_function.py", line 362, in sampling_function
denoised, cond_pred, uncond_pred = sampling_function_inner(model, x, timestep, uncond, cond, cond_scale, model_options, seed, return_full=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\sampling\sampling_function.py", line 303, in sampling_function_inner
cond_pred, uncond_pred = calc_cond_uncondbatch(model, cond, uncond, x, timestep, model_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\sampling\sampling_function.py", line 271, in calc_cond_uncond_batch
output = model_options['model_function_wrapper'](model.apply_model, {"input": inputx, "timestep": timestep, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\extensions\sd-forge-ic-light\lib_iclight\ic_light_nodes.py", line 61, in wrapper_func
return existing_wrapper(unet_apply, params=apply_c_concat(params))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\extensions\sd-forge-ic-light\lib_iclight\ic_light_nodes.py", line 53, in unet_dummy_apply
return unet_apply(x=params["input"], t=params["timestep"], params["c"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\modules\k_model.py", line 45, in apply_model
model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, *extra_conds).float()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
return self._call_impl(args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
return forward_call(*args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\nn\unet.py", line 713, in forward
h = module(h, emb, context, transformer_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
return self._call_impl(*args, *kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
return forward_call(args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\nn\unet.py", line 89, in forward
x = layer(x)
^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
return self._call_impl(*args, *kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
return forward_call(args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge\backend\operations.py", line 170, in forward
return super()._conv_forward(x, weight, bias)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable-diffusion-webui-forge.ext\Lib\site-packages\torch\nn\modules\conv.py", line 456, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Given groups=1, weight of size [320, 8, 3, 3], expected input[2, 12, 80, 64] to have 8 channels, but got 12 channels instead
Given groups=1, weight of size [320, 8, 3, 3], expected input[2, 12, 80, 64] to have 8 channels, but got 12 channels instead