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 的開發環境!
「HAPPYミクの日」心得與解說Toggl 資料清理馬拉松:一場 API 配額限制的逆襲
Loading...