Ryan Dick
b681132da4
Update InvertTensorMaskInvocation to handle mask tensors with dim 2 or 3.
2025-01-24 22:04:46 +00:00
Ryan Dick
f60a5a5015
Update SegmentAnythingInvocation invocations to return masks with a channel dimension of size 1. This is the convention used by other nodes that produce a MaskOutput.
2025-01-24 22:04:10 +00:00
psychedelicious
b7b8f8a9e5
fix(nodes): remove WithMetadata from non-image-outputting node
2025-01-21 17:58:47 +11:00
psychedelicious
e926d2f24b
fix(nodes): add beta classification to new inpainting support nodes
2025-01-21 17:58:47 +11:00
psychedelicious
cf4c79fe2e
feat(nodes): add PasteImageIntoBoundingBoxInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
e0edfe6c40
feat(nodes): add CropImageToBoundingBoxInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
8a0a37191a
feat(nodes): add GetMaskBoundingBoxInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
7dbd5f150a
feat(nodes): add BoundingBoxField.tuple() to get bbox as PIL tuple
2025-01-21 17:45:32 +11:00
psychedelicious
1ad65ffd53
feat(nodes): re-title "Mask from ID" -> "Mask from Segmented Image"
2025-01-21 17:45:32 +11:00
psychedelicious
14b5c871dc
feat(nodes): simplify MaskFromIDInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
8d2b4e2bf5
feat(nodes): support FLUX, SD3 in ideal_size
2025-01-21 17:45:32 +11:00
psychedelicious
2b2ec67cd6
fix(nodes): allow connection input on string batch nodes
2025-01-21 07:17:29 +11:00
psychedelicious
81da5210f0
feat(api): add seed field to dynamicprompts
2025-01-20 08:57:42 +11:00
psychedelicious
526d64a5e2
feat(nodes): add string generator
2025-01-20 08:57:42 +11:00
psychedelicious
508c702289
feat(nodes): remove default values for generator; let UI handle it
2025-01-17 12:48:58 +11:00
psychedelicious
8fbd2f9a97
feat(nodes): add integer generator nodes
2025-01-17 12:48:58 +11:00
psychedelicious
2f9a0a250d
feat(nodes): generators as nodes
2025-01-17 12:48:58 +11:00
psychedelicious
5d03328dc6
tidy(nodes): code dedupe for batch node init errors
2025-01-17 12:48:58 +11:00
psychedelicious
1fb32aec28
tidy(nodes): move batch nodes to own file
2025-01-17 12:48:58 +11:00
psychedelicious
26e6e28a13
feat(nodes): add title for batch_group_id field
2025-01-17 12:34:54 +11:00
psychedelicious
05f1026812
feat(nodes): batch_group_id is a literal of options
2025-01-17 12:34:54 +11:00
psychedelicious
c23a2abc82
feat(nodes): rename "link_id" -> "batch_group_id"
2025-01-17 12:34:54 +11:00
psychedelicious
7ee51f3e14
feat(nodes): add link_id field to batch nodes
...
This is used to link batch nodes into zipped batch data collections.
2025-01-17 12:34:54 +11:00
psychedelicious
5bff6123b9
feat(nodes): add default value for batch nodes
2025-01-17 12:19:04 +11:00
psychedelicious
db5f016826
fix(nodes): allow batch datum items to mix ints and floats
...
Unfortunately we cannot do strict floats or ints.
The batch data models don't specify the value types, it instead relies on pydantic parsing. JSON doesn't differentiate between float and int, so a float `1.0` gets parsed as `1` in python.
As a result, we _must_ accept mixed floats and ints for BatchDatum.items.
Tests and validation updated to handle this.
Maybe we should update the BatchDatum model to have a `type` field? Then we could parse as float or int, depending on the inputs...
2025-01-17 12:19:04 +11:00
psychedelicious
0f1e632117
feat(nodes): add float batch node
2025-01-17 12:19:04 +11:00
psychedelicious
90a91ff438
feat(nodes): add integer batch node
2025-01-17 12:19:04 +11:00
psychedelicious
236c0d89e7
feat(nodes): add string batch node
2025-01-17 12:19:04 +11:00
Ryan Dick
e5e848d239
Update config docstring.
2025-01-16 22:34:23 +00:00
Ryan Dick
36a3869af0
Add keep_ram_copy_of_weights config option.
2025-01-16 15:35:25 +00:00
psychedelicious
3f70e947fd
chore: ruff
2025-01-16 09:27:36 +11:00
dunkeroni
157290bef4
add: size option for image noise node and filter
2025-01-16 09:27:36 +11:00
dunkeroni
b7389da89b
add: Noise filter on Canvas
2025-01-16 09:27:36 +11:00
dunkeroni
2b122d7882
add: image noise invocation
2025-01-16 09:27:36 +11:00
dunkeroni
ded9213eb4
trim blur splitting logic
2025-01-16 09:27:36 +11:00
dunkeroni
9d51eb49cd
fix: ImageBlurInvocation handles transparency now
2025-01-16 09:27:36 +11:00
dunkeroni
0a6e22bc9e
fix: ImagePasteInvocation respects transparency
2025-01-16 09:27:36 +11:00
Ryan Dick
b301785dc8
Normalize the T5 model identifiers so that a FLUX T5 or an SD3 T5 model can be used interchangeably.
2025-01-16 08:33:58 +11:00
Ryan Dick
497bc916cc
Add unet_config to get_scheduler(...) call in TiledMultiDiffusionDenoiseLatents.
2025-01-15 08:44:08 -05:00
dunkeroni
ebe1873712
fix: only add prediction type if it exists
2025-01-15 08:44:08 -05:00
dunkeroni
59926c320c
support v-prediction in denoise_latents.py
2025-01-15 08:44:08 -05:00
David Burnett
afc9d3b98f
more ruff formating
2025-01-07 20:18:19 -05:00
David Burnett
7ddc757bdb
ruff format changes
2025-01-07 20:18:19 -05:00
David Burnett
d8da9b45cc
Fix for DEIS / DPM clash
2025-01-07 20:18:19 -05:00
Ryan Dick
607d19f4dd
We should not trust the value of since the model could be partially-loaded.
2025-01-07 19:22:31 -05:00
Ryan Dick
974b4671b1
Deprecate the ram and vram configs to make the migration to dynamic
...
memory limits smoother for users who had previously overriden these
values.
2025-01-07 16:45:29 +00:00
Ryan Dick
85eb4f0312
Fix an edge case with model offloading from VRAM to RAM. If a GGML-quantized model is offloaded from VRAM inside of a torch.inference_mode() context manager, this will cause the following error: 'RuntimeError: Cannot set version_counter for inference tensor'.
2025-01-07 15:59:50 +00:00
Ryan Dick
71b97ce7be
Reduce the likelihood of encountering https://github.com/invoke-ai/InvokeAI/issues/7513 by elminating places where the door was left open for this to happen.
2025-01-07 01:20:15 +00:00
Ryan Dick
4abfb35321
Tune SD3 VAE decode working memory estimate.
2025-01-07 01:20:15 +00:00
Ryan Dick
cba6528ea7
Add a 20% buffer to all VAE decode working memory estimates.
2025-01-07 01:20:15 +00:00