Commit Graph

40 Commits

Author SHA1 Message Date
jaydrennan
1bf53e47cf
feature: updates refiners vendored library (#458)
* feature: updates refiners vendored library

has a small bugfix that will soon be replaced by a better fix from upstream refiners

Co-authored-by: Bryce <github20210803@accounts.brycedrennan.com>
2024-01-19 08:45:23 -08:00
Bryce Drennan
601a112dc3
refactor: move download related functions to separate module (#453)
+ renames and typehints
2024-01-14 16:50:17 -08:00
Bryce
5bbb09f69e build: vendorize facexlib
had too many unused sub-dependencies

also monkeypatch the download mechanism to use our standard download function
2024-01-06 17:23:27 -08:00
Bryce Drennan
0271bffa38
build: remove fairscale dependency (#441) 2024-01-03 21:06:14 -08:00
Bryce
e00c7b9eb7 fix: add back missing init file 2024-01-03 19:36:03 -08:00
Bryce
55e27160f5 build: vendorize refiners
so we can still work in conda envs
2024-01-02 22:02:31 -08:00
Bryce Drennan
77c4b85037
perf: improve memory usage (#433)
add warning for corrupt weights files
2023-12-29 09:04:33 -08:00
Bryce
32b5175e0e feature: better upscaling
- use face enhancement in a smarter way that doesn't blur high-res images
- use a different upscale model for composition images

**Upscaling**
RealESRGAN is great but it blurs parts of images it doesn't understand

4xUltrasharp is a finetune of RealESRGan that isn't as good but doesn't have this blurry patch problem.  This makes it more suitable to use as part of the composition/upscale process.  We still use realesrgan for any last-step upscales since it does look better.

had to write a state dict translator to use the ultrasharp model

**Face Enhancement**

We no longer enhance faces that are larger than 512 pixels. They should already have enough details and the face enhancer doesn't produce faces at high enough resolution to look good at that size.
2023-12-21 05:48:02 -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
316114e660 docs: add docstrings
Wrote an openai script and custom prompt to generate them.
2023-12-15 14:32:01 -08:00
Bryce
558d3388e5 style: speed up linting and autoformatting. fix lints 2023-09-29 23:01:50 -07:00
Bryce
3b066f8e29 fix: don't hide error messages during upscale 2023-05-20 13:09:00 -07:00
Bryce
d5a276584b fix: move normal map code inline
Fixes conda package. Fixes #317
2023-05-06 13:01:50 -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
a449fbd5e2 feature: remove tiling message for upscaler 2023-02-28 21:04:00 -08:00
Bryce
d7e494241c fix: composition images were too blurry 2023-02-25 14:29:55 -08:00
Bryce
882cc7e0f1 feature: generate large images with coherent composition 2023-02-16 13:09:14 -08:00
Bryce
1c986d8644 fix: use py3.7 compat lru_cache
- disable lint fixer that updates to newer syntax
2023-01-22 18:24:57 -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
4bc78b9be5 build: vendorize realesrgan
Removes lots of dependencies including problematic `grpcio` and `tb-nightly`
2023-01-08 22:20:22 -08:00
Bryce
35ac8d64d7 build: vendorize parts of basicsr
Trying to get rid of tb-nightly dependency and any other unnecessary dependencies.
2023-01-08 22:20:22 -08:00
Bryce
e9a3e1a99b build: unpin dependencies 2023-01-08 22:20:22 -08:00
Bryce
4bc940ddf4 feature: remove more randomness 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
9c153a8d2d feature: support k-sampler methods for SD-2.0-v (768) 2022-11-26 16:18:08 -08:00
Bryce
0f02fc587c fix: k_dpm_fast on MPS platform
fixes #75

As discussed here: https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/2446#issuecomment-1279733739
2022-11-12 20:19:23 -08:00
Bryce
7af1ab66ca fix: add workaround for bug in k_diffusion on mps
As documented here: https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/4558#issuecomment-1310387114

- make image logs more consistent
- note which step the progress images belong to in the filename
2022-11-12 20:19:23 -08:00
Bryce
7fba2972e8 feature: added DPM++ 2S a and DPM++ 2M samplers
-fix: fix bug with `--show-work`
2022-11-11 10:52:48 -08:00
Bryce
741a433c56 feature: update k_diffusion. add dpm_fast and dpm_addaptive samplers 2022-10-16 22:10:54 -07:00
Bryce Drennan
31c2160e21
feature: prompt expansion (#51)
You can use `{}` to randomly pull values from lists.  A list of values separated by `|` and enclosed in `{ }` will be randomly drawn from in a non-repeating fashion. Values that are surrounded by `_ _` will pull from a phrase list of the same name.   Folders containing .txt phraselist files may be specified via
`--prompt_library_path`. The option may be specified multiple times.  Built-in categories:

      3d-term, adj-architecture, adj-beauty, adj-detailed, adj-emotion, adj-general, adj-horror, animal, art-movement,
      art-site, artist, artist-botanical, artist-surreal, aspect-ratio, bird, body-of-water, body-pose, camera-brand,
      camera-model, color, cosmic-galaxy, cosmic-nebula, cosmic-star, cosmic-term, dinosaur, eyecolor, f-stop,
      fantasy-creature, fantasy-setting, fish, flower, focal-length, food, fruit, games, gen-modifier, hair, hd,
      iso-stop, landscape-type, national-park, nationality, neg-weight, noun-beauty, noun-fantasy, noun-general,
      noun-horror, occupation, photo-term, pop-culture, pop-location, punk-style, quantity, rpg-item, scenario-desc,
      skin-color, spaceship, style, tree-species, trippy, world-heritage-site

   Examples:

   `imagine "a {red|black} dog" -r 2 --seed 0` will generate both "a red dog" and "a black dog"

   `imagine "a {_color_} dog" -r 4 --seed 0` will generate four, different colored dogs. The colors will eb pulled from an included
   phraselist of colors.

   `imagine "a {_spaceship_|_fruit_|hot air balloon}. low-poly" -r 4 --seed 0` will generate images of spaceships or fruits or a hot air balloon

   Credit to [noodle-soup-prompts](https://github.com/WASasquatch/noodle-soup-prompts/) where most, but not all, of the wordlists originate.
2022-10-08 18:34:35 -07:00
Bryce
f21c979f08 feature: better masking segmentation from clipseg 2022-09-27 23:35:06 -07:00
Bryce
4705d182d5 feature: generate captions for images
- add wip functionality for negative masks
- ci: add code linter that removes unused imports
- add instructions to install rust on osx
2022-09-19 21:19:22 -07:00
Bryce
930295d840 feature: txt2mask - automated text replacement
from https://github.com/timojl/clipseg
2022-09-18 06:07:47 -07:00
Bryce
7087c4a680 feature: automatic mask generation
mask generation working but not integrated
2022-09-17 17:08:48 -07:00
Bryce
bb665b9eb6 fix: make k-diffusion samplers deterministic
- add test for hashes on mps.  images look same on CUDA but are slightly different.
2022-09-14 09:37:45 -07:00
Bryce
b4a3b8c2b3 feature: k-diffusion samplers
- improved image logging functionality. can just stick log_latent wherever you want
- improved some variable naming
- moved all the samplers together
- vendored k-diffusion library
2022-09-14 00:40:25 -07:00
Bryce
541ecb9701 feature: face enhancement and upscaling!! 2022-09-13 00:27:53 -07:00
Bryce
14a06e160d build: vendor clip
it's not on pypi
https://github.com/openai/CLIP/issues/141
2022-09-11 22:22:43 -07:00