FluxのLoRA学習を行う (Flux Gym)

AIツール

Flux Gymは、AI-ToolkitとKohya Scriptsを組み合わせたFLUX LoRAをトレーニングするためのシンプルな WebUIです。LOW VRAM (12GB/16GB/20GB) もサポートしておりミドルグラボでも学習可能なアプリケーションになります。

実行環境

グラフィックボードは、12GB以上のVRAMが必要になります。メモリは32GB以上あるとよいです。

OSWindows11 23H2
fluxgym5ca0afbdf0577ad8e92cd7df006fb3f4b9574c72
グラフィックボードNVIDIA GeForce RTX 3060 12GB
メモリDDR4 48GB

インストール

FluxgymのインストールはPinokioを使って行います。

LoRA学習

今回は以下のキャラクター画像7枚を使ってLoRAトレーニングを行いました。

Step 1. LoRA Info

  • LoRAの名前を設定
  • トリガーワード(ベースモデルが知らない文字列がよいでしょう)
  • ベースモデル(bdsqlsz/flux1-dev2pro-singleがおすすめ。こちらはFlux1-devを微調整したモデルでトレーニングの問題が改善されています。bdsqlsz/flux1-dev2pro-singleはトレーニングでのみ使用し、推論でLoRAを適用するときには通常モデルを使用してください。
  • 使用VRAMを設定

Step 2. Dataset

  • 学習する画像をアップロードします。
  • 画像にキャプションを付けます。Add AI captions with Florence-2をクリックして自動でキャプションをつけることができます。(生成時に再現しやすいようにどのようなキャプションをつけたか確認しときましょう)

Step 3. Train

  • Start trainingをクリックしてトレーニングを開始します。

トレーニングの予想されるステップ数についてです。Repeat trains per image x Max Train Epochs x 学習画像枚数によってExpected training steps変わります (10 x 16 x 7 = 1120) デフォルト設定のままでよいですが学習画像枚数が増えるにつれ学習時間が長くなります。

Sample Image Every N Stepsでは、設定したステップ数ごとに画像を生成し進捗を確認することができます。ベースモデルをbdsqlsz/flux1-dev2pro-singleに設定している場合は、通常モデルでの生成じゃないため実際の結果が出ないので0にしました。

今回7枚の画像でトレーニングにかかった時間は、RTX3060で1120steps約3時間ほどでした。

📁C:\pinokio\api\fluxgym.git\outputsにLoRAファイルが保存されています。

Forgeで推論

トレーニングしたLoRAを使って画像生成を行いたいと思います。今回はForgeを使用しました。

以下の3つの量子化モデルを試しましたがすべて適用できました。リンク先のモデルは、VAEとText Encoderを含んでいます。また、schnell以外は非商用ライセンスになります。

ポイントとしては、Diffusion in Low BitsのタブをAutomatic (fp16 LoRA)に変更してください。

髪色やシャツなどはキャプションに設定していたので容易にコントロールできました。逆に時計をキャプションに加えていなかったので、トリガーワードに関連付けられ生成されてしまいます。学習前にキャプションの確認と修正をしときましょう。

タイトルとURLをコピーしました