AUTOMATIC1111 / stable-diffusion-webui

Stable Diffusion web UI
GNU Affero General Public License v3.0
136.72k stars 26.03k forks source link

[Bug]: 'no module 'xformers'. Processing without' on fresh installation of v1.9.0 #15553

Closed TommyQTran closed 3 months ago

TommyQTran commented 3 months ago

Checklist

What happened?

Unable to use xformers attention optimization

Steps to reproduce the problem

  1. clone git repo
  2. set directory python version to 3.10.6 using 'pyenv local'
  3. run 'bash webui.sh'

What should have happened?

The webui should have installed and used xformers as the attention optimization

What browsers do you use to access the UI ?

Brave

Sysinfo

sysinfo.json

Console logs

Installing requirements
Launching Web UI with arguments: 
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to /media/origins/Games and AI/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors

...

Applying attention optimization: Doggettx... done.

Additional information

Distro: Ubuntu 23.10 Graphics Driver: 550.54.14 CUDA Version: 12.4

w-e-w commented 3 months ago

add --xformers arg to webui.sh

TommyQTran commented 3 months ago

@w-e-w I get a Cannot find ptxas Runtime Error.

Installing xformers
Launching Web UI with arguments: --xformers
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
*** Cannot import xformers
    Traceback (most recent call last):
      File "/stable-diffusion-webui/modules/sd_hijack_optimizations.py", line 160, in <module>
        import xformers.ops
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/xformers/ops/__init__.py", line 8, in <module>
        from .fmha import (
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/xformers/ops/fmha/__init__.py", line 10, in <module>
        from . import attn_bias, cutlass, decoder, flash, small_k, triton, triton_splitk
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/xformers/ops/fmha/triton_splitk.py", line 21, in <module>
        if TYPE_CHECKING or _has_triton21():
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/xformers/ops/common.py", line 192, in _has_triton21
        if not _has_a_version_of_triton():
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/xformers/ops/common.py", line 176, in _has_a_version_of_triton
        import triton  # noqa: F401
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/__init__.py", line 20, in <module>
        from .compiler import compile, CompilationError
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/compiler/__init__.py", line 1, in <module>
        from .compiler import CompiledKernel, compile, instance_descriptor
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/compiler/compiler.py", line 27, in <module>
        from .code_generator import ast_to_ttir
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/compiler/code_generator.py", line 8, in <module>
        from .. import language
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/language/__init__.py", line 4, in <module>
        from . import math
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/language/math.py", line 4, in <module>
        from . import core
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/language/core.py", line 1376, in <module>
        def minimum(x, y):
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/runtime/jit.py", line 542, in jit
        return decorator(fn)
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/runtime/jit.py", line 534, in decorator
        return JITFunction(
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/runtime/jit.py", line 433, in __init__
        self.run = self._make_launcher()
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/runtime/jit.py", line 388, in _make_launcher
        scope = {"version_key": version_key(),
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/runtime/jit.py", line 120, in version_key
        ptxas = path_to_ptxas()[0]
      File "/stable-diffusion-webui/venv/lib/python3.10/site-packages/triton/common/backend.py", line 119, in path_to_ptxas
        raise RuntimeError("Cannot find ptxas")
    RuntimeError: Cannot find ptxas
w-e-w commented 3 months ago

I'm on windows so I'm not sure how it's is on windwos but base on info on our wiki xformers shoud work on linux not sure if anything has changed

w-e-w commented 3 months ago

I ask around and it seems that xformers dose work on linux, but one who replyed me is dose not know about installing via the webui arg --xformers, insted he installed xformers using pip due to Cannot find ptxas


I think what you are seeing it's a bit odd you can see in the logs that xformers, and theres no error showing that the install has failed but later you see webui can't import xformers

at this point I would first try again, if that dose not work try installing the latest version of xformers


tip when posting logs or code like above use a code block

you logs

TommyQTran commented 3 months ago

I solved this by creating a pyenv virtualenv.

pyenv virtualenv <name> pyenv activate <name>