mlc-ai / web-stable-diffusion

Bringing stable diffusion models to web browsers. Everything runs inside the browser with no server support.
https://mlc.ai/web-stable-diffusion
Apache License 2.0
3.56k stars 227 forks source link

building for target webgpu results in "ValueError: At least one GPU backend is expected to be enabled" #28

Open Abdull opened 1 year ago

Abdull commented 1 year ago

Using version https://github.com/mlc-ai/web-stable-diffusion/tree/ce0c2fbd0fffd7ee39e7be9da34052a8809d98db

environment: Ubuntu 22 LTS server without graphics card.

Executing

python3 build.py --target webgpu

causes the following error:

Traceback (most recent call last):
  File "build.py", line 153, in <module>
    torch_dev_key = utils.detect_available_torch_device()
  File "web_stable_diffusion/utils.py", line 14, in detect_available_torch_device
    raise ValueError("At least one GPU backend is expected to be enabled")
ValueError: At least one GPU backend is expected to be enabled

See https://github.com/mlc-ai/web-stable-diffusion/blob/ce0c2fbd0fffd7ee39e7be9da34052a8809d98db/web_stable_diffusion/utils.py#L14 .

Is it possible to enable a GPU backend in torch even if the building system environment does not provide that GPU backend?

ford442 commented 1 year ago

I am using that step by changing build.py:153 to simply say "cuda" - the only other option being 'Metal' for MacOS. Perhaps you are mixing using the commands to assign tvm target etc in the colab cells - then on the Terminal CLI - there is no torch-dev-key variable defined.

EDIT: i am still unable to finish the build though..

TigerVersusT commented 1 year ago

you should choose gpu supported wheel at that page, the default link links to a cpu version of wheel