EasySdxlWebUi のしくみ - Zuntan03/EasySdxlWebUi GitHub Wiki

EasySdxlWebUi は Stable Diffusion Web UI のインストールと初期設定をしているだけです。
ですので forgea1111 も中身はオリジナルそのままです。

自動化には「勝手に変なことをしているのでは?」といった懸念がつきまといます。
より安心して EasySdxlWebUi を利用できるように、EasySdxlWebUi のしくみについて説明します。

フォルダとファイルの役割

どこに何があって何をしているのか、をフォルダとファイルの役割から説明します。

ルートフォルダ

  • Download/: インストール後に様々なファイルを追加でダウンロードするフォルダです。
  • output/: 生成画像が保存されるフォルダです。
  • output-grid/: 複数枚の生成画像を並べたグリッド画像が保存されるフォルダです。
  • SdxlWebUi/: EasySdxlWebUi 本体のフォルダです。
  • DownloadAll.bat: Download/ の追加でダウンロードするファイルを、ほぼ全てダウンロードします。
    • ストレージを数百GB オーダーで消費しますので、ご注意ください。
    • 最後に Download/Lora/PonyNote.bat の操作が必要になります。
    • 手動でのダウンロードが必要な Download/Tagger/e621-v3-20221117-sgd-e32.bat はダウンロードしません。
  • ImageViewer.bat: 生成画像をリアルタイムに好きなサイズで画面に表示できる 画像ビューア です。
  • LamaCleanerCpu.bat: 手指などの画像の修正に便利な LamaCleaner を CPU で起動します。
    • 画像生成や学習で GPU を使用していても利用できますが、画像の修正が遅くなります。
  • LamaCleanerGpu.bat: 手指などの画像の修正に便利な LamaCleaner を GPU で起動します。
    • 画像の修正は高速ですが、画像の生成や学習で GPU を併用していると、色々と不安定になる場合があります。
  • SdxlWebUi-a1111.bat: SdxlWebUi/stable-diffusion-webui/ にある a1111 (AUTOMATIC1111/stable-diffusion-webui) を起動します。
  • SdxlWebUi-forge.bat: SdxlWebUi/stable-diffusion-webui-forge/ にある forge (lllyasviel/stable-diffusion-webui-forge) を起動します。
  • SdxlWebUi-forge-AlwaysGpu.bat: SdxlWebUi-forge.bat--always-gpu オプション付きで起動します。
    • 起動オプションの指定サンプルを兼ねています。
      必要に応じてこのファイルをコピーして、起動オプションを変更してください。
  • SdxlWebUi-forge-DisableAutoLaunch.bat: SdxlWebUi-forge.bat をブラウザ自動表示を無効にして起動します。
    • a1111 でも無効にしたい場合は、このファイルをコピーして forgea1111 に書き換えてください。
  • SdxlWebUi-Update-a1111.bat: a1111 を更新します。
  • SdxlWebUi-Update-forge.bat: forge を更新します。

SdxlWebUi フォルダ

EasySdxlWebUi 本体のフォルダです。

モデルや LoRA などの各リソースフォルダにある Link-Drag&DropFolder.bat に、既存の Stable Diffusion Web UI 環境の各リソースフォルダをドラッグ&ドロップすると、既存環境のフォルダからシンボリックリンクを貼ってリソースを共有できます。

