Stablediffusionのextention sd-webui-reactorをインストールしてトラブル発生!
トラブルのエラー
[BUG] ...RuntimeError: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1029 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "C:\Program Files\Python310\lib\site-packages\onnxruntime\capi\onnxruntime_providers_tensorrt.dllStablediffusion起動中に上記のエラーが表示された。これではreactorは使えない。
解決備忘録
備忘録を元に実施してトラブルが発生しても責任は負いません。要注意!
何が起きるのか分からないのでstable-diffusion-webuiフォルダは丸ごとバックアップしておこう。
文中では、stable-diffusion以外で使用するPythonのことを便宜的にWindows用Pythonと書く。
チェック1
Stablediffusion を最新版にして差し支え無ければ最新版にする。powershell #起動
cd C:\Path\To\stable-diffusion-webui #正しいPATHは自身の環境使用してね
git pull
なにか色々表示されだしたら更新してる。
チェック2
以下3点は依存関係あるのでバージョンの互換性を把握しよう!・ONNX Runtime(pipから通常のインストールではダメ!罠!チェック5記載のコマンド通りにインストール)
・CUDA(NVIDIAのソフトインストール)
・cuDNN(NVIDIAのソフトインストール)
このサイトで互換性みる。
https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html#requirements
チェック3
NVIDIAソフトはちゃんとインストールしてる?・CUDA Toolkit(オイラが使用したバージョン cuda_12.6.0_560.76_windows.exe)
・cuDNN(オイラが使用したバージョン cudnn_9.3.0_windows.exe)
とりあえずチェック1の互換性に気をつけながら、インストールプログラムはググって公式HPからダウンロードする!
再起動忘れずに。
チェック4
Python複数存在しない?あるんじゃない?パソコン初心者殺しの罠!Windows用とStableDiffusion用
コマンドプロンプト起動後のデフォルトのPythonはWindows用になっていた
コマンドプロンプト起動して、以下コマンド実行する
where python
そして表示される
C:\Users\xxxx\AppData\Local\Programs\Python\Python310\python.exe ←Windows用
C:\Users\xxxx\AppData\Local\Microsoft\WindowsApps\python.exe ←Windows用
複数表示されたpathに StableDiffusionのpathが含まれなければ
Windows用のPythonで実行されている!
StableDiffusion用のPythonで実行されたのなら更に1行多く表示される
where python
C:\Users\xxxx\AppData\Local\Programs\Python\Python310\python.exe ←Windows用
C:\Users\xxxx\AppData\Local\Microsoft\WindowsApps\python.exe ←Windows用
C:\Path\To\stable-diffusion-webui\venv\Scripts\python.exe ←StableDiffusion用
ちなみにWindows用のPythonを使用して作業しても本件は解決しない!Python用のを使用しよう
コマンドプロンプトから
cd C:\Path\To\stable-diffusion-webui #正しいPATHは自身の環境使用してね
.\venv\Scripts\activate # 仮想環境をアクティブにする
python --version # Pythonのバージョンを表示する
(venv) C:\Path\To\stable-diffusion-webui> #プロンプトはこんな感じで表示される。
チェック5
では、必要なパッケージをインストールする(venv) C:\Path\To\stable-diffusion-webui> の状態から
python
python -m pip install --upgrade pip
pip uninstall rembg
pip uninstall onnxruntime
pip install rembg[gpu] onnxruntime-gpu #install rembg with GPU support
チェック6
チェック4までやってダメならStableDiffusionのrequirements.txt ファイルに記載されたパッケージを強制上書きインストールする。
多少リスクもあるので自己判断で!
(venv) C:\Path\To\stable-diffusion-webui> の状態から
pip install -r requirements.txt --ignore-installed #強制的上書き
ちなみに、下記のコマンドであれば、強制上書きではない。
pip install -r requirements.txt
ディスカッション
コメント一覧
まだ、コメントがありません