Bryce
203747b14f
refactor: simplify model_weights/architecture
2023-12-12 20:54:39 -08:00
Bryce
37ecd1e5e0
fix: videogen. track gpu tests
2023-12-12 20:54:39 -08:00
Bryce
e898e3a799
fix: several cli commands, edit demo, negative prompt
...
- fix colorize cmd. add test
- fix describe cmd. add test
- fix model-list cmd. add test
- fix stable studio
- hide stack grace for ValueErrors in cli
- set controlnet scale
- fix negative prompt to allow emptystring instead of replacing it with default
- adjust edit-demo parameters
- arg scheduler that works at click level (but disable it). works but not ideal experience.
2023-12-12 20:54:39 -08:00
Bryce
9b95e8b0b6
perf: improve cli startup time
...
- do not provide automatically imported api functions and objects in `imaginairy` root module
- horrible hack to overcome horrible design choices by easy_install/setuptools
The hack modifies the installed script to remove the __import__ pkg_resources line
If we don't do this then the scripts will be slow to start up because of
pkg_resources.require() which is called by setuptools to ensure the
"correct" version of the package is installed.
before modification example:
```
__requires__ = 'imaginAIry==14.0.0b5'
__import__('pkg_resources').require('imaginAIry==14.0.0b5')
__file__ = '/home/user/projects/imaginairy/imaginairy/bin/aimg'
with open(__file__) as f:
exec(compile(f.read(), __file__, 'exec'))
```
2023-12-12 20:54:39 -08:00
Bryce
2bd6cb264b
feature: large refactor
...
- add type hints
- size parameter
- ControlNetInput => ControlInput
- simplify imagineresult
2023-12-12 20:54:39 -08:00
Bryce
24f4af3482
feature: better torch installation experience
2023-12-05 21:46:55 -08:00
Bryce
71d4992dca
feature: added --size
parameter to allow using named sizes
2023-12-05 21:46:55 -08:00
Bryce
6fcf0da331
test: try local runner
2023-12-03 09:13:01 -08:00
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
2023-12-03 09:13:01 -08:00
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