你一共需要 ABC 三个模型
A是 Stable Diffusion 1.5 inpainting 模型 https://huggingface.co/runwayml/stable-diffusion-inpainting/tree/main
B是你需要进行转化的模型,比如NovelAI, Anything
C是 Stable Diffusion 1.5 的普通模型 https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main
进入WebUI的Checkpoint Merger界面,把ABC分别填进去
下面的Custome Name,给模型起个名字,你自己能找到就好
Multiplier系数,拉到最右边,1。
Interpolation Method选择第三个 Add difference。
格式选safetensors就行,如果你想顺便把vae烤进去,就在bake in vae中选B模型用的vae。
其他的不用动,点Merge就行了。
这样融合过的模型,在进行局部重绘时,融入原画面的能力会大大增强。
原理:Add difference 的公式是 A + (B - C) * M。
当M=1时,相当于 A - C + B。
A - C 就是重绘模型和普通模型的差,也就是重绘模型独特的部分。把它加给B,你自己的模型也就有了重绘能力。
来源:https://www.reddit.com/r/sdforall/comments/zyieht/how_to_turn_any_model_into_an_inpainting_model/