ComfyUI  >  ワークフロー  >  FLUX LoRAトレーニング

FLUX LoRAトレーニング

このComfyUI FLUX LoRAトレーニングワークフローを使用すると、既存のFLUXモデルを自分のデータセットで微調整できます。この詳細なガイドを通じて、トレーニングデータの準備、ワークフローの設定、主要パラメータの構成、トレーニングプロセスの実行方法を学び、FLUX AIモデルの完全な可能性を引き出して、あなたのビジョンに完全に一致する出力を作成します。

ComfyUI FLUX LoRA Training ワークフロー

ComfyUI FLUX LoRA Training
このワークフローを実行しますか?
  • 完全に動作するワークフロー
  • 欠落したノードやモデルはありません
  • 手動セットアップは不要
  • 魅力的なビジュアルを特徴としています

ComfyUI FLUX LoRA Training 例

comfyui-flux-lora-training-detailed-guides-1123

ComfyUI FLUX LoRA Training 説明

FLUX LoRAはAIコミュニティで大変人気があり、特に自分のデータセットでAIモデルを微調整しようとする人々に支持されています。このアプローチにより、既存のFLUXモデルを簡単に独自のデータセットに適応させることができ、非常にカスタマイズ可能で多様な創造的プロジェクトに効率的です。ComfyUIに既に精通している場合、ComfyUI FLUX LoRAトレーニングワークフローを使用してFLUX LoRAモデルをトレーニングするのは簡単です。このワークフローと関連ノードはKijaiによって作成されましたので、彼の貢献に大きな感謝を!詳細はをチェックしてください。

ComfyUI FLUX LoRAトレーニングチュートリアル

ComfyUI FLUX LoRAトレーニングワークフローは、FLUX LoRAモデルをトレーニングするために設計された強力なプロセスです。ComfyUIでのトレーニングは、特にそのインターフェースに慣れているユーザーにとって多くの利点があります。FLUX LoRAトレーニングでは、推論に使用される同じモデルを使用できるため、同じPython環境で作業する際に互換性の問題が発生しません。さらに、異なる設定を比較するためのワークフローを構築することができ、トレーニングプロセスを強化します。このチュートリアルでは、ComfyUIでFLUX LoRAトレーニングを設定および使用するための手順を案内します。

以下をカバーします:

  1. FLUX LoRAトレーニングのためのデータセットの準備
  2. FLUX LoRAトレーニングプロセス
  3. FLUX LoRAトレーニングの実行
  4. FLUXおよびFLUX LoRAモデルの使用方法と場所

1. FLUX LoRAトレーニングのためのデータセットの準備

FLUX LoRAトレーニングのためのトレーニングデータを準備する際には、ターゲットとなる被写体の高品質な画像を用意することが重要です。

この例では、特定のインフルエンサーの画像を生成するためにFLUX LoRAモデルをトレーニングします。これには、インフルエンサーのさまざまなポーズや設定の高品質な画像セットが必要です。これらの画像を集める便利な方法は、を使用することで、同じキャラクターが異なるポーズをとりつつ外観を一貫させた画像のコレクションを簡単に生成できます。トレーニングデータセットには、インフルエンサーのさまざまなポーズや設定の高品質な画像を5枚選び、FLUX LoRAトレーニングが一貫性と正確な出力を生成するために必要な詳細を学習できるようにしました。

トレーニングデータ取得のプロセス

FLUX LoRA Training Data

トレーニングデータの例

FLUX LoRA Training Data

また、特定のニーズに基づいて独自のデータセットを収集することもできます——FLUX LoRAトレーニングは柔軟で、さまざまな種類のデータと連携します。

2. FLUX LoRAトレーニングプロセス

FLUX LoRAトレーニングワークフローは、モデルをトレーニングおよび検証するために連携するいくつかの主要なノードで構成されています。ここでは、データセット、設定と初期化、トレーニングの3つの部分に分けて主要なノードの詳細な概要を示します。

