日本一わかりやすいLoRA学習!sd-scripts導入から学習実行まで解説!東北ずん子LoRAを作ってみよう!【Stable Diffusion】

Описание к видео 日本一わかりやすいLoRA学習!sd-scripts導入から学習実行まで解説!東北ずん子LoRAを作ってみよう!【Stable Diffusion】

🐸本動画は、画像生成AI『Stable Diffusion webUI AUTOMATIC1111』(ローカル版)で使用する学習データの自作方法について解説したものです。23年4月時点での仕様に基づいて作っています。
🐸本動画は技術研究目的で作成しています。またソフトウェアの使用方法の例を紹介した動画であってその使用を推奨するものではありません。
This video is edited for technical research purposes.
It only explains how to install the software and its features, and is NOT intended as a recommendation to use itself.

🟢LoRAって?
ゲームで言う拡張パックみたいなものだと思って下さい。特定のキャラを学習させたLoRAを作成してAUTOMATIC1111上に組み込めば、そのキャラの画像が生成できるようになります。本動画はその拡張パックの作り方動画です。
🟢LoRA作成で何が出来るの?
好きなキャラの画像を容易に生成できるようになります。特定の作風で好きなキャラを描くなんてことも出来ます。ご利用は自己責任で。
🟢東北ずん子さんの素材はコチラ
https://zunko.jp/

🟠AUTOMATIC1111って何?って方は↓
🟠Stable Diffusion webUI AUTOMATIC1111のインストール方法
   • 日本一わかりやすいStableDiffusion WebUI AUTOMA...  
↑この動画のとおりに操作していけばインストールできます。

🐸動画の補足🐸
🟢本動画ではKohya式LoRA学習をDreamBoothキャプション方式・コマンドラインと.toml併用で解説しています。正則化画像は使用しません。
※必ず作者のREADMEを熟読してください。知りたいことのほとんどはそこに書いてあります。
🟢VRAM8GB以上推奨(理想はVRAM12GB、RAM32GB以上)。一応VRAM6Gくらいでも出来るようです。

🟢学習環境の導入と実行方法
※ファイルの拡張子の表示をオンにしておいて下さい。
わがんない人は「拡張子 表示」で検索。

①実行ポリシーの変更( 02:02 ~)
set-executionpolicy remotesigned

②sd-scriptsの導入( 02:50 ~)
https://github.com/kohya-ss/sd-scripts
↑README.jaを開いて下にスクロールすると導入方法が書いてあります。
動画だとチェンジディレクトリを手動でやってますがcdでもOKです。pip installの3行は時間がかかります。動画は作者純正の構築方法で解説しています。他にもbmaltais氏のkohya'sGUI、5chの赤ちゃん用、ふたばのとしあきbatなどがありますが、どれもkohya式を加工したものなので遅れて更新となります。そのため作者純正のやり方で覚えるのが堅実です。
※インストールフォルダ名には絶対に2バイト文字や半角スペースを入れないでください。またあまりにも長すぎる名前もエラーの原因になるようです。

