AI ToolkitでFlux Kontext LoRAの学習をする
AI Toolkit
参考
https://www.youtube.com/watch?v=WSWubJ4eFqIHow to Train a Flux.1 Kontext LoRA with AI Toolkit by ostris
https://github.com/ostris/ai-toolkit?tab=readme-ov-fileostris/ai-toolkit
目次
インストール
データセットの準備
AI Toolkitへデータセットを読み込む
学習設定
学習開始
インストール
git clone
code:windows.cmd
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
python -m venv venv
.\venv\Scripts\activate
pip install --no-cache-dir torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu126
pip install -r requirements.txt
Runpodを使う場合は公式のテンプレートがある
https://console.runpod.io/explore/0fqzfjy6f3
起動
code:run
cd ai-toolkit/ui
npm run build_and_start
事前設定
学習で使う事前学習済モデルを自動でダウンロードしてくれるが、そのためにHugging FaceのトークンをセットしてAI ToolkitがHugging Faceにアクセスできるようにする
1. https://huggingface.co/settings/tokensUser Access Tokens のページから+ Create new token
2. Token typeをReadへ
3. 適当な名前をつけてCreate token
https://gyazo.com/6e86090ecca9106f0954c31f0e1fc448
4. するとhf_--------のようなトークンが表示されるためコピーします
このトークンは後で確認できません。が、何度でも再発行できるのでご心配なさらず
5. Ai Toolkitの⚙Settingsへ
6. Hugging Face Tokenに先程の取得したトークンを入力してSave Settings
データセットの準備
Flux Kontextはプロンプトの指示に従い、入力された画像を編集します
この能力を強化するLoRAの作成には「編集前画像」「編集後画像」「プロンプト」の3種類が必要です
絵柄を変換する、服を変更する、頭を大きくする… "編集"というタスクとして捉えられれば割となんでも良いので、従来の画像編集という概念に囚われずいろんなアイデアを試してみてください
ともかく、例えば「絵柄を変更するLoRA」のためには「人物画像」「その人物画像の頭を大きくした画像」「頭を大きくして、という指示テキスト」の3つのセットが必要です
プロンプトについて
基本的にはこれがトリガーワードになります
ただし、" anhfoka@n;kw " のような適当な単語ではなく、絵柄変換なら " Converted to 〇〇 style "のように、編集内容と関連のある言葉にしたほうが良いようです
SDXLまでのLoRAと違いプロンプトの意味を理解するので、多少柔軟性があります
ファイルの整理
後で処理が楽になるのでデータを整理しておきましょう
code:Dataset
📂Dataset/
├── 📂control/
│ ├── 001.png
│ ├── 002.png
│ ├── ...
│ └── 020.png
└── 📂target/
├── 001.png
├── 001.txt
├── 002.png
├── 002.txt
├── ...
├── 020.png
└── 020.txt
controlが編集する前の画像、targetが編集した後の画像です
並べたときに、controlとtargetの組が正しくなるように連番の名前をつけてください
プロンプトはtargetフォルダに入れます
AI Toolkit上で手入力することもできるため、データセットの数が少なかったり、全部同じプロンプトを使ったりするときはここで作成しなくても良いです
AI Toolkitへデータセットを読み込む
Dataset欄
右上のNew Datasetをクリックし、わかりやすい名前をつけてCreate
control か targetどっちなのかは分かるようにしたほうが良い
右上のAdd Imagesから写真やテキストをドラッグ&ドロップ
画像の下にプロンプトを入力する欄があるため、プロンプトファイルを用意していない場合はここで入力する
target(編集後)の方にプロンプトは書きます
学習設定
+ New Job
設定:
Job Settings
Training Name
好きな名前に
Model Architecture
FLUX.1-Kontext-devに変更
Training Configuration
stepsを4000に変更しても良い
Datasets
Dataset
先ほど読み込んだtargetのデータセットを選択
Control Dataset
先ほど読み込んだcontrolのデータセットを選択
Resolutions
VRAMと相談
24GB未満のときは512と768に抑えないとOOMになるかも
Sample Configuration
Nstep毎に画像生成をして、しっかりLoRAが学習できているか確認できます
Sample Prompts
Prompt
基本的には、" Converted to 〇〇 style "のようにデータセットとしえ設定したプロンプトを入力します
Flux Kontextは画像編集するものなので、右のAdd Control Imageをクリックして、編集したい適当な画像を設定します
🟩Create Jobをクリックして設定を保存
学習開始
右上の▷をクリックして学習を開始します
https://gyazo.com/b3bb2e01f8b5ae3ef1c14a9299fdfdce
初回はモデルのダウンロードから始まります
しばらくするとSamplesタブにLoRAを適用した生成画像が表示されます