2.1. FLUX LoRAトレーニング用のデータセットを設定

データセットセクションには、トレーニングデータを構成およびカスタマイズするのに役立つ2つの重要なノードが含まれています:TrainDatasetGeneralConfigTrainDatasetAddです。

2.1.1. TrainDatasetGeneralConfig

FLUX LoRA Training: TrainDatasetGeneralConfig

TrainDatasetGeneralConfigノードは、FLUX LoRAトレーニングでトレーニングデータセットの全体的な設定を定義する場所です。このノードでは、データの増強や前処理のさまざまな側面を制御できます。たとえば、さまざまな色のバリエーションに対するモデルの一般化能力を向上させるためにカラー増強を有効または無効にすることができます。同様に、フリップ増強を切り替えて画像をランダムに水平反転させ、より多様なトレーニングサンプルを提供できます。さらに、各画像に関連付けられたキャプションをシャッフルしてランダム性を導入し、過学習を減らすことができます。キャプションのドロップアウト率を設定してトレーニング中にキャプションをランダムにドロップし、欠落したり不完全なキャプションに対してモデルがより堅牢になるようにすることができます。

2.1.2. TrainDatasetAdd

FLUX LoRA Training: TrainDatasetAdd

TrainDatasetAddノードは、FLUX LoRAトレーニングに含める各個別のデータセットの詳細を指定する場所です。

入力ディレクトリ:トレインデータセットパス

このノードを最大限に活用するには、トレーニングデータを適切に整理することが重要です。RunComfyのファイルブラウザを使用する場合、トレーニングデータを/home/user/ComfyUI/input/{file-name}ディレクトリに配置し、{file-name}はデータセットに割り当てる意味のある名前です。

トレーニングデータを適切なディレクトリに配置したら、TrainDatasetAddノードのimage_dirパラメータにそのディレクトリへのパスを指定する必要があります。これにより、ノードがトレーニング画像を見つける場所を示します。

FLUX LoRA TrainDatasetAdd: Dataset Path FLUX LoRA TrainDatasetAdd: Dataset Path

クラストークン

FLUX LoRA TrainDatasetAdd: Class Token

データセットに特定のクラストークンやトリガーワードを使用する場合、それらをclass_tokensパラメータに入力できます。クラストークンは各キャプションの前に付け加えられ、モデルの生成プロセスをガイドする特別な単語やフレーズです。たとえば、さまざまな動物種のデータセットをトレーニングしている場合、生成された画像に望む動物を示すために"dog"、"cat"、"bird"などのクラストークンを使用できます。これらのクラストークンをプロンプトで使用することで、生成したい特定の側面を制御できます。

解像度(幅と高さ)、バッチサイズの設定

image_dirおよびclass_tokensパラメータに加えて、TrainDatasetAddノードはデータセットを微調整するための他のオプションも提供します。画像の解像度(幅と高さ)を設定し、トレーニング用のバッチサイズを指定し、データセットをエポックごとに繰り返す回数を決定できます。

複数のデータセット

FLUX LoRA TrainDatasetAdd: Multiple datasets

FLUX LoRAトレーニングの強力な機能の1つは、複数のデータセットをシームレスに組み合わせる能力です。FLUX LoRAトレーニングワークフローでは、3つのTrainDatasetAddノードが連続して接続されています。各ノードは独自の設定を持つ個別のデータセットを表します。これらのノードをリンクさせることで、さまざまなソースからの画像とキャプションを取り入れた豊かで多様なトレーニングセットを作成できます。

これを例として、猫、犬、クマの3つの別々のデータセットがあるとします。3つのTrainDatasetAddノードを設定し、それぞれのデータセットに専用の設定を行います。最初のノードでは、image_dirパラメータに"cats"データセットへのパスを指定し、class tokenを"cat"に設定し、解像度やバッチサイズなど他のパラメータをニーズに合わせて調整します。同様に、2番目と3番目のノードをそれぞれ"dogs"と"bears"データセットに対して設定します。

