Commit Graph

14 Commits

Author SHA1 Message Date
Bryce
316114e660 docs: add docstrings
Wrote an openai script and custom prompt to generate them.
2023-12-15 14:32:01 -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
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
b7fad562d0 feature: improved logging
- clean up some error messages
- add color
- indent tqdm bar
2023-11-24 08:27:36 -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