FLUX LoRA 在 AI 社群中獲得了極大的關注,特別是對於那些希望使用自己的數據集微調 AI 模型的人來說。這種方法使您能夠輕鬆地將現有的 FLUX 模型適應您的獨特數據集,這使其在各種創意工作中高度可定制且高效。如果您已經熟悉 ComfyUI,使用 ComfyUI FLUX LoRA 訓練工作流程訓練您的 FLUX LoRA 模型將變得輕而易舉。這個工作流程和相關節點由 Kijai 創建,因此非常感謝他的貢獻!查看 以獲取更多信息。
ComfyUI FLUX LoRA 訓練工作流程是一個專為訓練 FLUX LoRA 模型而設計的強大過程。使用 ComfyUI 進行訓練有多種優勢,特別是對於已經熟悉其界面的用戶。通過 FLUX LoRA 訓練,您可以使用相同的模型進行推理,確保在相同的 Python 環境中工作時不會出現兼容性問題。此外,您可以構建工作流程以比較不同的設置,增強您的訓練過程。本教程將引導您完成在 ComfyUI 中設置和使用 FLUX LoRA 訓練的步驟。
我們將涵蓋:
在為 FLUX LoRA 訓練準備您的訓練數據時,確保擁有高質量的目標主題圖像是至關重要的。
在此示例中,我們正在訓練一個 FLUX LoRA 模型以生成特定網紅的圖像。為此,您需要一組該網紅在各種姿勢和設置中的高質量圖像。一種方便收集這些圖像的方法是使用 ,這使得生成一系列顯示相同角色在不同姿勢中而保持外觀一致的圖像變得容易。對於我們的訓練數據集,我們選擇了該網紅在各種姿勢和設置中的五張高質量圖像,以確保數據集足夠強大,以便 FLUX LoRA 訓練學習產生一致和準確輸出所需的複雜細節。
您也可以根據您的具體需求收集自己的數據集——FLUX LoRA 訓練靈活且適用於各種類型的數據。
FLUX LoRA 訓練工作流程由幾個關鍵節點組成,這些節點協同工作以訓練和驗證您的模型。以下是主要節點的詳細概述,分為三個部分:數據集、設置和初始化以及訓練。
數據集部分由兩個基本節點組成,這些節點幫助您配置和自定義您的訓練數據:TrainDatasetGeneralConfig 和 TrainDatasetAdd。
TrainDatasetGeneralConfig 節點是您在 FLUX LoRA 訓練中定義訓練數據集總體設置的地方。此節點讓您能夠控制數據增強和預處理的各個方面。例如,您可以選擇啟用或禁用 color augmentation,這可以幫助提高模型在不同顏色變化下的泛化能力。同樣,您可以切換 flip augmentation 以隨機水平翻轉圖像,提供更多樣化的訓練樣本。此外,您還可以選擇 shuffle the captions 與每個圖像相關聯的圖像,這樣可以引入隨機性並減少過擬合。caption dropout rate 允許您在訓練期間隨機丟棄圖像說明,這可以幫助模型對缺失或不完整的說明變得更具魯棒性。
TrainDatasetAdd 節點是您為 FLUX LoRA 訓練指定每個個別數據集的詳細信息的地方。
要充分利用此節點,正確組織您的訓練數據非常重要。使用 RunComfy 的文件瀏覽器時,將訓練數據放在 /home/user/ComfyUI/input/{file-name}
目錄中,其中 {file-name}
是您為數據集分配的有意義的名稱。
將訓練數據放在適當的目錄中後,您需要在 TrainDatasetAdd 節點的 image_dir
參數中提供該目錄的路徑。這告訴節點在哪裡可以找到您的訓練圖像。
如果您的數據集從使用特定的類別標籤或觸發詞中受益,您可以在 class_tokens
參數中輸入它們。類別標籤是附加到每個說明前面並幫助引導模型生成過程的特殊詞語或短語。例如,如果您正在訓練一個包含各種動物物種的數據集,您可以使用類別標籤如 "dog"、"cat" 或 "bird" 來指示生成圖像中所需的動物。當您稍後在提示中使用這些類別標籤時,您可以控制您希望模型生成的具體方面。
除了 image_dir
和 class_tokens
參數外,TrainDatasetAdd 節點還提供了多個其他選項來微調您的數據集。您可以設置圖像的分辨率(寬度和高度)、指定訓練的批次大小,以及確定數據集在每個迭代中應重複的次數。
FLUX LoRA 訓練的一個強大功能是能夠無縫地結合多個數據集。在 FLUX LoRA 訓練工作流程中,有三個 TrainDatasetAdd 節點按順序連接。每個節點代表一個獨特的數據集及其獨特的設置。通過將這些節點連接在一起,您可以創建一個包含來自各種來源的圖像和說明的豐富多樣的訓練集。
為了說明這一點,讓我們考慮一個場景,您有三個單獨的數據集:一個是貓,一個是狗,另一個是熊。您可以設置三個 TrainDatasetAdd 節點,每個節點都專門針對這些數據集之一。在第一個節點中,您將在 image_dir
參數中指定 "cats" 數據集的路徑,將 class token
設置為 "cat",並根據需要調整其他參數,如分辨率和批次大小。同樣,您將為 "dogs" 和 "bears" 數據集分別配置第二和第三節點。
這種方法使 FLUX LoRA 訓練過程能夠利用多樣化的圖像,提高模型在不同類別中的泛化能力。
在我們的示例中,我們只使用一個數據集進行模型訓練,因此我們啟用了一個 TrainDatasetAdd 節點並繞過其他兩個。以下是如何設置的:
設置和初始化部分是您為 FLUX LoRA 訓練配置關鍵組件和參數的地方。此部分包括幾個基本節點,它們協同工作以設置您的訓練環境。
首先,您有 FluxTrainModelSelect 節點,負責在 FLUX LoRA 訓練過程中選擇將使用的 FLUX 模型。此節點允許您指定四個關鍵模型的路徑:transformer、VAE(變分自編碼器)、CLIP_L(對比語言-圖像預訓練)和 T5(文本到文本傳輸變換器)。這些模型構成了 FLUX 訓練過程的骨幹,並且都已在 RunComfy 平台上設置。
OptimizerConfig 節點對於設置 FLUX LoRA 訓練中的優化器至關重要,優化器決定了模型參數在訓練過程中的更新方式。您可以選擇優化器類型(例如,AdamW、CAME)、設置最大梯度範數以防止梯度爆炸,並選擇學習率調度器(例如,恆定、餘弦退火)。此外,您可以微調優化器特定參數,如預熱步驟和調度器功率,並提供額外參數進行進一步自定義。
如果您更喜歡 Adafactor 優化器,該優化器以其記憶體效率和處理大模型的能力而聞名,您可以使用 OptimizerConfigAdafactor 節點。
InitFluxLoRATraining 節點是所有基本組件匯聚以啟動 FLUX LoRA 訓練過程的中心。
您需要在 InitFluxLoRATraining 節點中指定的關鍵事項之一是輸出目錄,這是您訓練完成的模型將被保存的地方。在 RunComfy 平台上,您可以選擇 /home/user/ComfyUI/output/{file_name}
作為輸出的位置。訓練完成後,您將能夠在文件瀏覽器中查看它。
接下來,您將需要設置網絡維度和學習率。網絡維度決定了您的 LoRA 網絡的大小和複雜性,而學習率控制了您的模型學習和適應的速度。
另一個需要考慮的重要參數是 max_train_steps
。它決定了您希望訓練過程運行的時間長度,或者換句話說,您希望您的模型在完全烘焙之前採取多少步驟。您可以根據您的具體需求和數據集的大小來調整此值。這一切都是關於找到那個完美的平衡點,讓您的模型學得足夠多以產生令人滿意的輸出!
最後,FluxTrainValidationSettings 節點允許您配置 FLUX LoRA 訓練過程中評估模型性能的驗證設置。您可以設置驗證步驟數、圖像大小、指導尺度和種子以提高可重現性。此外,您可以選擇時間步抽樣方法並調整 sigmoid 比例和移位參數以控制時間步調度並提高生成圖像的質量。
FLUX LoRA 訓練的訓練部分是魔法發生的地方。它分為四個部分:Train_01、Train_02、Train_03 和 Train_04。這些部分中的每一個都代表 FLUX LoRA 訓練過程中的不同階段,允許您逐步細化和改進您的模型。
让我们从 Train_01 开始。这是初始训练循环发生的地方。本节的明星是 FluxTrainLoop 节点,负责执行指定步数的训练循环。在这个例子中,我们设置为250步,但您可以根据您的需要调整这个。训练循环完成后,训练好的模型会传递给 FluxTrainSave 节点,该节点会定期保存模型。这可以确保您在训练的不同阶段拥有模型的检查点,这对于跟踪进度和从任何意外中恢复都很有用。
但训练不仅仅是保存模型。我们还需要验证它的性能,以查看它的表现如何。这就是 FluxTrainValidate 节点的作用。它使用验证数据集测试训练好的模型。这个数据集与训练数据分开,有助于评估模型在未见过的示例上的泛化能力。FluxTrainValidate 节点根据验证数据生成示例图像,给您一个视觉表现此阶段模型输出的方式。
为了跟踪训练进度,我们有 VisualizeLoss 节点。这个方便的节点可视化训练损失随时间的变化,让您看到模型学习的好坏,以及它是否正在收敛到一个好的解决方案。就像有一个个人教练,跟踪您的进度并帮助您保持正轨。
在FLUX LoRA训练的 Train_02 中,继续从 Train_01 开始,输出进一步训练指定的额外步数(例如250步)。Train_03 和 Train_04 遵循类似的模式,更新连接以实现平滑过渡。每个阶段输出一个FLUX LoRA模型,允许您测试和比较性能。
在我们的示例中,我们选择仅使用 Train_01 和 Train_02,每个运行250步。我们暂时绕过了 Train_03 和 Train_04。但请随意根据您的具体需求和资源进行实验和调整训练部分和步骤的数量。
一旦您拥有FLUX LoRA模型,您可以将其整合到 中。用您训练的模型替换现有的LoRA模型,然后测试结果以评估其性能。
在我们的示例中,我们使用FLUX LoRA工作流程通过应用FLUX LoRA模型生成更多网红图像,并观察其性能。
查看许可证文件:
FLUX.1 [dev]json [dev] 模型由Black Forest Labs. Inc.根据FLUX.1 [dev] 非商业许可证授权。版权所有 Black Forest Labs. Inc.
BLACK FOREST LABS, INC. 在任何情况下均不对因使用此模型而产生的任何索赔、损害或其他责任承担责任,无论是合同、侵权或其他原因。
RunComfy 是首選的 ComfyUI 平台,提供 ComfyUI 在線 環境和服務,以及 ComfyUI 工作流程 具有驚豔的視覺效果。 RunComfy還提供 AI Playground, 幫助藝術家利用最新的AI工具創作出令人驚艷的藝術作品。