私的AI研究会 > Diffusion > Diffusion_ov

「Stable Diffusion with OpenVINO™」インストール

00002-894510655_m.jpg
00003-3413607354_m.jpg
00005-3454727143_m.jpg

 高性能画像生成AI「Stable Diffusion」を検証する
 NVIDIA GPU 未搭載で Intel® CPU / Intel® GPU 搭載機種へのインストール手順

※ 最終更新:2025/02/21 

「Stable Diffusion web UI」openvinotoolkit

はじめに

実行環境の構築  Windows 

  1. 新しく仮想環境 (StableDiffusion) を作成する
    (base) conda create -n StableDiffusion python=3.10.6 -y
  2. 仮想環境(StableDiffusion) を起動する
    (base) conda activate StableDiffusion
    (StableDiffusion) conda env list
  3. プロジェクトを作成するパスに移動する
    ・「/anaconda_win/workspace_3/」がなければ作成する
    (base) cd /anaconda_win/workspace_3
  4. StableDiffusionプロジェクトを取得してパスを移動する
    (StableDiffusion) git clone https://github.com/openvinotoolkit/stable-diffusion-webui.git
    (StableDiffusion) cd stable-diffusion-webui
  5. 「StableDiffusion」起動
    (StableDiffusion) ./webui-user.bat
  6. 1度目のエラー 発生しない場合は 7.へ ※2024/12/30
    (StableDiffusion) PS C:\anaconda_win\workspace_3\stable-diffusion-webui> ./webui-user.bat
    Creating venv in directory C:\anaconda_win\workspace_3\stable-diffusion-webui\venv using python "C:\Users\izuts\anaconda3\envs\StableDiffusion\python.exe"
    venv "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\Scripts\Python.exe"
    fatal: No names found, cannot describe anything.
        :
    Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
    Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to C:\anaconda_win\workspace_3\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors
    
    *** Error loading script: openvino_accelerate.py
        Traceback (most recent call last):
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\modules\scripts.py", line 382, in load_scripts
            script_module = script_loading.load_module(scriptfile.path)
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\modules\script_loading.py", line 10, in load_module
            module_spec.loader.exec_module(module)
          File "<frozen importlib._bootstrap_external>", line 883, in exec_module
          File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\scripts\openvino_accelerate.py", line 47, in <module>
            from diffusers import (
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\__init__.py", line 5, in <module>
            from .utils import (
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\__init__.py", line 38, in <module>
            from .dynamic_modules_utils import get_class_from_dynamic_module
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\dynamic_modules_utils.py", line 28, in <module>
            from huggingface_hub import HfFolder, cached_download, hf_hub_download, model_info
        ImportError: cannot import name 'cached_download' from 'huggingface_hub' (C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\huggingface_hub\__init__.py)
        :
    ・「v1-5-pruned-emaonly.safetensors」ダウンロード途中で停止して動かない場合は 'Ctrl' + 'c' で強制終了(Webページが開くので閉じる)
    ・「stable-diffusion-webui/models/Stable-diffusion/」フォルダ内に「v1-5-pruned-emaonly.safetensors」がないことを確認
    ・手動でダウンロード
    "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"
    ・ダウンロードしたファイルを配置
    "C:\anaconda_win\workspace_3\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors"

  7. 6.を対応して再度実行する。2度目のエラー
    (StableDiffusion) PS C:\anaconda_win\workspace_3\stable-diffusion-webui> ./webui-user.bat
    venv "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\Scripts\Python.exe"
    fatal: No names found, cannot describe anything.
        :
    Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
    *** Error loading script: openvino_accelerate.py
        Traceback (most recent call last):
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\modules\scripts.py", line 382, in load_scripts
            script_module = script_loading.load_module(scriptfile.path)
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\modules\script_loading.py", line 10, in load_module
            module_spec.loader.exec_module(module)
          File "<frozen importlib._bootstrap_external>", line 883, in exec_module
          File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\scripts\openvino_accelerate.py", line 47, in <module>
            from diffusers import (
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\__init__.py", line 5, in <module>
            from .utils import (
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\__init__.py", line 38, in <module>
            from .dynamic_modules_utils import get_class_from_dynamic_module
          File "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\dynamic_modules_utils.py", line 28, in <module>
            from huggingface_hub import HfFolder, cached_download, hf_hub_download, model_info
        ImportError: cannot import name 'cached_download' from 'huggingface_hub' (C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\huggingface_hub\__init__.py)
        :
    ・下記のファイルをエディタで修正
    "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\dynamic_modules_utils.py"
     28行目をコメントアウト
        :
    25: from typing import Dict, Optional, Union
    26: from urllib import request
    27:
    28: #from huggingface_hub import HfFolder, cached_download, hf_hub_download, model_info
    29: from packaging import version
    30:
    31: from .. import __version__
        :
  8. 7.を対応して再度「StableDiffusion」実行する
    ・自動的にブラウザが起動しアプリケーション画面が表示される
    ・エラーが解消したことを確認する
    (StableDiffusion) PS C:\anaconda_win\workspace_3\stable-diffusion-webui> ./webui-user.bat
    venv "C:\anaconda_win\workspace_3\stable-diffusion-webui\venv\Scripts\Python.exe"
    fatal: No names found, cannot describe anything.
    Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)]
    Version: 1.6.0
    Commit hash: e5a634da06c62d72dbdc764b16c65ef3408aa588
    Launching Web UI with arguments: --skip-torch-cuda-test --precision full --no-half
    no module 'xformers'. Processing without...
    no module 'xformers'. Processing without...
    No module 'xformers'. Proceeding without it.
    Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
    Loading weights [6ce0161689] from C:\anaconda_win\workspace_3\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors
    Creating model from config: C:\anaconda_win\workspace_3\stable-diffusion-webui\configs\v1-inference.yaml
    Running on local URL:  http://127.0.0.1:7860
  9. ダークモードで起動する設定(任意)
    ・「webui-user.bat」を修正する(COMMANDLINE_ARGS に --theme dark を追加)
    set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half --theme=dark
  10. 起動スクリプト作成(「Power Shell」スクリプト)
    ・「/anaconda_win/stable_diffusion.ps1」
     以後「/anaconda_win/」フォルダ下で「./stable_diffusion.ps1」コマンドで起動できる
    $name = @"
    *** Stable Diffusion environment (OpenVINO) ***
    "@
    Write-Host $name
    conda activate StableDiffusion
    Set-Location '/anaconda_win/workspace_3/stable-diffusion-webui'
    ./webui-user.bat
  11. 「StableDiffusion」実行 へ進む

実行環境の構築  Linux 

  1. 新しく仮想環境 (StableDiffusion) を作成する
    (base) conda create -n StableDiffusion python=3.10.6 -y
  2. 仮想環境(StableDiffusion) を起動する
    (base) conda activate StableDiffusion
    (StableDiffusion) conda env list
  3. プロジェクトを作成するパスに移動する
    ・「~/workspace_3/」がなければ作成する
    (base) cd ~/workspace_3
  4. StableDiffusionプロジェクトを取得してパスを移動する
    (StableDiffusion) git clone https://github.com/openvinotoolkit/stable-diffusion-webui.git
    (StableDiffusion) cd stable-diffusion-webui
  5. 環境変数の設定
    (StableDiffusion) export PYTORCH_TRACING_MODE=TORCHFX
    (StableDiffusion) export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half"
  6. 「StableDiffusion」起動
    (StableDiffusion) ./webui.sh
  7. 1度目のエラー
    (StableDiffusion) XXXXX@ubuntu-lat:~/workspace_3/stable-diffusion-webui$ ./webui.sh
    
    ################################################################
    Install script for stable-diffusion + Web UI
    Tested on Debian 11 (Bullseye)
    ################################################################
        :
    *** Error loading script: openvino_accelerate.py
        Traceback (most recent call last):
          File "/home/XXXXX/workspace_3/stable-diffusion-webui/modules/scripts.py", line 382, in load_scripts
            script_module = script_loading.load_module(scriptfile.path)
          File "/home/XXXXX/workspace_3/stable-diffusion-webui/modules/script_loading.py", line 10, in load_module
            module_spec.loader.exec_module(module)
          File "<frozen importlib._bootstrap_external>", line 883, in exec_module
          File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
          File "/home/XXXXX/workspace_3/stable-diffusion-webui/scripts/openvino_accelerate.py", line 47, in <module>
            from diffusers import (
          File "/home/XXXXX/workspace_3/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/__init__.py", line 5, in <module>
            from .utils import (
          File "/home/XXXXX/workspace_3/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/utils/__init__.py", line 38, in <module>
            from .dynamic_modules_utils import get_class_from_dynamic_module
          File "/home/XXXXX/workspace_3/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/utils/dynamic_modules_utils.py", line 28, in <module>
            from huggingface_hub import HfFolder, cached_download, hf_hub_download, model_info
        ImportError: cannot import name 'cached_download' from 'huggingface_hub' (/home/XXXXX/workspace_3/stable-diffusion-webui/venv/lib/python3.10/site-packages/huggingface_hub/__init__.py)
        :
    ・ブラウザを閉じ、ターミナル上で 'Ctrl' + 'c' を押して終了する
    ・下記のファイルをエディタで修正
    "~/workspace_3/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/utils/dynamic_modules_utils.py"
     28行目をコメントアウト
        :
    25: from typing import Dict, Optional, Union
    26: from urllib import request
    27:
    28: #from huggingface_hub import HfFolder, cached_download, hf_hub_download, model_info
    29: from packaging import version
    30:
    31: from .. import __version__
        :
  8. 再度「StableDiffusion」実行する
    ・自動的にブラウザが起動しアプリケーション画面が表示される
    ・エラーが解消したことを確認する
    ・ブラウザを閉じ、ターミナル上で 'Ctrl' + 'c' を押して終了する

  9. パッケージを更新する
    ・「venv」仮想環境をアクティブにする
    (StableDiffusion) $ pip install --upgrade pip
    ・「venv」仮想環境をアクティブにする
    (StableDiffusion) $ . venv/bin/activate
    ・「pytorch」をアップデートする
    (venv) (StableDiffusion) $ pip install torch==2.1.0
  10. 起動設定を変更する
    ・「webui-user.sh」を修正する(13行目のコメントを外し COMMANDLINE_ARGS を設定する)
     1: #!/bin/bash
     2: #########################################################
     3: # Uncomment and change the variables below to your need:#
     4: #########################################################
     5:
     6: # Install directory without trailing slash
     7: #install_dir="/home/$(whoami)"
     8:
     9: # Name of the subdirectory
    10: #clone_dir="stable-diffusion-webui"
    11:
    12: # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention"
    13: export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half --theme=dark"
        :
  11. 起動スクリプト作成
    ・「~/stable_diffusion.sh」
     以後「~/」フォルダ下で「./stable_diffusion.sh」または「source stable_diffusion.ps1」コマンドで起動できる
    #!/bin/sh
    echo "*** (StableDiffusion OpenVINO) environment ***"
    cd $HOME/workspace_3/stable-diffusion-webui
    conda activate StableDiffusion
    ./webui.sh

「StableDiffusion」実行

「Stable Diffusion」の使い方

 

忘備録

NNVIDIA GPU 未実装環境で「AUTOMATIC1111 V1.10.1 版」との共存

キャッシングによる速度向上

拡張機能の導入について

Set torch._dynamo.config.verbose=True for more information (Ubuntu)

AttributeError: 'ImageDraw' object has no attribute 'multiline_textsize'

Cannot locate TCMalloc (Ubuntu)

 

更新履歴

 

参考資料