Waifu Diffusion で効率的に画像を生成する
目次
ワークフロー
差分生成の実例
どのツールを選ぶか
Stable Diffusion の解説
Tips
Denoising Strength を下げると画質が落ちる
ファインチューニング
プロンプト
AUTOMATIC1111 の Prompt Editing※重要
Danbooru タグ列挙法(Waifu Diffusion v1.2 限定)
Danbooru タグ列挙法(Waifu Diffusion v1.3 限定)
Stable Diffusion のプロンプト Tips
単語チートシート
画力が上がる作品タグ
色
天気・時間帯
場所・背景
人
カメラ・ライティング
作風
検証
AI が描いた絵の見分け方
NSFW (職場閲覧注意)
単語集
作例
解説リンク
AUTOMATIC1111 の Lora・Dreambooth の使い方
目次
LoRA
LoRA Block Weight Plot Helper(階層情報解析ツール)
Dreambooth
A Few Dreambooth Observations and Tips, Leafier Closer Shots With the New Vae File (higher CFG)
モデルの圧縮(脱水)
AUTOMATIC1111 の便利な機能
目次
AUTOMATIC1111のアップデート
git の操作
アップスケーラー
Stable Diffusion Upscale(img2img を使ったアップスケーラー)
デティール追加
Dotgeo(hijack) Detection Detailer(顔を検出して顔を加筆)
LLuL - Local Latent upscaLer(指定した矩形の箇所を加筆)
img2img
Only masked(マスクした部分を拡大してから再生成して合成:旧 Inpaint at full rsolution)
Batch img2img(フォルダ内の画像すべてに img2img を実行)
Loopback(img2img の結果に img2img を実行する)
--gradio-img2img-tool(簡易ペイントツール追加)
Detection Detailer(顔のマスクを自動生成してくれる Extension)
Depth-guided model(深度情報を使った img2img)
プロンプト
CLIP interrogator(画像のプロンプトを推測)
Deepdanbooru(画像の Danbooru タグを表示する)
Prompt Editing(画像生成の途中でプロンプトを変更)
Alternate Prompt(1ステップごとに語を切り替え)
ファインチューン
Embedding (.pt や .bin ファイル)を使う
操作
Generate ボタンを右クリック > Generate forever で止めるまで生成。止めるときは右クリック > cancel
Ctrl + Enter で Generate
Ctrl + Z プロンプトを元に戻す
スライダーをクリックした後十字キーで1ずつ増減できる
検証
Visualize Cross Attention(プロンプトが画像のどこに効いているか可視化)
DAAM Extension for Stable Diffusion Web UI(プロンプトが画像のどこに効いているか可視化)
UI
高速化
そのほか
Checkpoint Merger(ckpt ファイルのブレンド)
[WebUI] Stable DiffusionベースモデルのCLIPの重みを良いやつに変更する
Extension など
Booru tag autocompletion for A1111(タグ補完)
extensionEditor(AUTOMATIC1111向けのプロンプトエディター)
Dataset Tag Editor(タグで画像を編集したり、タグを編集するエディタ)
Helper GUI for manual tagging/cropping(画像のタグ管理エディタ)
embedding editor(768 個ある潜在表現ベクトルを手動で調整)
multi-subject-render(背景とオブジェクトとを雑コラしてくれる)
Latent Couple extension(プロンプトの効く領域を指定)
Regional Prompter (プロンプトの効く領域を指定)
Depth map library and poser(手の深度マップライブラリ)
Cutoff - Cutting Off Prompt Effect(色移り防止)
Controlnet
ポーズ・構図の指定と着色ができる。Image2Image はグレースケール画像の着色ができなかったが Controlnet ではそれができる。
ControlNetでポーズや構図を指定してAIイラストを生成する方法
AUTOMATIC1111+ControlNetのつかいかた2(目当ては自動塗り)
AIで適当な線画を清書し、さらに色を塗って高品質なイラストに仕上げる方法【ControlNet活用術】
「ControlNet 1.1」の新機能まとめ!新しいモデルや改善点を紹介【Stable Diffusion】
ControlNet(v1.1)の詳しい解説!輪郭やポーズから思い通りの絵を書かせる
Multi-Controlnet
Extension
sd-webui-controlnet(こちらの方がユーザーが多い)
モデルマージ
Stable Diffusion のファインチューンの Tips
目次
間違いやすいポイント
Textual Inversion と Hypernetwork のタグの違い
前処理
設定
学習時
Hypernetwork
Layer Normalization を有効にする場合は学習率を大きくする
Textual Inversion
Textual Inversion でネガティブな要素を学習させる
Dreambooth
Preprocess(前処理)
学習テクニック
学習データ
Textual Inversion でキャラを学習させる場合のタグ
画風を学習させる場合のタグ(Textual Inversion・Hypernet)
Textual Inversion
Dream Artist
Hypernetwork
Dream Booth
Aesthetic Gradients
VAE の埋め込み
LORA
Custom Diffusion
Key-Locked Rank One Editing for Text-to-Image Personalization(Perfusion)
その他の情報
概要
このページでは AUTOMATIC1111 を使ったファインチューンの Tips を扱う。
画風を学習させる場合、Textual Inversion より Hypernetwork の方がよい。なぜなら学習時間が短いからだ。Use deepbooru for caption を使えばタグ付けも自動化できる。
Textual Inversion や Hypernetwork の学習は、学習画像のサイズが 512x512 なら VARM 8GB の RTX 3050 でもできる。ただし VRAM を解放するために実行前に webui の再起動が必要になる。モニターを複数枚使っている場合、VRAM が不足することがある。そのため快適に学習させたければ、VRAM 12GB 以上の GPU を使うか、Google Colab を使う。
Dreambooth を使って学習させるには最低でも 12 GB の VRAM が必要になる。
Textual Inversion はテキストエンコーダーを調整する。Hypernetwork はテキストエンコーダーと U-Net との間に追加のネットワークを挿入して、その追加ネットワークを調整する。
ディープラーニングチューニングプレイブック日本語版
ハイパーパラメータチューニングに関する手順が解説されている。
まとめ
Hypernetwork
画風の調整に向いてる。学習時間が短く準備の手間も少ない。ファインチューニングは、まず Hypernetwork から挑戦してみるのがいい。
Textual Inversion
デフォルトの状態で呼び出せる人や物を語に覚えさせたり、トークンを節約したりするのに使う。描く能力はあるが呼び出し方がわからない人や物を呼び出せることがある。Hypernetwork に比べて学習に時間がかかり、背景を塗りつぶしたり、タグ修正したりする手間が追加で発生する。
Dreambooth
デフォルトの状態で呼び出せない人や物を呼び出せる。
VRAM8GB でできるファインチューニング
- Textual Inversion
- Hypernetwork
- DreamArtist
VRAM 12 GB でできるファインチューニング
- Dreambooth
VRAM 16 GB でできるファインシューニング
- 追加学習
AUTOMATIC1111 Web UI の Clip skip とは何か
Stable Diffusion 1.x で使われている CLIP
ChatGPT Mar 23 Version にガチャの確率計算器を作らせる
Textual Inversion の使い方
目次
Textual Inversion
Embedding (.pt や .bin ファイル)を使う
Embedding の作成
Training an embedding(embedding のトレーニング)
Shuffle tags by ',' when creating prompts.
Drop out tags when creating prompts.
例1
DreamArtist
Embedding-inspector
Hypernetwork の使い方
目次
Hypernetwork
Move VAE and CLIP to RAM when training hypernetwork. Saves VRAM
Select activation function of hypernetwork
tips
Hypernetwork Style Training, a tiny guide #2670
Hypernetwork training for dummies
hypernetwork.py
Hypernetwork-MonkeyPatch-Extension
Hypernetwork のマージ
外部リンク
openvino(CPU)版で Waifu Diffusion を実行する(Windows, Linux)
NovelAI Aspect Ratio Bucketing の翻訳
これは NovelAI Aspect Ratio Bucketing の翻訳 だ。
要約すると、Stable Diffusion は任意の解像度とアスペクト比で学習可能だが、バッチごとに解像度は固定する必要がある(固定しないと学習が遅い)。なのでバッチを実行する際にアスペクト比を選び、そのバッチでは選択したアスペクト比の画像のみを学習させる。原文では、アスペクト比の一致しない学習画像の加工処理を実行時にしているように見えるが、実際は前処理でスケール&クロップしているものと思われる。