logo
pub

Flux AIを使った自分だけのFlux Dev LoRAのファインチューニング

概要: LoRAを使ったFlux AIのファインチューニング

カスタム画像モデルを作りたい?なら、Flux AIのLoRAを使うといいよ。テキストを正確にレンダリングしたり、複雑な構図を作ったり、リアルな解剖学を再現するのにめっちゃ強力なんだ。じゃあ、自分の画像でファインチューニングする方法を紹介するね。詳しくは こちらを見てね。

Flux Dev LoRAのファインチューニング手順

ステップ1: トレーニング画像の準備

いくつかの画像を用意しよう。シンプルな被写体なら5〜6枚、複雑なものならもっと必要になるよ。

  • ガイドライン:
    • 画像は被写体に焦点を当ててね。
    • JPEGかPNGでOK。サイズやファイル名は気にしなくていいよ。
    • 他人の画像は許可を取らずに使わないでね。
  • 画像をZIPする:
    zip -r data.zip data
    
  • ZIPファイルを、S3とかGitHub Pagesみたいに公開できる場所にアップロードしよう。

ステップ2: Replicate APIトークンの設定

replicate.com/accountからAPIトークンをゲットして、環境に設定してね:

export REPLICATE_API_TOKEN=your_token

ステップ3: Replicateでモデルを作成

replicate.com/createに行って、モデルを設定しよう。公開するかプライベートにするか選べるよ。

ステップ4: トレーニングスタート

Pythonを使ってトレーニングを始めよう。まず、ReplicateのPythonパッケージをインストールしてね:

pip install replicate

それから、トレーニングジョブを作成する:

import replicate

training = replicate.trainings.create(
    version="ostris/flux-dev-lora-trainer",
    input={
        "input_images": "https://your-upload-url/data.zip",
    },
    destination="your-username/your-model"
)
print(training)

ファインチューニングのオプション

  • 顔: 顔に焦点を当てたいときは、この行を加えてね:
    "use_face_detection_instead": True,
    
  • スタイル: スタイルに合わせて学習率を調整するには:
    "lora_lr": 2e-4,
    "caption_prefix": 'In the style of XYZ,',
    

トレーニングの進捗を確認

トレーニングの進捗は、replicate.com/trainingsでチェックするか、プログラム的に確認できるよ:

training.reload()
print(training.status)

トレーニングしたモデルの実行

トレーニングが終わったら、ReplicateのウェブサイトやAPIでモデルを実行できるよ:

output = replicate.run(
    "your-username/your-model:version",
    input={"prompt": "a photo of XYZ riding a rainbow unicorn"},
)

ファインチューニングの仕組み

あなたの画像は前処理を受けるよ:

  • SwinIR: 画像をアップスケールする。
  • BLIP: テキストキャプションを作成する。
  • CLIPSeg: 重要でない部分を取り除く。

もっと詳しくは、SDXLモデルのREADMEを読んでみてね。

高度な使い方: Diffusersとの統合

トレーニングした重みをDiffusersに読み込む:

from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained('stabilityai/stable-diffusion-xl-base-1.0')
pipe.unet.load_state_dict(torch.load("path-to-unet-weights.pth"))
# これで画像生成ができるよ
pipe(prompt="A photo of <s0>").images[0].save("output.png")

よくある質問

LoRAを複数の概念に使ってもいいの?

うん、LoRAは複数の概念を扱えるから、すごく柔軟だよ。

LoRAはスタイルなのか顔が得意なのか?

LoRAはスタイルが得意だけど、顔の認識にはちょっと苦手かも。

何枚の画像が必要?

最低でも10枚の画像が推奨されているよ。

トレーニングしたLoRAはどこにアップロードできるの?

Hugging Faceのリポジトリにアップロードできるよ。