ホーム > カテゴリ > Python・人工知能・Django >

Stable Diffusion XL(SDXL)をインストールする【Stable Diffusion Web UI】

今回は7月27日に公開されたStable Diffusion XL(SDXL)をStable Diffusion Web UIで利用する方法となります。Web UIだとお手軽に使いこなせます。

SDXLの流れとしてはSDXL-base-1.0(ベース)で画像生成を行い、SDXL-refiner-1.0(リファイナー)で画像の精度を引き上げるようになっています。

※この記事は人工知能の教育・研究を目的としています。

近未来都市と未来人(出力例)

SDXL-base-1.0

SDXL-refiner-1.0

※リファイナーの使用方法によって精度は異なります。(調整不足?)

Stable Diffusion Web UIの設定

新規インストール

Stable Diffusionのインストール方法(AUTOMATIC1111)【初心者/AIイラスト/画像生成AI/Windows】

インストール済みの方

sd.webuiフォルダにあるupdate.batを実行するだけです。

※Stable Diffusion Web UIは1.5.0以降でSDXLが利用可能です。

SDXLのインストール

SDXL-base-1.0

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main

「sd_xl_base_1.0.safetensors」(6.94 GB)をダウンロードします。

SDXL-refiner-1.0

https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main

「sd_xl_refiner_1.0.safetensors」(6.08 GB)をダウンロードします。

設置

ダウンロードしたファイルはsd.webui/webui/models/Stable-diffusionに設置すればOKです。

SDXL VAEのインストール

https://huggingface.co/stabilityai/sdxl-vae/tree/main

「sdxl_vae.safetensors」(335 MB)をダウンロードします。

ダウンロードしたファイルはsd.webui/webui/models/VAEに設置して、す。Web UIの[Settings](右上タブ)[Stable Diffusion](左メニュー)を選択して「SD VAE」のリストで「sdxl_vae.safetensors」を選択後に「Apply settings」ボタンを押せばOKです。

SDXLの使い方

画像生成(ベース)

Web UIを起動して左上にあるStable Diffusion checkpointで「sd_xl_base_1.0.safetensors」をリストから選択すれば利用可能となります。

// プロンプト
Near-future city and futuristic people
// ネガティブプロンプト
※今回はなし

// その他設定
Sampling steps 30~50
Width,Heightは共に1024(またはそれ以上)
Batch countとBatch sizeは1
CFG Scaleは7
Sampling methodはDPM++ 2M Karras

サンプリングメソッドはDPM++でKarrasがあるものが良いそうです。

精度向上(リファイナー)

img2imgタブを選択後にStable Diffusion checkpointで「sd_xl_refiner_1.0.safetensors」をリストから選択すれば利用可能となります。

// プロンプト
Near-future city and futuristic people
// ネガティブプロンプト
※今回はなし

// 画像設定 
ベースで生成された画像を設定します。

// その他設定
Sampling steps 30~50
Width,Heightは共に1024(元のサイズ)
Batch countとBatch sizeは1
CFG Scaleは7
Sampling methodはDPM++ 2M Karras

// ココも追加
Denoising strengthは0.25

Denoising strengthはWeb UIのデフォルトは0.75ですが0.25 にします。この数値を大きくすると画像がより鮮明になりますが、画像の内容が大幅に変化する可能性があります。

エラーが発生する

torch.cuda.OutOfMemoryErrorのエラーが発生する場合はGPUメモリが不足している可能性があります。私の場合は黒いコンソールを再起動したら動作するようになりました。

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 160.00 MiB (GPU 0; 11.00 GiB total capacity; 9.68 GiB already allocated; 0 bytes free; 10.21 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

SDXLのGPUメモリは8GB以上を推奨です。対応環境はGeForce RTX 20 シリーズ以上とありましたが、GeForce GTX 1080 Ti 11GBのGTX系でも動作可能のようでした。以上となります。

関連記事

ControlNetのインストール、使い方、モデルの早見表【Stable Diffusion】

公式サイト

https://github.com/Stability-AI/generative-models

参考サイト

https://aituts.com/sdxl/ (英語)





関連記事



公開日:2023年07月27日
記事NO:02915