Windows平臺體驗StableSwarmUI-0.6.4-Beta經驗版

龙腾万里sky發表於2024-09-01

img

目錄
  • StableSwarmUI install 經驗版
    • StableSwarmUI 配置後端
    • StableSwarmUI 快捷安裝指令碼
  • StableSwarmUI 安裝與啟動
  • sd_xl_base_1.0 模型獲取

由於網路原因,國內獲取 ComfyUI 以及 SD_Xl_base_1.0 模型可能非常緩慢。

想要絲滑獲取,需要魔法或者高效上網。

如果沒有條件,也有方法,可以從國內開源映象站或者大模型社群獲取資源。

獲取並部署 StableSwarmUI:StableSwarmUI ,彼時最新版本為 StableSwarmUI Release 0.6.4-Beta。你需要 Python 環境,如果你訪問 Python 官網有困難,可以從 Python中文網 獲取資源。當然也可以從國內各大開源軟體映象網站獲取。如果實在有困難,文末我也會給出自己上傳的 Windows 平臺 Python 安裝包。

我的 Python 環境,僅供參考:

PS D:\work> python -V
Python 3.10.6

關於 zip 壓縮檔案,如果你沒有安裝圖形解壓工具 7-Zip ,也沒有安裝 360zip 國際版,可以嘗試藉助 Windows11 自帶的 expand-archive 命令解壓工具。

Windows 平臺開啟 powershell 使用 expand-archive 命令解壓 StableSwarmUI-0.6.4-Beta

Expand-Archive .\StableSwarmUI-0.6.4-Beta.zip -DestinationPath E:\AI\

進入 StableSwarmUI 根目錄:

cd E:\AI\StableSwarmUI-0.6.4-Beta\

讓我們一起愉快的開啟 StableSwarmUI 體驗之旅吧,在這之前,再次友情提醒安裝好 Python 環境喲。

StableSwarmUI install 經驗版

引導安裝預設選擇 comfyUI (local)立刻安裝到本地 。

對於有經驗的使用者,此處可以選擇跳過安裝 ComfyUI 步驟,後期手動匯入

勾選選項:None/Custom/Choose Later

img

img

由於網路原因,國內獲取 ComfyUI 以及 SD_Xl_base_1.0 模型可能非常緩慢。

想要絲滑獲取,需要魔法或者高效上網。

如果沒有條件,也有方法,可以從國內開源映象站或者大模型社群獲取資源。

以上方法嘗試完後,做如下調整。

  1. 必備環境:PythonGitdotnet
  2. 獲取 StableSwarmUI
  3. 執行 .\launch-windows.bat 指令碼進入引導安裝(注:一共 7 步)。
  4. 跳過安裝 ComfyUI 步驟,可以後期手動匯入。
  5. 跳過安裝模型步驟,可以後期手動匯入。
  6. 配置後端 ComfyUI(劃重點),cd .\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackendmkdir comfycd comfy,引入 ComfyUI
  7. 匯入模型劃重點)。
  8. 下載並匯入模型,手動放入 .\StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 路徑下。
  9. 測試訪問是否正常,http://localhost:7801http://localhost:7821

正常配置完成,匯入 SDXL 模型。影像配置為 1,種子配置為 1。

設定題詞“a photo of a cat”,點選生成。

img

訪問 http://localhost:7821,實際上是訪問導航欄功能舒適工作流程,如下圖:

img

值得注意的是,新版本 comfyUI 設定介面有大變化,比較友好:

img

StableSwarmUI 配置後端

img

著重介紹配置後端 ComfyUI。

可以使用解壓縮工具,也可以使用命令形式解壓 ComfyUI_windows_portable_nvidia.7z。值得注意的是,Windows11 原生不支援直接使用命令解壓縮 7z 檔案,需要額外下載 7-Zip 並配置環境變數以及別名,如何配置,這裡不做贅述。有些命令我使用了別名,可以參考 Windows 中的相容性別名 使用別名 - PowerShell 說明,比如 cpcopyCopy-Item

第一步,獲取 ComfyUI,截至 2024-8-26 最新版為 ComfyUI-0.1.3,引入ComfyUI

cd .\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend
mkdir comfy
cd comfy
cp -Path ".\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\*"  -Destination ".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend\comfy" -Recurse

可以使用 7-Zip 解壓 ComfyUI_windows_portable_nvidia.7z。