③素材の準備( 11:07 ~)
動画では練習なので1枚でやっていますが、最低10枚くらいあるといい感じに出来るはずです。何使ったらいいか分からんて人は東北ずん子さん(https://zunko.jp/)
解像度があまりにも大きいと弾かれます。動画のように512~1024、大きくても2048以下推奨。
割と適当な素材でもなんとか形になるケースが多いです。

④キャプションの準備( 12:31 ~)
WD1.4Tagger(toriato氏)
https://github.com/toriato/stable-dif...
Taggerで生成した生のタグテキストから「学習させたい要素」を削除してください。
キャラLoRAならとりあえず「髪型」「髪色」「瞳の色」を消しとけばそれらしくはなります。
※あまり気にしなくて良い話ですが、トリガーが社会通念上ありふれたワードである場合(初音ミクとか)SDが元々持っている概念と混ざってしまう場合があります。その場合は意味のないアルファベットの羅列やバックスラント構文などを用いて複雑にして下さい。

⑤.tomlの作製( 17:05 ~)と実行用CL( 19:18 ~)の準備
以下を素材置き場に作った空のテキストにペーストしてください。
※フォルダ名sozaiとかseisokuは一例です。LoRAのメタに名前が残るので気になる人はカッコイイ名前に変更してください。

🐸ここにじゃぶじゃぶ学習したくなる射幸心を煽りまくるコマンド文章
🟢datasetconfog.toml用( 17:05 ~)
(↓ここから)
[general]
[[datasets]]
[[datasets.subsets]]
image_dir = 'D:\TrainingData\sozai'
caption_extension = '.txt'
num_repeats = 1
(↑ここまで)
※素材フォルダのパスを確認後、拡張子を.tomlに変更して下さい(Windowsの拡張子表示をONにしておくこと)。
※.tomlはWin標準だとアイコンがただの白い四角いアイコンになると思います。右クリックからプログラムで開く→別のプログラムで開く→常にメモ帳で開けるようにしておいてください。これで.tomlがメモ帳に関連付けされアイコンがメモ帳に変わります。ダブルクリックで楽に編集できるようになります(動画ではVisual Studio Codeに関連付けされているためアイコンに青いαみたいなマークが入っています)

※正則化画像を用いる場合は以下を追記(例)
[[datasets.subsets]]
is_reg = true
image_dir = 'D:\TrainingData\seisoku'
class_tokens = 'girl'
num_repeats = 1
※キャプションを用いないクラスID方式は
[[datasets.subsets]]
image_dir = 'D:\TrainingData\sozai'
class_tokens = 'TRIGERWORD'
num_repeats = 1

🟢コマンドライン用( 19:18 ~)
(↓ここから)
accelerate launch --num_cpu_threads_per_process 1 train_network.py
--pretrained_model_name_or_path=X:\YOUR_FAVORITE_MODEL_PATH.safetensors
--output_dir=D:\TrainingData\outputs
--output_name=FILE_NAME_HERE
--dataset_config=D:\TrainingData\datasetconfig.toml
--train_batch_size=1
--max_train_epochs=10
--resolution=512,512
--optimizer_type=AdamW8bit
--learning_rate=1e-4
--network_dim=128
--network_alpha=64
--enable_bucket
--bucket_no_upscale
--lr_scheduler=cosine_with_restarts
--lr_scheduler_num_cycles=4
--lr_warmup_steps=500
--keep_tokens=1
--shuffle_caption
--caption_dropout_rate=0.05
--save_model_as=safetensors
--clip_skip=2
--seed=42
--color_aug
--xformers
--mixed_precision=fp16
--network_module=networks.lora
--persistent_data_loader_workers
(↑ここまで)
学習に使用したいモデル・出力先・出力ファイルネーム.tomlの場所を確認後『改行を全て消して一行の文』にしてください。改行が含まれているとPS上で実行できません。
※結果に大きく影響するのは--train_batch_sizeから--network_alphaあたりの設定です。意味が知りたい方は作者のREADMEを読んで下さい。わがんない!って人は繰り返し回数/バッチサイズ/エポックだけ気にしておけばいいです。
※GTX10xx系のグラボの方はオプティマイザを変更すること。
「--optimizer_type=AdamW」や「=Lion」など8bit以外を使用してください。
※エポック毎に結果を保存したい時は
--save_every_n_epochs=1
を追記。=1だと1エポック毎にLoRAが自動保存されます。
※23年5月13日のAUTOMATIC1111の更新で、LoRA適用時のファイルネームに埋め込まれたネームを優先的に表示するようになりました。ので--output_name=で名前を指定してあげて下さい。--output_name=zunko_testなどトリガーを含めておくと適用が楽です。

⑥学習の実行( 21:24 ~)
sd-scriptsフォルダ内でPSを起動し『./venv/scripts/activate』と入力後コマンドラインの内容をコピペ実行してください。モデルの場所や出力先など記述が間違ってなければ学習が始まります。初回は必要な物のインストールが入るので軽めの設定での試運転を推奨。終了後出力先フォルダにlast.safetensorsが生成されているのでリネームしてWebUIで使用してください。
※SD1.5モデルで学習したLoRAはSD1.5準拠モデルでしか機能しません。

WebUIでLoRAの使い方が分からないという方は下記動画を参照。
   • LoRAを使って遊んでみよう!学習ファイルのインストール方法と使用方法解説...  

🐸最初は…
素材枚数10~20、エポック5周、バッチサイズ1の総ステップ300~500くらい推奨。
正則化画像はいらない。キャプションは割と適当編集でも大丈夫。設定値いじりながら10回も学習する頃には要領掴めるようになるはずです。

🐸🐸🐸以下管理用スペース🐸🐸🐸
Timestamp
00:00 LoRA学習が難しく感じてしまう理由
02:02 実行ポリシーの変更
02:50 sd-scriptsのインストール
07:02 LoRA学習の実行方法の種類
09:05 正則化画像の役割
11:07 素材画像の用意と素材置き場の作製
12:31 キャプションの作製(WD14Taggerの使用方法)
14:19 キャプションの編集
17:05 データセット.tomlの作製
19:18 コマンドラインの作製
21:24 学習実行の練習
25:39 東北ずん子素材を用いたキャラLoRAの作製
29:09 Tips
30:36 あとがき

使用BGM
"Unleash", "Girlish", "Sugary Pop", ”OPENNESS”, ”Good_Skipping” "Hooray"All written by SHUNTA

#StableDiffusion #LoRA #画像生成ai #AIイラスト #StableDiffusiontutorial #generativeai #Aiart

Комментарии

Информация по комментариям в разработке