StableDiffusion Web-UIが起動しなくなった

事の起こり

docker版のStablediffusionが起動しなくなった。
きっかけはCUDAのバージョンを12.2から12.6に変更したことかと予想されるが不明。
出ていたエラーコードは以下の通り。

Installing extension dependencies (if any)
Installing sd-webui-controlnet requirement: changing opencv-python version from 4.10.0.84 to 4.8.0
ControlNet init warning: Unable to install insightface automatically. Please try run `pip install insightface` manually.

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.1.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "/stable-diffusion-webui/webui.py", line 13, in <module>
    initialize.imports()
  File "/stable-diffusion-webui/modules/initialize.py", line 14, in imports
    import torch  # noqa: F401
  File "/opt/conda/lib/python3.10/site-packages/torch/__init__.py", line 1382, in <module>
    from .functional import *  # noqa: F403
  File "/opt/conda/lib/python3.10/site-packages/torch/functional.py", line 7, in <module>
    import torch.nn.functional as F
  File "/opt/conda/lib/python3.10/site-packages/torch/nn/__init__.py", line 1, in <module>
    from .modules import *  # noqa: F403
  File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/__init__.py", line 35, in <module>
    from .transformer import TransformerEncoder, TransformerDecoder, \
  File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/transformer.py", line 20, in <module>
    device: torch.device = torch.device(torch._C._get_default_device()),  # torch.device('cpu'),
/opt/conda/lib/python3.10/site-packages/torch/nn/modules/transformer.py:20: UserWarning: Failed to initialize NumPy: _ARRAY_API not found (Triggered internally at /opt/conda/conda-bld/pytorch_1702400410390/work/torch/csrc/utils/tensor_numpy.cpp:84.)
  device: torch.device = torch.device(torch._C._get_default_device()),  # torch.device('cpu'),
Traceback (most recent call last):
  File "/stable-diffusion-webui/webui.py", line 13, in <module>
    initialize.imports()
  File "/stable-diffusion-webui/modules/initialize.py", line 37, in imports
    from modules import processing, gradio_extensons, ui  # noqa: F401
  File "/stable-diffusion-webui/modules/processing.py", line 15, in <module>
    from skimage import exposure
  File "/opt/conda/lib/python3.10/site-packages/skimage/__init__.py", line 122, in <module>
    from ._shared import geometry
  File "geometry.pyx", line 1, in init skimage._shared.geometry
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

どうすれば動く?

どんなエラーか?

エラーとしてはnumpyのバージョンが2系列であるがゆえに起きているエラー(と書いてあるのでそうでしょう)。

どこで起きているか?

sd-webui-controlnetのインストール中に発生している。

何を編集したか?

\stable-diffusion-webui-docker\data\config\auto\extensions\sd-webui-controlnet\requirements.txt

insightface
pybind11>=2.12
numpy==1.26.4

を追記した

[未検証]ほかの解決法は?

「sd-webui-controlnetのバージョンアップしちゃいけないんすか?」
正直これが一番正解な気がする。controlnetくらいならさすがにnumpy2.0対応はしてるでしょ。

余談:試しても的外れだったこと

StableDiffusion WebUIのDockefileを弄る

そこではなかった。

CUDAのバージョンを弄る

あくまでもきっかけに過ぎず、そこでもなかった