• 中文
    • English
    • 繁体
  • 注册
  • AI绘画教程 AI绘画教程 关注:12 内容:11

    DPM++ 2M alt Karras [采样器]

  • 查看作者
  • 打赏作者
  • 28
  • AI绘画教程
  • VIP 4
    靓号:666
    社区达人

    这是 DPM++ 2M Karras 采样器的替代版本。

    我不认为这个采样器是终极的或最好的,但我经常使用它,因为我真的很喜欢这个采样器生成的图像的清洁度和柔和的色彩。

    乍一看,结果可能并不明显,以全分辨率检查细节以查看差异(尤其是在暗区、背景和眼睛)。

    github 页面

    方法一

    如何试用

    1. 打开 stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py

    2. 在底部添加以下代码

    @torch.no_grad()def sample_dpmpp_2m_test(model, x, sigmas, extra_args=None, callback=None, disable=None):    """DPM-Solver++(2M)."""
        extra_args = {} if extra_args is None else extra_args
        s_in = x.new_ones([x.shape[0]])    sigma_fn = lambda t: t.neg().exp()    t_fn = lambda sigma: sigma.log().neg()    old_denoised = None
    
        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})        t, t_next = t_fn(sigmas[i]), t_fn(sigmas[i + 1])        h = t_next - t
            
            t_min = min(sigma_fn(t_next), sigma_fn(t))        t_max = max(sigma_fn(t_next), sigma_fn(t))        if old_denoised is None or sigmas[i + 1] == 0:            x = (t_min / t_max) * x - (-h).expm1() * denoised
            else:            h_last = t - t_fn(sigmas[i - 1])            h_min = min(h_last, h)            h_max = max(h_last, h)            r = h_max / h_min
    
                h_d = (h_max + h_min) / 2
                denoised_d = (1 + 1 / (2 * r)) * denoised - (1 / (2 * r)) * old_denoised
                x = (t_min / t_max) * x - (-h_d).expm1() * denoised_d
    
            old_denoised = denoised
        return x

    1. 打开 stable-diffusion-webui\modules\sd_samplers_kdiffusion.py

    2. 在 DPM++ 2M 和 DPM++ 2M Karras 旁边添加以下代码

    samplers_k_diffusion = [
        ...
        ('DPM++ 2M Test', 'sample_dpmpp_2m_test', ['k_dpmpp_2m'], {}),
        ('DPM++ 2M Karras Test', 'sample_dpmpp_2m_test', ['k_dpmpp_2m_ka'], {'scheduler': 'karras'}),

    重要的!安装前请备份原文件。

    要安装此采样器,请下载文件,将其解压缩并将其放在文件夹stable-diffusion-webui/modules/中,并在必要时重命名为sd_samplers_kdiffusion.py 。

    DPM++ 2M alt Karras [采样器]

    然后你应该重新加载(整个 SD 而不仅仅是 UI)你会看到这个:

    DPM++ 2M alt Karras [采样器]

    DPM++ 2M alt Karras [采样器]DPM++ 2M alt Karras [采样器]DPM++ 2M alt Karras [采样器]DPM++ 2M alt Karras [采样器]

    dpm2MAltKarrasSampler_sampler.zip
    DPM++ 2M alt Karras 采样器

    青铜LV.1

    666

    回复
    青铜LV.2
    VIP 11

    水贴是注定孤独的旅行,路上少不了吐槽和嘲笑。但那又怎么样,哪怕经验暴涨,我也要抢的漂亮!我是水神,我为自己带盐,偶尔也带块洋芋粑。

    回复
    青铜LV.1

    666

    回复
    黄金
    社区达人

    这个要了

    回复
    青铜LV.1

    666666666666

    回复
    青铜LV.9

    666666

    回复
    青铜LV.1

    谢谢

    回复
    青铜LV.1

    6666

    回复
    青铜LV.1

    而威尔rewrite为任务围绕为玩儿玩儿文图热

    回复
    青铜LV.1

    牛 。。。。。。。。。。。。。。。

    回复

    请登录之后再进行评论

    登录

    我关注的圈子

    暂没有数据

    推广赚金币(邀请一人1000金币)

  • 发布
  • 任务
  • 实时动态
  • 模式切换
  • 到底部
  • 帖子间隔 侧栏位置: