この記事は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
以上です。
コメント