コンテンツにスキップ

stable-diffusion-webui 導入 (v1.7.0)

stable diffusion を実行する上で便利なツールである、AUTOMATIC1111/stable-diffusion-webuiの導入について記載する。

なお、筆記時点の構築確認環境はUbuntu22.04である。

初期構築

Linuxの場合はシェルが用意されているので利用すると簡単。
wgetしたwebui.shは以降起動シェルとしても利用できる。

Text Only
1
2
3
4
5
# Debian-based
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
chmod 755 webui.sh
./webui.sh

webui.sh実行後にブラウザから利用できるようになるため、 Stable Diffusion checkpointを選び、Generateを押すと何かしらの絵が得られ、outputs以下に保存される。
デフォルトだとSD1.5のモデルが利用できる。

No module 'xformers'. Proceeding without it.

下記のようにしてxformersを利用するパラメータを加えれば良い(参考)。
生成結果が多少変わるが、基本的には有効化しておいたほうが省メモリ化(5〜10%)+高速化(20〜30%)されるので大抵有効化しておくと良い。

Text Only
./webui.sh --xformers

webui-user.sh を下記のように作成して webui.shと同じディレクトリに入れておくとパラメータを読み取ってくれる

Text Only
export COMMANDLINE_ARGS="--xformers"

Extensions

拡張機能を追加する。

  1. Extensionsに移動
  2. Install from URLに移動
  3. installしたい拡張機能のgit repository URLをURL for extension's git repositoryに入力してInstallをクリック
  4. Apply and restart UI を押して有効化する

Settings

自分が利用しやすいように必要に応じて設定変更する。

VAEの上書き切り替えとを表示

  1. Settingsに移動
  2. User interfaceに移動
  3. Quicksettings list に下記を追加(デフォルトはsd_model_checkpointのみ)
    • sd_vae
    • CLIP_stop_at_last_layers
  4. Apply settingsをクリック
  5. ページを再読込すると上部に表示されるようになる
    • デフォルトはAutomatic
    • Noneを指定すると、モデルに内蔵されているVAEが利用される
    • VAEをモデルに内包したものも多いので、設定しなくても十分機能することも多い

保存名を「保存時刻-seed」に変更

  1. Settingsに移動
  2. Saving images/gridsに移動
  3. Images filename patternを次のように書き換える
    • [datetime<%Y%m%d-%H%M%S-%f>]-[seed]
  4. Add number to filename when saving のチェックを外す
  5. Apply settingsをクリック

jpgの生成閾値変更

  1. Settingsに移動
  2. Saving images/gridsに移動
  3. File size limit for the above option, MBを4から変更する
    • もしくは Save copy of large images as JPG のチェックを外すと生成されなくなる

モデル導入

SDXL用のモデルを中心に組み込んでいく。

種類 配布元 保存先 備考
Baseモデル stable-diffusion-xl-base-1.0 /models/Stable-diffusion
Baseモデル CounterfeitXL /models/Stable-diffusion
Baseモデル Animagine XL V3 /models/Stable-diffusion
Refinerモデル sd_xl_refiner_1.0 /models/Stable-diffusion
VAE sdxl_vae /models/VAE
Upscaler 4x-Ultrasharp /models/ESRGAN
Lora sdxl-flat /models/Lora
LyCORIS Neg4All_XL /models/LyCORIS 保存先がない場合作成する
ControlNetモデル lllyasviel/sd_control_collection /models/ControlNet 必要に応じてモデルを入れる
ControlNetモデル bdsqlsz/qinglong_controlnet-lllite /models/ControlNet 必要に応じてモデルを入れる
Emmbedings negativeXL /embeddings

動作確認

初音ミクをパラメータを変えながらいくつか生成してみる。
パラメータ詳細は画像に埋めてあるのでここでは割愛。