見出し画像

Stable Diffusion web UI (Forge) の個人的な設定メモ

Last update 2-18-2024
※モデルのディレクトリを変更して統一する等もしているので、よければ参考にしてください。




▼ 0. 本記事について

0-1. 概要

 現在使用しているAUTOMATIC1111氏のStable Diffusion web UI(以下AUTOMATIC1111版)と、Stable Diffusion WebUI Forge(以下Forge版)設定に関する個人的なメモです(Extensionの話は出てきません)。

 別で、Stable Diffusion WebUI Forgeの導入記事もあります(難易度はAUTOMATIC1111 web UIと同程度)。



▼ 1. ディレクトリ構成とバッチファイル

 バッチファイルのファイル名はお好みで変更してください。

1-1. ユーザーディレクトリ 

 コマンド プロンプトを開くとユーザーディレクトリから始まるため、ここに作業ディレクトリへ移動するバッチファイルを置いています。

%UserProfile% (=C:\Users\*****)
└ ai.bat

 下記は「ai.bat」の内容です。

@echo off
c:
cd \aiwork

 実は、筆者の現在の作業フォルダは「D:\aiwork」なのですが、記事では以前の「C:\aiwork」に統一しています。

1-2. 作業ディレクトリ

 作業ディレクトリにはモデルやツールを置いています。ツールは「git clone」でインストールすることが多いです。下記の詳細は順番に紹介します。

C:\aiworksd-datastable-diffusion-webuistable-diffusion-webui-forgegp.batgpf.batwebui1.batwebui2.batwebuix.batwebuif1.batwebuif2.batwebuifx.bat

1-3. モデル等のディレクトリ

 Stable Diffusionのバージョンごとに、モデル、TI、LoRAのディレクトリを作り、さらにVAEのディレクトリを用意しています。VAEはSDv1とv2は同じものが使えて、SDXLのみ互換性がありません。

 この仕分けは面倒でしたが、後々のことを考えて行いました。

C:\aiwork\sd-data
├ sdv1 ┬ embeddings
│      ├ lora
│      └ models
├ sdv2 ─ 同上
├ sdxl ─ 同上
├ vae
└ vae-xl

1-4. AUTOMATIC1111版とForge版

 それぞれ「git clone」でダウンロードしています。

1-5. アップデート用のバッチファイル

 単に「git pull」するだけのバッチファイルです。「gp.bat」は下記の内容で、「gpf.bat」は「cd \aiwork\stable-diffusion-webui-forge」に変えただけです。ファイル名はお好みで変えてください。

@echo off
cd \aiwork\stable-diffusion-webui
git pull
cd ..

1-6. AUTOMATIC1111版の起動バッチファイル

 環境変数の「PYTORCH_CUDA_ALLOC_CONF」はお守りです。「--opt-sdp-no-mem-attention」は再現性のため(同じ設定で常に同一の画像が出力される)、「--no-half-vae」は真っ黒な画像が出ないように、「--medvram」は省メモリ動作のため(ただし少し遅くなる)です。

 モデルの場所は「--ckpt-dir」、LoRAは「--lora-dir」、TIは「--embeddings-dir」、VAEは「--vae-dir」で設定します。設定しなかったものはデフォルトの場所になります。

 ところで、本体をアップデートしたとき、先にExtensionをアップデートし忘れると起動できなくなる場合があります。そのときは「--update-all-extensions」をつけて起動し、起動ができたら外してください。

 下記はSDv1用の「webui1.bat」です。SDv2用はVAE以外のディレクトリを変更し、SDXL用はVAEのディレクトリも変更します(SDXLのみVAEの互換性が無いため)。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6, max_split_size_mb:128

set COMMANDLINE_ARGS=--opt-sdp-no-mem-attention --no-half-vae --medvram --ckpt-dir C:\\aiwork\\sd-data\\sdv1\\models --lora-dir C:\\aiwork\\sd-data\\sdv1\\lora --embeddings-dir C:\\aiwork\\sd-data\\sdv1\\embeddings --vae-dir C:\\aiwork\\sd-data\\vae

cd stable-diffusion-webui
call webui.bat
cd ..

1-7. Forge版の起動バッチファイル

 Forge版の起動バッチファイルは、AUTOMATIC1111版のものから起動オプションを外して、cdコマンドを書き換えるだけで作れます。下記は「webuif1.bat」です。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6, max_split_size_mb:128

set COMMANDLINE_ARGS=--ckpt-dir C:\\aiwork\\sd-data\\sdv1\\models --lora-dir C:\\aiwork\\sd-data\\sdv1\\lora --embeddings-dir C:\\aiwork\\sd-data\\sdv1\\embeddings --vae-dir C:\\aiwork\\sd-data\\vae

cd stable-diffusion-webui-forge
call webui.bat
cd ..

 仮想環境を共有して容量を節約したい場合は、「set VENV_DIR=C:\aiwork\stable-diffusion-webui\venv」のような設定にします。当然ながら双方に影響するため、個人的にはあまりおすすめしません。



▼ 2. 設定

 Settingsの内容は、インストール先の「config.json」に保存されています。削除すると未設定の状態となって、デフォルト値が使用されます。差し替えてから起動することで、用途別の設定を持つこともできると思います。

2-1. Settingsの変更

 個人的に変更している箇所について記録しておきます。変更の入力が終わったら「Apply settings」「Reload UI」をクリックします。

