saharmor / dalle-playground

A playground to generate images from any text prompt using Stable Diffusion (past: using DALL-E Mini)
MIT License
2.77k stars 596 forks source link

versioneer not working -- "AttributeError: module 'versioneer' has no attribute 'get_version'" #25

Open czyz opened 2 years ago

czyz commented 2 years ago

I'm trying to install this playground on Windows (not in Docker), and the pip install of requirements showed some errors for versioneer and it looks like it's downloading a dozen or more versions of every package and then stalls out on "Using cached Pillow-6.2.0.tar.gz (37.4 MB)". Maybe it's unable to download that one, which comes after a long string of higher version numbers of Pillow.

Maybe the latest versioneer dropped the 'get_version' function?

BSalita commented 2 years ago

I'm an hour ahead of you. Same result. Ultimately there appears to be a hard block in that google's jaxlib won't be able to be installed on Windows. I'm now trying WSL but having problems there too.

WynterFoxx commented 2 years ago

I'm glad someone made this, so I didn't have to. Mine actually did progress past Pillow, but after 12 hours, it hadn't even finished 3 packages and pip just failed on me with some error like "ResolutionTooDeep".

hylynear commented 2 years ago

add --use-deprecated=legacy-resolver after your pip command

czyz commented 2 years ago

Thanks. That got things quite a ways further.

I also had to run this command to install jaxlib, as it's not available for Windows through normal methods:

>pip install jax==0.3.13 https://whls.blob.core.windows.net/unstable/cuda111/jaxlib-0.3.7+cuda11.cudnn82-cp38-none-win_amd64.whl

And then I had to do some individual installs of Jinja and Sphinx and Spyder further on as the install that followed the requirements doc ended up needing versions that conflicted with other packages and I was having to run back and forth uninstalling and installing packages only to find out that one required package needed higher version numbers and one lower (Jinja2 and MarkupSafe were the problems I think). Eventually I just installed the latest of those and then running "install -r requirements.txt --user" finished the installation (--user was required for some package due to permissions).

Unfortunately it looks like Jaxlib-0.3.7 on Windows 10 doesn't work with the models, resulting in: ValueError: DenseElementsAttr could not be constructed from the given buffer. This may mean that the Python buffer layout does not match that MLIR expected layout and is a bug.

My google searching turns up that Windows uses 32-bit ints rather than 64-bit as the possible culprit for this error? But as someone with no actual Python knowledge I'm getting way ahead of myself thinking I can actually wrap my head around the issue. In any case I've gotten to the point where the pip install claims to finish successfully but "python app.py 8080" results in an error (see attached file -- which has its API keys redacted). dall-e mini run error.txt

O-Suarez commented 2 years ago

Unfortunately it looks like Jaxlib-0.3.7 on Windows 10 doesn't work with the models, resulting in: ValueError: DenseElementsAttr could not be constructed from the given buffer. This may mean that the Python buffer layout does not match that MLIR expected layout and is a bug.

I had trouble getting Jax to use my GPU, got the error No GPU/TPU found, falling back to CPU, I ended up reinstalling Jax and Jaxlib and I finally got it to detect my GPU but I ended up with the same error as you, it seems like Jax (or at least the versions i tried) is currently not functional on Windows.

neogamerdrew commented 2 years ago

I am also encountering this same issue. Finally got jaxlib installed by installing from the wheel file and Dalle fails to start with the error above:

jax._src.traceback_util.UnfilteredStackTrace: ValueError: DenseElementsAttr could not be constructed from the given buffer. This may mean that the Python buffer layout does not match that MLIR expected layout and is a bug.

wolfgangmeyers commented 2 years ago

Rats 😆. Well I should probably switch my development system to linux anyway.