このアプローチにより、FLUX LoRAトレーニングプロセスはさまざまな画像を活用し、異なるカテゴリ間での一般化能力を向上させます。

この例では、1つのデータセットのみを使用してモデルをトレーニングするため、1つのTrainDatasetAddノードを有効にし、他の2つはバイパスします。以下はその設定方法です:

FLUX LoRA TrainDatasetAdd: Multiple datasets

2.2. 設定と初期化

設定と初期化セクションでは、FLUX LoRAトレーニングの主要なコンポーネントとパラメータを構成します。このセクションには、トレーニング環境を設定するために連携するいくつかの重要なノードが含まれています。

2.2.1. FluxTrainModelSelect

FLUX LoRA Training: FluxTrainModelSelect

まず、FluxTrainModelSelectノードがあります。これは、FLUX LoRAトレーニング中に使用されるFLUXモデルを選択する役割を果たします。このノードでは、transformer、VAE(Variational Autoencoder)、CLIP_L(Contrastive Language-Image Pre-training)、およびT5(Text-to-Text Transfer Transformer)の4つの重要なモデルのパスを指定できます。これらのモデルはFLUXトレーニングプロセスのバックボーンを形成し、すべてRunComfyプラットフォームに設定されています。

2.2.2. OptimizerConfig

FLUX LoRA Training: OptimizerConfig

OptimizerConfigノードは、FLUX LoRAトレーニング内のオプティマイザを設定するために重要で、トレーニング中にモデルのパラメータがどのように更新されるかを決定します。オプティマイザのタイプ(例:AdamW、CAME)を選択し、勾配クリッピングの最大勾配ノルムを設定して勾配爆発を防ぎ、学習率スケジューラ(例:一定、コサイン減衰)を選択できます。さらに、ウォームアップステップやスケジューラのパワーなど、オプティマイザ固有のパラメータを微調整し、追加の引数を提供してさらにカスタマイズできます。

よりメモリ効率が高く、大規模なモデルを処理できることで知られるAdafactorオプティマイザを好む場合は、OptimizerConfigAdafactorノードを使用できます。

2.2.3. InitFluxLoRATraining

FLUX LoRA Training: InitFluxLoRATraining

InitFluxLoRATrainingノードは、FLUX LoRAトレーニングプロセスを開始するためにすべての重要なコンポーネントが集まる中心的なハブです。

出力ディレクトリ:FLUX LoRAパス

InitFluxLoRATrainingノードで指定する重要な項目の1つは、トレーニングされたモデルが保存される出力ディレクトリです。RunComfyプラットフォームでは、/home/user/ComfyUI/output/{file_name}を出力の場所として選択できます。トレーニングが完了すると、ファイルブラウザで確認できます。

FLUX LoRA InitFluxLoRATraining: FLUX LoRA Path FLUX LoRA InitFluxLoRATraining: FLUX LoRA Path

ネットワークの寸法と学習率

次に、ネットワークの寸法と学習率を設定します。ネットワークの寸法はLoRAネットワークのサイズと複雑さを決定し、学習率はモデルがどれだけ速く学習し適応するかを制御します。

最大トレーニングステップ

もう1つの重要なパラメータは、max_train_stepsです。これはトレーニングプロセスをどれだけ長く実行するか、つまりモデルが完全に焼き上がるまでにかかるステップ数を決定します。データセットのサイズや特定のニーズに基づいてこの値を調整max_train_stepを調整できます。適切なポイントを見つけることが重要です。

2.3.4. FluxTrainValidationSettings

FLUX LoRA Training: FluxTrainValidationSettings

