type
Post
status
Published
date
May 20, 2023
slug
sd-webui-centralized-management
summary
透過單一入口批次檔中心化管理多個 Stable Diffusion WebUI 實例,節省硬碟空間並簡化模型維護。包含完整的資料夾架構、啟動參數說明與常見問題排解。
tags
sd-webui
stable diffusion
自動化
category
AI ART
author
赤嶺茜
icon
password
前言
在深入使用 Stable Diffusion 的過程中,你是否曾經遇過這樣的情況:
- 想測試新的擴充功能,卻擔心搞壞現有環境?
- 需要切換到乾淨的 WebUI 實例來訓練 LoRA?
- 同一套模型資料在不同實例中重複佔用,硬碟空間越來越緊縮?
傳統做法是修改
webui-user.bat 或是建立新的 WebUI 實例伦份模型,但這不僅瑣碎,更是硬碟空間的沉重浪費。本文介紹一套中心化管理方案:透過單一的
webui-user.bat 入口,控制多個 WebUI 實例,並將 Checkpoint、LoRA、VAE 等模型資料以及輸出檔案全部集中管理,讓你在不同使用場景之間自由切換,同時節省大量硬碟空間。資料夾結構
建議採用下方的資料夾架構來組織所有實例:
- 所有實例集中放置在一個母資料夾下(例如
AIGC)
- 重要:資料夾路徑不可包含空格或特殊符號,避免路徑解析錯誤
- 母資料夾內包含:各個 WebUI 實例、中央模型庫(
database)、以及單一入口批次檔(webui-user.bat)
各資料夾說明:
資料夾 | 用途 |
stable-diffusion-webui | 日常使用的主實例,含有完整的擴充功能與設定 |
translation-source | 乾淨實例,用於測試新擴充或調試功能 |
lora-trainer | 專門用於 LoRA 模型訓練的實例 |
database | 中央模型庫,存放所有共用的模型與設定檔 |
webui-user.bat | 單一入口,選擇啟動哪個實例 |
單一入口批次檔
以下是
webui-user.bat 的完整代碼,可以直接複製後修改為自己環境的配置:參數說明
以下針對批次檔中使用到的各項啟動參數進行說明,這些參數是實現中心化管理的核心:
模型路徑參數
參數 | 說明 |
--ckpt-dir | 指定 Checkpoint 模型(.ckpt / .safetensors)的中央資料夾路徑 |
--vae-dir | 指定 VAE 模型的中央資料夾路徑 |
--lora-dir | 指定 LoRA 模型的中央資料夾路徑 |
--embeddings-dir | 指定 Textual Inversion embeddings 的中央資料夾路徑 |
--hypernetwork-dir | 指定 Hypernetwork 模型的中央資料夾路徑 |
--esrgan-models-path | 指定 ESRGAN 放大模型的中央資料夾路徑 |
--ldsr-models-path | 指定 LDSR 放大模型的中央資料夾路徑 |
--swinir-models-path | 指定 SwinIR 放大模型的中央資料夾路徑 |
設定檔路徑參數
參數 | 說明 |
--ui-settings-file | 指定 webui 的主要設定檔(config.json)路徑 |
--ui-config-file | 指定 UI 介面設定檔(ui-config.json)路徑 |
--styles-file | 指定 Prompt 風格樣式檔(styles.csv)路徑 |
效能與功能參數
參數 | 說明 |
--opt-sdp-attention | 啟用 SDP Attention 優化,提升生成速度 |
--opt-sdp-no-mem-attention | 啟用無記憶體限制的 SDP Attention 優化 |
--listen | 允許區網內其他設備透過 IP 連線使用 webui |
--api | 啟用 API 模式,允許外部程式呼叫 webui 功能 |
--xformers | 啟用 xFormers 加速庫,降低 VRAM 使用量 |
中央模型庫資料架構
作為中央模型庫的
database 資料夾架構如下:常見問題排解
Q1: 啟動後找不到模型?
- 檢查
--ckpt-dir等路徑是否正確,注意 Windows 路徑需使用雙反斜線\
- 確認資料夾內確實有對應格式的模型檔案
- 檢查 webui 的「設定」→「使用者介面」中是否顯示了正確的模型路徑
Q2: 多個實例同時執行會衝突嗎?
- 可以同時執行多個實例,但每個實例會佔用一份 VRAM
- 建議使用
--listen搭配不同--port參數來區分不同實例的服務位址
- 例如:
--listen --port 7861、--listen --port 7862
Q3: 如何備份整個環境?
- 由於模型都集中在
database資料夾,只需備份該資料夾即可
- 各實例的設定和擴充功能獨立存放,可以個別備份
結語
透過中心化管理多個 sd-webui 實例,你可以:
- 節省硬碟空間:所有實例共用同一套模型庫,無需重複複製
- 簡化維護:更新模型只需操作單一資料夾
- 靈活切換:透過單一入口快速啟動不同用途的實例
- 統一設定:共用 config.json 和 styles.csv,保持操作習慣一致
希望這篇文章能幫助你更有效率地管理 Stable Diffusion 的開發環境!
- 作者:赤嶺茜
- 網址:https://blog.makinoworks.com/article/sd-webui-centralized-management
- 著作權聲明:本文使用 CC BY-NC-SA 4.0 著作權許可,使用請標注出處。

