Commit Graph

275 Commits

Author SHA1 Message Date
Bryce
c299cfffd9 fix: cache the controlnet models 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
db85f0898a feature: remove training feature 2023-12-06 22:04:06 -08:00
jaydrennan
ef0f44646e feature: adds --control-strength as parameter for cli 2023-12-05 22:14:19 -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
14ecf93c6a feature: add sliced self-attention for future use with video generation 2023-12-05 21:46:55 -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
82c30024c9 feature: DDIM now default sampler
better output quality
2023-12-03 09:13:01 -08:00
Bryce
ba57393022 feature: patch refiners ScaledDotProductAttention for sliced attention 2023-12-03 09:13:01 -08:00
Bryce
1b15d6dcd4 feature: sliced image encoding for SD1Autoencoder 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
jaydrennan
cff17ef6f4
feature: adds text to video generation flag (#404)
Co-authored-by: jaydrennan
2023-11-27 18:00:56 -08:00
Bryce
8267482aad fix: remove padding approach
- padding didnt make animations better
- some changes to better support CPU generation (not yet working)
- better log output coloring
- better log messages when cuda not found
2023-11-25 16:18:44 -08:00
Bryce
b9e245eb7d fix: remove cuda memory tracking 2023-11-24 12:39:49 -08:00
Bryce
3b2265f82d feature: add video progress bar 2023-11-24 12:33:36 -08:00
Bryce
b5a0e65f35 fix: edit mode and some controlnet tests 2023-11-24 09:10:12 -08:00
Bryce
b7fad562d0 feature: improved logging
- clean up some error messages
- add color
- indent tqdm bar
2023-11-24 08:27:36 -08:00
Bryce
a126e1c1d7 feature: better error message when file not found 2023-11-23 12:24:48 -08:00
Bryce
aa91d0a9c9 feature: autoresize and crop videos.
This means you can just stick any image into the video generator without worrying about the size.

- better generated video filenames
- output h264 video as well
2023-11-23 10:16:12 -08:00
Bryce
c24ed1f33d feature: videogen improvements
- better filenames
- allow urls as image inputs
- better memory efficiency
- add timing information
2023-11-22 20:43:32 -08:00
Bryce
1da7043081 docs: update documentation 2023-11-22 18:26:50 -08:00
Bryce
e8fe8d7d6c feature: stable diffusion video (SVD) 2023-11-22 17:20:08 -08:00
jaydrennan
80ff006604 fix: updates weights_url's for controlnet 2023-11-22 17:18:22 -08:00
jaydrennan
e91a041a78 refactor: removes unused model configs 2023-11-22 17:14:44 -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
6cd519cdb2 refactor: move code to avoid conflicts with "http" namespace 2023-10-10 23:03:01 -07: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
8e956f5360 feature: add some helper functions 2023-09-16 23:09:18 -07:00
Bryce
f243006236 fix: allow tile_mode to be set to True or False for backward compatibility 2023-09-09 17:37:43 -07:00
Bryce
477d161c91 build: better communicate lack of support for Python 3.11 2023-09-09 15:25:57 -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
3fb0dcd891 fix: hide log warning 2023-05-31 20:02:09 -07:00
Bryce
c5c90df337 feature: fix debug level logging 2023-05-31 20:02:09 -07:00
Bryce
8ffb0fac0e fix: add routes to match stablestudio routes 2023-05-26 22:28:43 -07:00
Bryce
edafcc5529 feature: show full stack trace on server error 2023-05-26 22:28:43 -07:00
Bryce
671aa86ad7 version: 13.0.0 2023-05-22 02:50:59 -07:00
Bryce
7b032c8e9a feature: StableStudio web interface
run `aimg server` and visit http://127.0.0.1:8000/
2023-05-22 02:24:05 -07:00
Bryce
8e28a2ed02 feature: API support for StableStudio 2023-05-22 02:24:05 -07:00
Bryce
e53459a50a build: check for torch version at runtime (fixes #329) 2023-05-20 17:29:06 -07:00
Bryce
2a26495653 fix: package will not try to install xformers on aarch64 machines.
While this will allow the dockerfile to build on MacOS M1, [torch will not be able to use the M1 when generating images.](https://github.com/pytorch/pytorch/issues/81224#issuecomment-1499741152)
2023-05-20 17:29:06 -07:00
Bryce
14739bc90b feature: api server (alpha)
`aimg run-api-server`

Proof of concept for now
2023-05-20 17:29:06 -07:00
Bryce
38ac0b7f54 tests: fix tests 2023-05-20 13:09:00 -07:00
Bryce
39dffa9166 style: lintfix 2023-05-20 13:09:00 -07:00
Bryce
dc8f8d5a3d feature: add colorization controlnet. improve aimg colorize command 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