最後に、FluxTrainValidationSettingsノードを使用して、FLUX LoRAトレーニングプロセス中にモデルのパフォーマンスを評価するための検証設定を構成します。検証ステップ数、画像サイズ、ガイダンススケール、再現性のためのシードを設定できます。さらに、タイムステップサンプリングメソッドを選択し、シグモイドスケールとシフトパラメータを調整して、タイムステップスケジューリングを制御し、生成された画像の品質を向上させます。

3. トレーニング

FLUX LoRAトレーニングのトレーニングセクションは、魔法が起こる場所です。これは4つの部分に分かれています:Train_01、Train_02、Train_03、およびTrain_04。これらの各部分はFLUX LoRAトレーニングプロセスの異なる段階を表しており、モデルを徐々に洗練し改善することができます。

3.1. Train_01

FLUX LoRA Training

まず、Train_01です。ここでは初期トレーニングループが行われます。このセクションの主役はFluxTrainLoopノードで、指定されたステップ数のトレーニングループを実行します。この例では250ステップに設定されていますが、ニーズに応じて調整できます。トレーニングループが完了すると、トレーニングされたモデルはFluxTrainSaveノードに渡され、定期的にモデルが保存されます。これにより、トレーニングの異なる段階でのモデルのチェックポイントを持つことができ、進行状況を追跡したり、予期しない中断から回復したりするのに役立ちます。

しかし、トレーニングはモデルを保存するだけではありません。モデルのパフォーマンスを検証して、その進行状況を確認する必要があります。そこでFluxTrainValidateノードが登場します。このノードはトレーニングされたモデルを検証データセットを使用してテストします。このデータセットはトレーニングデータとは別で、見たことのない例に対するモデルの一般化能力を評価します。FluxTrainValidateノードは検証データに基づいてサンプル画像を生成し、この段階でのモデルの出力を視覚的に確認できます。

トレーニングの進行状況を監視するために、VisualizeLossノードがあります。この便利なノードは、トレーニング損失の時間経過を視覚化し、モデルがどれだけうまく学習しているか、適切な解決策に収束しているかを確認できます。まるで個人トレーナーが進行状況を追跡し、軌道に乗るのを助けてくれるようなものです。

3.2. Train_02, Train_03, Train_04

FLUX LoRAトレーニングのTrain_02では、Train_01から続けてさらに指定されたステップ数(例:250ステップ)のトレーニングを行います。Train_03およびTrain_04も同様のパターンで進行し、スムーズな進行のために更新された接続を持つトレーニングを拡張します。各ステージはFLUX LoRAモデルを出力し、パフォーマンスをテストおよび比較することができます。

この例では、250ステップずつ実行するTrain_01Train_02のみを使用することを選択しました。Train_03Train_04は今回はバイパスしました。ただし、特定のニーズやリソースに応じてトレーニングセクションの数やステップ数を調整して実験してください。

FLUX LoRA Training

4. FLUXおよびFLUX LoRAモデルの使用方法と場所

FLUX LoRAモデルを手に入れたら、に組み込むことができます。既存のLoRAモデルをトレーニングしたモデルに置き換え、結果をテストしてそのパフォーマンスを評価します。

この例では、FLUX LoRAワークフローを使用して、FLUX LoRAモデルを適用し、そのパフォーマンスを観察してインフルエンサーの画像をさらに生成します。

FLUX LoRA Training

ライセンス

ライセンスファイルを表示:

FLUX.1 [dev] モデルはBlack Forest Labs. Inc.によってFLUX.1 [dev] 非商用ライセンスの下でライセンスされています。著作権はBlack Forest Labs. Inc.に帰属します。

IN NO EVENT SHALL BLACK FOREST LABS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH USE OF THIS MODEL.

その他のComfyUIチュートリアル

より多くのComfyUIワークフローが必要ですか?

RunComfy

© 著作権 2024 RunComfy. All Rights Reserved.

RunComfyは最高の ComfyUI プラットフォームです。次のものを提供しています: ComfyUIオンライン 環境とサービス、および ComfyUIワークフロー 魅力的なビジュアルが特徴です。