見出し画像

How to install Stable Diffsion WebUI reForge with CuDNN 9.x


2026年6月1日現在、Pytorch2.12.0+cu132に対応したxformers0.0.35が存在する為、以下最新版に合わせて記述を改訂しました。

Stable Diffusion WebUI reForgeの登場

相対的に、A1111よりも低スペックPCで動作し、かつ高速に動作することで日本でも愛用者の多かった、かの「天才」lllyasviel氏によるStable Diffusion WebUI Forgeですが、先だって氏から発表があったように、以降は現在の拡張機能とほぼ互換性を失うであろうgradio 4.x上での開発に移行するとの事で、gradio 3.41.2で動作するForgeの開発は事実上停止していました。
(現在はgradio4.x上で動作する新型Forgeが公開されている)

しかし先日、引継ぎの経緯等の詳細は不明ながら、gradio 3.41.2環境でのForge開発プロジェクトの後継として、Stable Diffusion WebUI reForgeが発表され、恐らくForgeのバージョン0.0.17の後継と言う意味であろう0.0.20が発表されました。

ちなみに、A1111においてもgradio 4.x版が開発中の様ですが、現時点で私がテストした処、いきなりControlNetから使用できませんでしたね。

ControlNet自体がlllyasviel氏の作品ですから、いずれgradio4.xに対応してくるのでしょうが、現在gradio3.41.2で動作する拡張機能はかなり互換性がなくなりそうなので、A1111にしろforgeにしろgradio4.x環境に移行するのは大変であろうと思います。

なまじgradio3.41.2環境前提の期間が長く続いてしまい、移行するのも拡張機能の開発者各位大変な手間でしょうから。

ただ、lllyasviel氏のコメントを読むと、gradio3.41.2自体が色々な意味で開発上のボトルネックになっているらしく、gradio4.x環境への移行は早晩避けられないのかなと思います。

してみると、そもそもgradio自体が不要なComfyUIは、その点では優れている設計なんだなと改めて思います。

ともあれgradio 3.41.2環境での開発を継続してくれそうなreForgeですが、まずは自身のローカル環境にインストールを行い、Forgeで使用していた拡張機能含めて一通り移植が完了したので、インストール方法について解説していきます。

PythonとGitのインストールについて

PythonとGitについては、既にインストールされている前提で以下解説しますが、Microsoft Visual Studio含めて、そのインストール方法については以下記事で解説しています。尚、以下記事ではPython3.12.xをインストールしていますが、ここでは必ずPython3.11.xをインストールしてください。

各種Pythonライブラリーのインストール方法

まず下図のように、任意のフォルダに上のリンクからコードを取得し、「git clone https://github.com/Panchovix/stable-diffusion-webui-reForge.git」を実行して、ファイルをダウンロードします。

次に下図のように、インストールフォルダにパスを移動し、以下を実行して、仮想環境を作成し、アクティベートします。

python -m venv venv
venv\scripts\activate

ここからは私なりのレシピになりますが、下の記事のようにForgeではCuDNN 9.xを内装している最新のPytorch 2.12.0+cu132を使用できるので、ここではそれを使用します。また、Pytorchインストール後は、下の記事にある通り、CuDNNの手動更新も行っておくのがお勧めです。

xforemrsとtritonのインストール方法

以下を実行します。

pip install xformers
pip uninstall torch
pip install -U triton-windows

Pytorchのインストール

次に、以下を実行します。ここでtorchaudioのみ、私がビルドした非公式版を使いますが、これはtorchaudio公式の開発が2.11.0で終了した為です。

pip install -U torch torchvision --index-url https://download.pytorch.org/whl/cu132
pip install https://huggingface.co/ussoewwin/torchaudio-built-on-cu132-for-windows/resolve/main/torchaudio-2.12.0%2Bcu132-cp313-cp313-win_amd64.whl

次に以下を実行し、pipを更新します。

python.exe -m pip install --upgrade pip

onnx関連のインストール


onnx関係は必ず必要になるので、ここでインストールしておきます。

