新闻中心

联系我们

了解更多详细信息,请致电

020-38815864

地址:广州市天河区燕岭路120号823
电话:020-38815864
邮箱:cs@cs003.vip

服务器部署 Stable Diffusion:5 个常见报错(含显存不足)解决指南


发布时间:2025-08-28


在服务器上部署 Stable Diffusion 时,因硬件配置、环境依赖、参数设置等差异,常出现各类报错。本文整理 5 个高频问题,从现象分析到实操解决,帮你快速排查故障,顺利启动模型。
一、显存不足(最常见):RuntimeError: CUDA out of memory
1. 报错现象
启动模型生成图片时,终端提示 “CUDA out of memory. Tried to allocate XX MiB (GPU XX; XX GiB total capacity; XX GiB already allocated; XX MiB free; XX GiB reserved in total by PyTorch)”,生成任务直接中断。
2. 核心原因
  • 模型本身占用显存高(如 SD 1.5 基础模型加载后约占 2-4GiB,大模型 / LoRA 叠加后更高);
  • 生成参数设置不合理(如分辨率过高、批次数量过大);
  • 服务器显存分配机制未优化,残留进程占用显存。
3. 解决步骤
(1)优先优化参数(无需硬件升级)
  • 降低生成分辨率:将默认的 512×512/768×768 降至 384×384,或启用 “分块生成”(如 WebUI 中设置--xformers参数,支持低显存下高分辨率生成);
  • 减少批次数量:在配置文件或 WebUI 中,将 “Batch Size” 设为 1,“Batch Count” 根据显存调整(2-4 为宜);
  • 启用显存优化参数:启动命令中添加以下参数(二选一,根据服务器显卡适配):
# 1. 轻量级优化(适6-8GiB显存)
python launch.py --medvram --opt-split-attention
# 2. 深度优化(适4-6GiB显存,可能牺牲少量速度)
python launch.py --lowvram --opt-split-attention-v1
(2)清理残留显存占用
  • 查看显存占用进程:
nvidia-smi # 找到占用显存Python/PyTorch进程,记PID
  • 强制终止残留进程:
kill -9 [PID] # 替换[PID]为实际进程号,kill -9 12345
(3)硬件 / 驱动辅助优化
  • 若服务器支持多卡,启用多卡分布式推理(需修改配置文件,示例:--device-id 0,1指定使用 0、1 号显卡);
  • 升级 NVIDIA 驱动至 515 + 版本(适配 PyTorch 2.0+,减少显存浪费):
sudo apt-get install nvidia-driver-535 # Ubuntu系统示例,根据显卡型号选择驱动版本
二、驱动版本不兼容:CUDA error: no kernel image is available for execution on the device
1. 报错现象
加载模型时提示 “CUDA error: no kernel image is available for execution on the device”,或启动后直接提示 “PyTorch not compiled with CUDA enabled”。
2. 核心原因
  • NVIDIA 驱动版本与 Stable Diffusion 依赖的 PyTorch/CUDA 版本不匹配(如驱动支持 CUDA 11.6,但 PyTorch 安装的是 CUDA 12.1 版本);
  • 服务器未安装显卡驱动,或驱动安装后未重启生效。
3. 解决步骤
(1)确认版本匹配关系
先查看服务器显卡支持的最高 CUDA 版本:
nvidia-smi # 右上角显示“CUDA Version: XX.X”,12.2
再对照 PyTorch 与 CUDA 的适配表(推荐组合):
驱动支持 CUDA 版本
推荐 PyTorch 版本
安装命令
11.6-12.2
2.0.1
pip3 install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
≤11.5
1.13.1
pip3 install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 --index-url https://download.pytorch.org/whl/cu116
(2)重装驱动(若版本不匹配)
  • 卸载旧驱动:
sudo apt-get purge nvidia-*
  • 安装对应版本驱动:
sudo ubuntu-drivers autoinstall # 自动安装适配显卡的推荐驱动
sudo reboot # 重启服务器生效
三、Python 环境冲突:ModuleNotFoundError: No module named 'xxx'
1. 报错现象
启动时提示缺失模块,如 “ModuleNotFoundError: No module named 'diffusers'”“No module named 'transformers'”,即使已执pip install仍报错。
2. 核心原因
  • 服务器存在多个 Python 版本(如 Python 3.8/3.10),pip安装的依赖包被写入非当前使用的 Python 环境;
  • 虚拟环境未激活,依赖包安装到全局环境导致冲突。