Images filename pattern
[datetime<%Y%m%d_%H%M%S>]-[seed]-[model_name]
生成した画像のファイル名で、上記は筆者の設定。

Add number to filename when saving
一つ前の設定で十分なためチェックを外す。

Always save all generated image grids
プロットした画像は容量が大きいので、チェックを外して保存は手動で行うことにする。

Save copy of large images as JPG
容量が大きくてもJPG形式で保存する必要がないのでチェックを外す。

Save images to a subdirectory
Save grids to a subdirectory

画像保存時のディレクトリ分けが不要なのでチェックを外す。なお、ディレクトリ分けするときの名前は「Directory name pattern」で設定できる。

Print a list of Textual Inversion embeddings when loading model
チェックを入れる。コマンド プロンプトの表示が少し変わる。

Eta noise seed delta
デフォルトは0で、NAIは31337である。後者を設定する。

Show grid in gallery
チェックを外す。

Live preview display period
デフォルトは10で、4に変更。ライブプレビューの更新頻度。

Show Width/Height and Batch sliders in same row
チェックを外す。

Hires fix: show hires checkpoint and sampler selection
Hires fix: show hires prompt and negative prompt

チェックを入れる。Hires fixで別のモデル、サンプラー、プロンプトを指定することができる。

Quicksettings list
画面の上部に表示する項目。好みだが、「sd_model_checkpoint」「sd_vae」「Clip_stop_at_last_layers」は必須と言える。

2-2. Forge版のみの設定等

 Forge版のみに存在する項目や、AUTOMATIC1111版とは名前や設定方法が若干異なる項目がありました。

Automatic backward compatibility
Forge版のみ。PNG infoから送った際の挙動に影響しそう(未確認)。

Downcast model alphas_cumprod to fp16 before sampling. For reproducing old seeds.
Forge版のみ。チェックの有無で出力が変わる可能性がありそう(未確認)。

Enables the Extra Networks directory tree view by default
Forge版のみ。

Lora not found warning in console
Lora not found warning popup in webui

Forge版のみ。

Pad prompt/negative prompt to be same length (AUTOMATIC1111版)
Pad prompt/negative prompt (Forge版)
おそらく同じ設定内容。

Pad prompt/negative prompt (v0)
Forge版のみ。

FP8 weight
Forge版のみ。

Cache FP16 weight for LoRA
Forge版のみ。

Noise schedule for sampling
Forge版のみ。

SD Unet
Forge版のみ。同名の選択項目の初期値とみられる。

Enable emphasis (AUTOMATIC1111版)
Emphasis mode(Forge版)
同じ設定に関するもの。下記記事の内容が関係するかもしれない(未確認)。
>Stable Diffusion XLで生成画像の破綻が起きる問題の解析と対策
>https://note.com/hakomikan/n/nb6dd68a1bd9e 

Enable comments
Forge版のみ。チェックすると、プロンプトの領域にコメントを入れられる模様。

Automatically convert VAE to bfloat16
Forge版のみ。

Overlay original for inpaint
Forge版のみ。

Full page image viewer: control icon unfocused opacity
Full page image viewer: tool bar opacity

Forge版のみ。

Count tokens of enabled styles
Forge版のみ。

Don't Interrupt in the middle
Forge版のみ。複数枚の生成中に中断した際、現在の画像を生成してから停止するかどうか。

Show a progress bar in the console for tiled upscaling.
Forge版のみ。

Select which DAT models to show in the web UI.
Tile size for DAT upscalers.
Tile overlap for DAT upscalers.

Forge版のみ。Upscalerに「DAT x2~x4」が登場している。

Use torch.compile to accelerate SwinIR.
Forge版のみ。SwinIRを使う方はチェックしてみると良いかもしれない(初回は時間がかかるとのこと)。

Shrink the brush size
Enlarge the brush size

Forge版のみ。

2-3. その他の設定

 拡張機能の設定が色々とあるようですが、そのあたりは省略します。



▼ 3. おまけ

 記事内容とは直接の関係がない表紙画像のことです。

 Amethistic_Sound_Mix XL v1.0とsd_xl_turbo_loraを使用して、Forge版で生成を行いました。SDXLは従来バージョンよりも生成に時間がかかるのがネックだったので、LCM LoRAやSDXL Turboのような低Stepsの技術は重要だと思います。

 表示上は「Time taken: 9.5 sec.」で、Generateをクリックしてから再度クリックできるようになるまでの時間は10.5秒でした。この早さなら「やってみようか」という気になりませんか?

best quality, anime, pastel painting, upper body, 1lady, smile, :d, hold out hand, gray tied longhair, white ribbon blouse, big round eyes, black eyes, pink bow, entrance of house, flower bed, farm, <lora:sd_xl_turbo_lora_v1-128dim:0.3>
Negative prompt: bad face, low quality, lowres, bad anatomy, bad hands, 2girl, suspender, teeth, frill,
Steps: 12, Sampler: DPM++ 2M SDE Turbo, CFG scale: 1.5, Seed: 3782753002, Size: 1344x768, Model hash: da18d25791, Model: amethisticSoundMixXL_v10, Clip skip: 2, Version: f0.0.14v1.8.0rc-latest-184-g43c9e3b5



▼ 4. その他

 私が書いた他の記事は、メニューよりたどってください。

 noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。

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