SD.NextをWindows PCで起動してSDXL 0.9モデルを試す
Last update 07-15-2023
※SDXL 1.0モデルも同様に利用できるはずです
下記の記事もお役に立てたら幸いです(宣伝)。
→ Stable Diffusion v1モデル_H2-2023
→ Stable Diffusion v2モデル_H2-2023
▼ 本記事について
概要
Stable Diffusion形式のモデルを使用して画像を生成するツールとして、AUTOMATIC1111氏のStable Diffusion web UI(以下、AUTOMATIC1111 web UI)が有名です。SD.Nextはそこからフォークして独自に進化を遂げているもので、作者の名を取ってVladmandic版WebUIとも呼ばれているようです。試験的にSDXL 0.9に対応したとの情報があったので、この機会に導入してみます。
動作環境
Geforce RTX 2xxx以降(VRAM 8GBは不明、12GBは可)、Python 3.10、CUDA Toolkit 11.8、Git、なるべく高速なSSD、なるべく高速なインターネット回線、このあたりがそろっていれば大丈夫だと思います。
参考にした情報
◆ SD.Nextのリポジトリ
https://github.com/vladmandic/automatic
◆ SDXL 0.9の実験的サポートに関する情報
https://github.com/vladmandic/automatic/wiki/Diffusers
◆ Redditの情報
SD.Next Vlad with SDXL 0.9 working right now (experimental)
https://www.reddit.com/r/StableDiffusion/comments/14ub4zn/sdnext_vlad_with_sdxl_09_working_right_now/
関連情報(行き場がないのでここで)
下記は、AUTOMATIC1111 web UIを利用する方法です。
下記は、VRAM 8GBで実行できる方法です。
下記は、SD.Nextを利用する方法です。SD-XL 0.9-base Model のほか、SD-XL 0.9-refiner Model の併用も試されています。refinerはかなりのVRAMを消費するようです。
下記は、ComfyUIを利用する方法です。
ぶるぺん氏が生成を色々試されています。
▼ インストール~動作確認
SD.Nextを普通に利用することも考慮して、少しまどろっこしい手順になっています。面倒な方は常に「webui --backend diffusers」で起動して、「Download the default model?」はNを選択して、初回起動時の動作確認を飛ばしてください。いったん終了する必要がなくなります。
事前の準備
https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9 へアクセスして申請を行い、許可されたら https://huggingface.co/settings/tokens よりアクセストークンを取得してください。
ダウンロードと初回の起動
作業ディレクトリを「C:\aiwork」としていますので、適宜読み替えてください。コマンド プロンプトを開いて、下記のコマンドを順に実行してください。パッケージのインストール等でしばらくかかります。
cd \aiwork
git clone https://github.com/vladmandic/automatic
cd automatic
webui
この後、エラーが出て終了したので、もう一度実行しました。
webui
デフォルトのモデルをダウンロードするか聞かれたので、試しに「Y」を入力してみたところ、Stable Diffusion 1.5のダウンロードが始まりました。「git clone」を行った後ですぐに、「C:\aiwork\automatic\models\Stable-diffusion」へモデルをコピーしておくのが良いかもしれません。
INFO Using data path: C:\aiwork\automatic
INFO Available VAEs: C:\aiwork\automatic\models\VAE 0
INFO Available models: C:\aiwork\automatic\models\Stable-diffusion 0
Download the default model? (y/N) y
Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to C:\aiwork\automatic\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors
下記のような表示で止まったら、起動は完了です。
INFO Startup time: 519.6s (torch=13.8s gradio=1.7s libraries=9.0s models=460.5s codeformer=0.1s
scripts=22.4s onchange=0.3s ui-txt2img=0.1s ui-img2img=0.1s ui-settings=0.8s
ui-extensions=1.6s ui-defaults=0.1s launch=0.2s app-started=0.6s checkpoint=8.4s)
動作確認
Webブラウザで http://127.0.0.1:7860/ にアクセスしてください。UIが表示されます。動作確認のため、左上のプロンプト欄に適当に入力してから、右側の「Generate」をクリックしてください。使い方は、AUTOMATIC1111 web UIと類似しています。
実行を終了する
SDXL 0.9モデルを利用する準備を行うため、いったん終了します。コマンド プロンプトのウインドウで「Ctrl + C」を押してください。「バッチジョブを終了しますか」と表示されたら、「N」を入力してEnterを押してください。
INFO Exiting
バッチ ジョブを終了しますか (Y/N)? N
続行するには何かキーを押してください . . .
C:\aiwork\automatic>
上記のようにコマンドが入力できる状態になったら、ウインドウはそのままにしておいてください。
▼ SDXL 0.9を試してみる
執筆段階では、safetensors形式のSDXL 0.9モデルに対応していません。そのため、Diffusers形式を利用します。
バッチファイルの作成
これは必須ではないので、作成せず先に進めたい方は次の項目へ進んでください。SDXL 0.9テスト用のバッチファイルを作成したい方は、新規ファイル「C:\aiwork\sdntest.bat」を下記の内容で作成してください。
@echo off
cd automatic
call webui --backend diffusers
cd ..
通常の方法で起動して、ckptやsafetensors形式のモデルを利用したい場合は、新規ファイル「C:\aiwork\sdn.bat」を下記の内容で作成してください。
@echo off
cd automatic
call webui --backend original
cd ..
SD.Nextの起動
バッチファイルを作成した方は、コマンド プロンプトにて下記のコマンドを順に実行してください。
cd \aiwork
sdntest
バッチファイルを作成しなかった方は、コマンド プロンプトにて下記のコマンドを順に実行してください。
cd \aiwork\automatic
webui --backend diffusers
起動途中の対応
もし、モデルをダウンロードするか聞かれた場合は、「N」を入力するかEnterキーを押してください。
Download the default model? (y/N) N
その後、下記のような表示で止まったら起動完了です。Webブラウザで http://127.0.0.1:7860/ にアクセスしてください。
INFO Startup time: 27.7s (torch=4.4s gradio=0.8s libraries=2.0s codeformer=0.1s scripts=3.5s
onchange=0.3s ui-txt2img=0.1s ui-img2img=0.1s ui-settings=0.1s ui-extensions=1.4s
ui-defaults=0.3s launch=0.2s app-started=0.2s checkpoint=14.1s)
SDXL 0.9モデルのダウンロード
タブを「Models」「Huggingface」の順に選択してください。次に、入力欄へ「sdxl」と「stabilityai/stable-diffusion-xl-base-0.9」、それからHuggingFaceのアクセストークンを入力して、最後に「Download Model」をクリックしてください。
ダウンロード中は、コマンド プロンプトの画面で進捗が確認できます。サイズが大きいので気長にお待ちください。
ダウンロードが終わると、Webブラウザ側の下部に下記のようなメッセージが表示されます。
INFO sd ui_models Diffuser model downloaded: model=stabilityai/stable-diffusion-xl-base-0.9
推論の実行
左上にモデルを選択するプルダウンメニューがあります。右側のリフレッシュボタンを押すと選択できるようになるはずです。
AUTOMATIC1111 web UIと同じ要領で、画像を生成することができます。SDXLは基本の画像サイズが1024x1024なので、デフォルトの512x512から変更しました。
生成した画像は「C:\aiwork\automatic\outputs\text」に保存されています。せっかくですので、色々遊んでみてください。
終了する
やめる場合は、コマンド プロンプトのウインドウで「Ctrl + C」を押してください。もし「バッチジョブを終了しますか」と表示されたら、「N」を入力してEnterを押してください。待機状態であれば、おもむろにウインドウを閉じても大丈夫だと思います。
▼ メモ
アンインストールの手順
もし、「automatic\outputs\text」等の中身が必要であれば移動してください。その後、実行を終了した状態で「automatic」のディレクトリを削除してください。
モデルの場所について
SD.Next上でダウンロードしたDiffusers形式のモデルは、「C:\aiwork\automatic\models\Diffusers」内に保存されています。
▼ その他
私が書いた他の記事は、メニューよりたどってください。
noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。