python.exe -m pip install importlib_metadata onnx polygraphy
pip install coloredlogs flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ort-cuda-13-nightly/pypi/simple/ onnxruntime-gpu

insightfaceのインストール

次に、insightfaceをインストールしていきます。

これはIP-AdapterやReactorで必要になるライブラリーで、A1111は自動でインストールされる筈ですが、どうも最新のreForgeとForgeでは自動でインストールされない仕様になっています。A1111でも結局は必要になるライブラリーなので、ここでインストールしておけば確実です。

以下のコマンドを実行してください。関連するライブラリーも全てインストールされます。

pip install https://huggingface.co/ussoewwin/Insightface_for_windows/resolve/main/insightface-0.7.3-cp311-cp311-win_amd64.whl

もしネットワーク経由のインストールが失敗する時は、以下で公開しているPython3.11用のwhlファイルをローカルドライブにダウンロードして、インストールして下さい。

インストールコマンドは以下のようになります。

pip install "whlファイルのパス"

次に、webui-user.batを編集します。

ちなみに、私の起動オプション記述は以下の通りです。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --pin-shared-memory --cuda-malloc --cuda-stream --opt-channelslast --skip-python-version-check --autolaunch
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6,max_split_size_mb:128


@REM Uncomment following code to reference an existing A1111 checkout.
@REM set A1111_HOME=Your A1111 checkout dir
@REM
@REM set VENV_DIR=%A1111_HOME%\\venv
@REM set COMMANDLINE_ARGS=%COMMANDLINE_ARGS% ^
@REM  --ckpt-dir %A1111_HOME%\\models\\Stable-diffusion ^
@REM  --hypernetwork-dir %A1111_HOME%\\models\\hypernetworks ^
@REM  --embeddings-dir %A1111_HOME%\\embeddings ^
@REM  --lora-dir %A1111_HOME%\\models\\Lora

call webui.bat

ここまで設定を終えたら、下図のようにwebui-user.batをダブルクリックして、インストールを開始します。

ちなみに、私の環境では下図のようにPythonのバージョンは3.11.9を使用していますが、警告メッセージが出るだけで問題なく動作します。その点はForgeもA1111も同様です。

--skip-python-version-checkというオプションを付けると、警告自体を消すことが出来ます。

インストールが完了すると、下図のようにWebUIが起動しますが、下図のようにPython 3.11.9でも問題なく立ち上がりますし、拡張機能も私がテストした限りでは、全て使用できました。

ベンチマーク結果

ちなみに速度ですが、設定次第でForgeより更に高速です。Forgeでは効果が全く出なかったA1111にもあるNegative Promptの省略機能がreForgeではきちんと働く為、

下図のようにTom's Hardwareベンチマークでは、A1111のPytorch 2.3.1+Cu12.1よりも高速です。尚、GPUはRTX4070 12GBです。

下図は、A1111でのTom's Hardwareベンチマークですが、上半分がTensorRTで、下半分がPytorchです。さすがにreForgeもTensorRTには及びませんが、Pytorch環境同士ならreForgeが勝ります。A1111だと大体21it/s台ですが、上図のようにreForgeでは23から24it/s台を叩き出します。ちなみにreForge同士の比較であっても、Pytorch 2.7.0+Cu128(加えてCuDNN手動更新済)環境は、Pytorch 2.3.1+Cu12.1環境よりも1it/s位は速いです。

絵柄に関しては、ほぼForgeと同様の絵になる気はします。

スケジューラーに関しても下図のように、A1111で進化した選択機能を継承しているので、Forgeよりも便利になりました。

reForgeの更新方法

最後にreForgeの更新方法に触れておきますが、実に簡単です。下図のように仮想環境にアクティベートした上で、「git pull」と実行するだけです。下図の場合は、既に最新版に更新済みなので、そういう表示になっています。

このUpdate作業も、下のようにバッチファイルを作っておくと楽です。このレベルのものは特に高度な知識を要するものではないので、作れるようになっておくと色々自動化できます。

@echo off
cd インストールフォルダ
call venv\Scripts\activate.bat
git pull



いいなと思ったら応援しよう!