Commit Graph

104 Commits

Author SHA1 Message Date
Bryce
b61d06651c tests: fix tests
- disable details mode. needs more work done to support
2023-12-03 09:13:01 -08:00
Bryce
b5a0e65f35 fix: edit mode and some controlnet tests 2023-11-24 09:10:12 -08:00
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
2023-11-22 13:22:00 -08:00
Bryce
558d3388e5 style: speed up linting and autoformatting. fix lints 2023-09-29 23:01:50 -07:00
Bryce
8243ed616d fix: pydantic models for http server working now. Fixes #380 2023-09-29 00:40:46 -07:00
Bryce
7c2004bfcc feature/fix: migrate to pydantic 2.3
- test: add schema tests/fuzzer and fixes
 - fix default prompt. add tests
 - fix outpaint and controlnet defaults
 - fix init image strength defaults
2023-09-16 23:09:18 -07:00
Bryce
82d74c6b49 feature: switch to pydantic models
- allow prompt re-use by deferring random seed
2023-05-31 20:02:09 -07:00
Bryce
38ac0b7f54 tests: fix tests 2023-05-20 13:09:00 -07:00
Bryce
df25936d6f feature: automatic use of inpainting
feature disabled since controlnet inpainting doesn't work great. Was disabled by setting `inpaint_method="finetune",`
2023-05-20 13:09:00 -07:00
Bryce
d32e1060cd feature: multi-controlnet support at the command line
add controlnet option for edit demo
2023-05-20 13:09:00 -07:00
Bryce
bcaa000d35 fix: model logging 2023-05-20 13:09:00 -07:00
Bryce
926692ad03 tests: "prime" the controlnets
Trying to get things working on m1. doesn't fix everything
2023-05-20 13:09:00 -07:00
Bryce
eca97a25a0 tests: adjust tests to pass 2023-05-20 13:09:00 -07:00
Bryce
4c77fd376b feature: improvements to memory management
not thoroughly tested on low-memory devices
2023-05-20 13:09:00 -07:00
Bryce
6db296aa37 tests: faster tests 2023-05-20 11:35:49 -07:00
Bryce
c082ea523f tests: update tests
- controlnet version changes + graphics card change
2023-05-13 23:41:00 -07:00
Bryce
db8d3b74ea feature: add "detail" control mode.
Add details to an image. Great for upscaling an image.
2023-05-05 02:53:43 -07:00
Bryce
476a81a967 feature: add "shuffle" control mode
Image is generated from elements of control image. similar to style transfer
2023-05-05 02:53:43 -07:00
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
2023-05-04 19:48:27 -07:00
Bryce
95d3d08d27 fix: better input image path handling
throw exception for non-existent images
2023-04-14 00:22:43 -07:00
Bryce
37d6642c83 fix: fix model downloads that were broken
by [library change in transformers 4.27.0](8f3b4a1d5b)
2023-03-18 13:49:11 -07:00
Bryce
3b777b98d8 fix: improved large images using composition 2023-02-28 21:04:00 -08:00
Bryce
40da2b0357 tests: fix tests 2023-02-28 21:04:00 -08:00
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
2023-02-28 21:04:00 -08:00
Bryce
e3b23584ed refactor: split up command line tool 2023-02-25 14:29:55 -08:00
Bryce
b261c62d4e docs: update docs 2023-02-22 23:38:47 -08:00
Bryce
54c3ad51d6 feature: controlnet 2023-02-22 23:38:47 -08:00
Bryce
bcd761b8a6 tests: better coverage of cli commands
add "empty" model that just uses empty state for models
2023-02-20 11:06:54 -08:00
Bryce
7b684b6e5c test: add smoke test for edit command 2023-02-20 11:06:54 -08:00
Bryce
1563e0b871 test: add some autoencoder tests
the fold-unfold encoding/decoding looks like it's slower and has worse seams than the sliced feathering approach
2023-02-18 15:36:34 -08:00
Bryce
b93b6a4d7c perf: use silu instead of nonlinearity for speedup 2023-02-15 14:22:00 -08:00
Bryce
003a512dc8 perf: mps perf improvement
attention slicing wasn't working
2023-02-15 14:22:00 -08:00
Bryce
ea1d4baafe refactor: cleanup image generation code 2023-02-15 14:22:00 -08:00
Bryce
8a97213622 feature: sliced latent decoding
allows generation of bigger images. tile seams can be noticeable occasionally despite the feathering
2023-02-12 01:41:57 -08:00
Bryce Drennan
9eacf5e7ed
perf: improve startup time by doing some imports lazily (#233)
just running `aimg --help` or `aimg --version` was very slow due to all the imports being brought in eagerly

Before changes `aimg --help`
`2.24s user 4.05s system 184% cpu 3.416 total`

After changes:
`0.04s user 0.02s system 8% cpu 0.625 total`

Used `PYTHONPROFILEIMPORTTIME=1 aimg --help` to find time consuming imports.

Also switched to using `scripts` instead of `entrypoints` since the scripts are much faster.

Made duplicate SAMPLER_TYPE_OPTIONS that can be loaded without loading all the samplers themselves.

Likely a breaking change - not sure.
2023-02-02 21:43:04 -08:00
Bryce Drennan
9ee09ac842
feature: add compilation animations (#224)
- add generation/compare gifs
2023-01-28 17:16:47 -08:00
Bryce Drennan
542e4fbd55
fix: tile mode was broken since latest perf improvements (#220) 2023-01-27 22:56:46 -08:00
Bryce Drennan
7deabaae62
tests: update expected images for tests (#215) 2023-01-26 20:41:47 -08:00
Bryce
8855823293 fix: rename files for windows compat 2023-01-22 19:08:01 -08:00
Bryce
5b56f05da7 feature: print version
- fix: default config wasn't being selected for custom models
2023-01-18 12:04:07 -08:00
Bryce
81f294216b feature: 🎉 outpainting 2023-01-17 00:31:01 -08:00
Bryce
24e10f9e5f fix: don't report a safety issue when a black image is generated 2023-01-16 14:51:31 -08:00
Bryce
5cc73f6087 feature: finetuning
- feature: finetuning your own image models
- feature: image prep command. crops to face or other interesting parts of photo
- fix: back-compat for hf_hub_download
- feature: add prune-ckpt command
- feature: allow specification of model config file
2023-01-16 01:35:59 -08:00
Bryce
9e0a9e2c29 tests: update 2023-01-02 14:11:36 -08:00
Bryce
eb40842078 test: more flexible embedding test 2023-01-02 14:11:36 -08:00
Bryce
1381c7fed4 lint: new ruff linter 2023-01-02 14:11:36 -08:00
Bryce
da0f1e1ee6 fix: make sure randomness is generated on cpu for consistency 2022-12-21 09:33:46 -08:00
Bryce
1f7403155e fix: more thorough cleaning of memory when switching models
also cleanup up some test failures
2022-12-18 22:00:29 -08:00
Bryce
f30823e0b5 feature: Stable Diffusion 2.1 2022-12-07 10:41:36 -08:00
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.
2022-12-02 02:03:13 -08:00