psychedelicious
8b76d112be
tests(config): set root to a tmp dir if didn't parse args
...
This prevents tests from triggering config related parsing on your "live" root.
2024-05-14 18:02:22 +10:00
psychedelicious
00ccd73d53
Merge branch 'main' into lstein/feat/config-migration
2024-05-14 16:56:40 +10:00
psychedelicious
7d8b011f89
fix(config): restore missing config field assignment in migration
2024-05-14 16:55:44 +10:00
psychedelicious
d487102904
fix(config): fix config _check_for_discontinuities
...
Need to sort the migrations first.
2024-05-14 16:55:22 +10:00
psychedelicious
4c081d58e0
tidy(config): add note about circular deps in config_migrate.py
2024-05-14 16:31:11 +10:00
psychedelicious
18b5aafade
tidy(config): add "config" to class names to differentiate from SQLite migration classes
2024-05-14 16:21:50 +10:00
psychedelicious
6946a3871f
feat(config): simplify config migrator logic
...
- Remove `Migrations` class - unnecessary complexity on top of `MigrationEntry`
- Move common classes to `config_common`
- Tidy docstrings, variable names
2024-05-14 16:20:40 +10:00
psychedelicious
93da75209c
feat(nodes): use new blur_if_nsfw
method
2024-05-14 07:23:38 +10:00
psychedelicious
9c819f0fd8
fix(nodes): fix nsfw checker model download
2024-05-14 07:23:38 +10:00
psychedelicious
818d37f304
fix(api): retain cover image when converting model to diffusers
...
We need to retrieve and re-save the image, because a conversion to diffusers creates a new model record, with a new key.
See: https://old.reddit.com/r/StableDiffusion/comments/1cnx40d/invoke_42_control_layers_regional_guidance_w_text/l3bv152/
2024-05-13 08:46:07 +10:00
psychedelicious
9cdb801c1c
fix(api): add cover image to update model response
...
Fixes a bug where the image _appears_ to be reset when editing a model.
See: https://old.reddit.com/r/StableDiffusion/comments/1cnx40d/invoke_42_control_layers_regional_guidance_w_text/l3asdej/
2024-05-13 08:46:07 +10:00
blessedcoolant
da61396b1c
cleanup: seamless unused older code cleanup
2024-05-13 08:11:08 +10:00
Lincoln Stein
2bba7f38b9
Merge branch 'main' into lstein/feat/config-migration
2024-05-03 00:04:37 -04:00
Lincoln Stein
a48abfacf4
make config migrator into an instance; refactor location of get_config()
2024-05-02 23:45:34 -04:00
psychedelicious
33a9f9a4dc
fix(nodes): fix constraints in cnet processors
...
There were some invalid constraints with the processors - minimum of 0 for resolution or multiple of 64 for resolution.
Made minimum 1px and no multiple ofs.
2024-05-02 12:24:04 +10:00
blessedcoolant
dce8b88aaf
fix: change eta only for TCD Scheduler
2024-05-01 12:47:46 +05:30
blessedcoolant
1bdcbe3284
cleanup: use dict update to actually update the scheduler keyword args
2024-05-01 12:22:39 +05:30
Lincoln Stein
d5aee87684
Merge branch 'main' into lstein/feat/config-migration
2024-04-30 18:08:46 -04:00
blessedcoolant
2ddb82200c
fix: Manually update eta(gamma) to 1.0 for TCDScheduler
...
seems to work best with invoke at 4 steps
2024-05-01 01:20:53 +05:30
psychedelicious
e822897b1c
feat(nodes): add prototype heuristic image resize node
...
Uses the fancy cnet resize that retains edges.
2024-04-30 08:10:59 -04:00
psychedelicious
d861bc690e
feat(mm): handle PC_PATH_MAX on external drives on macOS
...
`PC_PATH_MAX` doesn't exist for (some?) external drives on macOS. We need error handling when retrieving this value.
Also added error handling for `PC_NAME_MAX` just in case. This does work for me for external drives on macOS, though.
Closes #6277
2024-04-30 07:57:03 -04:00
Lincoln Stein
36b14343c7
Merge branch 'main' into lstein/feat/config-migration
2024-04-28 14:32:41 -04:00
Lincoln Stein
59deef97c5
Merge branch 'main' into lstein/feat/config-migration
2024-04-28 14:31:43 -04:00
dunkeroni
f262b9032d
fix: changed validation to not error on connection
2024-04-28 12:48:56 -04:00
dunkeroni
71c3197eab
fix: denoise latents accepts CFG lists as input
2024-04-28 12:48:56 -04:00
psychedelicious
398f37c0ed
tidy(backend): clean up controlnet_utils
...
- Use the our adaptation of the HWC3 function with better types
- Extraction some of the util functions, name them better, add comments
- Improve type annotations
- Remove unreachable codepaths
2024-04-25 13:20:09 +10:00
psychedelicious
5b8f77f990
tidy(nodes): move cnet mode literals to utils
...
Now they can be used in type signatures without circular imports.
2024-04-25 13:20:09 +10:00
Lincoln Stein
048306b417
Merge branch 'main' into lstein/feat/config-migration
2024-04-24 21:37:12 -04:00
Lincoln Stein
6eaed9a9cb
check for strictly contiguous from_version->to_version ranges
2024-04-24 21:36:28 -04:00
psychedelicious
1bef13db37
feat(nodes): restore unet check on CreateGradientMaskInvocation
...
Special handling for inpainting models
2024-04-23 07:32:53 -04:00
dunkeroni
bc12d6654e
chore: comments and ruff
2024-04-23 07:32:53 -04:00
dunkeroni
6d7c8d5f57
remove unet test
2024-04-23 07:32:53 -04:00
dunkeroni
781de914f4
fix threshhold
2024-04-23 07:32:53 -04:00
dunkeroni
c094bad233
add unet check in gradient mask node
2024-04-23 07:32:53 -04:00
dunkeroni
0063014f2b
gradient mask node test for inpaint
2024-04-23 07:32:53 -04:00
psychedelicious
d12fb7db68
fix(config): fix duplicate migration logic
...
This was checking a `Version` object against a `MigrationEntry`, but what we want is to check the version object against `MigrationEntry.from_version`
2024-04-23 17:25:53 +10:00
psychedelicious
5d411e446a
tidy(config): use a type alias for the migration function
2024-04-23 17:21:05 +10:00
psychedelicious
6f128c86b4
tidy(config): use dataclass for MigrationEntry
...
The only pydantic usage was to convert strings to `Version` objects. The reason to do this conversion was to allow the register decorator to accept strings. MigrationEntry is only created inside this class, so we can just create versions from each migration when instantiating MigrationEntry instead.
Also, pydantic doesn't provide runtime time checking for arbitrary classes like Version, so we don't get any real benefit.
2024-04-23 17:19:54 +10:00
psychedelicious
aca9e44a3a
fix(config): use TypeAlias instead of TypeVar
...
TypeVar is for generics, but the usage here is as an alias
2024-04-23 17:12:19 +10:00
psychedelicious
2cee436ecf
tidy(app): remove unused class
2024-04-23 17:12:14 +10:00
psychedelicious
e6386d969f
fix(app): only clear tempdirs if ephemeral and before creating tempdir
...
Also, this needs to happen in init, else it deletes the temp dir created in init
2024-04-23 17:12:14 +10:00
psychedelicious
4b2b983646
tidy(api): reverted unnecessary changes in dependencies.py
2024-04-23 17:12:14 +10:00
Lincoln Stein
53808149fb
moved cleanup routine into object_serializer_disk.py
2024-04-23 17:12:14 +10:00
Lincoln Stein
21ba55d0a6
add an initialization function that removes dangling tmpdirs from outputs/tensors
2024-04-23 17:12:14 +10:00
psychedelicious
e39f035264
tidy(config): removed extraneous ABC
...
We don't need separate implementations for this class, let's not complicate it with an ABC
2024-04-23 17:11:13 +10:00
psychedelicious
b612c73954
tidy(config): remove unused TYPE_CHECKING block
2024-04-23 17:09:50 +10:00
psychedelicious
a00e703144
feat(nodes): image mask to tensor invocation
...
Thanks @JPPhoto!
2024-04-20 11:32:08 -04:00
psychedelicious
ea527f5fe1
feat(nodes): add beta classification to mask tensor nodes
2024-04-19 09:32:56 -04:00
psychedelicious
aace364677
feat(nodes): add InvertTensorMaskInvocation
2024-04-19 09:32:56 -04:00
psychedelicious
602a59066e
fix(nodes): handle invert in alpha_mask_to_tensor
2024-04-19 09:32:56 -04:00