Stable Diffusion v2 实战指南从零跑通本地文生图与图像修复【免费下载链接】stablediffusionHigh-Resolution Image Synthesis with Latent Diffusion Models项目地址: https://gitcode.com/GitHub_Trending/st/stablediffusion想让图像生成在本地跑起来你大概率被两件事劝退过要么显存需求高到不敢装要么只会调 API、参数改不动。Stable Diffusion v2 把扩散去噪搬进低维潜在空间让 865M 参数的 UNet 在 6GB 显存的消费级显卡上就能出图示例值以实际硬件为准文生图、改图、修复、放大四类任务共用同一套脚本。这篇指南以官方源码仓库为基准带你走通环境安装、四个真实场景和性能调优让你能自己判断这台机器值不值得跑、参数该往哪调。读完你能带走能装好 conda 环境并跑通第一张 768×768 的 Stable Diffusion 文生图能用--strength、--scale、--steps三个参数控制改图强度、提示词贴合度与耗时能判断低配机器含纯 CPU选哪个配置跑得动能识别文字渲染、空间关系等已知坑及对应的绕行方案能定位 txt2img / img2img / depth2img / inpainting / superresolution 五类脚本与对应 checkpoint它解决了什么问题潜在空间里的缩略图重绘这一节回答为什么 865M 参数的扩散模型能塞进消费级显卡。传统扩散模型直接在像素空间反复加噪、去噪。你可以把它想象成在一整幅 A2 画布上逐笔擦改每一步都要处理全部像素512×512 就是 26 万个像素点 × 上千个时间步计算量随分辨率平方增长。Stable Diffusion潜在扩散模型 LDM的做法像换个工作习惯先把画布缩成名片大小的缩略图所有擦改都在缩略图上进行最后再把缩略图放大、补回细节。具体数字是——自动编码器Autoencoder以 8 倍下采样把 512×512×3 的图像压成 64×64×4 的潜在表示数值量从 786,432 降到 16,384约 48 倍压缩去噪网络UNet865M 参数只需处理这张缩略图。原论文报告相对像素空间扩散方法最高约 1000 倍计算量节省这是它能用 50 步左右生成 768×768 图像的底层原因。v2 与 v1 的关键区别在文本编码器v2-v 模型换用 OpenCLIP ViT-H/14上下文维度 1024并采用 v-prediction 参数化配置里parameterization: v所以 768 分辨率下可以用更高的 guidance scale。仓库自带的assets/里有一组不同 guidance scale 下的对比图能直观看到数值越大越贴提示词、但越容易过饱和5分钟快速上手环境要求与三步安装这一节回答我的机器够不够、装好要敲哪几条命令。系统需求档位CPU显存 / 内存存储最低示例值4核8线程NVIDIA 6GB 显存纯 CPU 需 16GB 内存20GB含权重推荐8核12–24GB 显存NVMe SSD纯 CPU 兜底支持 AVX512/bfloat16 更佳—同上第 1 步拿到源码约 10 秒git clone https://gitcode.com/GitHub_Trending/st/stablediffusion cd stablediffusion第 2 步建 conda 环境并装依赖环境名固定为ldm锁定 Python 3.8.5 PyTorch 1.12.1conda env create -f environment.yaml conda activate ldm pip install -r requirements.txt第 3 步放权重、跑第一张图。推理配置默认指向 EMA-only checkpoint权重需自行从官方权重托管平台Hugging Face 的 Stability AI 组织下载v2-1_768-ema-pruned.ckpt768 v 模型或 512 base 模型放入checkpoints/目录。然后执行python scripts/txt2img.py \ --prompt a professional photograph of an astronaut riding a horse \ --ckpt checkpoints/v2-1_768-ema-pruned.ckpt \ --config configs/stable-diffusion/v2-inference-v.yaml \ --H 768 --W 768 --n_samples 4 --device cuda结果默认写入outputs/txt2img-samples/每张图自动嵌入不可见水印可用scripts/tests/test_watermark.py验证。下面这张就是 768 配置的文生图样例关键配置文件一览都在configs/stable-diffusion/只需换--config即可切换任务配置文件模型/分辨率用途v2-inference.yaml512×512 base基础文生图v2-inference-v.yaml768×768 v高分辨率文生图推荐v2-midas-inference.yaml512×512深度条件改图v2-inpainting-inference.yaml512×512局部修复x4-upscaling.yaml2048×20484倍超分另外强烈建议在 GPU 上装 xformers编译耗时可达 30 分钟装好后代码会自动启用内存高效注意力无需改任何参数。四个真实场景线稿变插画、保构图换风格、局部修复、4倍放大这一节按需求而不是按功能名组织每个场景给一条最小命令和一个关键调参点。场景 1线稿/草图变插画img2img需求手里有一张山的草图想变成油画风。python scripts/img2img.py \ --prompt A fantasy landscape, trending on artstation \ --init-img assets/stable-samples/img2img/sketch-mountains-input.jpg \ --strength 0.8 \ --ckpt checkpoints/v2-1_768-ema-pruned.ckpt关键参数--strength0–10.3 左右给线稿轻轻上色0.8 只保留构图大幅重画1.0 等于完全丢弃原图信息、退化成纯文生图。输入与输出的效果对比见仓库自带样例草图输入、不同 strength 下的输出场景 2保构图换风格depth2img需求同一张照片想换成赛博城市/水墨等风格但人物姿态和空间布局不能变。先下载 depth 条件 checkpoint 和 MiDaS 的dpt_hybrid权重放入midas_models/目录然后python scripts/gradio/depth2img.py configs/stable-diffusion/v2-midas-inference.yaml ckpt流程是MiDaS 先估单目深度图扩散模型同时吃文本 深度两个条件所以结构基本锁死。strength1.0 时丢弃全部像素信息、只靠深度文本重画。仓库样例里真人照片被重绘成奇幻风格姿态和透视几乎不变场景 3局部修复inpainting需求抹掉图中某个物体补上符合周围的内容。python scripts/gradio/inpainting.py configs/stable-diffusion/v2-inpainting-inference.yaml ckpt启动后在浏览器里涂抹要擦除的区域、填提示词即可模型按语义补全而不是简单涂抹。下面是官方修复样例替换/补全多个目标区域场景 44倍放大superresolution需求把 512 的图放大到 2048且要放大后有细节而不是模糊拉伸。python scripts/gradio/superresolution.py configs/stable-diffusion/x4-upscaling.yaml ckpt关键参数noise_level0–350界面默认 20处理真实照片取低值保细节对模型自己生成的图建议调高如 100增加纹理。效果样例参数速查表txt2img / img2img 通用基于脚本实际定义参数范围作用推荐值--scale1.5–12guidance 强度越大越贴提示词、越易过饱和脚本默认 9.0512 base 用 7.5 左右--steps20–100去噪迭代步数越多越稳越慢50默认--strength0.1–1.0img2img 对原图的重画程度0.6–0.8--seed0–2³¹随机种子固定后结果可复现对比实验时固定--n_samples1–8一次生成张数即 batch6GB 显存用 1–2--H/--W512/768输出分辨率须与模型训练分辨率匹配768v 模型调参速查表采样器对比与低配机器跑法这一节回答想更快怎么改想更稳怎么改。采样器对比scripts/txt2img.py通过开关切换DDIM 为默认方案开关常用步数相对速度示例值以实测为准说明DDIM无50基准确定性采样结果可复现PLMS--plms20–50略快于同步步数 DDIM二阶方法质量接近DPM-Solver--dpm20三者中最快少步数逼近多步质量适合批量出图三条调优技巧GPU 显存不够时先装 xformers再确认--precision保持默认的autocast混合精度显存占用直接减半。批量出图把--steps从 50 降到 20 并加--dpm耗时约降至原来的四成示例值单张质量损失很小。同一提示词做 A/B 对比时固定--seed和--scale一次只改一个变量否则判断不出是哪个参数的功劳。没有 GPU纯 CPU 也能跑仓库为 Intel CPU 准备了一整套 IPEXIntel Extension for PyTorch优化配置位于configs/stable-diffusion/intel/fp32 与 bf16 各两档分辨率。装好 IPEX、jemalloc、numactl 后给txt2img.py追加--device cpu --torchscript --ipex参数即可CPU 支持 bfloat16 时改用intel/v2-inference-v-bf16.yaml并加--bf16速度明显快于 fp32示例值。CPU 路线适合离线批量跑 512 图实时交互请直接用 GPU 或 API。边界在哪做不好什么以及本地 vs API 怎么选这一节回答什么需求别用它以及和调 API 相比值不值。已知限制≤4 条各附绕行方案文字渲染图里写字基本是乱码。→ 把文字留到后期排版工具里加或只让它生成背景。多主体空间关系红色立方体在蓝色球体上方这类约束容易出错。→ 用 depth2img 先锁结构或在提示词里强化方位描述。人脸/肢体偶尔多出五官或手指。→ 换--seed重抽或用 inpainting 局部修复重画问题区域。训练数据偏见模型基于 LAION-5B 子集训练会放大数据中的偏见且存在敏感内容风险。→ 官方已内置不可见水印便于识别 AI 生成内容对外提供服务前必须自加过滤与审核机制。本地部署 vs 调 API维度本地 Stable Diffusion图像生成 API前期投入装环境下载权重约半小时起近乎为零单张成本电费按张计费参数可控性scale/steps/seed/模型全开放仅开放接口提供的字段数据隐私图像不出本机需上传上手速度慢依赖环境排错分钟级结论很直接个人创作、隐私敏感、要批量调参本地更划算临时出图、不想维护环境API 更省时间。合规一句话代码为 MIT权重为 CreativeML Open RAIL-M 许可见LICENSE-MODEL官方明确声明权重是研究用途商用产品需自行补齐安全机制防止深度伪造与误导信息传播。下一步去哪unCLIP、Karlo 与社区资源这一节给你一条学习路径和明确的第一个行动。仓库内学习路径README.md各任务官方用法与 checkpoint 索引最权威的第一站doc/UNCLIP.MDStable unCLIP 图像变体玩法——给一张图生成同语义的多张变体调noise_level控制发散程度0 几乎不变越大越天马行空样例如下scripts/streamlit/depth2img、inpainting、superresolution、stableunclip 四个浏览器交互 Demo不用敲参数就能先感受效果ldm/models/diffusion/DDIM/PLMS/DPM 采样器源码想改采样逻辑从这里入手项目近期方向仓库持续更新 checkpoint——2023 年 3 月发布的 Stable unCLIP 2.1768×768L/H 两档 CLIP 图像嵌入支持图像混合与变体操作并可结合 KakaoBrain 开源的 Karlo 文本先验组成 Stable Karlo 完整文生图链路Karlo 先出 64 草图SD 2.1 再放大精修。现在就动手跑python scripts/txt2img.py --prompt 你的提示词 --ckpt 你的ckpt --config configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768 --device cuda生成你的第一张 768×768 图像然后用--seed 42固定种子开始你的第一次调参实验。【免费下载链接】stablediffusionHigh-Resolution Image Synthesis with Latent Diffusion Models项目地址: https://gitcode.com/GitHub_Trending/st/stablediffusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考