Lincoln Stein
7708f4fb98
slight efficiency gain by using += in attention.py
2022-09-11 16:03:54 -04:00
chromaticist
4951e66103
Adding support for .bin files from huggingface concepts ( #498 )
...
* Adding support for .bin files from huggingface concepts
* Updating documentation to include huggingface .bin info
2022-09-11 15:44:26 -04:00
Lincoln Stein
93c242c9fb
make gfpgan_model_exists flag available to web interface
2022-09-11 14:47:58 -04:00
Lincoln Stein
4923118610
Merge branch 'development' of github.com:lstein/stable-diffusion into development
2022-09-11 12:51:25 -04:00
Dominic Letz
defafc0e8e
Enable upscaling on m1 ( #474 )
2022-09-11 12:51:01 -04:00
Lincoln Stein
16f6a6731d
install GFPGAN inside SD repository in order to fix 'dark cast' issue #169
2022-09-11 12:47:26 -04:00
Lincoln Stein
70aa674e9e
merge PR #495 - keep using float16 in ldm.modules.attention
2022-09-11 10:34:06 -04:00
Peter Baylies
737a97c898
Merge branch 'development' into development
2022-09-11 10:30:23 -04:00
Lincoln Stein
839e30e4b8
improve CUDA VRAM monitoring
...
extra check that device==cuda before getting VRAM stats
2022-09-11 10:10:24 -04:00
Peter Baylies
c6be8f320d
Merge branch 'development' into development
2022-09-10 10:31:32 -04:00
Lincoln Stein
5c43988862
reduce VRAM memory usage by half during model loading
...
* This moves the call to half() before model.to(device) to avoid GPU
copy of full model. Improves speed and reduces memory usage dramatically
* This fix contributed by @mh-dm (Mihai)
2022-09-10 10:02:43 -04:00
Mihai
62863ac586
~7% speedup (1.57 to 1.69it/s) from switch to += in ldm.modules.attention. ( #482 )
...
Tested on 8GB eGPU nvidia setup so YMMV.
512x512 output, max VRAM stays same.
2022-09-10 09:58:07 -04:00
Lincoln Stein
817c4a26de
remove -F option from normalized prompt; closes #483
2022-09-10 09:54:26 -04:00
Peter Baylies
103b3e7965
Merge branch 'development' into development
2022-09-10 07:43:54 -04:00
Lincoln Stein
723d074442
Allow ctrl c when using --from_file ( #472 )
...
* added ansi escapes to highlight key parts of CLI session
* adjust exception handling so that ^C will abort when reading prompts from a file
2022-09-09 18:49:51 -04:00
Peter Baylies
424f4fe244
Merge branch 'development' into development
2022-09-09 13:15:43 -04:00
Lincoln Stein
10db192cc4
changes to dogettx optimizations to run on m1
...
* Author @any-winter-4079
* Author @dogettx
Thanks to many individuals who contributed time and hardware to
benchmarking and debugging these changes.
2022-09-09 09:51:41 -04:00
Peter Baylies
c41599746d
Merge branch 'development' into development
2022-09-09 00:19:17 -04:00
Lincoln Stein
c85ae00b33
fix bug which caused seed to get "stuck" on previous image even when UI specified -1
2022-09-08 23:57:45 -04:00
Peter Baylies
7f0cc7072b
Merge branch 'development' into development
2022-09-08 22:54:26 -04:00
Lincoln Stein
33874bae8d
Squashed commit of the following:
...
commit afee7f9cea
Merge: 6531446
171f8db
Author: Lincoln Stein <lincoln.stein@gmail.com>
Date: Thu Sep 8 22:14:32 2022 -0400
Merge branch 'development' of github.com:deNULL/stable-diffusion into deNULL-development
commit 171f8db742
Author: Denis Olshin <me@denull.ru>
Date: Thu Sep 8 03:15:20 2022 +0300
saving full prompt to metadata when using web ui
commit d7e67b62f0
Author: Denis Olshin <me@denull.ru>
Date: Thu Sep 8 01:51:47 2022 +0300
better logic for clicking to make variations
2022-09-08 22:16:29 -04:00
Lincoln Stein
653144694f
work around unexplained crash when timesteps=1000 ( #440 )
...
* work around unexplained crash when timesteps=1000
* this fix seems to work
2022-09-08 20:41:37 -04:00
blessedcoolant
c33a84cdfd
Add New Logo ( #454 )
...
* Add instructions on how to install alongside pyenv (#393 )
Like probably many others, I have a lot of different virtualenvs, one for each project. Most of them are handled by `pyenv`.
After installing according to these instructions I had issues with ´pyenv`and `miniconda` fighting over the $PATH of my system.
But then I stumbled upon this nice solution on SO: https://stackoverflow.com/a/73139031 , upon which I have based my suggested changes.
It runs perfectly on my M1 setup, with the anaconda setup as a virtual environment handled by pyenv.
Feel free to incorporate these instructions as you see fit.
Thanks a million for all your hard work.
* Disabled debug output (#436 )
Co-authored-by: Henry van Megen <hvanmegen@gmail.com>
* Add New Logo
Co-authored-by: Håvard Gulldahl <havard@lurtgjort.no>
Co-authored-by: Henry van Megen <h.vanmegen@gmail.com>
Co-authored-by: Henry van Megen <hvanmegen@gmail.com>
Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-09-08 20:39:51 -04:00
Peter Baylies
c71d8750f7
Merge branch 'development' into development
2022-09-08 10:23:23 -04:00
Lincoln Stein
7996a30e3a
add auto-creation of mask for inpainting ( #438 )
...
* now use a single init image for both image and mask
* turn on debugging for now to write out mask and image
* add back -M option as a fallback
2022-09-08 07:34:03 -04:00
Henry van Megen
049ea02fc7
Disabled debug output ( #436 )
...
Co-authored-by: Henry van Megen <hvanmegen@gmail.com>
2022-09-07 23:16:35 -04:00
Peter Baylies
ab39bc0bac
Merge branch 'development' into development
2022-09-07 23:15:09 -04:00
Lincoln Stein
5c6b612a72
fix bug that caused same seed to be redisplayed repeatedly
2022-09-07 22:50:55 -04:00
Johan Roxendal
56f155c590
added support for parsing run log and displaying images in the frontend init state ( #410 )
...
Co-authored-by: Johan Roxendal <johan.roxendal@litteraturbanken.se>
Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-09-07 22:50:06 -04:00
Peter Baylies
bd4fc64156
Merge branch 'development' into development
2022-09-07 21:30:39 -04:00
Lincoln Stein
41687746be
added missing initialization of latent_noise to None
2022-09-07 20:24:35 -04:00
Lincoln Stein
d1d044aa87
actual image seed now written into web log rather than -1 ( #428 )
2022-09-07 17:56:59 -04:00
Peter Baylies
8b0d1e59fe
Merge branch 'development' into development
2022-09-07 15:23:58 -04:00
Lincoln Stein
29ab3c2028
disable neonpixel optimizations on M1 hardware ( #414 )
...
* disable neonpixel optimizations on M1 hardware
* fix typo that was causing random noise images on m1
2022-09-07 13:28:11 -04:00
Lincoln Stein
dd2aedacaf
report VRAM usage stats during initial model loading ( #419 )
2022-09-07 13:23:53 -04:00
Peter Baylies
dc500946ad
* Make warmup feature less aggressive to support higher thresholding values properly.
2022-09-07 04:50:53 -04:00
Peter Baylies
a48c03e0f4
Merge branch 'development' into development
2022-09-06 17:25:28 -04:00
Lincoln Stein
f6284777e6
Squashed commit of the following:
...
commit 7d1344282d942a33dcecda4d5144fc154ec82915
Merge: caf4ea3
ebeb556
Author: Lincoln Stein <lincoln.stein@gmail.com>
Date: Mon Sep 5 10:07:27 2022 -0400
Merge branch 'development' of github.com:WebDev9000/stable-diffusion into WebDev9000-development
commit ebeb556af9
Author: Web Dev 9000 <rirath@gmail.com>
Date: Sun Sep 4 18:05:15 2022 -0700
Fixed unintentionally removed lines
commit ff2c4b9a1b
Author: Web Dev 9000 <rirath@gmail.com>
Date: Sun Sep 4 17:50:13 2022 -0700
Add ability to recreate variations via image click
commit c012929cda
Author: Web Dev 9000 <rirath@gmail.com>
Date: Sun Sep 4 14:35:33 2022 -0700
Add files via upload
commit 02a6018992
Author: Web Dev 9000 <rirath@gmail.com>
Date: Sun Sep 4 14:35:07 2022 -0700
Add files via upload
2022-09-06 17:12:39 -04:00
Peter Baylies
8c8b34a889
* Update to resolve conflicts.
2022-09-05 22:57:33 -04:00
Peter Baylies
7ff94383ce
Merge branch 'development' of https://github.com/lstein/stable-diffusion into development
2022-09-05 22:57:03 -04:00
Peter Baylies
0891910cac
* Updates for thresholding and perlin noise options, added warmup for thresholding.
2022-09-05 21:40:05 -04:00
Lincoln Stein
720e5cd651
Refactoring simplet2i ( #387 )
...
* start refactoring -not yet functional
* first phase of refactor done - not sure weighted prompts working
* Second phase of refactoring. Everything mostly working.
* The refactoring has moved all the hard-core inference work into
ldm.dream.generator.*, where there are submodules for txt2img and
img2img. inpaint will go in there as well.
* Some additional refactoring will be done soon, but relatively
minor work.
* fix -save_orig flag to actually work
* add @neonsecret attention.py memory optimization
* remove unneeded imports
* move token logging into conditioning.py
* add placeholder version of inpaint; porting in progress
* fix crash in img2img
* inpainting working; not tested on variations
* fix crashes in img2img
* ported attention.py memory optimization #117 from basujindal branch
* added @torch_no_grad() decorators to img2img, txt2img, inpaint closures
* Final commit prior to PR against development
* fixup crash when generating intermediate images in web UI
* rename ldm.simplet2i to ldm.generate
* add backward-compatibility simplet2i shell with deprecation warning
* add back in mps exception, addresses @vargol comment in #354
* replaced Conditioning class with exported functions
* fix wrong type of with_variations attribute during intialization
* changed "image_iterator()" to "get_make_image()"
* raise NotImplementedError for calling get_make_image() in parent class
* Update ldm/generate.py
better error message
Co-authored-by: Kevin Gibbons <bakkot@gmail.com>
* minor stylistic fixes and assertion checks from code review
* moved get_noise() method into img2img class
* break get_noise() into two methods, one for txt2img and the other for img2img
* inpainting works on non-square images now
* make get_noise() an abstract method in base class
* much improved inpainting
Co-authored-by: Kevin Gibbons <bakkot@gmail.com>
2022-09-05 20:40:10 -04:00
thealanle
1ad2a8e567
Fix --outdir function for web ( #373 )
...
* Fix --outdir function for web
* Removed unnecessary hardcoded path
2022-09-05 20:35:04 -04:00
Kevin Gibbons
95c088b303
Revert "Add CORS headers to dream server to ease integration with third-party web interfaces" ( #371 )
...
This reverts commit 91e826e5f4
.
2022-09-04 22:04:14 -04:00
Kevin Gibbons
a20113d5a3
put no_grad decorator on make_image closures ( #375 )
2022-09-04 21:59:12 -04:00
Lincoln Stein
0f93dadd6a
fix several dangling references to --gfpgan option, which no longer exists
2022-09-04 21:39:15 -04:00
Lincoln Stein
fd7a72e147
remove debugging message
2022-09-04 08:23:11 -04:00
Lincoln Stein
3a2be621f3
Merge branch 'development' into main
2022-09-04 08:15:51 -04:00
Justin Wong
5116c8178c
fix save_original flag saving to the same filename ( #360 )
...
* Update README.md with new Anaconda install steps (#347 )
pip3 version did not work for me and this is the recommended way to install Anaconda now it seems
* fix save_original flag saving to the same filename
Before this, the `--save_orig` flag was not working. The upscaled/GFPGAN would overwrite the original output image.
Co-authored-by: greentext2 <112735219+greentext2@users.noreply.github.com>
2022-09-04 07:17:58 -04:00
Sebastian Aigner
91e826e5f4
Add CORS headers to dream server to ease integration with third-party web interfaces
2022-09-04 10:22:54 +02:00
Kevin Gibbons
751283a2de
fix img2img variations/MPS ( #353 )
...
* fix img2img variations
* fix assert for variation_amount
2022-09-04 00:34:20 -06:00
Lincoln Stein
6266d9e8d6
remove stray debugging message
2022-09-03 15:45:20 -04:00
Lincoln Stein
d0d95d3a2a
make initimg appear in web log
2022-09-03 14:10:31 -04:00
Lincoln Stein
a01b7bdc40
add web interface for seamless option
2022-09-03 13:43:04 -04:00
Lincoln Stein
5454a0edc2
code cleanup
...
* check that fixed side provided when requesting variant parameter sweep
(-v)
* move _get_noise() into outer scope to improve readability -
refactoring of big method call needed
2022-09-03 10:40:20 -04:00
Lincoln Stein
fe5cc79249
fixes dream.py mps seed
2022-09-03 10:11:46 -04:00
Lincoln Stein
91cce6b4c3
move special-casing test for precision on mps into T2I class
2022-09-03 09:43:18 -04:00
Lincoln Stein
d8c0d020eb
remove space between -V and its value in generated prompt, for consistency with other switches
2022-09-03 09:08:10 -04:00
Peter Baylies
1a4bed2e55
Merge branch 'development' of https://github.com/lstein/stable-diffusion into development
2022-09-03 05:02:25 -04:00
prixt
02bee4fdb1
added --seamless tag logging to normalize_prompt
2022-09-03 16:08:03 +09:00
Kevin Gibbons
e918cb1a8a
replace list delimiters in variations syntax
2022-09-02 23:51:22 -07:00
prixt
d922b53c26
added seamless tiling mode and commands
2022-09-03 15:13:31 +09:00
Lincoln Stein
dd2af3f93c
added walkthru, small code fixes
2022-09-02 17:54:55 -04:00
Lincoln Stein
2d65b03f05
Merge branch 'seed-fuzz' of github.com:bakkot/stable-diffusion into bakkot-seed-fuzz
2022-09-02 16:17:51 -04:00
Peter Baylies
70ef83ac30
Merge branch 'development' of https://github.com/lstein/stable-diffusion into development
2022-09-02 13:39:53 -04:00
Peter Baylies
b6cf8b9052
* Add threshold and perlin noise options for Karras samplers.
2022-09-02 13:39:26 -04:00
Lincoln Stein
0b582a40d0
add developer's guidance for refactoring this change
2022-09-02 10:17:51 -04:00
gabrielrotbart
f4a19af04f
fix scope being set to autocast even for m1
2022-09-02 14:55:24 +03:00
Kevin Gibbons
4fe265735a
support generating variations
...
Co-authored-by: xra <mail@xra.dev>
2022-09-01 23:48:53 -07:00
Lincoln Stein
629ca09fda
Merge branch 'dream-m1' of github.com:toffaletti/stable-diffusion into toffaletti-dream-m1
...
* Fix conflicts with main branch changes
* Fix logic error in choose_autocast_device() that was causing crashes
on CUDA systems.
2022-09-01 17:54:01 -04:00
Lincoln Stein
833de06299
fix InitImageResizer not found error, closes #294
2022-09-01 16:16:46 -04:00
Lincoln Stein
1b3c7acce3
fix ambiguous naming of self.device
2022-09-01 14:18:17 -04:00
Lincoln Stein
e6b2c15fc5
Merge branch 'main' into fit-init-img
...
add a --fit option to limit the size of the initial image to the
maximum boundaries specified by width and height.
2022-09-01 14:09:46 -04:00
Lincoln Stein
2455bb38a4
Remove redundant chain of types
...
torch->cuda and cuda->torch, so torch.cuda.torch.cuda actually works. However it looks like (and probably is) a typo.
2022-09-01 10:23:45 -04:00
Lincoln Stein
01e05a98de
this fixes the inconsistent use of self.device, sometimes a str and sometimes an obj
2022-09-01 10:16:05 -04:00
Cora Johnson-Roberson
91565970c2
Move environment-mac.yaml to Python 3.9 and patch dream.py for Macs.
...
I'm using stable-diffusion on a 2022 Macbook M2 Air with 24 GB unified memory.
I see this taking about 2.0s/it.
I've moved many deps from pip to conda-forge, to take advantage of the
precompiled binaries. Some notes for Mac users, since I've seen a lot of
confusion about this:
One doesn't need the `apple` channel to run this on a Mac-- that's only
used by `tensorflow-deps`, required for running tensorflow-metal. For
that, I have an example environment.yml here:
https://developer.apple.com/forums/thread/711792?answerId=723276022#723276022
However, the `CONDA_ENV=osx-arm64` environment variable *is* needed to
ensure that you do not run any Intel-specific packages such as `mkl`,
which will fail with [cryptic errors](https://github.com/CompVis/stable-diffusion/issues/25#issuecomment-1226702274 )
on the ARM architecture and cause the environment to break.
I've also added a comment in the env file about 3.10 not working yet.
When it becomes possible to update, those commands run on an osx-arm64
machine should work to determine the new version set.
Here's what a successful run of dream.py should look like:
```
$ python scripts/dream.py --full_precision SIGABRT(6) ↵ 08:42:59
* Initializing, be patient...
Loading model from models/ldm/stable-diffusion-v1/model.ckpt
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
making attention of type 'vanilla' with 512 in_channels
Using slower but more accurate full-precision math (--full_precision)
>> Setting Sampler to k_lms
model loaded in 6.12s
* Initialization done! Awaiting your command (-h for help, 'q' to quit)
dream> "an astronaut riding a horse"
Generating: 0%| | 0/1 [00:00<?, ?it/s]/Users/corajr/Documents/lstein/ldm/modules/embedding_manager.py:152: UserWarning: The operator 'aten::nonzero' is not currently supported on the MPS backend and will fall back to run on the CPU. This may have performance implications. (Triggered internally at /Users/runner/work/_temp/anaconda/conda-bld/pytorch_1662016319283/work/aten/src/ATen/mps/MPSFallback.mm:11.)
placeholder_idx = torch.where(
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [01:37<00:00, 1.95s/it]
Generating: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [01:38<00:00, 98.55s/it]
Usage stats:
1 image(s) generated in 98.60s
Max VRAM used for this generation: 0.00G
Outputs:
outputs/img-samples/000001.1525943180.png: "an astronaut riding a horse" -s50 -W512 -H512 -C7.5 -Ak_lms -F -S1525943180
```
2022-09-01 09:04:30 -04:00
Jason Toffaletti
09bd9fa47e
move autocast device selection to a function
2022-08-31 22:21:14 -07:00
Lincoln Stein
dc30adfbb4
closes #273 , crash on M1 machines
2022-09-01 01:09:56 -04:00
Jason Toffaletti
fa98601bfb
better error reporting for load_model
2022-08-31 22:03:50 -07:00
Jason Toffaletti
bf50ab9dd6
changes to get dream.py working on M1
...
- move all device init logic to T2I.__init__
- handle m1 specific edge case with autocast device type
- check torch.cuda.is_available before using cuda
2022-08-31 22:03:42 -07:00
Lincoln Stein
28fe84177e
optionally scale initial image to fit box defined by width x height
...
* This functionality is triggered by the --fit option in the CLI (default
false), and by the "fit" checkbox in the WebGUI (default True)
* In addition, this commit contains a number of whitespace changes to
make the code more readable, as well as an attempt to unify the visual
appearance of info and warning messages.
2022-09-01 00:52:43 -04:00
blessedcoolant
0433b3d625
Add Warning When Image Is Too Large ( #271 )
...
* Add Warning When Image Is Too Large
* fix incomprehensible formatting introduced by "blue"
Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-08-31 23:13:21 -04:00
Lincoln Stein
4b560b50c2
fix AttributeError crash when running on non-CUDA systems ( #256 )
...
* fix AttributeError crash when running on non-CUDA systems; closes issue #234 and issue #250
* although this prevents dream.py script from crashing immediately on MPS systems, MPS support still very much a work in progress.
2022-08-31 16:59:27 -04:00
Lincoln Stein
9ad79207c2
Merge branch 'main' of github.com:lstein/stable-diffusion into main
2022-08-31 14:44:18 -04:00
Lincoln Stein
0be2351c97
Merge branch 'resolution-checker' of https://github.com/blessedcoolant/stable-diffusion into main
2022-08-31 14:43:17 -04:00
_nderscore
c52ba1b022
feat: simplify and enhance prompt weight splitting ( #258 )
...
* feat: simplify and enhance prompt weight splitting
* fix: don't shadow the prompt variable
* feat: enable backslash-escaped colons in prompts
2022-08-31 14:00:10 -04:00
Mikhail Tishin
b622819051
Expose img2img strength parameter in Web UI ( #239 )
...
* Expose img2img strength parameter in Web UI
* Fix strength label id
Co-authored-by: Mikhail Tishin <michail.tishin@fayrix.com>
Co-authored-by: Kevin Gibbons https://github.com/bakkot
2022-08-31 11:18:32 -04:00
James Reynolds
a547c33327
check if torch.backends has mps before calling it ( #245 )
...
Co-authored-by: James Reynolds <magnsuviri@me.com>
2022-08-31 10:56:38 -04:00
Lincoln Stein
5354122094
Merge branch 'main' into refactor-pngwriter-2
2022-08-31 01:24:17 -04:00
spezialspezial
64444025a9
Update simplet2i.py ( #228 )
...
Typo causing bug when preinitializing the model. Unsupported Sampler: klms, Defaulting to plms
2022-08-31 01:08:46 -04:00
Kevin Gibbons
d566ee092a
move make_grid into image_utils
2022-08-30 22:03:53 -07:00
Kevin Gibbons
b983d61e93
tweak format of "result" event in web ui
2022-08-30 22:03:53 -07:00
Kevin Gibbons
153c93bdd4
refactor pngwriter
2022-08-30 22:03:51 -07:00
Lincoln Stein
3be1cee17c
avoid crash due to dangling batch_size reference
2022-08-31 00:56:12 -04:00
Lincoln Stein
bdb0651eb2
add support for Apple hardware using MPS acceleration
2022-08-31 00:33:23 -04:00
blessedcoolant
1480ef84dc
Add Resolution Checker
2022-08-31 14:54:16 +12:00
Kevin Gibbons
1714816fe2
remove support for batch_size from dream.py ( #227 )
...
* remove dream.py support for batch_size
* expect to get a single image
2022-08-30 22:30:12 -04:00
Kevin Gibbons
8ca4d6542d
support progress for img2img ( #215 )
...
WebGUI shows progress bar when an initial image is provided.
2022-08-30 15:36:12 -04:00
Lincoln Stein
a51e18ea98
resize initial image to match requested width and height, preserving aspect ratio. Closes #210 . Closes #207 ( #214 )
2022-08-30 15:26:02 -04:00
Kevin Gibbons
5d13207aa6
webui: support cancelation
2022-08-30 08:55:40 -07:00
Lincoln Stein
186d0f9d10
Merge branch 'sw-drop' of https://github.com/bakkot/stable-diffusion into bakkot-sw-drop
2022-08-30 09:17:07 -04:00
Lincoln Stein
19e4298cf9
Merge branch 'BlueAmulet-prompt_as_dir' into main
...
This adds the frequently-requested feature of naming the output
directory after the text prompt.
2022-08-29 22:34:48 -04:00
Lincoln Stein
42ffcd7204
add the recently added commands to the readline command-line-completion list; fix command-line documentation bug, closing issue #188
2022-08-29 22:34:09 -04:00
Kevin Gibbons
18597ad1d9
fix bug in pngwriter
2022-08-29 16:33:32 -07:00
Kevin Gibbons
0173d3a8fc
stream images
2022-08-29 16:33:31 -07:00
Kevin Gibbons
a7a62d39d4
webui: hide gfpgan if not installed
2022-08-29 16:27:44 -07:00
Lincoln Stein
24ce56b3db
Merge branch 'webui-sampler-fix' into main
2022-08-29 19:25:49 -04:00
Lincoln Stein
81ad239197
Merge pull request #192 from david-ford/working-branch
...
Fix case sensitive check to be case insensitive
2022-08-29 17:48:12 -04:00
David Ford
ed38c97ed8
Removed unrelated changes and updated based on recommendation
...
Removed the changes to the index.html and .gitattributes for this PR. Will add them in separate PRs.
Applied recommended change for resolving the case issue.
2022-08-29 16:43:34 -05:00
Lincoln Stein
7fe7cdc8c9
Merge pull request #176 from xraxra/show-tokenization
...
Print out tokenization data during image generation, allowing truncated prompts to be visible.
2022-08-29 15:36:10 -04:00
Lincoln Stein
6fb2f1ed6e
fixes WebUI so that the selected sampler is actually applied
2022-08-29 14:06:18 -04:00
Lincoln Stein
38701a6d7b
Fix IndexError when generating grid; --grid option can now be passed on shell command line
2022-08-29 13:52:44 -04:00
David Ford
31fa92a83f
Fix case sensitive check to be case insensitive
...
Case sensitivity between os.getcwd and os.realpath can fail due to different drive letter casing. C:\ vs c:\. This change addresses that by normalizing the strings before comparing.
2022-08-29 12:46:24 -05:00
Lincoln Stein
0abfc3cac6
Merge branch 'main' of github.com:lstein/stable-diffusion into main
...
This fixes issue with grid generation.
2022-08-29 13:39:59 -04:00
Lincoln Stein
d483fcb53a
Merge pull request #166 from SMUsamaShah/patch-1
...
Bug fix in grid
2022-08-29 13:39:50 -04:00
Lincoln Stein
c7db038c96
grid is broken, needs the grid-fix PR#166 to fix
2022-08-29 13:39:20 -04:00
Lincoln Stein
4acfb76be6
correctly handle upscaling in webUI, including displaying status messages during GFPGAN/ESRGAN postprocessing
2022-08-29 12:08:18 -04:00
Lincoln Stein
fd13526454
Merge pull request #175 from bakkot/unicode
...
read/write plain text files in utf-8, not ascii
2022-08-29 07:03:55 -04:00
Lincoln Stein
7718af041c
Merge pull request #178 from lstein/dream-web-upscaling
...
FEAT: Dream web upscaling
2022-08-29 06:59:21 -04:00
tesseractcat
070795a3b4
webui: stream progress events to page
2022-08-28 21:54:10 -07:00
Lincoln Stein
46464ac677
remove unused metadatastr variable
2022-08-28 23:45:50 -04:00
Lincoln Stein
03d8eb19e0
when no callback used, modify results list so that upscaled/face-fixed image replaces the old one
2022-08-28 23:40:04 -04:00
xra
fef632e0e1
tokenization logging (take 2)
...
This adds an option -t argument that will print out color-coded tokenization, SD has a maximum of 77 tokens, it silently discards tokens over the limit if your prompt is too long.
By using -t you can see how your prompt is being tokenized which helps prompt crafting.
2022-08-29 12:28:49 +09:00
Lincoln Stein
05061a70b3
report errors on non-cuda systems rather than failing silently
2022-08-28 23:13:23 -04:00
Lincoln Stein
617a029ae7
pass outdir from txt2img() and img2img() to prompt2img() correctly
2022-08-28 23:12:49 -04:00
Kevin Gibbons
7ae79b350e
write log files in utf-8, not ascii
2022-08-28 20:00:11 -07:00
Lincoln Stein
18899be4ae
working, but there is a bug in underlying txt2png() call that is preventing upscaled images from being returned
2022-08-28 22:42:31 -04:00
blessedcoolant
41b26e0520
Merge pull request #171 from blessedcoolant/sampler-bug-fix
...
Fix sampler changer not working.
2022-08-29 13:06:30 +12:00
blessedcoolant
b6053108c1
Merge pull request #168 from blessedcoolant/bug-fixes
...
Fixed grid image not saving
2022-08-29 13:05:53 +12:00
blessedcoolant
f0e2fa781f
Grid image not saving after recent changes has been fixed.
2022-08-29 11:29:45 +12:00
blessedcoolant
87b7446228
Fix unique filename bug
2022-08-29 11:28:16 +12:00
blessedcoolant
8a517fdc17
Fix sampler changer not working.
2022-08-29 11:26:19 +12:00
Lincoln Stein
373a2d9c32
Merge branch 'main' of github.com:lstein/stable-diffusion into main
2022-08-28 19:03:45 -04:00
Lincoln Stein
b85773f332
resolved conflicts and write properly-formatted prompt string (with sampler & upscaling) into image file
2022-08-28 19:01:45 -04:00
Lincoln Stein
ddc0e9b4d8
Merge pull request #133 from bakkot/dir-traversal
...
prevent directory traversal in the web UI
2022-08-28 18:32:12 -04:00
Lincoln Stein
8bbe7936bd
close Issue #165
2022-08-28 18:21:20 -04:00
Kevin Gibbons
9e7865704a
prevent directory traversal in the web UI
2022-08-28 14:33:30 -07:00
Lincoln Stein
ac02a775e4
moved server.py into right location
2022-08-28 17:27:43 -04:00
Lincoln Stein
7c485a1a4a
adjusted -U upscaling argument so that it defaults to upscaling strength 0.75 if the second argument is not given
2022-08-28 17:26:39 -04:00
Lincoln Stein
ea2ee33be8
cosmetic fixup to how the outputs are reported
2022-08-28 17:06:33 -04:00
Lincoln Stein
7dfca3dcb5
moved scripts/dream_server.py into ldm/dream/server.py
2022-08-28 16:37:27 -04:00
blessedcoolant
6e49c070bb
Optimize and Improve GFPGAN and Real-ESRGAN Pipeline
2022-08-29 08:14:29 +12:00
Lincoln Stein
a7ac93a899
Merge pull request #110 from sajattack/half-precision-embeddings
...
Support full-precision embeddings in half precision inference mode
2022-08-28 15:36:26 -04:00
Lincoln Stein
3b2569ebdd
Merge branch 'yunsaki-main' into main
2022-08-28 14:20:48 -04:00
Lincoln Stein
8b9a520c5c
adjusted handling of from_file
2022-08-28 14:20:34 -04:00
Lincoln Stein
ba03289c14
print current and max VRAM usage stats after each round of generation
2022-08-28 13:05:01 -04:00
blessedcoolant
d1551b1bd4
Enable users to set sampler using prompts
2022-08-29 04:27:54 +12:00
Muhammad Usama
59be6c815d
bug fix in grid
...
In case of 6 images 3rd image was also copied to 4th box missing the last image in the grid.
2022-08-28 15:39:09 +01:00
Lincoln Stein
800132970e
Merge pull request #105 from shusso/select-device
...
Move torch.device selection to it's own function
2022-08-26 12:23:21 -04:00
Paul Sajna
555f13e469
Merge branch 'main' into half-precision-embeddings
2022-08-26 08:33:46 -07:00
Paul Sajna
9b5101cd8d
support full-precision embeddings in half precision mode
2022-08-26 08:30:58 -07:00
yun saki
5129f256a3
simplet2i: changed image file handling to work as stated in the [docs]( https://pillow.readthedocs.io/en/stable/reference/open_files.html )
2022-08-26 14:13:16 +02:00
Samuel Husso
ed72ff3268
Move torch.device selection to it's own function
2022-08-26 14:43:18 +03:00
Sean McLellan
f3fad22cb6
Fix
2022-08-26 05:27:34 -04:00
Sean McLellan
7bf0bc5208
fix comment
2022-08-26 04:08:18 -04:00
Sean McLellan
4e5aa7e714
fix comment
2022-08-26 04:07:01 -04:00
Sean McLellan
46a223f229
Double check for null and 0, and add a comment to indicate intent
2022-08-26 04:05:09 -04:00
Lincoln Stein
4f02b72c9c
prettified all the code using "blue" at the urging of @tildebyte
2022-08-26 03:15:42 -04:00
Lincoln Stein
dd670200bb
documentation tweaks for installation and running of the GFPGAN extension; now you have the ability to specify the previous image's seed with -S -1, the one before that with -S -2, and so forth
2022-08-26 02:17:14 -04:00
Lincoln Stein
8f89a2456a
something is not quite right; when providing -G1 option on one prompt, and then omitting it on the next, I see a "images do not match" error from GFPGAN
2022-08-26 01:20:01 -04:00
Sean McLellan
407d70a987
Fix backwards logic
2022-08-26 00:49:12 -04:00
Sean McLellan
f1ffb5b51b
Fix blend if the target image has been upscaled
2022-08-26 00:45:19 -04:00
Sean McLellan
4f1664ec4f
remove params
2022-08-26 00:41:41 -04:00
Sean McLellan
fcdd95b652
Refactor so that behavior is consolidated at top level
2022-08-26 00:39:57 -04:00
Sean McLellan
470a62dbbe
Merge branch 'main' of https://github.com/BaristaLabs/stable-diffusion-dream into add-gfpgan-option
2022-08-26 00:26:03 -04:00
Sean McLellan
cb86b9ae6e
Remove the redundancy, better logging
2022-08-25 23:48:35 -04:00
Sean McLellan
dbb9132f4d
Merge branch 'main' of https://github.com/BaristaLabs/stable-diffusion-dream into add-gfpgan-option
2022-08-25 23:19:17 -04:00
Sean McLellan
5711b6d611
Add optional GFPGAN support
2022-08-25 22:57:30 -04:00
Lincoln Stein
f1bed52530
moved dream utilities into their own subfolder
2022-08-25 22:49:15 -04:00
Lincoln Stein
c38b6964b4
improved inline error messages slightly
2022-08-25 22:19:12 -04:00
Kevin Gibbons
797de3257c
fix batch_size
2022-08-25 17:28:52 -07:00
Kevin Gibbons
31b22e057d
switch to generators
2022-08-25 17:06:06 -07:00
Kevin Gibbons
078859207d
factor out loop
2022-08-25 16:51:39 -07:00
Kevin Gibbons
a10baf5808
factor out exception handler
2022-08-25 15:13:07 -07:00
Lincoln Stein
19fa222810
refactoring complete; please test carefully!
2022-08-25 17:30:08 -04:00
Lincoln Stein
b3e3b0e861
feature complete; looks like ready for merge
2022-08-25 17:26:48 -04:00
Lincoln Stein
650ae3eb13
Merge pull request #89 from BlueAmulet/remove-accelerate
...
Remove accelerate library
2022-08-25 13:48:48 -04:00
BlueAmulet
b7735b3788
Fix attribution
2022-08-25 11:13:12 -06:00
BlueAmulet
39b55ae016
Remove accelerate library
...
This library is not required to use k-diffusion
Make k-diffusion wrapper closer to the other samplers
2022-08-25 11:04:57 -06:00
JigenD
e82c5eba18
PR revision: replace cuda call with dynamic type
2022-08-25 12:18:35 -04:00
Lincoln Stein
49247b4aa4
fix performance regression; closes issue #42
2022-08-25 09:41:12 -04:00
JigenD
eb58276a2c
fix VRAM utilization
2022-08-25 08:34:51 -04:00
Lincoln Stein
0b4459b707
mostly back to full functionality; just missing grid generation code
2022-08-25 00:42:37 -04:00
Lincoln Stein
b978536385
code is reorganized and mostly functional. Grid needs to be brought back online, as well as naming of img2img variants (currently the variants get written but not logged)
2022-08-24 19:47:59 -04:00
Lincoln Stein
9133087850
first draft at big refactoring; will be broken
2022-08-24 17:52:34 -04:00
Lincoln Stein
1eec6b776b
tweaked documentation and comments slightly
2022-08-24 15:25:52 -04:00
Sean McLellan
feea5fb063
Merge branch 'main' of https://github.com/BaristaLabs/stable-diffusion-dream into add-simple-variant-mechanism
2022-08-24 13:16:15 -04:00
Sean McLellan
b5cdbd3b0b
Fixes issue with cuda/current mismatch
2022-08-24 13:14:08 -04:00
Lincoln Stein
e043f238af
backed out change from PR #44 that was causing ddim sampler to fail with the message 'sqrt _vml_cpu not implemented for 'Half'
2022-08-24 13:10:42 -04:00
Lincoln Stein
47a5da25b7
runtime errors now produce a stack trace
2022-08-24 12:57:04 -04:00
Sean McLellan
c6b5e930dc
Merge branch 'main' of https://github.com/BaristaLabs/stable-diffusion-dream into add-simple-variant-mechanism
2022-08-24 12:06:29 -04:00
Sean McLellan
d33e1bf563
Add simple way to make variants
2022-08-24 12:02:36 -04:00
Lincoln Stein
c24a16ccb0
resolved merge conflicts
2022-08-24 11:50:48 -04:00
Lincoln Stein
9050ce152b
Fixed up a few merge conflicts, looks good so far
2022-08-24 11:29:32 -04:00
Lincoln Stein
73901a2777
Merge pull request #58 from nicolai256/main
...
init img didn't work in textual inversion, now it does :)
2022-08-24 11:24:30 -04:00
Lincoln Stein
7f4a5e946d
Merge branch 'tildebyte-feat-samplers-add-remaining-k' into main
...
This adds the remaining k_* samplers to the dream.py script.
2022-08-24 11:19:45 -04:00
Lincoln Stein
3393b8cad1
added assertion checks for out-of-bound arguments; added various copyright and license agreement files
2022-08-24 09:22:27 -04:00
Benjamin Warner
886f1c0138
Undo more 'cuda' hardcoding
2022-08-24 00:39:25 -05:00
nicolai256
9588444f0e
textual inversion + init img fix
2022-08-24 05:16:01 +02:00
Sean McLellan
24b11ecf9f
Fix silent SystemExit if embedding_path is not specified
2022-08-23 22:45:02 -04:00
Sean McLellan
84989f0d05
Remote token output on startup
2022-08-23 22:39:10 -04:00
Sean McLellan
611ccb991e
Remove another duplicate file
2022-08-23 18:31:41 -04:00
Sean McLellan
bde956647f
Remove duplicate t2i file
2022-08-23 18:29:50 -04:00
Sean McLellan
8952196bbf
Add personalization
2022-08-23 18:26:28 -04:00
Ben Alkov
050dffd269
feat(samplers): add ability use all k_* samplers
...
Signed-off-by: Ben Alkov <ben.alkov@gmail.com>
2022-08-23 17:26:22 -04:00
Benjamin Warner
de1cea92ce
Small QoL imporvements
2022-08-23 12:49:17 -05:00
Lincoln Stein
716dbbdf8c
resolved conflicts in README changelog
2022-08-23 10:40:22 -04:00
Lincoln Stein
dc788f92b3
in output directory, new image files always start with the number higher than the previous maximum filename to ensure alphabetic sort==chronological sort
2022-08-23 10:19:11 -04:00
Lincoln Stein
9d1343dce3
resolved conflicts and tested
2022-08-23 01:44:43 -04:00
Lincoln Stein
11c0df07b7
prompt weighting not working
2022-08-23 01:23:14 -04:00
Lincoln Stein
ca8a799373
Merge pull request #24 from bakkot/patch-1
...
Fix usage of simplified API in readme
2022-08-23 01:02:13 -04:00
Lincoln Stein
710b908290
Keyboard interrupt retains seed and log information in files produced prior to interrupt. Closes #21
2022-08-23 00:51:38 -04:00
Kevin Gibbons
c80ce4fff5
fix default config to match docs / dream.py
2022-08-22 21:46:22 -07:00
Lincoln Stein
6d1219deec
fixed filenames
2022-08-22 23:56:36 -04:00
Lincoln Stein
a20827697c
adjusted instructions for the released stable-diffusion-v1 weights
2022-08-22 15:33:27 -04:00
xra
e4eb775b63
added optional parameter to skip subprompt weight normalization
...
allows more control when fine-tuning
2022-08-23 00:03:32 +09:00
xra
a3632f5b4f
improved comments & added warning if value couldn't be parsed correctly
2022-08-22 23:32:01 +09:00
xra
2736d7e15e
optional weighting for creative blending of prompts
...
example: "an apple: a banana:0 a watermelon:0.5"
the above example turns into 3 sub-prompts:
"an apple" 1.0 (default if no value)
"a banana" 0.0
"a watermelon" 0.5
The weights are added and normalized
The resulting image will be: apple 66%, banana 0%, watermelon 33%
2022-08-22 22:59:06 +09:00
Lincoln Stein
aa2729d868
user's prompt is now normalized for reproducibility and written into the destination PNG file as a tEXt metadata chunk named "Dream". You can retrieve the prompt with an image editing program that supports browsing the full metadata, or with the images2prompt.py script located in 'scripts'
2022-08-22 00:12:16 -04:00
Lincoln Stein
5f352aec87
test of normalization of prompt
2022-08-21 22:48:40 -04:00
Lincoln Stein
f5450bad61
k_lms sampling working; half precision working, can override with --full_precision
2022-08-21 20:16:31 -04:00
Lincoln Stein
78aba5b770
preparing for merge into main
2022-08-21 19:57:48 -04:00
Lincoln Stein
bb91ca0462
first attempt to fold k_lms changes proposed by hwharrison and bmaltais
2022-08-21 17:09:00 -04:00
xra
a5fb8469ed
use Half precision for reduced memory usage & faster speed
...
This allows users with 6 & 8gb cards to run 512x512 and for even larger resolutions for bigger GPUs
I compared the output in Beyond Compare and there are minor differences detected at tolerance 3, but side by side the differences are not perceptible.
2022-08-19 17:23:43 +09:00
Lincoln Stein
2b2ebd19e7
fixed a typo that introduced a crash
2022-08-18 13:47:07 -04:00
Lincoln Stein
87fb4186d4
folded in changes from img2img-dev
2022-08-18 12:45:02 -04:00
Lincoln Stein
750408f793
added command-line completion
2022-08-18 12:43:59 -04:00
Lincoln Stein
bf76c4f283
img2img is now working; small refactoring of grid code in simplet2i.py
2022-08-18 10:47:53 -04:00
Lincoln Stein
831bbd7a54
improved error reporting when a missing online dependency can't be downloaded
2022-08-17 18:06:30 -04:00
Lincoln Stein
c477525036
catch and handle malformed user inputs; documentation fixes
2022-08-17 12:35:49 -04:00
Lincoln Stein
a7532b386a
simplified instructions to preload Bert and kornia prerequisites; fixed --grid and --batch handling; added timing information after image generation
2022-08-17 12:00:00 -04:00
Lincoln Stein
d6124c44a3
added customized patches and updated the README
2022-08-16 21:34:37 -04:00
Robin Rombach
2ff270f4e0
stable diffusion
2022-08-10 16:30:49 +02:00
rromb
f13bf9bf46
add vqgan loss with codebook statistic eval
2022-02-21 15:06:50 +01:00
Robin Rombach
2b46bcb98c
Update ddpm.py
...
clean up no.1
2022-01-17 21:24:19 +01:00
ablattmann
171cf29fb5
add configs for training unconditional/class-conditional ldms
2021-12-22 15:57:23 +01:00
ablattmann
e66308c7f2
add code
2021-12-21 03:23:41 +01:00