ジャコ Lab

プログラミング関連のメモ帳的ブログです

LoRA を自作したい - 準備するもの

zako-lab929.hatenablog.com

前回の記事で LoRA 作り には DreamBooth、キャプション方式 が良さそうという結果に至っています。

今回は学習のために必要なものをまとめます!

準備するもの

github.com

※この辺を参照してます。

  1. まずは 学習用の画像 をフォルダに集めます。
  2. さらに 学習用画像のフォルダ画像と同じファイル名拡張子 .caption (設定で変えられます) のキャプションファイルを配置します。
    • それぞれのキャプションファイルは1行のみとしてください。エンコーディングUTF-8 です。
  3. 設定ファイル を用意します。
ここまで準備して Python スクリプトの実行となるようです

画像とキャプション

画像キャプション は、
学習用画像のフォルダ(1つのフォルダ)同じファイル名 で用意します。

東北ずん子・ずんだもんプロジェクト では AI画像モデル用学習データ が用意されており、 キャプション も用意してくださっているため、そのまま LoRA 学習 に使えるとのことです。

ダウンロードの方法
  1. 東北ずん子・ずんだもんプロジェクト にアクセスする
  2. ヘッダー - イラスト・3D を選択する
  3. 下の方の AI画像モデル用学習データをダウンロード から Google Drive へ飛ぶ
  4. 例として 01_LoRA学習用データA氏提供版背景白 を選択する
  5. 例として zundamon のフォルダをダウンロードする
中身について
.
└── zundamon
    ├── zundamon (1).png
    ├── zundamon (1).txt
    ├── zundamon (10).png
    ├── zundamon (10).txt
    ├── zundamon (11).png
    ├── zundamon (11).txt
    ├── zundamon (12).png
    ├── zundamon (12).txt
    ├── zundamon (2).png
    ├── zundamon (2).txt
    ├── zundamon (3).png
    ├── zundamon (3).txt
    ├── zundamon (4).png
    ├── zundamon (4).txt
    ├── zundamon (5).png
    ├── zundamon (5).txt
    ├── zundamon (6).png
    ├── zundamon (6).txt
    ├── zundamon (7).png
    ├── zundamon (7).txt
    ├── zundamon (8).png
    ├── zundamon (8).txt
    ├── zundamon (9).png
    └── zundamon (9).txt
tree コマンドで見るとこんな感じになっています

同じファイル名で .png な画像ファイルと .txt なキャプションファイルが用意されています。

zundamon (1)

zundamon (1).png
zundamon (1).png

キャプションファイル
zundamon, 1girl, one eye closed, shorts, solo, green footwear, sailor collar, full body, black socks, socks, white background, short sleeves, shirt, smile, v, simple background, green sailor collar, looking at viewer, shoes, white shirt, arm up, green shorts, open mouth, school uniform, standing, personification
キャプションファイル:翻訳
ずんだもん、女の子 1 人、片目閉じ、ショートパンツ、ソロ、緑の履物、セーラーカラー、全身、黒の靴下、靴下、白背景、半袖、シャツ、笑顔、V 字、シンプルな背景、緑のセーラーカラー、見る人を見る、靴、白いシャツ、腕を上げる、緑のショートパンツ、口を開ける、学校の制服、立っている、擬人化
と、こんな感じで揃っているわけですね

設定ファイル

設定ファイルtoml 形式で記述します。
ざっくり以下のような感じになるようです。

[general]
enable_bucket = true                        # Aspect Ratio Bucketingを使うか否か

[[datasets]]
resolution = 512                            # 学習解像度
batch_size = 4                              # バッチサイズ

  [[datasets.subsets]]
  image_dir = 'C:\hoge'                     # 学習用画像を入れたフォルダを指定
  caption_extension = '.caption'            # キャプションファイルの拡張子 .txt を使う場合には書き換える
  num_repeats = 10                          # 学習用画像の繰り返し回数

  # 以下は正則化画像を用いる場合のみ記述する。用いない場合は削除する
  [[datasets.subsets]]
  is_reg = true
  image_dir = 'C:\reg'                      # 正則化画像を入れたフォルダを指定
  class_tokens = 'girl'                     # class を指定
  num_repeats = 1                           # 正則化画像の繰り返し回数、基本的には1でよい

もっと詳細な情報は config_README-ja.md に記載がありますが、これは今度読み込んでみようと思います。

まとめ

画像ファイルキャプションファイルtomlファイルを準備すれば良い!