Commit Graph

180 Commits

Author SHA1 Message Date
Bryce
a9bde7386c tests: disable test if running on github actions 2022-10-11 01:06:24 -05:00
Bryce
b0123a8f43 refactor: remove unused parameters 2022-10-11 01:06:24 -05:00
Bryce
7ae77faf07 refactor: log indentation via formatter
Replace manual indentation with a context-aware logging formatter.
2022-10-10 22:32:39 -05:00
Bryce
df3c752eb8 refactor: consolidate logging utils 2022-10-10 22:32:39 -05:00
Bryce
d947d9f5c8 version 3.0.0 2022-10-10 01:33:13 -07:00
Bryce
6a80759016 feature: improved safety filter
- provides more informative logs
- provides a detailed safety score object
- adds non-bypassable filter for extreme content
2022-10-10 03:32:19 -05:00
Bryce
0db5c329bb fix: prompt expansion bug 2022-10-10 03:32:19 -05:00
Bryce
83db4ad795 docs: fix prompt expansion description
thanks to @Cybergate9 for identifying the mistakes

addresses #52
2022-10-09 13:28:56 -07:00
Bryce
bba079a8b2 version: 2.4.1
bugfixes
2022-10-08 18:41:56 -07:00
Bryce
26483ef128 version: 2.4.0 2022-10-08 18:38:43 -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
9ba302a5f4 refactor: begin to standardize samplers 2022-10-07 00:02:26 -05:00
Bryce
62e4e9cc9d refactor: delete unused code 2022-10-07 00:02:26 -05:00
Bryce
e5c5df6b3d tests: add some utils tests 2022-10-07 00:02:26 -05:00
Bryce
0244d4151f version: 2.3.1 2022-10-06 17:26:00 -07:00
Bryce
beba2be6d5 fix: set fidelity default if None is passed in
Addresses #48
2022-10-06 19:24:27 -05:00
Bryce
5cc19c460c version: 2.3.0 2022-10-05 23:35:05 -07:00
Bryce
00fff23fdf docs: update macos installation instructions 2022-10-06 01:24:21 -05:00
Bryce
2221d3d1c2 fix: handle small input images
If input images didn't need resizing because they were already smaller than max width/height then they didn't get normalized to a multiple of 64.  This caused an exception like the following:

```Sizes of tensors must match except in dimension 1. Expected size 4 but got size 3 for tensor number 1 in the list.
```
2022-10-06 01:24:21 -05:00
Bryce
d3623882db fix: set default back to previous value
addresses #43
2022-10-06 01:24:21 -05:00
Bryce
340a90bacd feature: allow loading custom model weights at command line
Addresses #40
2022-10-06 00:30:50 -05:00
Bryce
282fbc19b5 version: 2.2.1 2022-10-04 06:21:37 -07:00
Bryce
d689b06256 fix: ensure init-image-strength 0 is respected
addresses https://github.com/brycedrennan/imaginAIry/issues/38
2022-10-04 06:18:46 -07:00
Bryce
302845f35a docs: update feature plans 2022-10-04 06:18:46 -07:00
Bryce
da0b983622 version: 2.2.0 2022-10-03 16:35:57 -07:00
Bryce
48117bbcb1 feature: face-fidelity is now configurable
remove face-fixing from upscaled version
2022-10-03 16:33:17 -07:00
Bryce
9fe3cf79c2 feature: better masking segmentation from clipseg 2022-09-27 23:42:42 -07:00
Bryce
f21c979f08 feature: better masking segmentation from clipseg 2022-09-27 23:35:06 -07:00
Bryce
c92e5c443f version: 2.0.3 2022-09-27 21:52:45 -07:00
Bryce
bc135724a3 fix: fix memory leak in face enhancer
thanks to @h4rk8s for discovering and finding a remedy

root cause was a model being instantiated inside
FaceRestoreHelper
2022-09-27 21:45:32 -07:00
Bryce
2791917fc8 version: 2.0.1 2022-09-27 17:19:54 -07:00
Bryce
95a8fa31a9 fix: inpainting producing blurry images
while the previous version did produce much better blending it also makes images that lack detail for some reason.

tests: Added more tests to help catch this sort of thing earlies

fix: found that median blur is really slow, so I made sure we only do it on downsampled masks.  Was taking like 3 minutes to run on the large pearl girl picture on M1

- docs: update examples
2022-09-27 17:19:25 -07:00
Bryce
0fb03f2a1f fix/version: 2.0.1
quick fix for compatibility with Pillow < 9.1.0
https://stackoverflow.com/questions/71738218/module-pil-has-not-attribute-resampling
2022-09-25 23:27:03 -07:00
Bryce
7fb652d38a version: 2.0.0 2022-09-25 23:13:07 -07:00
Bryce
6cae290038 fix: inpainting now matches photo at high generation strength
- 🎉 fix: inpainted areas correlate with surrounding image, even at 100% generation strength.  Previously if the generation strength was high enough the generated image
would be uncorrelated to the rest of the surrounding image.  It created terrible looking images.
 - fix: mask boundaries are more accurate
2022-09-25 22:50:16 -07:00
Bryce
d563e0c7fb refactor: image version management
- mask_modify_original is now a prompt attribute
2022-09-25 22:50:16 -07:00
Bryce
eaad0a15e4 ci: add automated testing/linting
- fix bugs
- disable some tests from running in CPU only mode since github actions can't handle it
2022-09-24 23:31:03 -07:00
Bryce
2f959c7394 docs: complete sentence 2022-09-24 23:31:03 -07:00
Bryce
d832f15297 fix: masking now works properly at strengths 0 and 1 2022-09-24 23:31:03 -07:00
Bryce
b69072d382 fix: various bugfixes 2022-09-24 23:31:03 -07:00
Bryce
2eec756fab feature: have initial generated images in their own folder 2022-09-24 23:31:03 -07:00
Bryce
30a80faf47 fix: use better rescale 2022-09-24 23:31:03 -07:00
Bryce
b69b4c770e feature: interactive prompt
- add quiet flag
- add mask-modify-original flag
2022-09-24 23:31:03 -07:00
Bryce
69af07ab67 style: fix lint issues 2022-09-24 00:31:08 -07:00
Bryce
38c7f88950 feature: boolean logic masks
Specify advanced text based masks using boolean logic and strength modifiers. Mask descriptions must be lowercase. Keywords uppercase.
Valid symbols: `AND`, `OR`, `NOT`, `()`, and mask strength modifier `{*1.5}` where `+` can be any of `+ - * /`. Single-character boolean
operators also work.  When writing strength modifies know that pixel values are between 0 and 1.

 - feature: apply mask edits to original files
 - feature: auto-rotate images if exif data specifies to do so
 - fix: accept mask images in command line
2022-09-24 00:02:31 -07:00
Bryce Drennan
d090f9d072
fix: unneeded argument 2022-09-23 15:15:41 -07:00
Bryce Drennan
eb54b9ca7f
Merge pull request #22 from brycedrennan/pylama_lint_updates
refactor: implements changes to comply with pylama
2022-09-23 14:41:52 -07:00
Bryce
a3a0de08e9 autoformat 2022-09-23 14:41:15 -07:00
Bryce Drennan
5f1dd5c3b8
Merge pull request #24 from dfyx/fix-mask-image
Fix loading mask image from command line
2022-09-23 11:37:28 -07:00
Christian Käser
9fdd38fc11
Fix loading mask image from command line 2022-09-23 20:33:11 +02:00