【SDXL 1.0】LoRA学習 (DreamBooth fine-tuning via LoRA) の設定あれこれ

はじめに

前回の続きです。
touch-sp.hatenablog.com
より良い結果を求めて設定をいろいろいじってみました。

今回はデータセットを二つ用意しました。

一つ目は前回と同じもの(36枚)です。

二つ目は新たに写真撮った28枚です。

テキストエンコーダーの学習ありなし

「--train_text_encoder」でテキストエンコーダーも学習させることができるらしいです。

その効果を検証してみました。

データセット1

テキストエンコーダーの学習あり


テキストエンコーダーの学習なし


データセット2

テキストエンコーダーの学習あり


テキストエンコーダーの学習なし




今回の二つのデータセットでは、両方ともテキストエンコーダーの学習がない方が良い結果が得られています。

データセット1の方がデータセット2よりも結果がよさそうなのは単純に画像の枚数が多い(36枚と28枚)からでしょうか。

データセット1 + データセット2

だったら二つのデータセットを合わせて合計64枚にしてテキストエンコーダーの学習なしで学習すれば良いのでは?

実際にやってみました。

テキストエンコーダーの学習なし(learning_rate=1e-4)




あまりうまくいっていません。なぜでしょうか?

学習率を変更してみます。

テキストエンコーダーの学習なし(learning_rate=1e-3)


さすがに1e-3は大き過ぎたようです。全く学習されていません。

テキストエンコーダーの学習なし(learning_rate=1e-5)


これもダメですね。

prior_preservationあり、テキストエンコーダーの学習なし(learning_rate=1e-4)

「prior_preservationあり」も試しましたが全然ダメでした。

--with_prior_preservation --prior_loss_weight=1.0 \
--class_data_dir="robot-class-images" \
--class_prompt="a photo of robot" \
--num_class_images=200




このエントリーをはてなブックマークに追加