Stable Diffusion学习随记20250712

Stable Diffusion如何加载LoRA

首先,在SD中加载LoRA模型的方式为:prompt栏输入对应字符以调用,形如:

LoRA

为了使SD能正常读取到LoRA模型,需要把LoRA模型移动到 /SD安装目录/models/Lora 中
即为:
path

模型导入完成后,需重启webUI,使得SD正常显示安装好的LoRA模型
重启后选择LoRA这一栏,打开即可看到我们安装好的模型
LoRA

点击安装好的模型.对应的字符被自动添加至prompt栏中
models

修改模型名称后的数字即可修改LoRA权重,进行微调
weight

(250713update)一定要注意阅读模型model card

model card(这里是统称,不仅限于hugging face)包含了模型特性,以及用法(包括推荐prompt形式,推荐迭代步数等)

画面分辨率对作品内容的影响

这里以我使用的animagine-xl-4.0举例

 Recommended Resolutions(引用自https://huggingface.co/cagliostrolab/animagine-xl-4.0)

Orientation Dimensions Aspect Ratio
Square 1024 x 1024 1:1
Landscape 1152 x 896 9:7
1216 x 832 3:2
1344 x 768 7:4
1536 x 640 12:5
Portrait 896 x 1152 7:9
832 x 1216 2:3
768 x 1344 4:7
640 x 1536 5:12

我们不妨做一个实验,使用该模型,控制prompt,迭代步数,种子等无关变量不变,仅调整输出分辨率,查看题材上的变化

截屏2025-07-13 21.52.46.png

这里我们使用了Example_Code中的positive prompt 与 negative prompt ,迭代步数控制在推荐的28, 采样方法用了推荐的Euler a, 分辨率分为4组 为 512 512 ; 1344 768 ; 768 1344 ; 1024 1024
每个生成3张

512x512

截屏2025-07-13 21.59.32.png

可以看到画面内容为头部+胸部以上,属于头像风格

1344x768

截屏2025-07-13 22.38.29.png

这张明显多了后面的街道/小店,符合Landscape描述

768x1344

截屏2025-07-13 22.38.29.png

此时下半身出现,符合portrait描述

1024x1024

截屏2025-07-13 22.43.45.png

1024x1024综合了portrait与landscape的特性,画面内容比512x512多得多,没那么“特写”

后期处理

截屏2025-07-13 22.57.42.png

如图,这个界面,具体讲解参考这篇
这里简单记下放大算法1与放大算法2的作用,以及各模型的特性

放大算法例子与作用

处理阶段 选用算法 效果
放大算法1 R-ESRGAN 4x 将图像从 512×512 放大至 2048×2048,增强纹理感
放大算法2 Lanczos 在 2048×2048 基础上锐化细节,减少毛边
放大算法 阶段 主要作用 推荐用途
算法1 初始放大 粗放大、重构主要纹理 提高分辨率,生成大图基础
算法2 精修优化 细节补充、锐化处理 微调边缘、提升视觉观感

各算法特性

截屏2025-07-13 23.01.27.png

🧠 Stable Diffusion 放大算法对比表

算法名称 特性描述 优势 劣势 推荐使用场景
Lanczos 传统图像插值方法,锐利保边缘 快速、资源占用低、清晰度较高 无 AI 补细节,容易过锐或产生锯齿 快速预览图、简单放大
Nearest 最近邻插值,像素级别对齐 快速、像素保持完全一致 放大后极度锯齿、画面非常粗糙 像素艺术、马赛克效果
4x-AnimeSharp 针对动漫图像优化的 4x 模型 边缘锐利,颜色保留好 容易出现过锐或断裂边缘 二次元插画、日式角色图像
BSRGAN 针对自然图像的超分模型,带抗噪能力 可恢复纹理,适合模糊图 比 ESRGAN 慢,效果较柔 实拍照片增强
DAT x2/x3/x4 深度注意力机制(DAT)超分系列模型 清晰、风格自然、细节增强明显 占用资源较高,生成速度偏慢 需要细节修复的写实类图像
ESRGAN_4x 原版 ESRGAN 4倍超分模型 保边清晰、纹理强化 对脸部容易出错,有时生成伪影 通用图像提升,角色类较合适
LDSR 结合 VAE 解码 + 超分网络,图像更真实 AI 恢复真实感好 非常慢,占资源大,安装复杂 写实照片、复杂场景
R-ESRGAN 4x+ ESRGAN 的重训练增强版本,优化纹理与真实感 更细腻、色彩自然 容易模糊细节,不适合动漫 风景照、写实角色图
R-ESRGAN 4x+ Anime6B 专为二次元设计的 R-ESRGAN 分支模型 动漫边缘柔和,颜色层次好 对背景处理稍弱 高清动漫、二次元画面优化
ScuNET GAN GAN 框架轻量版,速度快 中规中矩、速度快 不如其他模型细腻 中速处理中等图像
ScuNET PSNR ScuNET 注重 PSNR(峰值信噪比)优化版本 平滑、保结构能力强 过度平滑可能丢细节 摄影图、需要压噪点图像
SwinIR_4x 使用 Swin Transformer 结构的超分模型,4x 放大 高精度,结构还原佳,边缘清晰 模型大、推理慢 高质量图、结构复杂图

✅ 使用建议速查表

需求类别 推荐算法
动漫/二次元 4x-AnimeSharp、R-ESRGAN Anime6B
照片增强 BSRGAN、R-ESRGAN 4x+、LDSR
写实风格 SwinIR_4x、DAT 系列、LDSR
快速渲染 Lanczos、ScuNET GAN
抗噪去伪影 ScuNET PSNR、BSRGAN
边缘锐化 ESRGAN_4x、4x-AnimeSharp

对于二次元插画图像(如角色立绘、动漫壁纸、漫画风图像),你想要的是:

  • 保持 线条清晰

  • 保留/增强 色彩分层感

  • 避免 模糊、过度锐化或伪影

  • 对于低分辨率图像,进一步 高清化不失真

✅ 最佳推荐组合(适合大多数情况)

放大阶段 推荐算法 理由
放大算法1 R-ESRGAN 4x+ Anime6B 专为二次元风格训练,边缘柔和但不模糊,颜色过渡自然,是最主流选择。
放大算法2 4x-AnimeSharp 或 Lanczos 补充锐化细节。AnimeSharp适合加强边缘线条,Lanczos则偏稳健风格,不加太多人工感。

🔄 替代组合建议(根据需求微调)

目标 推荐组合
极致清晰线条 放大算法1:4x-AnimeSharp  放大算法2:Lanczos
柔和色彩+少伪影 放大算法1:R-ESRGAN 4x+ Anime6B  放大算法2:ScuNET PSNR
节省显存/速度优先 放大算法1:ScuNET GAN  放大算法2:Lanczos
带网格稿/黑白线稿图 放大算法1:Nearest(像素风) 放大算法2:4x-AnimeSharp(线条锐化)

📌 实用提示

  • 如果图像来源是 AI 生成的低分辨率动漫图,建议先用 img2img 加 Denoise 处理大结构,再 Extras 模块里放大。

  • 放大倍数设置为 2x–4x 比较稳定,不要一次放大到过高,否则容易出边缘伪影或补丁感。


Stable Diffusion 安装时遇到「您当前安装的PyTorch及其附属库并不支持使用您在“生产引擎”中所选择的设备,继续运行将导致启动失败。 请前往“高级选项-环境维护”面板安装对应PyTorch版本」要怎么办

在启动器中重新选择pytorch即可

torch install

这里可以看zhihu上Stable Diffusion常见问题与解答(持续更新……)的Q32

运行不起来,报错 RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! when resuming training

常见问题与解答 Q73
个人重新安装pytorch后重启几次解决了,有点神奇

Weights only load failed. This file can still be loaded, to do so you have two options, 1mdo those steps only if you trust the source of the checkpoint 0m.

(1) In PyTorch 2.6, we changed the default value of the weights_only argument in torch.load from False to True. Re-running torch.load with weights_only set to False will likely succeed, but it can result in arbitrary code execution. Do it only if you got the file from a trusted source.

(2) Alternatively, to load with weights_only=True please check the recommended steps in the following error message.

WeightsUnpickler error: Unsupported global: GLOBAL ultralytics.nn.tasks.DetectionModel was not an allowed global by default. Please use torch.serialization.add_safe_globals([DetectionModel]) or the torch.serialization.safe_globals([DetectionModel]) context manager to allowlist this global if you trust this class/function.

常见问题与解答 Q84

  • 从 PyTorch 2.6 版本开始,torch.load 默认出于安全考虑,只允许加载权重(weights),不执行保存文件里的 Python 代码。
  • 但是你要加载的 .pt 文件(比如一些模型权重文件)里面,保存了完整模型结构,而且用到了比如 ultralytics.nn.tasks.DetectionModel 这样的自定义类。
  • PyTorch 不认识这个类,而且默认又不让加载任意代码,所以就报错了。
  • 方法一:不要使用 .pt模型,换成 .safetensors模型
  • 方法二:找到报错节点的文件夹,例如:ComfyUI\custom_nodes\节点名字\。搜索 torch.load 打开文件,你会看到一行类似这样的代码:model = torch.load(ckpt_path)或者:torch.load(path)。改成这样:model = torch.load(ckpt_path, weights_only=False)或者:orch.load(path, weights_only=False)保存 .py 文件,关闭并重新启动 ComfyUI,让改动生效。
    这里我推荐方法一

    也不是没办法用老的pt模型

    使用SD的「模型转换」工具


    进行如下操作
    process

    如何让出的图大体保持一致?

    同种子
    具体看这篇


模型推荐


成果展示

00029-486905315.jpg

00053-2571789228.jpg

00089-2571789264.jpg

pixiv看完整版

Views: 10

Stable Diffusion学习随记20250712 by benli06,转载请注明出处.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