3. 解决步骤
(1)统一 Python 版本并创建虚拟环境
  • 安装指定 Python 版本(推荐 3.10,兼容性最佳):
sudo apt-get install python3.10 python3.10-venv python3.10-pip
  • 创建并激活虚拟环境:
# 1. Stable Diffusion根目录创建环境
python3.10 -m venv venv
# 2. 激活环境(Ubuntu
source venv/bin/activate
# 激活环境(Windows Server
venv\Scripts\activate
(2)在虚拟环境中重新安装依赖
  • 用官requirements.txt安装(避免版本遗漏):
# 进Stable Diffusion根目录
cd /path/to/stable-diffusion-webui
# 安装依赖(添加--no-cache-dir避免缓存冲突)
pip install --no-cache-dir -r requirements.txt
  • 若仍缺失个别模块,手动安装指定版本:
pip install diffusers==0.21.4 transformers==4.30.2 # 示例版本,根据报错提示调整
四、依赖包版本不兼容:AttributeError: module 'xxx' has no attribute 'yyy'
1. 报错现象
加载模型或生成图片时,提示属性不存在,如 “AttributeError: module 'torch.nn' has no attribute 'SiLU'”“AttributeError: 'UNet2DConditionModel' object has no attribute 'enable_xformers_memory_efficient_attention'”。
2. 核心原因
  • 关键依赖包版本过高或过低(diffusers版本与模型要求不匹配,xformers版本与 PyTorch 冲突);
  • 手动升级包时破坏了原有依赖关系(pip install --upgrade torch导致其他包不兼容)。
3. 解决步骤
(1)回退到稳定版本
  • 查看 Stable Diffusion 官方推荐的依赖版本(以 WebUI 为例,根目requirements.txt标注了推荐版本);
  • 强制安装指定版本:
# 回退diffuserstransformers(示例)
pip install diffusers==0.21.4 transformers==4.30.2
# xformers冲突,卸载后重装适配版本
pip uninstall xformers
pip install xformers==0.0.20 # 适PyTorch 2.0.1
(2)修复依赖关系
  • 使pip-check检查冲突包:
pip install pip-check
pip-check # 查看哪些包存在版本冲突
  • 根据提示卸载冲突包并重新安装:
pip uninstall [冲突包名]
pip install [冲突包名]==[推荐版本]
五、模型文件损坏 / 路径错误:OSError: Unable to open file
1. 报错现象
加载模型时提示 “OSError: Unable to open file (unable to open database file)” 或 “ValueError: Could not load model [模型路径]”,且路径看似正确。
2. 核心原因
  • 模型文件下载不完整(如 ckpt/safetensors 文件大小远小于官方标注,或下载时断连导致损坏);
  • 模型路径包含中文 / 特殊字符(如 “模型库 / SD1.5.ckpt”),服务器环境无法识别;
  • 模型格式不兼容(如将 LoRA 模型放入主模型目录,或模型版本与 Stable Diffusion 版本不匹配)。
3. 解决步骤
(1)验证模型完整性
  • 查看官方模型大小(如 SD 1.5 官方 ckpt 约 4.27GiB),对比本地文件:
ls -lh /path/to/models/Stable-diffusion/[模型文件].ckpt # 查看文件大小
  • 若大小不符,重新下载(推荐从 Hugging Face 官方库或国内镜像站下载,避免断点续传)。
(2)修正模型路径与格式
  • 将模型放入正确目录(以 WebUI 为例):
  • 主模型(ckpt/safetensors)→ models/Stable-diffusion/
  • LoRA 模型 → models/Lora/
  • VAE 模型 → models/VAE/
  • 确保路径无中文 / 特殊字符,示例:
# 错误路径:/home/user/模型/SD1.5.ckpt
# 正确路径:/home/user/models/SD1.5.ckpt
(3)适配模型版本
  • 若使用较新模型(如 SDXL),需确保 Stable Diffusion 已升级到支持版本(如 WebUI 需更新至 1.5+):
# 进WebUI根目录,拉取最新代码
git pull
# 重新启动并加载模型
python launch.py


返回上一页
  • 返回顶部
  • 020-38815864
  • 微信咨询
    关注我们