見出し画像

【Kohya LoRA GUI】FLUXでLoRA学習する方法

Stable Diffusionのhow to記事です。
今回はKohya LoRA GUIを使ってFLUXでLoRA学習する方法についてご紹介します。

■プロフィール
自サークル「AI愛create」でAIコンテンツの販売・生成をしています。
クラウドソーシングなどで個人や他サークル様からの生成依頼を多数受注。
実際に生成した画像や経験したお仕事から有益となる情報を発信しています。
詳細はこちら(🔞コンテンツが含まれます)
➡️lit.link

メンバーシップ(月額500円)に加入して頂くと、メンバー限定記事と300円以下の有料記事は読み放題です。

FluxのLoRA学習に必要なスペック

グラボはVRAM10GB以上でbf16に対応できる必要があるそうです。
スペックは上記をクリアしていれば問題なさそうですが、githubで必要条件などについて書かれているので一応チェックしてみてください。
https://github.com/RedRayz/Kohya_lora_param_gui/releases/tag/v1.13.2.2

Kohya LoRA GUIのインストール

FluxでLoRA学習する前にKohya LoRA GUIをインストールしておく必要があります。
インストール方法については別記事で解説しているので、こちらを参考にやってみてください。

FLUXでLoRA学習する前の準備

モデル・clip・VAEの準備

Flux導入済みの方は飛ばしてください。
LoRA学習の際にそれぞれモデル・clip・VAEを設定する必要があります。
ダウンロードしていない方はそれぞれのリンクからダウンロードしてください。
ファイルを指定できればどこに置いてもいいのですが、一応UI別に置くパスも紹介してます。

fluxモデル

・dev:https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/flux1-dev.safetensors

・schnell:https://huggingface.co/black-forest-labs/FLUX.1-schnell/blob/main/flux1-schnell.safetensors

モデルのパスはUIによって異なります。

forge: C:\stable-diffusion-webui-forge\models\Stable-diffusion
ComfyUI: C:\ComfyUI_windows_portable\ComfyUI\models\unet

CLIP
clip_lは必須でt5xxlはどちらかが必要です。

VAE

forgeはCLIP・VAEともに以下のパスに置いてください。

C:\stable-diffusion-webui-forge\models\VAE

ComfyUIは以下の通りです。

clip: C:\ComfyUI_windows_portable\ComfyUI\models\clip
VAE: C:\ComfyUI_windows_portable\ComfyUI\models\vae

venvの再生成

Kohya LoRA GUIのツールでvenvを再生成します。
Torch2.4をインストールする必要があるので、sd-scriptsフォルダ内にあるvenvフォルダを削除してからKohya LoRA GUIを起動してください。
メニューバーからツール→ユーティリティを開きます。

Torch2.4をインストールにチェックをつけてvenv再生成をクリックしてください。

インストールが終わったらvenvの再生成は完了です。

ブランチの切り替え

sd-scripts側のブランチをsd3に切り替えます。

ブランチはバージョンや作業内容を分けて管理できるものです。
mainブランチだとflux用の学習ファイル「flux_train_network.py」がないため、fluxの学習ができません。
現在fluxやsd3用のファイルは分けて開発されているので、そちらのブランチに切り替えれば学習ができるようになります。

まずコマンドプロンプトを開いて、sd-scriptsのパスに移動してください。

cd C:\sd-scripts

あとはブランチを切り替えるコマンドを実行するだけです。

git checkout sd3

そうするとsd3ブランチにあるファイルがローカルでも使えるようになります。

もしmainに元に戻したいときは、以下を実行してください。

git checkout main

依存関係のインストール

requirements.txtが更新されているそうなので、こちらもインストールします。
コマンドプロンプトを開いてsd-scriptsのパスに移動し、仮想環境をアクティベートしてください。

cd C:\sd-scripts
./venv/scripts/activate

以下のコマンドで依存関係をインストールします。

pip install -r requirements.txt

これでfluxの学習に必要なパッケージなどがインストールされます。

Kohya LoRA GUIを使ってfluxでLoRA学習する方法

画像とキャプションの用意

画像について

原因はよくわかりませんが、画像サイズが512×512のものだと学習ができませんでした。
ですので、512×512以上の画像を用意する必要があります。
枚数は大体10~20枚程度で良いそうです。

キャプションデータ

キャプションデータの作り方は別記事で解説しているのでこちらを参考にしてください。

Kohya LoRA GUIの設定

設定について私は全く理解しておらず、muooonさんという方の設定を参考にさせて頂いてます。

プリセットも配布してくれているため、早く学習を始めたい方はこちらのリンクからプリセットをダウンロードして取り込んでください。

以下は私なりに設定する部分をまとめたものです。

・メインUI

学習元モデル:fluxのモデル
教師画像フォルダ:画像を置いた上の階層のパス
解像度:512
モジュールの種類:LoRA
モデルの種類:FLUX.1
オプティマイザ:Prodigy

詳細設定・ページ3

損失関数の種類:l2(デフォルト)

詳細設定・パフォーマンス

Gradient checkpointing:チェック
混合精度:bf16
モデルをfp8で読み込む:チェック
Text Encoderの出力のキャッシュ:チェック
Text Encoderの出力をディスクにキャッシュ:チェック

詳細設定・パス

VAE:ae.safetensors
CLIP L:clip_l.safetensors
T5XXL:t5xxl_fp8_e4m3fn.safetensors

詳細設定・その他

保存時の精度:fp16

詳細設定・DiT

分割モード:チェック
学習するブロック:singleのみ

学習回数などは人によりますが、大体1000ステップ前後でもある程度再現はできるようです。

LoRA学習の結果

muooonさんと同じ設定で1200ステップで1.4時間ほどでした。
またforgeだとLoRAを使っても上手く適用されなかったため、ComfyUIで生成しています。
今回Animagine XLで再現したボア・ハンコックの画像10枚を学習しました。

・LoRAを使用してFluxで生成した画像

少しぼやけたり、質感がいまいちだったりしますが、再現性という意味ではわりと良い感じのような気もします。
ただLoRAを使用するとfluxの特徴である文字の生成などができなかったので、何か変なことしてるかもしれません。
学習時のパラメータとかweightとか、いろいろ調整できる余地はあると思います。

とりあえずLoRA学習自体はこれでできると思うので、興味がある方はやってみてください。

以上Kohya LoRA GUIでfluxのLoRA学習する方法についてご紹介しました。

当サークルではこのようなAIに関するさまざまな情報を発信しています。
メンバーシップに加入して頂くと一部の有料記事は読み放題です。
AI技術の向上、マネタイズ方法などに興味がある方は、ぜひご検討ください。

もしこの記事が少しでも役に立った場合は、いいねやフォローして頂けると励みになります。
最後まで読んでいただき、ありがとうございました。

いいなと思ったら応援しよう!

AI愛create
よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!