Commit Graph

103 Commits (095a905d7203f2c15d752fa81fced9db28ea6c6d)

Author SHA1 Message Date
Bryce 095a905d72 fix: cpu generation doesn't use autocast
autocast not supported on CPU
https://github.com/pytorch/pytorch/issues/55374
https://github.com/invoke-ai/InvokeAI/pull/518
2 years ago
Bryce b8a88370de fix: lower memory reqs for attention on M1s 2 years ago
Bryce d499ca307b fix: use inpainting source that doesn't require login 2 years ago
Bryce 584e0d9df0 feature: change default sampler to k_dpmpp_2m, which is more than twice as fast 2 years ago
Bryce 0f02fc587c fix: k_dpm_fast on MPS platform
fixes #75

As discussed here: https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/2446#issuecomment-1279733739
2 years ago
Bryce 7af1ab66ca fix: add workaround for bug in k_diffusion on mps
As documented here: https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/4558#issuecomment-1310387114

- make image logs more consistent
- note which step the progress images belong to in the filename
2 years ago
Bryce 7fba2972e8 feature: added `DPM++ 2S a` and `DPM++ 2M` samplers
-fix: fix bug with `--show-work`
2 years ago
Bryce 021a0c540d feature: inpainting model support; improved model manager 2 years ago
Bryce 94c0aeab12 feature: switch between models without restarting python instance 2 years ago
Bryce 4d802a043e feature: stable diffusion 1.5 2 years ago
Bryce 8332593fed feature: dilation and erosion of masks
Previously the `+` and `-` characters in a mask (example: `face{+0.1}`) added to the grayscale value of any masked areas. This wasn't very useful. The new behavior is that the mask will expand or contract by the number of pixel specified. The technical terms for this are dilation and erosion.  This allows much greater control over the masked area.
2 years ago
Bryce 741a433c56 feature: update k_diffusion. add dpm_fast and dpm_addaptive samplers 2 years ago
Bryce dcf953383e tests: support distributed test runs
- switch to expected images instead of hashes. allow fuzzy matches
feature: more consistent seeds
2 years ago
Bryce 4ba1965db8 feature: k-diff sampler img2img and masking 2 years ago
Bryce 281d23adf2 refactor: prep for supporting img2img in k-samplers 2 years ago
Bryce e8bb3cf5fd refactor: consolidate masking logic 2 years ago
Bryce 72026c8c90 refactor: merge img2img and txt2img pipelines 2 years ago
Bryce a105dadbc4 refactor: combine identical schedules 2 years ago
Bryce 8d4b5cb9e1 refactor: standardize samplers more 2 years ago
Bryce 153c259ee4 fix: k-sampler methods were broken 2 years ago
Bryce 299687645b refactor: remove unused parameter 2 years ago
Bryce db5ebe9095 tests: tests can run without any network calls 2 years ago
Bryce b0123a8f43 refactor: remove unused parameters 2 years ago
Bryce 7ae77faf07 refactor: log indentation via formatter
Replace manual indentation with a context-aware logging formatter.
2 years ago
Bryce df3c752eb8 refactor: consolidate logging utils 2 years ago
Bryce 6a80759016 feature: improved safety filter
- provides more informative logs
- provides a detailed safety score object
- adds non-bypassable filter for extreme content
2 years ago
Bryce 0db5c329bb fix: prompt expansion bug 2 years ago
Bryce Drennan 31c2160e21
feature: prompt expansion (#51)
You can use `{}` to randomly pull values from lists.  A list of values separated by `|` and enclosed in `{ }` will be randomly drawn from in a non-repeating fashion. Values that are surrounded by `_ _` will pull from a phrase list of the same name.   Folders containing .txt phraselist files may be specified via
`--prompt_library_path`. The option may be specified multiple times.  Built-in categories:

      3d-term, adj-architecture, adj-beauty, adj-detailed, adj-emotion, adj-general, adj-horror, animal, art-movement,
      art-site, artist, artist-botanical, artist-surreal, aspect-ratio, bird, body-of-water, body-pose, camera-brand,
      camera-model, color, cosmic-galaxy, cosmic-nebula, cosmic-star, cosmic-term, dinosaur, eyecolor, f-stop,
      fantasy-creature, fantasy-setting, fish, flower, focal-length, food, fruit, games, gen-modifier, hair, hd,
      iso-stop, landscape-type, national-park, nationality, neg-weight, noun-beauty, noun-fantasy, noun-general,
      noun-horror, occupation, photo-term, pop-culture, pop-location, punk-style, quantity, rpg-item, scenario-desc,
      skin-color, spaceship, style, tree-species, trippy, world-heritage-site

   Examples:

   `imagine "a {red|black} dog" -r 2 --seed 0` will generate both "a red dog" and "a black dog"

   `imagine "a {_color_} dog" -r 4 --seed 0` will generate four, different colored dogs. The colors will eb pulled from an included
   phraselist of colors.

   `imagine "a {_spaceship_|_fruit_|hot air balloon}. low-poly" -r 4 --seed 0` will generate images of spaceships or fruits or a hot air balloon

   Credit to [noodle-soup-prompts](https://github.com/WASasquatch/noodle-soup-prompts/) where most, but not all, of the wordlists originate.
2 years ago
Bryce 9ba302a5f4 refactor: begin to standardize samplers 2 years ago
Bryce 62e4e9cc9d refactor: delete unused code 2 years ago
Bryce e5c5df6b3d tests: add some utils tests 2 years ago
Bryce beba2be6d5 fix: set fidelity default if None is passed in
Addresses #48
2 years ago
Bryce 2221d3d1c2 fix: handle small input images
If input images didn't need resizing because they were already smaller than max width/height then they didn't get normalized to a multiple of 64.  This caused an exception like the following:

```Sizes of tensors must match except in dimension 1. Expected size 4 but got size 3 for tensor number 1 in the list.
```
2 years ago
Bryce d3623882db fix: set default back to previous value
addresses #43
2 years ago
Bryce 340a90bacd feature: allow loading custom model weights at command line
Addresses #40
2 years ago
Bryce d689b06256 fix: ensure init-image-strength 0 is respected
addresses https://github.com/brycedrennan/imaginAIry/issues/38
2 years ago
Bryce 48117bbcb1 feature: face-fidelity is now configurable
remove face-fixing from upscaled version
2 years ago
Bryce f21c979f08 feature: better masking segmentation from clipseg 2 years ago
Bryce bc135724a3 fix: fix memory leak in face enhancer
thanks to @h4rk8s for discovering and finding a remedy

root cause was a model being instantiated inside
FaceRestoreHelper
2 years ago
Bryce 95a8fa31a9 fix: inpainting producing blurry images
while the previous version did produce much better blending it also makes images that lack detail for some reason.

tests: Added more tests to help catch this sort of thing earlies

fix: found that median blur is really slow, so I made sure we only do it on downsampled masks.  Was taking like 3 minutes to run on the large pearl girl picture on M1

- docs: update examples
2 years ago
Bryce 0fb03f2a1f fix/version: 2.0.1
quick fix for compatibility with Pillow < 9.1.0
https://stackoverflow.com/questions/71738218/module-pil-has-not-attribute-resampling
2 years ago
Bryce 6cae290038 fix: inpainting now matches photo at high generation strength
- 🎉 fix: inpainted areas correlate with surrounding image, even at 100% generation strength.  Previously if the generation strength was high enough the generated image
would be uncorrelated to the rest of the surrounding image.  It created terrible looking images.
 - fix: mask boundaries are more accurate
2 years ago
Bryce d563e0c7fb refactor: image version management
- mask_modify_original is now a prompt attribute
2 years ago
Bryce eaad0a15e4 ci: add automated testing/linting
- fix bugs
- disable some tests from running in CPU only mode since github actions can't handle it
2 years ago
Bryce 2f959c7394 docs: complete sentence 2 years ago
Bryce d832f15297 fix: masking now works properly at strengths 0 and 1 2 years ago
Bryce b69072d382 fix: various bugfixes 2 years ago
Bryce 2eec756fab feature: have initial generated images in their own folder 2 years ago
Bryce 30a80faf47 fix: use better rescale 2 years ago
Bryce b69b4c770e feature: interactive prompt
- add quiet flag
- add mask-modify-original flag
2 years ago