見出し画像

Google Colab で Kohya Trainer によるLoRA学習を試す

「Google Colab」で「Kohya Trainer」によるLoRA学習を試したので、まとめました。


1. Kohya

Kohya」は、画像生成のコミュニティで最も人気のあるLoRAトレーナーの1つです。

次の3つの学習方式があります。

・DreamBooth、class+identifier方式
・DreamBooth、キャプション方式
・fine tuning方式

今回は、「DreamBooth、キャプション方式」でLoRA学習します。

2. 学習データの準備

今回は、「東北ずんこ・ずんだもんプロジェクト」で提供されている「画像学習用データ」を使います。

(1) 「東北ずんこ・ずんだもんプロジェクト」のサイトを開いて、「AI画像モデル用学習データ」をクリック。

(2) Googleドライブが開くので、「01_LoRA学習用データ_A氏提供版_背景白 → zunko」をダウンロード。
「zunko」フォルダには、画像とキャプションのペアが連番で入ってます。公式の学習データ形式に準拠してるため、そのまま学習に利用できます。

3. ColabでのLoRA学習

ColabでのLoRA学習の手順は、次のとおりです。

(1) 「Kohya Trainer」のサイトを開き、「Kohya LoRA Dreambooth」のColabのリンクをクリック。
「Kohya Trainer」では、「Kohya」を利用可能なColabのノートブックを提供しています。

(2) 「Kohya LoRA Dreambooth」のノートブックが開くので、Colabのメニュー「ファイル→ドライブにコピーを保存」で自分のドライブに移動。

(3) 「I. Install Kohya Trainer」で「Kohya Trainer」をインストール。
・1.1. Install Dependencies
「mount_drive」をチェックしてセルを実行します。

・1.2. Start File Explorer
今回は使用しません。

(4) 「II. Pretrained Model Selection」で事前学習モデルを準備。
・2.1. Download Available Model
今回は使用しません。

・2.2. Download Custom Model
事前学習モデルのパスを設定します。以下を変更してセルを実行します。
今回は、「IrisMix-v3」を使います。

・modelUrls : https://huggingface.co/natsusakiyomi/IrisMix/resolve/main/IrisMix-v3.safetensors
・hf_token : 空


・2.3. Download Available VAE (Optional)
今回は使用しません。

(5) 「III. Data Acquisition」でデータセットを設定。

・3.1. Locating Train Data Directory
そのままセルを実行します。

Colabの「/content/LoRA/train_data」に学習データをアップロードします。
今回は正則化画像は使わないので「reg_data」は空のままです。

・3.2. Unzip Dataset
今回は使用しません。

・3.3. Image Scraper (Optional)
今回は使用しません。

(6) 「IV. Data Preprocessing」は今回は使用しない。
データセットの前処理を行うセル群ですが、今回は学習データは揃っているため必要ありません。

(7) 「V. Training Model」で学習実行。
・Model Config
モデルの設定を行います。以下を変更してセルを実行します。

project_name : zunko
pretrained_model_name_or_path : /content/pretrained_model/IrisMix-v3.safetensors
・output_drive
: チェック

・5.2. Dataset Config
データセットの設定を行います。以下を変更してセルを実行します。

dataset_repeats : 6

・5.3. LoRA and Optimizer Config
LoRAとオプティマイザーの設定を行います。そのままセルを実行します。

・5.4. Training Config
学習パラメータの設定を行います。以下を変更してセルを実行します。

num_epochs : 6

・5.5. Start Training
学習を開始します。そのままセルを実行します。
9分ほどで学習完了します。マイフォルダの「LoRA/output」に「zunko.safetensors」が出力されます。

(8) 「VI. Testing」で推論して動作確認。
・6.1. Visualize loss graph (Optional)
今回は使用しません。

・6.2. Interrogating LoRA Weights
今回は使用しません。

・6.3. Inference
推論で動作確認します。モデルを設定します。

・network_weight : /content/drive/My Drive/LoRA/output/zunko.safetensors
・model : /content/pretrained_model/IrisMix-v3.safetensors

学習で利用したプロンプト (zko (1).txt) を指定してセルを実行し、元絵と似た絵が生成されることを確認します。

・prompt : zunko, 1girl, solo, skirt, one eye closed, thighhighs, standing on one leg, sailor collar, hairband, green skirt, school uniform, pleated skirt, green sailor collar, very long hair, shirt, black thighhighs, arm up, white shirt, white background, full body, smile, bangs, long sleeves, standing, shoes, brown footwear, simple background, serafuku, loafers, open mouth, looking at viewer, blush, ribbon, neck ribbon, ;d, zettai ryouiki, leg up, sailor shirt, blunt bangs

セルを実行すると数十秒で「/content/tmp」に4枚の画像が出力されます。

・元絵

・生成された画像

新規プロンプトを指定してセルを実行し、特徴を残したまま新しい絵が生成されることを確認します。

・prompt : zunko, 1girl, cute cat ear maid

・生成された画像



この記事が気に入ったらサポートをしてみませんか?