Stable Diffusion web UI (AUTOMATIC1111) 4GのVRAMでTensorRTでの高速化検証

TensorRT 必要要件
 GPU    NVIDIA RTX GPUs with 8GB of VRAM
 RAM    16GB RAM
 Connection    Internet connectivity during installation
 Driver    NVIDIA Studio Driver 537.58, Game Ready Driver 537.58, NVIDIA RTX Enterprise Driver 537.58, and above

 

自環境

GPU Geforce RTX 3050 Ti 4GB VRAM

RAM 32GB RAM

サンプル 512x512 現在の環境で8s程度で描画可能

 

ドライバーを最新にしてみるが、TensorRTタブ表示されず、順当にNG。

 

gitで情報確認

github.com 拡張機能フォルダーで、stable-diffusion-webui-tensorrt フォルダーが存在する場合は削除。

との事なので、

stable-diffusion-webui\extensions

配下にあったので削除(以前挑戦して、失敗した残骸)

venvフォルダーを削除

Pythonの環境?を削除して再インストールする(StableDiffusionの設定などは変わらない、心配ならリネームしておくと後元の環境に戻せる)

*ファイルサイズが大きいので、ディスク容量と時間がかかる事を考慮する事。

 

stable-diffusion-webui

配下でpowershellを起動して、下記コマンド実行

    python.exe -m pip install --upgrade pip

    python -m pip install nvidia-cudnn-cu11==8.9.4.25 --no-cache-dir

    python -m pip install --pre --extra-index-url https://pypi.nvidia.com/tensorrt==9.0.1.post11.dev4 --no-cache-dir

 

エラーではじかれる
ERROR: You must give at least one requirement to install (see "pip help install")

 

下記参照

pypi.org下記実行

pip install tensorrt-dispatch==9.0.1.post11.dev4

エラー発生、メッセージに従い

pip install --no-cache-dir --extra-index-url https://pypi.nvidia.com tensorrt_dispatch

別のエラー発生、メッセージに従い

pip install --extra-index-url https://pypi.nvidia.com tensorrt-dispatch-libs

手詰まり?

 

とりあえずアップデートしてみる。

git pull
error: Your local changes to the following files would be overwritten by merge:
        modules/sd_hijack.py
        modules/sd_models.py
        webui.bat
Please commit your changes or stash them before you merge.
Aborting
Updating 89f9faa6..4afaaf8a

 

エラーメッセージなので、
modules/sd_hijack.py
modules/sd_models.py
webui.bat

をリネームして git pull
でできた。

起動したら、下記ポップアップが表示されるが起動した。

 

エラーの対策
cuDNN をダウンロードしてみる。

現在の環境のバージョン確認

nvcc --version

Build cuda_12.1.r12.1/compiler.32415258_0

だったので、12.1の最新版をダウンロード

(pip install nvidia-cudnn-cu11はじかれた原因???)

現在の環境に合わせて上書きする。

今回

C:\StableDiffusionGUI\stable-diffusion-webui\venv\Lib\site-packages\nvidia\cudnn\

上書きしたが現象変わらず。

とりあえず、TensorRTイメージを512x512固定で生成して描画するも速度変わらず(・・?

VRAMが不足していると変わらずor遅くなるとの事だったので、webui-user.batを編集medvram→変わらずlowvramで成功。

描画速度がほぼ半分、サンプル画像が約8sから約4sで可能となった。

 

pip install nvidia-cudnn-cu11

のあたり必要なかった?cu12でやり直せばエラー消える?

C:\StableDiffusionGUI\stable-diffusion-webui\venv\Lib\site-packages\nvidia\cudnn

cudnnをcudnn_oldとかにリネームしておけばエラー出ないので暫定処置。

連続して描画させると、発熱でクロックダウンされて速度が落ちるが十分高速。

無効化させる場合は、lowvram設定を解除しないと遅くなるので注意。

 

最新版をクリアインストールすればVRAM4GB普通に使えると思われる、注意事項としてはlowvramの記述をしなければVRAM不足で高速化が十分に機能しない。