以前の記事でStable Diffusion WebUI用にダウンロードしたCheckpointやLoRA、VAEなどをComfyUIで共有する方法について解説しましたが、今回はStable Diffusion WebUI(AUTOMATIC1111)で Checkpointを配置するデフォルトフォルダ(\stable-diffusion-webui\models\Stable-diffusion)以外の 任意のフォルダ内のCheckpointを読み込む方法 を解説します。
この方法を知っておけば、増えすぎたCheckpointなどでストレージが圧迫され、容量不足になった時などの一時的な対処法として使えると思います。
1.Stable Diffusion WebUIの仕様
Stable Diffusion WebUI(AUTOMATIC1111)の仕様として、起動時に以下の順番でCheckpointを読み込むようです。
- デフォルトフォルダ \stable-diffusion-webui\models\Stable-diffusion を読み行く
- 起動オプションで指定されたフォルダを読みに行く
2.起動オプションの追加方法
\stable-diffusion-webuiフォルダ内にある webui-user.bat にオプションのコマンドラインを追加します。
赤文字の部分が追加したオプションです。
下の例では、d:\sdxl フォルダにあるCheckpointを読み込ませるようになっています。
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --ckpt-dir "D:\sdxl"
call webui.bat
3.検証
この検証では、以下の2点を検証します。
- デフォルトフォルダ内のCheckpointと任意のフォルダ内のCheckpointを読み込めるか?
・\stable-diffusion-webui\models\Stable-diffusion(デフォルトフォルダ)
・\sdxl(任意フォルダ) - それぞれのフォルダ内のCheckpointで、きちんと画像生成できるか?
(1)デフォルトフォルダ内のCheckpoint読み込みと画像生成
デフォルトフォルダ \stable-diffusion-webui\models\Stable-diffusion に以下の3つのCheckpointがあります。
この場合、当然のことながらWebUIでは3つのCheckpointを選択できます。また、画像生成も問題あません。
(2)任意のフォルダ内のCheckpoint読み込みと画像生成
次に任意のフォルダである d:\sdxl に以下の2つのSDXL1.0を置き、webui-user.bat にオプションのコマンドラインを追加して起動します。
デフォルトフォルダ内の3つCheckpointに加え、任意フォルダ内の2つのCheckpointも読み込みました。画像生成も問題ありません。
この検証により、Checkpointを2つのフォルダに分散して管理できることが分かりました。
検証はしていませんが、起動オプションの書き換えでembeddingsなどでも同様のことが行えるようです。
–hypernetwork-dir “\path\to\hypernetworks”
–embeddings-dir “\path\to\embeddings”
今回は、 任意のフォルダ内のCheckpointを読み込ませる方法 を解説しました。
最後までお読みいただき、ありがとうございました。
コメント