更新於 2024/06/28閱讀時間約 8 分鐘

ComfyUI中階①Lora、Embeddings

今天我們來講講關於Comfy的中階使用,包含怎麼套用lora、調用embeddings、使用contorlnet干涉生成等附加控制手段。


甚麼是ComfyUI?

Comfyui是一個比知名的SDwebui A1111還要更輕量的使用介面,它也是目前可以說對新技術、新插件支援性最好的一個介面,所以如果你非常喜歡使用AI進行圖像生成,我會強烈推薦你試試看。

還沒安裝過comfy的朋友可以參考一下上次做的安裝教學跟基本操作,都搞定了再過來學點新東西吧。

每個功能用法我都會分開錄製實操,詳情可以參考影片,這樣錄畫面看起來會比較簡單明瞭,但實用上你當然可以根據你的需求,把這些功能都串在一起。


這是ComfyUI教學的第二階段,這個階段一共會分成三部影片、三篇文字版,我會盡量把章節分段都標示清楚。


那麼我們開始吧。💪




套用LoRA

第一個我們來介紹套用LoRA的方塊,老樣子我們把這個搜尋框叫出來,就是空白處點兩下哈。


順便說一下,你點開搜尋框的時候滑鼠不要亂動,游標超過這個範圍的話搜尋框會自己消失。或者是,你也可以空白處點右鍵,選擇add Node,然後按照分類來尋找你要新增的方塊。

搜尋框也是可以選分類的,就看你覺得哪種方式好用用哪個就行。


叫出LoRA方塊

這邊直接輸入lora,我一般就用第一個,它叫做LoraLoader。


打開可以看到方塊左右兩邊都分別有model跟clip的小點,聰明的你應該已經猜到它要放在哪個位置了吧?

上次講到過整個降噪的處理在sampler裡面,checkpoint(也就是大模型)作為資料庫將會輸入到Ksampler,那麼身為小模型的lora要能夠改變大模型原有的圖文資料,它的位置就必須要擺在大模型進入sampler之前。

你可以先把checkpoint loader原本連好的model跟clip線都拔掉,也可以先不拔,後面它會自動被新拉的線彈掉。


連線

首先,先把模型接到lora,然後經過了lora,把這條線再接進sampler。

接著把clip接到lora,然後跟單接模型的時候一樣,右邊的clip線要分別拉到positive prompt(正向提示)跟negative prompt(反向提示)的方塊。

這樣就搞定了,接入多個lora的方式是一樣的,一個接著一個串起來就行。


應用注意

跟平常我們使用lora時的注意事項也一樣,如果你要同時調用多個lora,就一定要注意到overfitting的問題,也就是權重的調節。

在comfy你除了可以調整lora model的權重,還可以調整lora clip的權重,兩種會有不同的影響效果。

這個需要靠你自己,根據你手上的lora,和你想要的生成結果來逐步嘗試,我沒有辦法直接告訴你怎麼樣調整最好。

唯一能說的只有,lora的正權重目的在於加強lora影響大模型的程度,也可以說是覆蓋、替換大模型訓練內容的程度;而lora的負權重則作用在剪除大模型中跟lora訓練內容有重疊的部分。

比方說像是anime lineart這個lora,如果你把權重調整為-1,它會變成是剪除掉線搞的功能。


顯示預覽圖

目前comfy本身無法直接像sdwebui(a1111)那樣顯示出lora啊、embeddings啊這些東西的預覽圖,對於下載了非常多lora的朋友可能會用起來比較困擾,如果你真的有需要,可以去安裝一個強大的custom node,在安裝這邊搜尋scripts,你就可以找到一個叫做comfyui-custom-scripts的項目,它包含了非常非常多的介面細節改良,使用方法可以參考它的github頁面,作者提供了非常詳盡的說明。你也可以直接從manager的custom nodes列表上,點一下這個功能的名稱,每個custom node的名稱都會直接跳轉它們的github頁面。

不要使用安裝完後彈出的RESTART按鈕來重開comfy,建議從執行窗口那邊手動關閉(直接關閉或ctrl+c)後完整重開。


如果你跟我一樣沒有太多的模型,也可以簡單點搞,把模型名稱改成自己看得懂的好記的就行了,直接去改這些文件名是不會影響到使用的。