リンク後のフォルダ名が長く UI の表示欄に収まらない場合(例: Model/Stable-diffusion/)は、リンクしたフォルダ名をリネームで短縮できます。(例: Model/Stable-diffusion/Model/S/

config.jsonui-config.json といった設定ファイルのマージは、記載の項目のみを上書きし、他の項目は元のまま残します。

  • ControlNet/: ControlNet のモデルを置くフォルダです。
    forge と a1111 の models/ControlNet/ にシンボリックリンクします。
  • EasyPromptSelector/: ボタンでプロンプトを入力できるようにする Easy Prompt Selector のタグファイル (*.yml) を置くフォルダです。
    forge と a1111 の extensions/sdweb-easy-prompt-selector/tags/ にシンボリックリンクします。
  • Embedding/: Embedding(TI) を置くフォルダです。
    forge と a1111 の embeddings/ にシンボリックリンクします。
  • Lora/: Lora を置くフォルダです。
    forge と a1111 の models/Lora/ にシンボリックリンクします。
    • ダウンロード済みの LoRA はお好みのサブフォルダに移動して分類できます。
  • Model/: モデルを置くフォルダです。
    forge と a1111 の models/Stable-diffusion/ にシンボリックリンクします。
    • ダウンロード済みのモデルはお好みのサブフォルダに移動して分類できます。
  • setup/: EasySdxlWebUi のソースコードやリソースやライブラリがあるフォルダです。
    通常の利用の範囲ではアクセスする必要はありませんが、重要なファイルのみ紹介します。
    • res/(ui-)config-(forge|a1111).json: EasySdxlWebUi の更新時にマージする、EasySdxlWebUi の設定ファイルです。
      • EasySdxlWebUi が何を設定しているのかを確認できます。
      • このファイルで設定されている項目を、SdxlWebUi/config.jsonSdxlWebUi/ui-config.json で上書きすることもできます。
    • Setup-SdxlWebUi-Common.bat: forge と a1111 の両方にインストールされる拡張機能を確認できます。
    • Setup-SdxlWebUi-(forge|a1111).bat: forge や a1111 のどちらかにのみインストールされる拡張機能を確認できます。
    • Setup-SdxlWebUi-Resource.bat: 初回インストール時にのみダウンロードされるリソースを、再ダウンロードできます。
  • stable-diffusion-webui/: AUTOMATIC1111/stable-diffusion-webui のフォルダです。
    • EasySdxlWebUi による設定共有に対応していない a1111 への変更は、このフォルダ内を直接変更します。
    • このフォルダを削除して SdxlWebUi-Update-a1111.bat を実行すると、a1111 を再インストールできます。
  • stable-diffusion-webui-forge/: lllyasviel/stable-diffusion-webui-forge のフォルダです。
    • EasySdxlWebUi による設定共有に対応していない forge への変更は、このフォルダ内を直接変更します。
    • このフォルダを削除して SdxlWebUi-Update-forge.bat を実行すると、forge を再インストールできます。
  • TaggerDeepDanbooru/: DeepDanbooru 形式のタグ付けモデルを置くフォルダです。
  • TaggerOnnx/: ONNX 形式のタグ付けモデルを置くフォルダです。
  • Upscaler/: ESRGAN によるアップスケーラを置くフォルダです。
    forge と a1111 の models/ESRGAN/ にシンボリックリンクします。
  • Vae/: VAE を置くフォルダです。
    forge と a1111 の models/VAE/ にシンボリックリンクします。
  • venv-a1111/: a1111 用の Python 仮想環境です。
    a1111 のアップデート後に不具合が発生した場合に削除します。
  • venv-forge/: forge 用の Python 仮想環境です。
    forge のアップデート後に不具合が発生した場合に削除します。
  • Wildcard/: プロンプトをランダムに選択する sd-dynamic-prompts のワイルドカードファイル(選択肢ファイル)を置くフォルダです。 forge と a1111 の extensions/sd-dynamic-prompts/wildcards/ にシンボリックリンクします。
  • (ui-)config.json: forge と a1111 の (ui-)config.json にマージするユーザー用の設定ファイルです。
    • forge と a1111 に同じ設定を適用したり、環境を再構築しても設定を残せたり、EasySdxlWebUi による設定を上書きしたりできます。

Download フォルダ

インストール後に様々なファイルを追加でダウンロードするためのフォルダです。
ダウンロード用の bat ファイルは、実行時にダウンロード元の Web ページを開きますので、ご確認ください。

ダウンロード後のモデルや LoRA のファイルは、お好みのサブフォルダに移動して分類することができます。

  • ControlNet/lllyasviel-sd_control_collection.bat: lllyasviel/sd_control_collection から SDXL 用の ControlNet モデルをすべて SdxlWebUi/ControlNet/ にダウンロードします。
  • Forge/Zero123.bat: forge の Z123 タブから利用できる、Stable Zero123 モデルを SdxlWebUi/stable-diffusion-webui-forge/models/z123/ にダウンロードします。
  • Lora/: 追加学習の LoRA ファイルをダウンロードします。
  • Model/: 画像生成のモデルファイルをダウンロードします。
    • SdxlWebUi の Civitai Helper タブで Scan Models for CivitaiScan をすると、Checkpoints でアイコンが表示されます。