快轉到主要內容

ComfyUI安裝教學 ~ 標準化Stable Diffusion AI生圖流程

分類   開源AI人工智慧應用 Stable Diffusion教學
標籤   ComfyUI
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

ComfyUI是一款的Stable Diffusion的網頁界面,用於精準控制AI繪圖的生圖流程。

我認為ComfyUI是訓練邏輯的好東西,看看這精美的流程圖。

ComfyUI的功能類似 Automatic1111的SD WebUI,同樣可以文生圖、載入Lora、圖生圖、內補繪製、放大圖片、訓練模型,以及安裝ControlNet擴充功能,生圖模型可以通用。

本文Ivon將介紹ComfyUI的優點,以及安裝方法,最後面再示範網頁界面的基礎操作方式。

1. ComfyUI的優點
#

ComfyUI有何優點?第一個我想就是讓你更清楚AI生圖的原理了吧。

開發者說他是為了解Stable Diffusion的運作原理才開發這個軟體的,主打一個「邏輯」。

如下圖,這是Stable Diffusion技術背後的生圖過程…好吧沒有影片解釋,非本科生應該很難看懂。

ComfyUI概念很像上圖,讓你能更清楚掌握AI生圖的過程。當然ComfyUI沒有那麼複雜,大部分功能都圖形化了。

生圖中間會經過哪些步驟,ComfyUI都會以圖形化的動態方式呈現,讓你一目了然。


ComfyUI的第二個優點:將工作流程(workflow)標準化。ComfyUI以node-based為設計理念,每個生圖步驟都是一個節點(node),使用者能夠觀察和控制AI生圖的過程。

如果你想將Stable Diffusion AI生圖程序標準化,那就可以採用ComfyUI。

用過Blender的話應該會對「節點」(node)的操作有點概念,只要你清楚知道自己在做什麼,你就可以輕鬆的用拉線的方式,規劃AI生圖流程。

比方說你想要:文生圖,再進行外補繪製,再用Real-ESRGAN放大。在SD WebUI你得手動點二次切換界面,而ComfyUI只要線一拉好,整個流程在按開始後就會自動完成。

你甚至可以把ComfyUI的工作流程儲存起來,供他人使用。這樣別人只要開啟你的流程圖,就可以順利跑完生圖。

然而,ComfyUI相對SD WebUI來說沒那麼好上手。建議初學者先用 SD WebUI,摸熟基本AI生圖觀念後,再用ComfyUI會比較順。

2. 安裝ComfyUI
#

你需要4GB以上VRAM的顯示卡、8GB以上RAM、20GB的硬碟空間。

Windows
#

  1. 參考 Github說明,Nvidia顯示卡的用戶,下載 Github ReleasesComfyUI_windows_portable_nvidia_cu118_or_cpu.7z檔案,解壓縮

  2. 將ckpt模型放到程式資料夾下的ComfyUI\models\checkpoints。或者你可以設定與SD WebUI 共用模型資料夾(後述)

  3. run_nvidia_gpu.bat批次檔,等它裝完依賴套件。

  4. 維持終端機開啟,再用瀏覽器開啟http://localhost:8188,進入網頁界面

Linux
#

參考 Github說明手動設定環境。

如果你想把服務容器化,你可以改用 AbdBarho維護的docker-compose部署。

  1. 我是Nvidia顯示卡,所以要先 安裝CUDA,再安裝 Anaconda

  2. 複製ComfyUI儲存庫

git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
  1. 將ckpt模型放到models/checkpoints

  2. 安裝依賴套件

conda create --name comfyui python=3.10.6

conda activate comfyui

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121

pip install -r requirements.txt
  1. 啟動程式,用瀏覽器開啟http://localhost:8188
python main.py

3. 讓ComfyUI與SD WebUI共用模型資料夾
#

  1. 你可以讓ComfyUI與SD WebUI共用模型資料夾,避免浪費硬碟空間。

  2. 將ComfyUI資料夾下的extra_model_paths.yaml.example檔案重新命名為extra_model_paths.yaml,編輯該檔案

  3. 填入以下內容,與SD WebUI共用模型資料夾:

# 在這裡填入SD WebUI的模型路徑(path)

a111:
    # SD WebUI主程式路徑
    base_path: "/home/user/stable-diffusion-webui"
    # SD WebUI的ckpt模型路徑
    checkpoints: models/Stable-diffusion
    configs: models/Stable-diffusion
    vae: models/VAE
    loras: |
         models/Lora
         models/LyCORIS         
    upscale_models: |
                  models/ESRGAN
                  models/RealESRGAN
                  models/SwinIR                  
    embeddings: embeddings
    hypernetworks: models/hypernetworks
    controlnet: models/ControlNet
  1. 接著,如果你的硬體比較差,那麼可以設定啟動引數減少VRAM佔用。Windows的話編輯run_nvidia_gpu.bat,加入--medvram
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --medvram
pause
  1. Linux直接在啟動Python的時候加上引數,或者自行寫個script。

4. ComfyUI基本操作方式
#

快捷鍵:網頁點選右鍵新增節點。拖動線條調整節點的連接方式。滑鼠滾輪縮放畫面。

  1. 以最簡單的圖生圖來說,我們的圖要這樣拉。

  2. 從左到右,每個節點都代表一個「步驟」

  3. 最左邊第一個Load Checkpoint,就是選取要使用的ckpt模型

  4. 再看連結著CLIP節點的CLIP Text Encode,即是提示詞(prompts)的欄位,在這二個框框填入正向與負向提示詞

  5. 下方的Empty Latent Image控制最終生圖的長寬

  6. 再往右邊,KSampler就是你要使用的取樣器了,步數(step)我們使用20,採樣器(sampler)使用比較快速的UniPC

  7. 最右邊的就是套用VAE,最終產出圖片

  8. 要開始跑生圖流程,點選網頁右邊的Queue Prompt

  9. 它就會開始跑了…目前跑到哪一步,那個框框就會亮起來。如果生圖卡住,請瞄一下終端機輸出的訊息。

  10. 跑完後最右邊的框框就會出現圖片,右鍵存檔

  11. 欲儲存目前的工作流程,點選網頁右邊的Save,儲存成json。日後可以用Load還原。

延伸閱讀
#

有問題請到 ComfyUI的Github儲存庫回報

ComfyUI開發者準備了一些範例給人參考,內含圖生圖、Lora的配置方式: ComfyUI_examples

社群編輯的ComfyUI參考手冊: ComfyUI Community Manual

Stable Diffusion AI Art的新手操作手冊: Beginner’s Guide to ComfyUI

相關文章

系統需求|Stable Diffusion WebUI使用手冊
分類   開源AI人工智慧應用 Stable Diffusion教學
auto-sd-paint-ext,Stable Diffusion WebUI整合繪圖軟體Krita
分類   開源AI人工智慧應用 Stable Diffusion教學
標籤   Stable Diffusion WebUI Krita
Stable-Gimpfusion,Stable Diffusion WebUI搭配修圖軟體GIMP使用
分類   開源AI人工智慧應用 Stable Diffusion教學
標籤   Stable Diffusion WebUI GIMP

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。