stable-diffusion.cpp与ComfyUI有什么不同
stable-diffusion.cpp 是纯 C/C++ 推理项目,主要通过 sd-cli 运行。上游列出的支持平台包括 Windows,支持 CPU、CUDA、Vulkan、Metal、OpenCL 和 SYCL,并能读取 safetensors、GGUF 及部分 PyTorch checkpoint。它更适合命令行、自动化和轻量部署;需要可视化节点工作流时,应选择 ComfyUI Windows本地部署教程。
安装前:硬件、空间与许可证
| 项目 | 核验结果 |
|---|---|
| 系统与依赖 | 本文面向64位Windows;需要Git、CMake和可用的C/C++编译器,Visual Studio Build Tools是常见方案 |
| CPU | 官方支持x86平台的AVX、AVX2、AVX512;没有独显也能构建CPU版本,但速度取决于模型和硬件 |
| NVIDIA显卡 | CUDA构建需要CUDA Toolkit;官方构建文档建议至少4GB显存 |
| 磁盘 | 至少预留程序构建文件、一个模型和生成图片的空间;模型大小由所选权重决定,上游未给统一最低值 |
| 许可证 | stable-diffusion.cpp代码采用MIT License;模型权重有独立许可证和用途限制,下载前必须分别核验 |
第一步:从官方源码构建CPU版本
在已配置C++编译环境的终端中执行:
git clone --recursive https://github.com/leejet/stable-diffusion.cpp
cd stable-diffusion.cpp
cmake -B build
cmake --build build --config Release官方构建说明要求递归克隆子模块。若之前只执行了普通克隆,可运行 git submodule init 和 git submodule update。构建完成后,Windows多配置生成器通常会把程序放在 build\bin\Release;实际路径以构建输出为准。
第二步:按显卡选择后端
NVIDIA CUDA
cmake -B build-cuda -DSD_CUDA=ON
cmake --build build-cuda --config Release先安装与驱动兼容的 CUDA Toolkit。配置阶段若找不到 CUDA,不要从不明网站下载 DLL;先使用 CPU 版本确认程序和模型正常,再排查工具链。
Vulkan
cmake -B build-vulkan -DSD_VULKAN=ON
cmake --build build-vulkan --config ReleaseVulkan构建需要官方文档指定的 Vulkan SDK。它可以作为不同品牌显卡的备选路径,但是否可用和性能取决于驱动、显卡及模型,不能仅凭“支持Vulkan”保证所有设备都能顺利运行。
第三步:安全选择模型
上游快速入门示例使用 Stable Diffusion 1.5 的 safetensors 权重,并明确支持 .ckpt、.safetensors 与 .gguf。初次测试优先选择来源清楚、许可证明确的 safetensors 或 GGUF 文件。
- 不要把项目代码的MIT许可证误认为模型也能任意商用。
- 下载模型时核对发布者、许可证、文件大小与哈希;不要使用来历不明的网盘整合包。
- 不同模型可能需要额外的VAE、文本编码器或专用参数,不能只改文件名强行加载。
第四步:生成第一张图片
把模型放到自建的 models 目录。以官方快速入门的基本参数为例:
build\bin\Release\sd-cli.exe -m models\model.safetensors -p "a quiet mountain village at sunrise"-m 指向模型,-p 是提示词。不同发布版本的可执行文件路径和参数可能变化,先运行:
build\bin\Release\sd-cli.exe -h再根据当前帮助设置输出路径、尺寸、采样方式、步数、随机种子和负面提示词。上游说明会把生成参数写入PNG元数据;需要复现时,应同时保存图片、提示词、种子、模型版本和后端。
常见问题排查
提示找不到子模块或头文件
确认使用了 --recursive 克隆。已有目录运行 git submodule update --init --recursive,然后删除失败的构建目录重新配置。
模型无法加载或生成全黑图
先确认模型类型与当前版本支持范围,检查是否缺少VAE或文本编码器,并用上游快速入门列出的基础模型验证。模型文件损坏时应重新从原始发布页下载并核对哈希。
显存不足
降低图像尺寸,选择更小或量化模型,并参考上游性能说明中的Flash Attention、VAE tiling等选项。4GB只是CUDA构建文档的建议下限,不代表所有模型都能在4GB显存运行。
CPU能运行但非常慢
CPU推理速度受指令集、线程、模型体积和图像尺寸影响。先用小模型和较低分辨率验证流程,再决定是否构建CUDA或Vulkan版本,不要相信固定“几秒出图”的非官方承诺。
卸载、更新与安全边界
停止运行后,删除源码目录、构建目录、模型和输出图片即可移除本项目;Git、CMake、Visual Studio及CUDA属于共享工具,应单独决定是否保留。更新源码前先记录可用提交或发布标签,避免新版本参数变化导致旧脚本失效。
生成内容仍需遵守模型许可证、肖像权、著作权和所在地区法律。不要用未经授权的真人素材训练或生成欺骗性内容;商业用途尤其要核验模型与LoRA的许可。
相关教程与官方来源
偏好可视化节点工作流可继续阅读 ComfyUI Manager自定义节点安全指南;本地文本模型可参考 llama.cpp Windows运行GGUF模型教程。
sd-cli -h 为准。