切換到 cd .\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable 目錄,複製當前目錄所有檔案 Ctrl + aCtrl + c ,貼上 Ctrl + v.\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend\comfy 目錄下。

第二步,定位到頁面頂部導航欄伺服器模組,點選後端

img

新增配置後端 running backend: (0): ComfyUI Self-Starting

參考提示資訊,填寫啟動指令碼:

dlbackend/comfy/ComfyUI/main.py

填寫額外引數(可以不加,非必傳),示例加入引數,會額外在獨立視窗訪問 ComfyUI:

--windows-standalone-build

配置完成,狀態處於 enable backed,點選 save(儲存),Restart(重啟當前後端服務)。

再次啟動 .\launch-windows.bat,第一次安裝(install)ComfyUI 需要一些時間載入,這是正常現象。

匯入模型檔案。

如果本地沒有模型資料,需要獲取別人培養的模型資料或者基本模型,複製到 StableSwarmUI 指定的 \StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目錄。

Windows powershell 命令形式複製模型到指定目錄:

cp -Path ".\sd_xl_base_1.0.safetensors"  -Destination 
".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\Models\Stable-Diffusion\OfficialStableDiffusion" -Recurse

匯入模型成功,在首頁底部導航欄選擇“模型”,可以查詢到 SDXL。

img

StableSwarmUI 快捷安裝指令碼

友情提醒:Windows 平臺還可以使用快捷安裝指令碼。實際上是將多個必備工具安裝步驟融合到一個指令碼里面。

.\install-windows.bat

指令碼 .\install-windows.bat 會執行哪些步驟?值得注意的有三個步驟,獲取 DotNet.SDK.8Git 以及 StableSwarmUI

獲取並安裝最新的 DotNet.SDK.8:

winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements

如果本地已經安裝過 DotNet.SDK.8 工具,你可以嘗試跳過(遮蔽掉)指令碼中的 DotNet.SDK.8 安裝步驟。

獲取並安裝 Git:

winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements

如果有一定的開發經驗,本地已經安裝過 Git 工具,你可以嘗試跳過(遮蔽掉)指令碼中的 Git 安裝步驟。

獲取 StableSwarmUI:

git clone https://github.com/Stability-AI/StableSwarmUI

指令碼 .\install-windows.bat 原始內容:

@echo off

cd /d "%~dp0"

if exist StableSwarmUI (
    echo StableSwarmUI is already installed in this folder. If this is incorrect, delete the 'StableSwarmUI' folder and try again.
    pause
    exit
)

if exist StableSwarmUI.sln (
    echo StableSwarmUI is already installed in this folder. If this is incorrect, delete 'StableSwarmUI.sln' and try again.
    pause
    exit
)

winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements

git clone https://github.com/Stability-AI/StableSwarmUI
cd StableSwarmUI

call .\make-shortcut.bat
call .\launch-windows.bat --launch_mode webinstall

IF %ERRORLEVEL% NEQ 0 ( pause )

StableSwarmUI 安裝與啟動

啟動 StableSwarmUI 之前我想介紹一下,個人硬體環境(筆電)。不算太新,不算太老,將將能玩(學習):

  • CPU:R7-7735H(實際上是 R7-6800H的馬甲U,蘇媽擠了多少次牙膏了,升級命名鬼才)。8 個純大核 u,平時也夠用了。
  • 顯示卡(GPU):NVIDIA GeForce RTX 4060 Laptop GPU, 8.00 GiB

上了獨立顯示卡,這種搭配,AMD 強勁的核顯顯得有點浪費了。

大學新生開學季,怎麼套路換電腦?新思路,老爸啊,你兒子想學 Ai,需要高配一丟丟的 N 卡作為生產力。千萬別說是我教的,問就是生產力需要。

有點跑題了,繼續 StableSwarmUI 介紹, 目前處於 Beta 版本

A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.

安裝與啟動,Windows 平臺執行 launch-windows.bat 指令碼,安裝過程可能比較緩慢,也許你需要高效上網。

Windows 平臺執行 launch-windows.bat 指令碼,呼叫 dotnet 過程。

PS E:\AI\StableSwarmUI-0.6.4-Beta> .\launch-windows.bat
error: 指定的源已新增到可用程式包源的列表中。請提供唯一的源。

Usage: dotnet nuget add source [arguments] [options]

Arguments:
  PackageSourcePath  包源的路徑。

