【ComfyUI學習筆記01】下載安裝 | 運行第一個工作流 | 學習思路
- 前言
- 下載安裝
- ComfyUI的下載和安裝
- ComfyUI Manager 的下載和安裝
- 運行第一個工作流
- 初識節點 (Nodes) 工作流
- 案例1 Image Generation
- 繪制流程圖,確定關鍵節點
- 放置關鍵節點,確定連接順序
- 補充中間過程,完成流程搭建
- 學習思路
- 明確應用方向
- 拋棄細節,塊狀記憶
前言
你好!這是博主學習ComfyUI時的心得筆記,從零開始。博主是工業設計專業的學生,學ComfyUI是為了批量和易控地渲染手繪圖以及生成特定人物,主要面向應用,不會在底層原理上有過多深入。每期的推薦資料會放在文章末尾。
本系列一般不涉及節點參數的解讀,推薦需要時,在Github上檢索學習。
初來乍到,請多指教!
下載安裝
本章節將介紹ComfyUI的下載和安裝以及后續重要插件 ComfyUI Manager 的下載和安裝。
ComfyUI的下載和安裝
- 國內網盤下載 ,在bilibili等平臺搜索“ComfyUI”下載,往往會有不錯的結果,非常多博主1友好地免費提供網盤下載;
- 【推薦】Github下載,直接訪問ComfyUI官方團隊的庫2,進行下載(需要翻墻 / 訪問國內鏡像網站);
- 下載“ComfyUI_windows_portable_nvidia.7z”即可
- 解壓完畢后,請首先閱讀README_VERY_IMPORTANT文件,以下是對其的中文翻譯:
如何運行:如果你有N卡GPU,運行 nvidia gpu.bat (推薦使用)如果你想使用低速的CPU,運行 cpu.bat如果你在進入頁面時遇到了一個紅色的報錯,大概是由于你沒有在ComfyUI\models\checkpoints中保存任何模型,你可以在 https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/blob/main/v1-5-pruned-emaonly-fp16.safetensors 中下載Stable Diffusion 1.5,放入checkpoints文件夾更新ComfyUI的推薦辦法:訪問update文件夾,運行update_comfyui.bat想要與Python依賴一同更新的話,訪問update文件夾,運行update_comfyui_and_python_dependencies.bat如果你在電腦上已經在WebUI中下載了不少模型,并且想通過ComfyUI調用:
訪問ComfyUI文件夾,找到extra_model_paths.yaml.example,將其重命名為extra_model_paths.yaml,使用記事本打開,將WebUI中的模型文件夾地址復制進去,保存即可
- Git下載,git clone是后續更新、下載ComfyUI及其節點包重要的途徑,推薦盡早安裝下載3,安裝過程中,只需要修改安裝地址即可(建議 D:/ 等軟件盤符Program Files文件夾),其他內容保持默認。
ComfyUI Manager 的下載和安裝
ComfyUI Manager是使用ComfyUI必要的插件,它可以快速幫助我們下載、補全某些非常便利的節點,后續我們會逐漸探索ComfyUI Manager的強大功能。
Github作者4提供了4種ComfyUI Manager的安裝方案,這里重點推薦2種:
- 【推薦】Git Clone安裝,訪問ComfyUI/custom_nodes文件夾,在地址欄鍵入“cmd”打開命令提示欄,輸入以下內容后回車:
git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager
- .bat 安裝,在下載好git后,把install-manager-for-portable-version.bat保存到 ComfyUI_windows_portable 文件夾中,雙擊安裝
- 請右鍵該鏈接,“鏈接另存為”
啟動ComfyUI,在瀏覽器界面角落出現以下圖標,即說明安裝成功
運行第一個工作流
這里,我們將著手搭建我們的第一個ComfyUI工作流,它是一個基礎的文本轉圖像 (Text2Img) 工作流,如下圖所示,通過它,我們可以對ComfyUI基本的運行過程有所了解
初識節點 (Nodes) 工作流
從底層講,節點工作流中,每個節點都是一段封裝好的代碼,搭建節點工作流的過程,就是不斷調用代碼的編程過程。它具備過程透明,高自由度的優點,但同時因其存在大量節點,且逐級運行,也存在強調邏輯,學習,記憶成本高的“缺點”。
在搭建節點工作流的過程中,知道我有什么(文本/待處理圖片)和我要什么(生成圖片/放大圖片/局部重繪)很重要,它是我們的重要切入口,可以幫助我們梳理過程環節,這同樣是編程思維的再次體現。
既然是一種編程任務,那么對初學者來說,流程圖無疑是非常重要的工具
案例1 Image Generation
案例文件"Image Generation"由官方 Browse Templates 提供。
在流程圖中,已經梳理好了生成一張圖片需要的關鍵過程,接下來,我們將進一步了解具體的實現步驟
繪制流程圖,確定關鍵節點
(繪制過程略)我們只有得知圖片大小和內容后,才能生成我們的圖片,而內容是根據文本(圖片)描述和圖片風格確定的,因此,我們需要:
- 圖片大小控制節點: Empty Latent Image
- 文本(圖片)描述節點(本案例輸入內容為文本):CLIP Text Encode(Prompt)
- 圖片風格節點(即.checkpoint大模型節點)導入:Load Checkpoint
- 圖片輸出節點(保存圖片):Save Image
放置關鍵節點,確定連接順序
在本章節開頭已經展示了完整的連接順序,它并非一氣呵成,逐級推進,而是以先放關鍵節點,再補充中間過程的思路確定的:
- 找到并放置關鍵節點
除了通過快速檢索欄調用,ComfyUI同樣支持右鍵呼出菜單欄調用,通過菜單欄中的命名,可以猜到節點屬于哪里,這對不知道節點叫什么,但知道它要起什么功能時很有幫助
補充中間過程,完成流程搭建
實現數據的處理和流通,是本環節的關鍵。在ComfyUI中,兩個節點塊有相同顏色的小圓點,表示可以直接流通該數據,如上圖中Load Checkpoint右邊的黃色CLIP和CLIP Text Encode(Prompt)左邊的黃色clip。那如果沒有顏色對應的小圓點呢?那就說明需要一些中間過程來對數據進行處理(Encode 編碼/Decode 解碼),在本案例中,有以下中間節點:
- 采樣處理節點:KSampler,它類似于WebUI中的參數設置面板,包括生成圖片過程中的隨機種子、步數、采樣器等參數都由此節點控制
- 潛變量圖像解碼節點:VAE Decode,KSampler采樣完成后,生成的是Latent Image相當于“底片”,但我們需要的是一張可視圖片,因此需要通過變自分解碼器 VAE Decode 對其進行“顯影”轉換
節點添加完畢后,將所有對應顏色的小圓點相連,即可完成我們案例1的工作流搭建。
學習思路
明確應用方向
ComfyUI作為一個復雜平臺,可以實現非常多功能,滿足不同生產需要。但復雜意味著決策,在打開、學習ComfyUI之前,先問問自己,想用它來干什么,然后直接去查看相關的應用即可,小白千萬不要在一開始陷入對原理、技術的探求,就跟學英語時,不要一來就拿著牛津詞典干啃一樣。
以博主自身為例,博主是工業設計專業的學生,需要大量用到草圖上色,快速渲染這樣的圖生圖功能,偶爾用到人物姿態生成、幀圖片等其他功能,不會把精力花費在實現以上功能外的地方。
拋棄細節,塊狀記憶
承接上文,抓住“應用方向”這個關鍵,就可以快速查找到想實現目標需要的關鍵環節。ComfyUI的節點成百上千,挨個記憶是不現實的,低收益的,但不難發現,ComfyUI的搭建實際上就是將不同環節的數據處理,傳遞,再處理,如果我們將這些過程切塊,記住每一塊需要什么,產出什么,將極大地降低我們的記憶成本。至于每一塊的實現細節(具體節點),那就去扒網上的案例庫好了。
目錄、索引式記憶比起內容、字典式記憶來得有效率得多。這不是學生時期的考試,利用工具,節約時間是首要的
bilibili Nenly同學 ??
ComfyUI Github網址 ??
Git下載地址 ??
ComfyUI Manager Github網址 ??