久しぶりにローカルにインストールした[Stable Diffusion]を起動してみたら、エラー出力が出まくりでControlNetが表示されない場合の対処法を備忘録的に投稿しておきます。
ControlNetが表示されない
エラー出力が表示されても正しく動作すれば問題ないんですが、今回見過ごせなかったのは、ControlNetが読み込めないエラーでした。
ControlNet preprocessor location: \Python\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\downloads *** Error loading script: controlnet.py Traceback (most recent call last): File "\Python\StableDiffusion\stable-diffusion-webui\modules\scripts.py", line 515, in load_scripts script_module = script_loading.load_module(scriptfile.path) File "\Python\StableDiffusion\stable-diffusion-webui\modules\script_loading.py", line 13, 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 "\Python\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\controlnet.py", line 16, in <module> import scripts.preprocessor as preprocessor_init # noqa File "\Python\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\preprocessor\__init__.py", line 9, in <module> from .mobile_sam import * File "\Python\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\preprocessor\mobile_sam.py", line 1, in <module> from annotator.mobile_sam import SamDetector_Aux File "\Python\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\mobile_sam\__init__.py", line 12, in <module> from controlnet_aux import SamDetector File "\Python\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\controlnet_aux\__init__.py", line 11, in <module> from .mediapipe_face import MediapipeFaceDetector File "\Python\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\controlnet_aux\mediapipe_face\__init__.py", line 9, in <module> from .mediapipe_face_common import generate_annotation File "\Python\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\controlnet_aux\mediapipe_face\mediapipe_face_common.py", line 16, in <module> mp_drawing = mp.solutions.drawing_utils AttributeError: module 'mediapipe' has no attribute 'solutions'
流石に拡張機能[ControlNet]が使えないのは困るので、仮想環境から作り直すことにしました。
とりあえず仮想環境を削除して再作成(かなりの数のライブラリのインストールやダウングレードを伴うので専用の環境を作っておいた方がベター)
rm -r venv
python -m venv .venv
.venv\Scripts\activate.ps1
バージョンを固定しておいた方が良い関連ライブラリを先にインストール
pip install --upgrade pip
pip install mediapipe==0.10.8
pip install numpy==1.26.4 --force-reinstall
pip install setuptools<70
pip install --force-reinstall setuptools==68.2.2
pip install --force-reinstall wheel
Stable Diffusionのインストール時に clip がバージョンを固定したライブラリではビルド出来ない可能性があるので、あらかじめインストールしておく。
pip install git+https://github.com/openai/CLIP.git
最後に、PyTorch関連のライブラリをインストール
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu117
インストール時にNumpyのバージョンが更新されてしまう可能性があるので、再度バージョンを固定して再インストール。
すべてのライブラリをインストールできたら[stable-diffusion-webui]を起動
python launch.py
CUDAを利用した依存ファイルのインストール
CUDAが利用できる環境であればライブラリの処理をGPUに任せることで高速な処理が実現できます。
CUDAを利用した依存ファイルのインストールについては別記事をご覧ください。
まとめ
今回は短い記事ですが、Pythonと[Stable Diffusion]でローカル環境に生成AIをインストールする手順について書きました。
生成AIのローカルインストールを考えている人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。
