gbtb / nix-stable-diffusion

Flake for running SD on NixOS
113 stars 21 forks source link

Stable diffusion webui support #4

Closed RolfNic closed 1 year ago

RolfNic commented 2 years ago

Adds support for the Stable Diffusion Webui, which has more features and community support than InvokeAI. resolves #3.

RolfNic commented 2 years ago

Text2Img works on my machine, img2img is still broken

gbtb commented 2 years ago

Text2Img works on my machine, img2img is still broken

Looking into https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/launch.py, I'm not surprised that something is not yet working :wink: . I'm just glad I started with InvokeAI, because it's been a lot simpler to package - all dependencies were declared in appropriate files, and I've wasted more time fighting with ROCM for torch and that opencv-blas segfault than actually packaging missing deps.

gbtb commented 2 years ago

I've tested your branch and also experienced the same problem with img2img. Then I checked browser console for errors and it led me to this issue. Looks like we need to upgrade gradio to at least version 3.3.1, though in requirements.txt it explicitly set to 3.5

RolfNic commented 1 year ago

I've tested your branch and also experienced the same problem with img2img. Then I checked browser console for errors and it led me to this issue. Looks like we need to upgrade gradio to at least version 3.3.1, though in requirements.txt it explicitly set to 3.5

Yea I should've probably mentioned this, but while webui uses gradio 3.6 I couldn't package anything over 3.3 so I just decreased the version number till it worked. The error I ran into:

Executing setuptoolsBuildPhase
Traceback (most recent call last):
  File "/build/gradio-3.6/nix_run_setup", line 8, in <module>
    exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
  File "/nix/store/wyhbl43ycqn43d08v5fqj1j6ynf7nz73-python3-3.10.7/lib/python3.10/tokenize.py", line 394, in open
    buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'
gbtb commented 1 year ago

I've tested your branch and also experienced the same problem with img2img. Then I checked browser console for errors and it led me to this issue. Looks like we need to upgrade gradio to at least version 3.3.1, though in requirements.txt it explicitly set to 3.5

Yea I should've probably mentioned this, but while webui uses gradio 3.6 I couldn't package anything over 3.3 so I just decreased the version number till it worked. The error I ran into:

Executing setuptoolsBuildPhase
Traceback (most recent call last):
  File "/build/gradio-3.6/nix_run_setup", line 8, in <module>
    exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
  File "/nix/store/wyhbl43ycqn43d08v5fqj1j6ynf7nz73-python3-3.10.7/lib/python3.10/tokenize.py", line 394, in open
    buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'setup.py'

Yes, they've removed setup.py exactly between version 3.3 and 3.3.1 :) Btw, I've continued working on this branch on a weekend, I think all that's left is to package BLIP model and sync branch with master. You can test my latest changes from the PR I've made to your repo.

gbtb commented 1 year ago

Hey, I've finished this branch and stable-diffusion-webui support is now merged into master. Thus, I'm closing this PR. Thanks again for your help :)