套用Embeddings

下一個要看的就是剛剛提了一嘴的embeddings,比較知名的像是easy negativebad hands都蠻推薦各位下載的,如果你還沒有下載這些,可以去載一下,好用,也可以直接在civitai搜尋到更多的embeddings。


comfy預設的embeddings使用方法比較陽春,就是全程.手key,格式是這樣的:

(embeddings:filename:strength)
e.g. (embeddings:easynegative:1)

想插幾個就寫幾串。

如果你背不下來embeddings的檔案名稱,可以直接打開檔案位置用複製的,或者是,安裝一個可以點選embeddings的custom node。


叫出Embeddings方塊

在安裝這裡輸入embeddings,找到這個Embedding Picker點安裝,再次提醒,不要使用安裝完後彈出的restart按鈕來重開comfy,建議從執行窗口那邊整個關掉重開一次。

重開完成後,在你的negative prompt方塊上按一下右鍵,選擇第一個prepend embedding picker,它就會自動幫你連結好了,啊你的反向提示輸入框會被它自動改到這個picker的下面。


點一下原本prompt的方塊左上角,方塊標題旁邊的這個灰色小點,可以把它收起來,這樣你的畫面上就不會那麼多框框。


多個連線

如果要使用到多個embeddings,可以從搜尋框再叫一個embedding picker,或是按著alt然後拖一下畫面上已有的這個方塊,就可以複製一個出來。

接著,為了要能夠把它們串起來,你需要在這個新增的embeddings方塊上按右鍵,選擇convert text to input,然後把它串在第一個embeddigns跟你原本那個text encode中間。

需要幾個就串幾個。反prompt統一在第一個下面的框輸入就可以了。


插入位置

方塊裡面的第三個選項append是決定你的embeddings會被安插在反prompt的最前面還是最後面,預設的false是放在最前面,點一下變成true的話就會是在最後面,這個就,不能說都沒有差,但我覺得差別不大,愛放哪放哪唄。🤣




實用小技巧

最後是comfy的小技巧分享時間。小技巧屬於學或不學都沒關係的部分,但是知道了可以讓使用體驗更舒服一點。w


當你的workflow體積開始逐漸擴大,多少會有種畫面很凌亂的感覺。這時候你可以透過群組 Group來把每個階段性或功能性的區塊框起來,讓自己更能一目了然,也讓畫面更好整理。


建立群組

按住ctrl加滑鼠左鍵拖曳,就可以直接把你想要選中的方塊一次框起來,當然也可以按住shift一個一個點。

接著在空白處右鍵,選擇add group for selected nodes,它就會自動根據你選中的這些方塊去建立一個群組框,所有接觸到這個底框的方塊都會被視為同一群組,拖著那個群組的標題就能一次拖動群組中的方塊了。

另外一個方法是先在空白處右鍵,選擇add group,叫個框出來,然後把你想要放在一起的方塊一個個拖進去。


群組可以更改顏色、更改標題,方便你分類清楚。

這在建立大型workflow的時候會相當地有幫助,如果你開始下載一些大神們分享的workflow時,應該也會發現,大部分的神人都會把自己的workflow排得井井有條,把基本設置啊、controlnet、upscale等等的工作區塊都分開來,也讓下載這些workflow的我們可以一眼就看出哪個部分是哪些作用。


鎖定/解除鎖定

另一個小技巧是當你在方塊上右鍵時,可以找到的一個選項📌Pin,它會把方塊變為鎖定狀態,你就不會點到它的時候不小心去拖動到它的位置,解除的方法也是再點一下pin而已,很簡單好用。

這個不會影響群組的整體拖動,用起來還是很舒服的。


對齊

啊順便再說一個,comfy它其實是有對齊功能的,當你選取了兩個以上的方塊時,右鍵可以看到一個選項叫align selected to,這個就是對齊,除了不能置中,對齊上下左右都可以。



●書接下回

希望這篇教學對你有幫助,下一篇我們會講controlnet,感興趣的朋友可以追蹤一下這個專題和Youtube頻道,更新就可以收到通知喔。

有任何問題或我有缺漏的地方歡迎在文章或影片下方留言,也可以跟我分享你的comfy使用心得!


最後祝大家新年快樂!2024年來啦!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.