Commit Graph

292 Commits

Author SHA1 Message Date
Bryce
168a843f29 refactor: move colorize to api 2023-12-15 14:32:01 -08:00
Bryce
96f4268d44 refactor: move video_sample to api 2023-12-15 14:32:01 -08:00
Bryce
e72e8992ab refactor: create api module 2023-12-15 14:32:01 -08:00
Bryce
ad561e8833 refactor: move model_manager to utils 2023-12-15 14:32:01 -08:00
Bryce
d478771cc0 refactor: move a bunch of stuff to utils 2023-12-15 14:32:01 -08:00
Bryce
987af23abe refactor: move train.py 2023-12-15 14:32:01 -08:00
Bryce
0c456cd52a refactor: remove lr_scheduler.py 2023-12-15 14:32:01 -08:00
Bryce
01e32ff3f6 refactor: move bin files 2023-12-15 14:32:01 -08:00
Bryce
316114e660 docs: add docstrings
Wrote an openai script and custom prompt to generate them.
2023-12-15 14:32:01 -08:00
jaydrennan
3f3e080d39 feature: adds ability to use qrcode
feature: adds controlnet qrcode image generation.
feature: adds control net for qrcode image generation.
2023-12-14 21:12:25 -08:00
Bryce
62de446a92 ci: add mypy github action 2023-12-12 20:54:39 -08:00
Bryce
012cc648d3 style: fix all the mypy typing issues
...or ignore them.
2023-12-12 20:54:39 -08:00
Bryce
5a636e45c5 feature: skip composition at sizes slightly larger than model is expecting 2023-12-12 20:54:39 -08:00
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
eae4f20ae2 ci: add type checker
fix some typehint issues
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
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