Stable Diffusion 本地部署与常见问题解决方案
Stable Diffusion 本地部署指南,涵盖 macOS 环境配置、WebUI 安装流程及常见报错处理。文章详细解析了 Python 版本兼容、PyTorch MPS 支持、显存优化参数设置等关键步骤,并提供模型管理与提示词编写建议,帮助用户在本地高效运行 AI 绘图工具。重点解决了 Torch 版本不匹配、OpenCV 依赖缺失及半精度计算失败等问题,并补充了 ControlNet 等插件的使用说明。

Stable Diffusion 本地部署指南,涵盖 macOS 环境配置、WebUI 安装流程及常见报错处理。文章详细解析了 Python 版本兼容、PyTorch MPS 支持、显存优化参数设置等关键步骤,并提供模型管理与提示词编写建议,帮助用户在本地高效运行 AI 绘图工具。重点解决了 Torch 版本不匹配、OpenCV 依赖缺失及半精度计算失败等问题,并补充了 ControlNet 等插件的使用说明。

Stable Diffusion(简称 SD)是一款开源的文本生成图像模型,因其强大的生成能力和可本地部署的特性,成为 AI 绘画领域的主流工具之一。相比 Midjourney 等在线服务,SD 允许用户在本地硬件上运行,保护隐私且无使用限制。本文将详细介绍在 macOS 环境下安装 Stable Diffusion WebUI 的步骤,并针对常见报错提供解决方案。
Homebrew 是 macOS 的软件包管理器,用于简化依赖安装。
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
等待安装完成后,检查版本:
brew -V
若打印出类似 homebrew 4.0.11 的版本信息,表示安装成功。
SD WebUI 基于 Python 开发,需要安装特定版本的 Python 及相关编译工具。
brew install cmake protobuf rust [email protected] git wget
也可以前往 Python 官网下载 3.10.9 或 3.10.10 版本安装包进行手动安装。
推荐使用 Git 克隆官方仓库:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
模型文件需放置在指定目录下。解压后的模型文件(.ckpt 或 .safetensors 格式)应放入:
stable-diffusion-webui/models/Stable-diffusion/
常见的预训练模型包括 v1-5-pruned-emaonly.safetensors 等,可从 HuggingFace 或 Civitai 等合规平台下载。
进入安装目录,执行启动脚本:
cd stable-diffusion-webui
./webui.sh
首次运行会自动安装依赖,此过程可能耗时较长。建议根据硬件情况调整配置文件。
编辑 webui-user.sh 或 webui-macos-env.sh,添加以下参数以优化性能:
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu"
对于 Mac M1/M2 芯片用户,需启用 MPS (Metal Performance Shaders) 支持。
SD 默认调用 Python 3,但系统可能默认指向 Python 2。直接覆盖可能导致系统脚本异常,建议使用别名方式。
查看当前路径:
which python
which python3
编辑 ~/.bash_profile 追加:
alias python="/usr/local/bin/python3"
alias python2="/usr/bin/python"
生效命令:
source ~/.bash_profile
报错提示 No SDP backend available 或 Torch not compiled with CUDA enabled 通常是因为 PyTorch 版本过低。
修改 webui-macos-env.sh 中的 TORCH_COMMAND:
export TORCH_COMMAND="pip install torch==2.0.1 torchvision==0.15.2"
并在 COMMANDLINE_ARGS 中添加 --reinstall-torch 强制重装。
报错 Symbol not found: _VTRegisterSupplementalVideoDecoderIfAvailable 表明 OpenCV 版本过旧。
在虚拟环境中升级:
cd venv/bin
source activate
python3.10 -m pip install --upgrade pip
pip3 install opencv-python==4.6.0.66
deactivate
报错 LayerNormKernelImpl not implemented for 'Half' 通常因显存不足导致半精度计算失败。
解决方法是强制使用全精度浮点运算:
./webui.sh --precision full --no-half
或在配置文件中添加:
export COMMANDLINE_ARGS="--precision full --no-half --skip-torch-cuda-test"
除了基础 Checkpoint 模型,还可以加载 LoRA 和 VAE 文件。
models/Lora 目录,用于微调风格。models/VAE 目录,用于改善色彩还原。WebUI 支持丰富的插件生态,推荐安装以下插件以提升效率:
安装方法通常在 WebUI 界面的 Extensions -> Install from URL 中输入插件地址即可。
高质量的提示词(Prompt)是生成理想图像的关键。建议包含主体描述、风格修饰、画质增强词(如 masterpiece, best quality)。负面提示词(Negative Prompt)可用于排除不想要的元素,如 low quality, blurry。
本地部署 Stable Diffusion 虽然对硬件有一定要求,但提供了最大的灵活性和隐私保护。通过合理配置环境参数、选择合适的模型以及利用扩展插件,用户可以显著提升生成效果。遇到报错时,优先检查 Python 和 PyTorch 版本兼容性,并根据硬件资源调整精度设置。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online