好きなキャラでイラスト作成できる！LoRA学習解説【ゆっくり解説】【VOICEROID解説】
Channel: ゆっくり日常の疑問解決美少女
Date: 2023-04-25

AIイラストはキャラの固定が難しいのですが、LoRA学習である程度は固定して描いてもらうことができます。

毎回完全一致とする手法はまだなさそうですが、そのための一歩となればいいなと思います。

間違いや解釈違いがありましたらすみません。

↓インストール方法が変更になってみたいでこちらで新しく解説しています。
https://www.youtube.com/watch?v=jjlilbJJk00

ユニティちゃんライセンス条項にのっとりユニティちゃんを使用しています。
© Unity Technologies Japan/UCL

ツイッターアカウント
https://twitter.com/bisyoujogimonch

■参考データ
徒労日記様
StableなLoRA学習環境がローカルマシンでもできるKohya’s GUIの設定方法
https://dolls.tokyo/about-kohyas_gui-setup/

■作業手順
□A.環境構築

1.フォルダを作成する（日本語なし、パスにも日本語が入らないようにする）
ここでは仮に「kohya」とする

2.Power shellを管理者として実行

3.kohyaフォルダへ移動し、ルートパスをコピー

4.Power shellで
cd (kohyaまでのルートパス)
と入力し、エンターでディレクトリ移動。

5.kohyaフォルダへの実行ポリシーを変える。
　セキュリティに関わることなので自己責任でお願いします。

プログラム1
Set-ExecutionPolicy Unrestricted

のコマンドを入力してエンター。

6.LoRA学習に必要なデータをダウンロード。
以下のプログラム2をまとめて貼り付け。
URLが省略されて表示されるかもしれないので、コメント欄にも貼っておきます。

プログラム2
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
python -m venv venv
.\venv\Scripts\activate
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install --use-pep517 --upgrade -r requirements.txt
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py
accelerate config

7.設定の質問に答える

プログラム2を実行すると最後に設定の質問が出てきますので、以下の通りに回答。

*This mashine →Enter

*No distributed training → Enter

Do you want to run your training on CPU only (even if a GPU is available?)
→no と入力後 Enter

Do you wish to optimize your script with torch dynamo?
→no と入力後 Enter

Do you want to use DeepSpeed?
→no と入力後 Enter

What GPU(s) (by id) should be used for training on this machine as a comma-seperated list?
→all と入力後 Enter

次の問いは最初はnoが選択されている。
*no
fp16
bf16

キーボードの１キーを押すとfp16が選択される。
以下のようになったらEnter
no
*fp166
bf16

設定の質問は以上です。

▼オプションプログラム
ttps://mega.nz/file/bZdAnAKa#BidEndlxBu2bw-K7pj4x1bOeYC4t4AbDkyOKiZNpEZ4

インストールコマンド
python .\tools\cudann_1.8_install.py



8.アップグレードの実行
kohya
↓
kohya_ssを開く

upgrade.ps1をダブルクリックして実行。

メモ帳が開いてしまうなどしてしまったら

代わりに
upgrade.batをダブルクリックして実行

9.学習ツールの起動
kohya_ssの中にある

gui.ps1をダブルクリックして実行。

メモ帳が開いてしまうなどしてしまったら

代わりに
gui.batをダブルクリックして実行

コマンドプロンプトが開いたら
Running on local URL:をCtrlキーを押しながらクリックで学習ツールが開きます。

ここまでで環境構築は終わりです。

□B.学習画像の準備

1.学習させたいキャラの画像を用意する。
ここではキャラの画像を「教師画像」とする。

教師画像の条件
a.キャラが単体で写っている
b.キャラが色んなポーズをとっている
c.背景も別のものが写っている


2.教師画像をフォルダに入れる

教師画像が入るフォルダを「教師画像フォルダ」とする
「教師画像フォルダ」の上のフォルダを「教師上位フォルダ」とする。

「教師上位フォルダ」→名前は何でもよい。
「教師画像フォルダ」→命名規則がある

☆命名規則
仮に以下のようだとする
20_isi girl

数字は画像に対する学習回数→大きいほど深く学習
isi→教師画像群に対する名前。意味のない単語がよい
girl→教師画像を生成するプロンプト（？）

