見出し画像

【kohya_ss・sd-scripts】もっと簡単にLora作成~ファイル名の指定~

Lora 作成の公式手順では学習画像のファイル名やフォルダ名を統一しますが、この記事では名前がバラバラでもいいのか検証しました
結果:ファイル名、フォルダ名はバラバラでも Lora は作れる


背景

学習画像やフォルダ名にはいくつか決まりごとがあります
・画像名:繰り返し回数_トリガープロンプト_連番(連番で統一)
・画像を入れたディレクトリ名:繰り返し回数_トリガープロンプト
・学習画像の指定 (image_dir) :学習画像ディレクトリの親ディレクトリ

筆者はいつもバラバラな名前で Lora 作成するので比較します

検証方法

以下の2パターンで検証
 ①ファイル名・ディレクトリ名をそろえて Lora 作成
 ②ファイル名・ディレクトリ名をバラバラにして Lora 作成
確認観点:エラーにならないか?Lora の完成度に差がないか?

※学習素材は kohya_ss 内の test ディレクトリにある画像を採用
 (Dariusz_Zawadzki.png ~ Dariusz_Zawadzki_8 のpng, txt )

想定のファイル構造
images(dir) - 1_Dariusz(dir) - 学習画像、キャプション(file)

kohya_ss の学習画像

共通条件

・トリガープロンプト:Dariusz
・学習画像、ディレクトリ名以外の設定は同じ
(dataset.toml, accelerate_launch コマンドなど同一)
・image_dir = /hoge/images/

①ファイル名・ディレクトリ名をそろえて検証

・ファイル名を「繰り返し回数_トリガープロンプト_通番」に変更
 (1_Dariusz_1 ~ 1_Dariusz_8 にリネーム)
・学習画像をいれたディレクトリ名を 1_Dariusz にする
 (images - 1_Dariusz - 画像・キャプション)

②ファイル名・ディレクトリ名をバラバラで検証

・ファイル名をランダムな名前に変更(下表)
・学習画像は images 直下

$$
\begin{array}{c c |c c} \hline
変更前 & 変更後 & 変更前 & 変更後 \\ \hline
Dariusz\_Zawadzki & aaa & Dariusz\_Zawadzki\_5 & c\_cc \\
Dariusz\_Zawadzki\_2 & abcd & Dariusz\_Zawadzki\_6 & ddd \\
Dariusz\_Zawadzki\_3 & b123 & Dariusz\_Zawadzki\_7 & ee\_e \\
Dariusz\_Zawadzki\_4 & bbb & Dariusz\_Zawadzki\_8 & fff \\ \hline
\end{array}
$$

検証結果

image_dir

①の検証にて images - 1_Dariusz - 学習画像 の構成にするとエラーでした
image_dir = /hoge/images/→ error

[エラー内容]
ERROR No data found. Please verify arguments (train_data_dir must be the parent of folders with images) /
画像がありません。引数指定を確認してください(train_data_dirには画像があるフォルダではなく、画像があるフォルダの親フォルダを指定する必要があります)

そのため 1_Dariusz - 学習画像 の構成にしました
image_dir = /hoge/1_Dariusz/ →success

⇒image_dir の設定値は学習画像があるディレクトリ

Lora 比較

①、②の Lora で出力された画像を比較します
①、②では作風や品質の差はあまり見られませんでした
学習画像に似ている雰囲気の Lora が作成できたと思います

⇒学習画像、ディレクトリ名はバラバラでいい

Lora 比較結果
左からDariusz プロンプトのみ,
Dariusz + ①学習画像名前統一Lora,
Dariusz + ②学習画像名前バラバラLora

※備考
①のLoraはやや人寄り、②のLoraは人外よりの画像が多かったです
①はモデルの Dariusz(人) に寄った印象
 (なんなら②のクオリティ高そう)

まとめ

Lora 作成時の名前の指定方法について検証しました
結果は README 通りに指定しなくてもいい結果になりました

学習画像、ディレクトリ名:任意の名前
img_dir:学習画像のあるディレクトリ

注意点(言い訳)
・公式と異なるので筆者の環境や他の設定値がおかしいのかもしれません
・sd-scripts の検証結果です、 kohya GUI は未確認(多分同じ?)
・正規化画像は用いていません
・複数フォルダでの学習はしていません (images 直下に学習画像)

間違い、不明点あれば指摘お願いします

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