Stable Diffusion – xFormersを使って画像生成速度をUPする

この記事はStable Diffusionの高速化設定として定番のxFormersについて解説した記事です。webuiにはデフォルトで組み込まれていますが、使用するには有効化が必要であったり、アップデートの方法が特殊だったりするのでこの記事にまとめていきます。

目次

xFormersとは

Stable DiffusionにおいてxFormersとは画像生成を高速化するためのオプションの一つです。Nvidia製のGPUのみで使用でき、有効化することで画像の生成速度を上げ、VRAM使用量を減らすことができます。これにより画像生成時のcuda out of memoryエラーを回避しやすくなります。

xFormersの有効化方法

\stable-diffusion-webui\webui-user.batにオプション--xformersを追加します。追加はwebui-user.batをtxtファイルなどで開いて行います。

下記がwebui-user.batのデフォルトです。なおアップデートにより変更になる可能性はあります。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=

call webui.bat

オプションはset COMMANDLINE_ARGS=の後に追加します。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers

call webui.bat

追加後、xFormersを使用する場合はwebui-user.batから起動を行ってください。xFormersを使わずにwebuiを起動するには--xformersを削除してから起動を行ってください。

xFormersのアップデート方法

現在のバージョンを確認

\stable-diffusion-webui\venv\ScriptsにてPowerShellを開いて以下をコピー&ペーストしてください(該当フォルダにて右クリックからターミナルを選択)。

.\activate

すると(venv)\stable-diffusion-webui\venv\Scriptsとなりますので、xFormersの現在のバージョンを確認します。

python -m xformers.info

ズラズラと出てきた一番上にxFormersのバージョンが表示されています。

続いてPytorchのバージョンを確認します。

python -c "import torch; print( torch.__version__ )"

Pytorchのバージョンが表示されます。

xFormersのアップデート

2023年5月6日現在のxFormersの最新バージョンは0.0.19です。これにはPytorchの2.0.0+cu118が必要になります。

いきなり本番環境でアップデートを行うとエラーが生じる可能性があります。不安な方はテスト用のstable-diffusion-webuiフォルダを作成して、一度そこで試してから本番環境で行うと予期せぬ面倒が避けられるかもしれません。

なおテスト環境は本番環境をコピーするのではなくstable-diffusion-webuiを初めから入れる方法をお勧めします。

準備が整いましたら、先ほどと同じ\stable-diffusion-webui\venv\ScriptsにてPytorchをアップデートします。こちらは--index-url https://download.pytorch.org/whl/cu118が付いているためcu118のその時の最新バージョンがインストールされます。

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

この状態ではxFormersの古いバージョンが残っているためxFormersが要求しているバージョンとは異なりますというようなエラーが出ますが気にしないでください。

PyTorchの異なるバージョンをインストールする場合など何かしらの理由でコマンドの変更が必要な場合にはこちらをご利用ください。

インストールが完了したらバージョンを確認します。

python -c "import torch; print( torch.__version__ )"

続いてxFormersのアップデートを行います。

pip install -U xformers

この時点でエラーが出ていなければPytorchとxFormersの互換性には問題がないと思われます。

インストールが完了したらバージョンを確認します。

python -m xformers.info

xFormersのバージョンが0.0.19となっていれば成功です。

有効化した仮想環境は以下のコマンドで無効化できます。

deactivate

以上です。

コメント

コメントする

※ スパム対策のためコメントは日本語で入力してください。また、コメントは管理者による承認作業が完了次第、コメントエリアに掲載されます。

CAPTCHA

目次