Commit Graph

47 Commits (master)

Author SHA1 Message Date
Bryce Drennan df86aa6668
feature: densepose controlnet (#481) 2 months ago
Bryce 76b6fa8b65 tests: fix them 3 months ago
Bryce cf8a44b317 feature: update refiners
better handles img2img (partial diffusion runs)
4 months ago
Bryce d2609cb5cd fix: use smaller composition size 5 months ago
Bryce 32b5175e0e feature: better upscaling
- use face enhancement in a smarter way that doesn't blur high-res images
- use a different upscale model for composition images

**Upscaling**
RealESRGAN is great but it blurs parts of images it doesn't understand

4xUltrasharp is a finetune of RealESRGan that isn't as good but doesn't have this blurry patch problem.  This makes it more suitable to use as part of the composition/upscale process.  We still use realesrgan for any last-step upscales since it does look better.

had to write a state dict translator to use the ultrasharp model

**Face Enhancement**

We no longer enhance faces that are larger than 512 pixels. They should already have enough details and the face enhancer doesn't produce faces at high enough resolution to look good at that size.
5 months ago
Bryce 0c03612d44 feature: large images now stay well-composed thanks to tile controlnet 6 months ago
jaydrennan e7b6fc40fa fix: adds default line ending for csv writing.
the csv library defaults to using CRLF line endings if not specified.
6 months ago
jaydrennan 3f3e080d39 feature: adds ability to use qrcode
feature: adds controlnet qrcode image generation.
feature: adds control net for qrcode image generation.
6 months ago
Bryce 62de446a92 ci: add mypy github action 6 months ago
Bryce 203747b14f refactor: simplify model_weights/architecture 6 months ago
Bryce 2bd6cb264b feature: large refactor
- add type hints
- size parameter
- ControlNetInput => ControlInput
- simplify imagineresult
6 months ago
Bryce 0fe3733933 fix: memory management issue
the dtype being used as a cache key wasn't consistent. this caused the model to be loaded twice
6 months ago
Bryce b61d06651c tests: fix tests
- disable details mode. needs more work done to support
6 months ago
Bryce b5a0e65f35 fix: edit mode and some controlnet tests 6 months ago
Bryce f97f6a3b4b feature: use refiners library for generation
BREAKING CHANGE

  - stable diffusion 1.5 + inpainting working
  - self-attention guidance working. improves image generation quality
  - tile-mode working
  - inpainting self-attention guidance working

disable/broken features:
  - sd 1.4, 2.0, 2.1
  - most of the samplers
  - pix2pix edit
  - most of the controlnets
  - memory management
  - python 3.8 support

wip
6 months ago
Bryce 82d74c6b49 feature: switch to pydantic models
- allow prompt re-use by deferring random seed
1 year ago
Bryce 38ac0b7f54 tests: fix tests 1 year ago
Bryce df25936d6f feature: automatic use of inpainting
feature disabled since controlnet inpainting doesn't work great. Was disabled by setting `inpaint_method="finetune",`
1 year ago
Bryce 6db296aa37 tests: faster tests 1 year ago
Bryce c082ea523f tests: update tests
- controlnet version changes + graphics card change
1 year ago
Bryce db8d3b74ea feature: add "detail" control mode.
Add details to an image. Great for upscaling an image.
1 year ago
Bryce 476a81a967 feature: add "shuffle" control mode
Image is generated from elements of control image. similar to style transfer
1 year ago
Bryce 832adf27bc feature: update controlnets to 1.1
- smaller filesizes for the controlnet weights
- fix: works with other 1.5 based models
- enables more control modes getting added
1 year ago
Bryce 3b777b98d8 fix: improved large images using composition 1 year ago
Bryce 40da2b0357 tests: fix tests 1 year ago
Bryce 70c58467c0 fix: img2img was broken for all samplers except ddim,plms
img2img was broken for all samplers except plms and ddim when init image strength was >~0.25.  Been this way for a while. whoops
1 year ago
Bryce 54c3ad51d6 feature: controlnet 1 year ago
Bryce 8a97213622 feature: sliced latent decoding
allows generation of bigger images. tile seams can be noticeable occasionally despite the feathering
1 year ago
Bryce Drennan 542e4fbd55
fix: tile mode was broken since latest perf improvements (#220) 1 year ago
Bryce Drennan 7deabaae62
tests: update expected images for tests (#215) 1 year ago
Bryce 8855823293 fix: rename files for windows compat 1 year ago
Bryce 81f294216b feature: 🎉 outpainting 1 year ago
Bryce 9e0a9e2c29 tests: update 1 year ago
Bryce da0f1e1ee6 fix: make sure randomness is generated on cpu for consistency 1 year ago
Bryce 1f7403155e fix: more thorough cleaning of memory when switching models
also cleanup up some test failures
1 year ago
Bryce f30823e0b5 feature: Stable Diffusion 2.1 2 years ago
Bryce 2f8edc1530 feature: negative prompting
- feature: negative prompting.  `--negative-prompt` or `ImaginePrompt(..., negative_prompt="ugly, deformed, extra arms, etc")`
- feature: a default negative prompt is added to all generations. Images in SD-2.0 don't look bad anymore. Images in 1.5 look improved as well.
2 years ago
Bryce 554fc1d0ec tests: update images
- probably the k-diffusin update fixed some bugs
- add missing images
2 years ago
Bryce 9c153a8d2d feature: support k-sampler methods for SD-2.0-v (768) 2 years ago
Bryce 015088507f feature/refactor/fix: better defaults. correct version in metadata
- feature: use different default steps and image sizes depending on sampler and model selceted
- fix: #110 use proper version in image metadata
- refactor: samplers all have their own class that inherits from ImageSampler
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