1、在 SD webui 中添加 lcm 扩展。
2、下载 LCM 的 lora 文件,放在 \stable-diffusion-webui-new\models\Lora
3、修改 \stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py
在代码最后添加下面的代码:
@torch.no_grad()
def sample_lcm(model, x, sigmas, extra_args=None, callback=None, disable=None, noise_sampler=None):
extra_args = {} if extra_args is None else extra_args
noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler
s_in = x.new_ones([x.shape[0]])
for i in trange(len(sigmas) - 1, disable=disable):
denoised = model(x, sigmas[i] * s_in, **extra_args)
if callback is not None:
callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised})
x = denoised
if sigmas[i + 1] > 0:
x += sigmas[i + 1] * noise_sampler(sigmas[i], sigmas[i + 1])
return x
3、修改 \stable-diffusion-webui-new\modules\sd_samplers_kdiffusion.py
在代码的39行后添加下面的代码:
('LCM Method', 'sample_lcm', ['lcm'], {}),
保存上述文件后,重新启动 Stable Diffusion。重新加载 UI 后,您将在采样方法列表中找到“LCM 方法”。
OK!现在,你就可以按照下面的方法高速出图了。
- 选择lcm采样方法
- 将步数设置为4-8之间
- 提示词中添加 <lora:lcm>
- CFG Scale 设置为 1-2 之间