dunkeroni
58255ab7ba
add adjust image filter to canvas
2025-02-04 12:06:17 +11:00
Mary Hipp
64475b8f21
feat(ui): add button to clear model cache
2025-01-30 09:18:28 -05:00
Ryan Dick
cc9d215a9b
Add endpoint for emptying the model cache. Also, adds a threading lock to the ModelCache to make it thread-safe.
2025-01-30 09:18:28 -05:00
Ryan Dick
f7315f0432
Make the default max RAM cache size more conservative.
2025-01-30 08:46:59 -05:00
Ryan Dick
285313b282
Fix T5EncoderField initialization in SD3 model loader.
2025-01-29 09:27:52 -05:00
Ryan Dick
229834a5e8
Performance optimizations for LoRAs applied on top of GGML-quantized tensors.
2025-01-28 14:51:35 +00:00
Ryan Dick
6c919e1bca
Handle DoRA layer device casting when model is partially-loaded.
2025-01-28 14:51:35 +00:00
Ryan Dick
5357d6e08e
Rename ConcatenatedLoRALayer to MergedLayerPatch. And other minor cleanup.
2025-01-28 14:51:35 +00:00
Ryan Dick
7fef569e38
Update frontend graph building logic to support FLUX LoRAs that modify the T5 encoder weights.
2025-01-28 14:51:35 +00:00
Ryan Dick
e7fb435cc5
Update DoRALayer with a custom get_parameters() override that 1) applies alpha scaling to delta_v, and 2) warns if the base model is incompatible.
2025-01-28 14:51:35 +00:00
Ryan Dick
5d472ac1b8
Move quantized weight handling for patch layers up from ConcatenatedLoRALayer to CustomModuleMixin.
2025-01-28 14:51:35 +00:00
Ryan Dick
28514ba59a
Update ConcatenatedLoRALayer to work with all sub-layer types.
2025-01-28 14:51:35 +00:00
Ryan Dick
5ea7953537
Update GGMLTensor with ops necessary to work with ConcatenatedLoRALayer.
2025-01-28 14:51:35 +00:00
Ryan Dick
0db6639b4b
Add FLUX OneTrainer model probing.
2025-01-28 14:51:35 +00:00
Ryan Dick
b8eed2bdcb
Relax lora_layers_from_flux_diffusers_grouped_state_dict(...) so that it can work with more LoRA variants (e.g. hada)
2025-01-28 14:51:35 +00:00
Ryan Dick
1054283f5c
Fix bug in FLUX T5 Koyha-style LoRA key parsing.
2025-01-28 14:51:35 +00:00
Ryan Dick
f4a0b78a8d
Update FLUX invocations to support LoRAs that modify the T5 text encoder.
2025-01-28 14:51:35 +00:00
Ryan Dick
409b69ee5d
Fix typo in DoRALayer.
2025-01-28 14:51:35 +00:00
Ryan Dick
206f261e45
Add utils for loading FLUX OneTrainer DoRA models.
2025-01-28 14:51:35 +00:00
Ryan Dick
7eee4da896
Further updates to lora_model_from_flux_diffusers_state_dict() so that it can be re-used for OneTrainer LoRAs.
2025-01-28 14:51:35 +00:00
Ryan Dick
908976ac08
Add support for LyCoris-style LoRA keys in lora_model_from_flux_diffusers_state_dict(). Previously, it only supported PEFT-style LoRA keys.
2025-01-28 14:51:35 +00:00
Ryan Dick
dfa253e75b
Add utils for working with Kohya LoRA keys.
2025-01-28 14:51:35 +00:00
Ryan Dick
4f369e3dfb
First draft of DoRALayer. Not tested yet.
2025-01-28 14:51:35 +00:00
Ryan Dick
5bd6428fdd
Add is_state_dict_likely_in_flux_onetrainer_format() util function.
2025-01-28 14:51:35 +00:00
Ryan Dick
80c3d8bc5c
pnpm typegen
2025-01-28 14:30:15 +00:00
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
Ryan Dick
f88c1ba0c3
Fix bug with some LoRA variants when applied to a BnB NF4 quantized model. Note the previous commit which added a unit test to trigger this bug.
2025-01-22 09:20:40 +11:00
psychedelicious
83e33a4810
chore: bump version to v5.6.0
2025-01-21 17:58:47 +11:00
psychedelicious
e635028477
chore(ui): update whats new copy
2025-01-21 17:58:47 +11: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
ad8885c456
chore(ui): typegen
2025-01-21 17:45:32 +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
aba70eacab
fix(ui): field handle positioning for non-batch fields
...
Accidentally overwrote some reactflow styles which caused field handles to be positioned differently for non-batch fields. Just a minor visual issue.
2025-01-21 11:49:49 +11:00
Riccardo Giovanetti
4b67175b1b
translationBot(ui): update translation (Italian)
...
Currently translated at 99.1% (1690 of 1704 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
Hosted Weblate
e3423d1ba8
translationBot(ui): update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
Linos
87fb00ff5d
translationBot(ui): update translation (Vietnamese)
...
Currently translated at 100.0% (1697 of 1697 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 99.2% (1684 of 1697 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 99.7% (1676 of 1681 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 99.3% (1670 of 1681 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 99.5% (1658 of 1666 strings)
translationBot(ui): update translation (Vietnamese)
Currently translated at 100.0% (1652 of 1652 strings)
Co-authored-by: Linos <linos.coding@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/vi/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
Riccardo Giovanetti
d99a9ffb72
translationBot(ui): update translation (Italian)
...
Currently translated at 99.3% (1642 of 1652 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
Hosted Weblate
7964f438dc
translationBot(ui): update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
Linos
b130a3a9ee
translationBot(ui): update translation (Vietnamese)
...
Currently translated at 100.0% (1652 of 1652 strings)
Co-authored-by: Linos <linos.coding@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/vi/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
Riccardo Giovanetti
a6b32160b2
translationBot(ui): update translation (Italian)
...
Currently translated at 99.3% (1642 of 1652 strings)
translationBot(ui): update translation (Italian)
Currently translated at 99.3% (1641 of 1652 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2025-01-21 09:12:45 +11:00
psychedelicious
7d110cc9d3
fix(ui): disable dynamic prompts generators pending resolution of infinite recursion issue
...
Dynamic prompts string generators can cause an infinite feedback loop when added to the linear view.
The root cause is how these generators handle "resolving" their collections. They hit the dynamic prompts HTTP API within the view component to get the prompts, then set the batch node's internal state with those values.
When the same generator is rendered in both the node editor view and linear view and the timing is just right, that state update causes an infinite feedback loop between the two components as they respond to the state updates from the other component.
The other generators never store the generated values in the batch node's internal state. The values are "resolved" just-in-time as they are needed.
To fix this, the batch value "resolver" utilities could be made async and hit the API. But there's a problem - the resolver utilities are used within the "are we ready to invoke? are there any problems with the current settings?" redux selectors, which are strictly synchronous. To fix that, we can refactor that "are we ready to invoke?" logic to not use redux selectors, so the whole thing could be async.
It's not a big change but I'm not going to spend time on it at the moment.
So, until I address this, the dynamic prompts generators are disabled.
2025-01-21 09:00:40 +11:00
psychedelicious
82122645e8
refactor(ui): organize special handling for batch field types
2025-01-21 07:17:29 +11:00