如何在Linux上更新Stable Diffusion

AI技术
小华
2025-12-02

Linux上更新 Stable Diffusion 的实用步骤
一 更新前的准备与风险控制

  • 备份关键目录:优先备份你的模型与配置,建议打包保存
  • 模型目录:models/Stable-diffusion/
  • 配置与用户数据:configs/embeddings/extensions/outputs/scripts/
  • 示例:tar czf sd-backup-$(date +%F).tgz models/Stable-diffusion configs embeddings extensions outputs scripts
  • 确认环境与权限:建议使用Python 3.9+、独立的venvconda环境;更新前确保磁盘空间充足、无正在运行的 WebUI 进程(必要时 pkill -f python)。
  • 升级策略选择:优先使用git pull拉取上游更新;如需回退或对比版本,可使用git checkout (如 v1.6.0)。

二 使用 AUTOMATIC1111 WebUI 的标准更新流程

  • 进入项目目录并拉取更新:
  • cd /path/to/stable-diffusion-webui
  • git pull
  • 如有本地修改导致冲突,先处理冲突或暂存:git stashgit pullgit stash pop;必要时回退到指定版本:git checkout v1.6.0(或所需 tag/分支)。
  • 升级 Python 依赖(强烈建议在虚拟环境中进行):
  • 升级 pip:python -m pip install --upgrade pip
  • 重新安装依赖:pip install -r requirements.txt
  • 重启 WebUI(示例命令,按你的习惯调整参数):
  • 前台:python launch.py --xformers
  • 后台:nohup python -u launch.py --listen --port 9301 --xformers --no-half-vae --enable-insecure-extension-access --theme dark --gradio-queue > nohup.out 2>&1 &
  • 访问测试:打开浏览器访问 http://127.0.0.1:7860(或你设置的端口),确认版本号与功能正常。

三 升级到 Stable Diffusion XL(SDXL)

  • 代码更新完成后,启动脚本会自动拉取/准备 SDXL 相关组件;首次使用可能看到日志中出现 “Cloning stable diffusion XL into ...” 的提示。
  • 在 WebUI 的 Settings 中应能看到 Stable Diffusion XL 相关选项;模型选择处切换到带 XL 标识的大模型(通常体积 6GB+)。
  • 注意兼容性:
  • 1.5/2.0 训练的 LoRA/Embedding 通常不能直接用于 XL,需使用带 XL 字样的权重。
  • 若出图噪点多,可尝试切换/关闭 VAE 设置再测试。

四 常见问题与回退方案

  • 依赖冲突或安装失败:
  • 先备份当前依赖:pip freeze > requirements_backup.txt
  • 在虚拟环境中重装:pip install -r requirements.txt
  • 若仍异常,可对照备份逐项排查或回退版本后再试。
  • 本地修改导致 git pull 冲突:
  • 使用 git stash 暂存 → git pullgit stash pop;或直接 git reset --hardgit pull(会丢失本地改动,谨慎)。
  • 需要回退到旧版本:
  • 查看标签:git tag -l | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+'
  • 回退:git checkout v1.6.0(或目标版本),随后重新安装依赖并启动。
亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序