thygate / stable-diffusion-webui-depthmap-script

High Resolution Depth Maps for Stable Diffusion WebUI
MIT License
1.7k stars 160 forks source link

timm.models.beit error on colab #74

Open mykeehu opened 1 year ago

mykeehu commented 1 year ago

I installed the script on colab, but on reboot I got this error on version 0.3.4:

Error loading script: depthmap.py Traceback (most recent call last): File "/content/stable-diffusion-webui/modules/scripts.py", line 195, in load_scripts module = script_loading.load_module(scriptfile.path) File "/content/stable-diffusion-webui/modules/script_loading.py", line 13, in load_module exec(compiled, module.dict) File "/content/stable-diffusion-webui/extensions/stable-diffusion-webui-depthmap-script/scripts/depthmap.py", line 40, in from midas.dpt_depth import DPTDepthModel File "/content/stable-diffusion-webui/extensions/stable-diffusion-webui-depthmap-script/scripts/midas/dpt_depth.py", line 5, in from .blocks import ( File "/content/stable-diffusion-webui/extensions/stable-diffusion-webui-depthmap-script/scripts/midas/blocks.py", line 4, in from .backbones.beit import ( File "/content/stable-diffusion-webui/extensions/stable-diffusion-webui-depthmap-script/scripts/midas/backbones/beit.py", line 9, in from timm.models.beit import gen_relative_position_index ModuleNotFoundError: No module named 'timm.models.beit'

I put these two lines in install.py, but it didn't help: if not launch.is_installed("timm"): launch.run_pip("install timm", "timm requirement for depthmap script")

How can I use the script on colab?

thygate commented 1 year ago

Could you try adding this to install.py at the end, without the if not launch.is_installed("timm"): check :

launch.run_pip("install --force-reinstall timm==0.6.12", "timm requirement for depthmap script")

mykeehu commented 1 year ago

The timm installation was successful, but I got another problem:

/usr/local/lib/python3.8/dist-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.1
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
No module 'xformers'. Proceeding without it.
Error loading script: depthmap.py
Traceback (most recent call last):
  File "/content/stable-diffusion-webui/modules/scripts.py", line 195, in load_scripts
    module = script_loading.load_module(scriptfile.path)
  File "/content/stable-diffusion-webui/modules/script_loading.py", line 13, in load_module
    exec(compiled, module.__dict__)
  File "/content/stable-diffusion-webui/extensions/stable-diffusion-webui-depthmap-script/scripts/depthmap.py", line 14, in <module>
    from numba import njit, prange
  File "/usr/local/lib/python3.8/dist-packages/numba/__init__.py", line 42, in <module>
    from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
  File "/usr/local/lib/python3.8/dist-packages/numba/np/ufunc/__init__.py", line 3, in <module>
    from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
  File "/usr/local/lib/python3.8/dist-packages/numba/np/ufunc/decorators.py", line 3, in <module>
    from numba.np.ufunc import _internal
SystemError: initialization of _internal failed without raising an exception
mykeehu commented 1 year ago

After I put these two lines at the end of install.py:

launch.run_pip("install --force-reinstall timm==0.6.12", "timm requirement for depthmap script")
launch.run_pip("install scipy", "scipy requirement for depthmap script")

I got this error:

Error loading script: depthmap.py
Traceback (most recent call last):
  File "/content/stable-diffusion-webui/modules/scripts.py", line 195, in load_scripts
    module = script_loading.load_module(scriptfile.path)
  File "/content/stable-diffusion-webui/modules/script_loading.py", line 13, in load_module
    exec(compiled, module.__dict__)
  File "/content/stable-diffusion-webui/extensions/stable-diffusion-webui-depthmap-script/scripts/depthmap.py", line 14, in <module>
    from numba import njit, prange
  File "/usr/local/lib/python3.8/dist-packages/numba/__init__.py", line 42, in <module>
    from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
  File "/usr/local/lib/python3.8/dist-packages/numba/np/ufunc/__init__.py", line 3, in <module>
    from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
  File "/usr/local/lib/python3.8/dist-packages/numba/np/ufunc/decorators.py", line 3, in <module>
    from numba.np.ufunc import _internal
SystemError: initialization of _internal failed without raising an exception
G-force78 commented 1 year ago

For automatic1111 WebUI I had to change the versions in requirement file and requirement versions to the one mentioned above

mykeehu commented 1 year ago

I'm out of colab for today, but I'll check this one out next time.

thygate commented 1 year ago

seems like a package version incompatibility with numba ..

You can remove the numba imports, remove the lines that start with @njit and replace the prange with range, only the stereo image generation will be much much slower ..

I will have to investigate further ..

aluuuanefields commented 1 year ago

install rembg --ignore-installed llvmlite launch.run_pip("install --force-reinstall timm==0.6.12", "timm requirement for depthmap script") launch.run_pip("install numba==0.56.2", "numba requirement for depthmap script")

rockerBOO commented 1 year ago

I was getting this error as well, and running what @aluuuanefields suggested got it working.

Specifically (using the venv) ran this:

pip install --force-reinstall timm==0.6.12
pip install numba==0.56.2

Both are required, as the first didn't work as well.

Harvester62 commented 1 year ago

For the first time ever I got the error below at startup in SD Web UI by AUTOMATIC1111. The current versions of the above mentioned two libraries installed in SDWUI (Commit hash: 0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8) are respectively timm-0.4.12 and numba-0.56.4,

Error loading script: depthmap.py Traceback (most recent call last): File "C:\stable-diffusion-webui\modules\scripts.py", line 229, in load_scripts script_module = script_loading.load_module(scriptfile.path) File "C:\stable-diffusion-webui\modules\script_loading.py", line 11, in load_module module_spec.loader.exec_module(module) File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "C:\stable-diffusion-webui\extensions\stable-diffusion-webui-depthmap-script\scripts\depthmap.py", line 40, in from midas.dpt_depth import DPTDepthModel File "C:\stable-diffusion-webui\extensions/stable-diffusion-webui-depthmap-script/scripts\midas\dpt_depth.py", line 5, in from .blocks import ( File "C:\stable-diffusion-webui\extensions/stable-diffusion-webui-depthmap-script/scripts\midas\blocks.py", line 4, in from .backbones.beit import ( File "C:\stable-diffusion-webui\extensions/stable-diffusion-webui-depthmap-script/scripts\midas\backbones\beit.py", line 9, in from timm.models.beit import gen_relative_position_index ModuleNotFoundError: No module named 'timm.models.beit'

mykeehu commented 1 year ago

Both are required, as the first didn't work as well. This unfortunately didn't help Colab, it crashed WebUI with torch errors.