Options:
  -n|--name                       源的名稱。
  -u|--username                   連線到已驗證源時要使用的使用者名稱。
  -p|--password                   連線到已驗證源時要使用的密碼。
  --store-password-in-clear-text  透過禁用密碼加密來啟用儲存可移植包源憑據。
  --valid-authentication-types    此源的有效身份驗證型別的列表(用逗號分隔)。如果伺服器公佈 NTLM 或 Negotiate,並且你的憑據必 須使用基本機制傳送(例如將 PAT 與本地 Azure DevOps Server 一起使用時),請將此項設定為 basic。其他有效值包括 negotiate、kerberos、ntlm 和 digest,但這些值很可能沒有用。
  --protocol-version              The NuGet server protocol version to be used. Currently supported versions are 2 and 3. See https://learn.microsoft.com/nuget/api/overview for information about the version 3 protocol. Defaults to 2 if not specified.
  --configfile                    NuGet 配置檔案。如果指定,將僅使用此檔案中的設定。如果未指定,則將使用當前目錄中的配置檔案 的層次結構。有關詳細資訊,請參閱 https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior。
  -h|--help                       Show help information

適用於 .NET MSBuild 版本 17.9.6+a4ecab324
  正在確定要還原的專案…
  已還原 E:\AI\StableSwarmUI-0.6.4-Beta\src\StableSwarmUI.csproj (用時 2.75 sec)。
  StableSwarmUI -> E:\AI\StableSwarmUI-0.6.4-Beta\src\bin\live_release\StableSwarmUI.dll

已成功生成。
    0 個警告
    0 個錯誤

已用時間 00:00:10.68

初次安裝,從官方渠道獲取模型比較緩慢,優先訪問 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors,看到報錯或者警告資訊是正常狀態。在國內無法訪問進去,可以前往第三方網站或者社群,比如魔搭社群獲取他人上傳的模型資料。如果你獲取 ComfyUI 緩慢,這是正常現象,優先訪問 https://github.com/comfyanonymous/ComfyUI,建議使用 BT 工具或者從國內大模型社群獲取。

sd_xl_base_1.0 模型獲取

魔搭社群,獲取 sd_xl_base_1.0.safetensors

如果你使用 git 獲取,預設你已經部署並配置好 Git 環境,可以直接獲取完整模型訓練倉庫 git clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-xl-base-1.0.git。當然,你也可以點選檔案 sd_xl_base_1.0.safetensors 直接下載。

如果急需體驗,個人推薦直接下載模型檔案。完整模型倉庫所佔空間較大,存在版本庫迭代,每個作者提交同步的內容有所不同。

如果本地沒有模型資料,需要獲取別人培養的模型資料,複製到 StableSwarmUI 指定的 \StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目錄。

Windows powershell 命令形式複製模型到指定目錄:

cp -Path ".\sd_xl_base_1.0.safetensors"  -Destination 
".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\Models\Stable-Diffusion\OfficialStableDiffusion" -Recurse

傳入模型資料後,進入 web UI 介面點選模型,重新整理即可看到模型。個人建議,最好還是在伺服器功能模組選擇伺服器資訊功能,點選關閉服務(Shutdown Server),然後再次執行 launch-windows.bat 啟動 web 應用程式。

本地啟動完成後,會自動跳轉到預設設定瀏覽器,訪問 http://localhost:7801

首頁展示畫面,初體驗使用了 sd_xl_base_1.0.safetensors 模型。

使用 sd_xl_base_1.0.safetensors 模型生成一張貓咪影像:

img

ComfyUI windows 便攜版,ComfyUI_0.1.2_windows_portable_nvidia:

連結: https://pan.baidu.com/s/1ayKNBDogKBQOnphyLZtaBg?pwd=9999

提取碼: 9999

Windows 平臺 Python 安裝包(Python 2.7.17、Python 3.9.4、Python 3.10.6、Python 3.11.5):

連結: https://pan.baidu.com/s/1uN8ceOnPVT3GASYMQSXUvw?pwd=8888

提取碼: 8888

最後,以上總結僅供參考喲,希望對你的學習,工作和生活有所幫助。

參考資料

  • StableSwarmUI
  • ComfyUI
  • 魔搭社群 (modelscope.cn)
  • Copy-Item - PowerShell
  • Expand-Archive - PowerShell

—END—

相關文章