Tips/GenerativeAI/Stable Diffusion WebUI

Last-modified: Thu, 07 Mar 2024 23:59:11 JST (102d)
Top > Tips > GenerativeAI > Stable Diffusion WebUI

概要

  • StableDiffusionをローカル実行できる
  • 最新の機能/拡張なども積極的に取り込まれている

導入

  • dockerリポジトリのclone
    git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
  • 起動オプションの変更
  • docker-compose.yml
      auto: &automatic
        <<: *base_service
        profiles: ["auto"]
        build: ./services/AUTOMATIC1111
        image: sd-auto:51
        environment:
          - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api <追加起動オプション>
          <追加オプション>
  • 追加起動オプション
    オプション概要
    --opt-sdp-attention
    --opt-sdp-no-mem-attention
    --xformersxformersライブラリを使用する
    再現性を犠牲に高速化&メモリ消費を低減できる
    --xformers-flash-attentionpromptの選別を行い、重要度が低いものを除外する
    再現性が改善し更に高速化&メモリ消費を低減できる
    --medvram若干遅くなるがVRAM使用率を下げる
    モデルをcond,1st-stage,unetの3つに分割する。
    常に1つだけをVRAM上にロードし、それ以外はRAMに退避し省メモリ化する
    --lowvram遅くなるが更にVRAM使用率を下げる
    --medvramに加えて、unetをさらに細かく分割する
    --theme darkUIテーマをダークテーマにする
    --reinstall-xformersxformersを強制的に再インストールする
    --reinstall-torchtorchを強制的に再インストールする
  • 追加オプション
    オプション概要
    - TZ=Asia/Tokyoログやファイル名のタイムゾーンを日本時刻にする
  • dockerイメージのビルド
    docker compose --profile download up --build
  • dockerイメージの起動
    docker compose --profile auto up --build

設定メモ

参照リンク

拡張機能

一覧

名称概要解説
Config-Presets設定のプリセットを保存/読込できるようになる
Cozy-NestwebuiのUIとしての見た目を整理する
a1111-sd-webui-tagcompleteDanbooruのタグ情報を元にPrompt入力時にオートコンプリート表示されるようになる
sd-webui-3d-open-pose-editor3D Openpose Editorをwebui上で使えるようになる
sd-webui-bilingual-localizationwebui上の文字列を原文併記で翻訳する
sd-webui-controlnet人物の姿勢を指示するControlNetを利用して画像生成できるようにする
sd-webui-enable-checker拡張機能の有効/無効状態を色分け表示する
sd-webui-gelbooru-promptGelbooruの画像タグを自動取得できる
sd-webui-infinite-image-browsing高機能な画像ブラウザ&マネージャー
sd-webui-openpose-editorControlNet拡張機能に統合されるOpenPoseEditor
stable-diffusion-webui-depthmap-script深度マップ機能を追加する
stable-diffusion-webui-localization-ja_JP日本語訳用言語ファイル
stable-diffusion-webui-text2prompt単語を入力すると連想されるPromptを予測する

削除方法

  1. Extention->Installed から拡張機能のチェックボックスをオフで無効化
  2. stable-diffusion-webui-docker\data\config\auto\extensions\ 内の拡張機能のディレクトリを削除

用語

分類用語説明解説
基本GANGenerative Adversarial Networks(敵対的生成ネットワーク)
modelstable diffusionのネットワークの一部
Negative Prompt画像生成時に望ましい要素を指示したテキスト
NNNewral Network(ニューラルネットワーク)
Prompt画像生成の指示テキスト
sdstable diffusion
vaeVariationalAutoEncoder(変分オートエンコーダ)
stable diffusionのネットワークの一部
基本的にはmodelとセットで指定されているものを使用する必要がある.
!
ファイル形式ckptmodelのファイル形式
セキュリティリスクがあるため現在は非推奨
safetensorHuggingFace主導で作られたセキュリティを考慮したmodelのファイル形式
現在推奨の形式
!
拡張ControlNetポーズや構図などを指定する拡張機能!
LyCORIS追加学習model
LoRAの発展型
!
ツールGFPGANGenerative Facial Prior GAN
顔を修正するNN
!
CLIPimg2txt用NN
CodeFormer顔を修正するNN
GFPGANの代替
ESRGANEnhanced Super-Resolution GAN
upscaler用NN
!
LDSRupscaler用NN
RealESRGANupscaler用NN
ESRGANの改良版
SwinIRupscaler用NN!
基本機能img2img画像から別の画像を自動生成する
img2txt画像からその画像の説明文を生成する
Inpainting画像の一部だけを自動生成する
Outpainting画像を外側に拡張生成する
text2imgテキストから画像全体を生成する
補助機能Attentionpromptに重みを付ける
Dreambooth追加学習model
Highres Fix高解像度画像を分割生成する際に整合性を保つ
HyperNetworks追加学習model
出力画像を微調整する
LoRALowRankAdaptation
追加学習model
出力画像を微調整する
TextualInversion追加学習model
upscale高解像度化
X/Y/Z plotパラメータを変えて生成した複数画像をXYZに並べて一枚の画像を生成する
パラメータ変更時の比較に便利

使い方

Tips

参考リンク

  • Civitai - modelなどの共有サイト