この3つの要素をそれぞれ用途に合わせて設定する。


「教師上位フォルダ」の中に「教師画像フォルダ」を入れる。


3.正則化画像を用意する（必要なければなくてもよい）

正則化画像の条件
a.学習させたいモデルを使用して生成する
b.教師画像を生成するプロンプトで画像を生成

例：chilloutmixのモデルに、女の子キャラを学習させたいなら
model：chilloutmix
プロンプト：girl
で生成する

教師画像の枚数×5
くらいの枚数があるとよい。

教師画像が20枚なら正則化画像は100枚

4.正則化画像をフォルダに入れる

正則化画像が入るフォルダを「正則化画像フォルダ」とする
「正則化画像フォルダ」の上のフォルダを「正則化上位フォルダ」とする。

「正則化上位フォルダ」→名前は何でもよい。
「正則化画像フォルダ」→命名規則がある

☆命名規則
仮に以下のようだとする
1_girl

数字は画像に対する学習回数→1でよい
girl→正則化画像を生成するプロンプト

プロンプトだけ教師画像フォルダと合わせるようにする


「正則化上位フォルダ」の中に「正則化画像フォルダ」を入れる。

□C.学習ツールを使用してモデル生成

学習ツールを起動する

1.教師画像にキャプションをつける
utilities
↓
Captioning
↓
BLIP Captioning

image folder to captionに「教師画像フォルダ」を指定する

Prefix to add to BLIP caption
に教師画像につけた名前を指定する

Caption imagesをクリック

2.キャプションを編集する（しなくても何とかなる）
「教師画像フォルダ」にテキスト形式のキャプションファイルが生成されているので編集する。

isi a woman in a blue dress and striped stocking

となっていれば要素をカンマで区切る

isi,woman,blue dress,striped stocking

さらに「強調して学習して欲しい要素をけずる」
striped stockingを学習してほしかったらstriped stockingを消す。

isi,woman,blue dress,

このようなキャプションになったら保存。

3.設定済み環境ファイルを読み込む。

▼標準設定用
ttps://mega.nz/file/ndFRwTIB#-T-6AKXtK8Xa8VZGzNAjARNUyGTj2qEYSLp7zePDOIs

▼低VRAM用
ttps://mega.nz/file/zFNjlJAL#uB2uTAvcqLohSUzYBgtuBcAMt4Jnclg6jVV5YE4s0F4

パソコンのスペックに応じた環境ファイルをダウンロードしてください。

Dreambooth LoRA
↓
Configration file 
↓
Open

ダウンロードした環境ファイルを読み込む。

4.学習モデルの指定
Dreambooth LoRA
↓
Source model

学習させたいモデルを指定。
chilloutmixなど。

5.学習素材のファイルを指定

Dreambooth LoRA
↓
Folders

☆Image folder→「教師上位フォルダ」を指定
☆Output folder→\stable-diffusion-webui\models\Lora
☆Regularization folder→「正則化上位フォルダ」を指定
　（なくてもよい）
☆Logging folder→どこでも

Train modelをクリックして学習開始

□D.学習モデルの使用

1.追加機能の導入
Extensions
↓
Available
↓
Load from

表示される一覧の中から
sd-web-ui-additional-networks
を探して右側にあるInstallをクリック

上部に戻ってInstalledタブをクリック

Apply and restart UIをクリック

2.学習モデルを使用
Generateボタンの下の花札アイコンをクリック

表示されたLoraタブをクリック。

モデルカードが出ない時はRefreshをクリック。

モデルカードが出たらクリックするとプロンプトに、モデル使用のプロンプトが追加される。

生成。

お疲れさまでした。


■お借りした素材

★ＳＤピコピコ結月ゆかりちゃん立ち絵
かみち様
https://seiga.nicovideo.jp/user/illust/3441836

もえそで結月ゆかりちゃん立ち絵
かみち様
https://seiga.nicovideo.jp/seiga/im5726606

★紲星あかり（デフォルメ）Ver001
aikawa_D 様
https://seiga.nicovideo.jp/user/illust/510990




★BGM
DOVA-SYNDROME様
https://dova-s.jp/