AUTOMATIC1111版Stable Diffusion web UIでSDXL 0.9モデルを試す
Last update 07-14-2023
※SDXL 1.0モデルも同様に利用できます
07-25-2023追記:本日公開されたv1.5.0にて正式対応されました。そのため、現在はsdxlブランチを指定する必要はありません。
下記の記事もお役に立てたら幸いです(宣伝)。
→ Stable Diffusion v1モデル_H2-2023
→ Stable Diffusion v2モデル_H2-2023
▼ 本記事について
概要
Stable Diffusion形式のモデルを使用して画像を生成するツールとして、AUTOMATIC1111氏のStable Diffusion web UI(以下、AUTOMATIC1111 web UI)が有名です。SDXL 0.9に対応したそうなので試してみます。
動作環境
Geforce RTX 2xxx以降(VRAM 8GBは不明、12GBは可)、Python 3.10、CUDA Toolkit 11.8、Git、なるべく高速なSSD、なるべく高速なインターネット回線、このあたりがそろっていれば大丈夫だと思います。
参考にした情報
SD XL support #11757
https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/11757
関連情報(他の方法)
下記は、別のUI(SD.Next)を利用する方法です。
下記は、VRAM 8GBで実行できる方法です。
下記は、SD.Nextを利用する方法です。SD-XL 0.9-base Model のほか、SD-XL 0.9-refiner Model の併用も試されています。refinerはかなりのVRAMを消費するようです。
下記は、ComfyUIを利用しています。
ぶるぺん氏が生成を色々試されています。
▼ インストール1
既にAUTOMATIC1111 web UIを利用中であっても、別のディレクトリに新規インストールする方法をとっています。利用中の環境に対して、以降の操作を行うことはおすすめしません。
モデルのダウンロード
https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9 へアクセスして申請を行い、許可されたら「sd_xl_base_0.9.safetensors」をダウンロードしてください。
AUTOMATIC1111 web UIのダウンロード
作業ディレクトリを「C:\aiwork2」としていますので、適宜読み替えてください。コマンド プロンプトを開いて、作業ディレクトリに「stable-diffusion-webui」のディレクトリが無い状態で、下記のコマンドを順に実行してください。行頭の「>」は入力しないでください。
>cd c:\aiwork2
>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
>cd stable-diffusion-webui
>git checkout -b sdxl origin/sdxl執筆時点では、SDXL 0.9モデルへの対応はsdxlブランチで行われているため、これに切り替えるところまで行いました。
参考まで、コミットIDを確認しておきました。リモート側のコミットIDは、https://github.com/AUTOMATIC1111/stable-diffusion-webui/commits/sdxl で確認できます。
>git log -1
commit 92a3236161099aca735c3f59f30859750d9e7452 (HEAD -> sdxl, origin/sdxl)
Merge: 9a3f35b0 9893d09b
Author: AUTOMATIC1111
Date: Fri Jul 14 10:12:48 2023 +0300モデルのコピー
先ほどダウンロードした「sd_xl_base_0.9.safetensors」を、「C:\aiwork2\stable-diffusion-webui\models\Stable-diffusion」にコピーしてください。これを行わないと、この後の起動途中でモデル(runwayml/stable-diffusion-v1-5)のダウンロードが始まってしまいます。
▼ インストール2~実行
バッチファイルの作成
新規ファイル「C:\aiwork2\webui.bat」を下記の内容で作成してください。なるべく、「--no-half-vae」または「--disable-nan-check」を付けておいてください。「--opt-sdp-no-mem-attention」は個人的に付けているもので、無くても動作します。
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--opt-sdp-no-mem-attention --no-half-vae
cd stable-diffusion-webui
call webui.bat
cd ..最後に、web UIを起動してください。パッケージのダウンロード等で時間を要します。
>webui
...
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
...
Model loaded in 59.8s (calculate hash: 12.1s, load weights from disk: 0.8s, create model: 19.6s, apply weights to model: 20.4s, apply half(): 3.6s, move model to device: 2.6s, calculate empty prompt: 0.4s).最後の表示で止まったら、Webブラウザで http://127.0.0.1:7860/ にアクセスしてください。
推論の実行
左上にモデルを選択するプルダウンメニューがあります。SDXL 0.9のモデルが選択されていることを確認してください。

SDXLは基本の画像サイズが1024x1024なので、デフォルトの512x512から変更してください。それでは「prompt」欄に入力を行い、「Generate」ボタンをクリックして画像を生成してください。

生成した画像は「C:\aiwork2\stable-diffusion-webui\outputs\txt2img-images」の中に保存されています。色々遊んでみてください。

終了する
やめる場合は、コマンド プロンプトのウインドウで「Ctrl + C」を押してください。もし「バッチジョブを終了しますか」と表示されたら、「N」を入力してEnterを押してください。待機状態であれば、おもむろにウインドウを閉じても大丈夫だと思います。
▼ メモ
アンインストールの手順
もし、必要なファイルがあれば移動してください。その後、実行を終了した状態で「stable-diffusion-webui」のディレクトリを削除してください。すでにAUTOMATIC1111 web UIを利用中の方は、削除する方を間違えないよう十分に注意してください。
▼ その他
私が書いた他の記事は、メニューよりたどってください。
noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。
