psychedelicious
c217e052a8
tidy(ui): remove unused action
2024-04-19 09:32:56 -04:00
psychedelicious
964e2236b9
feat(ui): do not add promptless conditioning nodes
2024-04-19 09:32:56 -04:00
psychedelicious
a6e64423d9
feat(ui): per-layer autonegative
2024-04-19 09:32:56 -04:00
psychedelicious
d3aa97ab99
feat(ui): add copy graph button to queue item detail view
2024-04-19 09:32:56 -04:00
psychedelicious
0d8edd67ab
fix(ui): group lines together in undo history
2024-04-19 09:32:56 -04:00
psychedelicious
d9dd00ea20
feat(ui): undo/redo in regional prompts
...
using the `redux-undo` library
2024-04-19 09:32:56 -04:00
psychedelicious
170763899a
tidy(ui): tidy regional prompts graph helper, add comments
2024-04-19 09:32:56 -04:00
psychedelicious
9e1a4a4a07
feat(ui): regional prompts default layer opacity
2024-04-19 09:32:56 -04:00
psychedelicious
dcb4a40741
fix(ui): regional prompts brush preview wonkiness
2024-04-19 09:32:56 -04:00
psychedelicious
f8bf985256
perf(ui): do not recreate map callback on every render
2024-04-19 09:32:56 -04:00
psychedelicious
81f29b9624
tidy(ui): remove errant console.log
2024-04-19 09:32:56 -04:00
psychedelicious
f2dde9a035
feat(ui): cleared selected layer styling
2024-04-19 09:32:56 -04:00
psychedelicious
85f4a066fb
feat(ui): use logger for stage renderer
2024-04-19 09:32:56 -04:00
psychedelicious
b9e6b7ba48
feat(ui): restore layer arrange functionality
2024-04-19 09:32:56 -04:00
psychedelicious
085f7bdbee
feat(ui): add invert negative mode
...
Adds an additional negative conditioning using the inverted mask of the positive conditioning and the positive prompt. May be useful for mutually exclusive regions.
2024-04-19 09:32:56 -04:00
psychedelicious
e4fcb6627a
feat(ui): style regional prompt boxes
2024-04-19 09:32:56 -04:00
psychedelicious
47aa6357d1
tidy(ui): organize regional prompts files
2024-04-19 09:32:56 -04:00
psychedelicious
b81030fe27
tidy(ui): remove unused exports
2024-04-19 09:32:56 -04:00
psychedelicious
a1a9f0da73
tidy(ui): remove more unused files
2024-04-19 09:32:56 -04:00
psychedelicious
8f4f3b773c
tidy(ui): remove unused files, code
2024-04-19 09:32:56 -04:00
psychedelicious
00737efc31
tidy(ui): tidy naming of regional prompt utils
2024-04-19 09:32:56 -04:00
psychedelicious
5924dc6ff6
feat(ui): transparency on regional prompts canvas
2024-04-19 09:32:56 -04:00
psychedelicious
246fabf2a0
feat(ui): scaling regional prompt canvas
2024-04-19 09:32:56 -04:00
psychedelicious
30e3e12513
feat(ui): layouting regional prompts
2024-04-19 09:32:56 -04:00
psychedelicious
a5bfe2dccb
feat(ui): support negative regional prompt
2024-04-19 09:32:56 -04:00
psychedelicious
aa6bfc8645
fix(ui): wip misc regional prompting ui
2024-04-19 09:32:56 -04:00
psychedelicious
20ccdb6c8f
fix(ui): remove extra type in nodestate
2024-04-19 09:32:56 -04:00
psychedelicious
8caa7bc2b1
feat(ui): abstract out bbox renderer
2024-04-19 09:32:56 -04:00
psychedelicious
ede8826757
feat(ui): remove dep on stage in mouse handlers
2024-04-19 09:32:56 -04:00
psychedelicious
ff7aa2558a
feat(ui): display prompt when debugging regions
2024-04-19 09:32:56 -04:00
psychedelicious
c9bf00b80b
feat(ui): restore invoke button (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
1f8f429d55
feat(ui): abstract layer renderer
2024-04-19 09:32:56 -04:00
psychedelicious
d34e431002
feat(ui): abstract brush preview logic
2024-04-19 09:32:56 -04:00
psychedelicious
cdb481e836
feat(ui): use konva generics for types in selector functions
2024-04-19 09:32:56 -04:00
psychedelicious
525e6d697c
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
bbbb5479e8
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
ae7797f662
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
05deeb68fa
feat(ui): draft of graph helper for regional prompts
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
psychedelicious
d1db6198b5
perf(ui): memoize & otherwise optimize regional prompts ui
2024-04-19 09:32:56 -04:00
psychedelicious
944fa1a847
chore(ui): lint
2024-04-19 09:32:56 -04:00
psychedelicious
52e7daffe7
feat(ui): selected layer styling
2024-04-19 09:32:56 -04:00
psychedelicious
cf4c1750cb
fix(ui): caching broke layer rendering
2024-04-19 09:32:56 -04:00
psychedelicious
de7ecc8e3e
feat(ui): tweak bbox styling
2024-04-19 09:32:56 -04:00
psychedelicious
6c0481ef51
fix(ui): do not reset layer position when toggling visibility
2024-04-19 09:32:56 -04:00
psychedelicious
b9d0da44eb
feat(ui): wip layer transparency
2024-04-19 09:32:56 -04:00
psychedelicious
0a42d7d510
docs(ui): update docstrings for helper function
2024-04-19 09:32:56 -04:00
psychedelicious
c1aae0815d
feat(ui): regional prompting layout, styling
2024-04-19 09:32:56 -04:00
psychedelicious
e7523bd1d9
fix(ui): fix layer debug
2024-04-19 09:32:56 -04:00
psychedelicious
8911017bd1
feat(ui): selectable & draggable layers
2024-04-19 09:32:56 -04:00
psychedelicious
fc26f3e430
feat(nodes): add alpha mask to tensor invocation
2024-04-19 09:32:56 -04:00
psychedelicious
c89a24d1ea
feat(ui): add util to get blobs from layers
2024-04-19 09:32:56 -04:00
psychedelicious
52ba4966c9
feat(ui): wip regional prompting UI
...
- Add eraser tool, applies per layer
2024-04-19 09:32:56 -04:00
psychedelicious
822dfa77fc
feat(ui): wip regional prompting UI
...
- Arrange layers
- Layer visibility
- Layered brush preview
- Cleanup
2024-04-19 09:32:56 -04:00
psychedelicious
83d359b681
feat(ui): wip regional prompting UI
2024-04-19 09:32:56 -04:00
psychedelicious
f87eee810b
feat(ui): rough out regional prompts components
2024-04-19 09:32:56 -04:00
psychedelicious
1d1e4d02dc
feat(ui): rough out regional prompts store
2024-04-19 09:32:56 -04:00
Lincoln Stein
2b9f06dc4c
Re-enable app shutdown actions ( #6244 )
...
* closes #6242
* only override sigINT during slow model scanning
* fix ruff formatting
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-04-19 06:45:42 -04:00
blessedcoolant
a35386f24c
fix: IP Adapter Method having incorrect informational popover
2024-04-18 13:37:55 -04:00
psychedelicious
ac1071a5e5
chore: v4.1.0
2024-04-18 07:19:22 +10:00
Riccardo Giovanetti
5295a398f3
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1122 of 1140 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
2024-04-17 08:41:57 +10:00
Anonymous
0c7283c82d
translationBot(ui): update translation (Turkish)
...
Currently translated at 50.8% (580 of 1140 strings)
translationBot(ui): update translation (Korean)
Currently translated at 43.3% (494 of 1140 strings)
translationBot(ui): update translation (Chinese (Simplified))
Currently translated at 80.9% (923 of 1140 strings)
translationBot(ui): update translation (Russian)
Currently translated at 98.8% (1127 of 1140 strings)
translationBot(ui): update translation (Dutch)
Currently translated at 63.7% (727 of 1140 strings)
translationBot(ui): update translation (Japanese)
Currently translated at 50.4% (575 of 1140 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.3% (1121 of 1140 strings)
translationBot(ui): update translation (Spanish)
Currently translated at 27.8% (317 of 1140 strings)
translationBot(ui): update translation (German)
Currently translated at 72.2% (824 of 1140 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ja/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ko/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/tr/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-04-17 08:41:57 +10:00
Mary Hipp
73ad173c74
update labels for Style Only and CompositionOnly to be designated as beta
2024-04-17 08:29:10 +10:00
blessedcoolant
6bab040d24
Merge branch 'main' into ip-adapter-style-comp
2024-04-16 21:14:06 +05:30
blessedcoolant
f46bbaf8c4
fix: make ip-adapter weights not be optional
2024-04-16 21:12:45 +05:30
Lincoln Stein
fce6b3e44c
maybe solve race issue
2024-04-16 13:09:26 +10:00
blessedcoolant
d27907cc6d
fix: entire reshaping block needs to be skipped
2024-04-16 04:29:53 +05:30
blessedcoolant
7ee3fef2db
cleanup: better var names for the ip adapter weight collection block
2024-04-16 04:23:50 +05:30
blessedcoolant
b39ce642b6
cleanup: raise ValueErrors when target_blocks dont match base model
2024-04-16 04:12:30 +05:30
blessedcoolant
a148c4322c
fix: IP Adapter weights being incorrectly applied
...
They were being overwritten rather than being appended
2024-04-16 04:10:41 +05:30
blessedcoolant
f6b7bc5d98
fix: Dynamically adapt height of control adapter opts
2024-04-16 01:18:43 +05:30
blessedcoolant
5f6c6abf9c
chore: change IPAdapterAttentionWeights to a dataclass
2024-04-15 23:38:55 +05:30
blessedcoolant
cd76a31a8f
fix: IP Adapter method not being recalled
2024-04-15 22:29:32 +05:30
Lincoln Stein
e93f4d632d
[util] Add generic torch device class ( #6174 )
...
* introduce new abstraction layer for GPU devices
* add unit test for device abstraction
* fix ruff
* convert TorchDeviceSelect into a stateless class
* move logic to select context-specific execution device into context API
* add mock hardware environments to pytest
* remove dangling mocker fixture
* fix unit test for running on non-CUDA systems
* remove unimplemented get_execution_device() call
* remove autocast precision
* Multiple changes:
1. Remove TorchDeviceSelect.get_execution_device(), as well as calls to
context.models.get_execution_device().
2. Rename TorchDeviceSelect to TorchDevice
3. Added back the legacy public API defined in `invocation_api`, including
choose_precision().
4. Added a config file migration script to accommodate removal of precision=autocast.
* add deprecation warnings to choose_torch_device() and choose_precision()
* fix test crash
* remove app_config argument from choose_torch_device() and choose_torch_dtype()
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-04-15 13:12:49 +00:00
psychedelicious
5a8489bbfc
perf(ui): memoize infill components
2024-04-15 22:50:54 +10:00
psychedelicious
a24c9d0f7a
perf(ui): optimize useFeatureStatus
2024-04-15 22:50:54 +10:00
psychedelicious
7a92afc117
perf(ui): fix rerenders in nodes
...
Unmemoized selector tanking perf
2024-04-15 22:50:54 +10:00
psychedelicious
b508945b11
feat(ui): edge labels
...
Add setting to render labels with format `Source Node label -> Target Node label` on edges.
2024-04-15 22:48:46 +10:00
Lars Kappert
06bc38d3f4
Remove tag excluder
2024-04-15 09:14:49 +10:00
Lars Kappert
d3b0212da5
Scope project files to src dir (enables --production)
2024-04-15 09:14:49 +10:00
Lars Kappert
c2b79ce14c
Replace @knipignore
with paths
config
2024-04-15 09:14:49 +10:00
Васянатор
70185b0173
translationBot(ui): update translation (Russian)
...
Currently translated at 99.5% (1128 of 1133 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
怀瑾
a83a0c6146
translationBot(ui): update translation (Chinese (Simplified))
...
Currently translated at 81.5% (924 of 1133 strings)
Co-authored-by: 怀瑾 <symant233@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
Riccardo Giovanetti
12f41039cc
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1122 of 1140 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1120 of 1138 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1115 of 1133 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
2024-04-15 09:12:38 +10:00
Daniel Abrao
b3b5b7e261
Include hardcoded count of one to avoid translation issues on missing keys
2024-04-15 09:10:15 +10:00
Daniel Abrao
f706a13230
Adjust gallery image length handling
2024-04-15 09:10:15 +10:00
Daniel Abrao
22c6400bb8
Refactor i18n pluralization
2024-04-15 09:10:15 +10:00
Daniel Abrao
1ca152f6c8
Apply eslint/prettier fixes
2024-04-15 09:10:15 +10:00
Daniel Abrao
982e255878
Add dynamic label to delete button located at the top toolbar
2024-04-15 09:10:15 +10:00
Daniel Abrao
7899149144
Remove unnecessary word
2024-04-15 09:10:15 +10:00
Daniel Abrao
bef97b46bf
Apply eslint/prettier fixes
2024-04-15 09:10:15 +10:00
Daniel Abrao
cc256fee0e
Modify the modal title to include selected image array length
2024-04-15 09:10:15 +10:00
Daniel Abrao
ec69a58c8d
Include plural variation for delete image modal title
2024-04-15 09:10:15 +10:00
Daniel Abrao
ec67ba61db
Pass an array of selected images instead of imageDTO
2024-04-15 09:10:15 +10:00
Daniel Abrao
66126996e7
Import image selection
2024-04-15 09:10:15 +10:00
Jennifer Player
4eb66a9198
remove hires fix badge from settings when using sdxl
2024-04-15 07:57:58 +10:00
Daniel Abrao
14e41a1fd9
Remove unnecessary whitespace
2024-04-15 07:54:36 +10:00
Daniel Abrao
fc55522003
Import hook in the main App script
2024-04-15 07:54:36 +10:00
Daniel Abrao
cd6d8ae9cc
Add a hook as a singleton to update favicon and title upon queueSize change
2024-04-15 07:54:36 +10:00
Daniel Abrao
2933eb594d
Remove unnecessary code
2024-04-15 07:54:36 +10:00
Daniel Abrao
4e08fab3f5
Apply brand red color and a black border
2024-04-15 07:54:36 +10:00
Daniel Abrao
8bca7e2aa2
Apply eslint/prettier fixes
2024-04-15 07:54:36 +10:00
Daniel Abrao
3706cf0ad4
Add JSDoc strings
2024-04-15 07:54:36 +10:00
Daniel Abrao
a459361376
Modify the processing to consider the active queue length instead of in_progress only
2024-04-15 07:54:36 +10:00
Daniel Abrao
bb330d50a6
Increase favicon alert detail size
2024-04-15 07:54:36 +10:00
Daniel Abrao
102cb62960
Apply eslint/prettier fixes
2024-04-15 07:54:36 +10:00
Daniel Abrao
8eeab22ecd
Replace let
with const
2024-04-15 07:54:36 +10:00
Daniel Abrao
4343852b83
Update HTML page title and favicon upon queue item event
2024-04-15 07:54:36 +10:00
Daniel Abrao
0a9bf25bff
Implement updatePageTitle
and updatePageFavicon
methods
2024-04-15 07:54:36 +10:00
Daniel Abrao
4cd09850b8
Add ID to the HTML link element
2024-04-15 07:54:36 +10:00
Daniel Abrao
dbc586e0b2
Add alert variation for Invoke favicon
2024-04-15 07:54:36 +10:00
blessedcoolant
8426f1e7b2
fix(experimental): Possible fix for conflict with regional embed length mismatch
...
Pushing this so people can test it out and see if this needs to be handled in a different way.
2024-04-14 12:19:19 +05:30
Jennifer Player
c2e3c61f28
fix recall all when loras, controls, or hrf arent present
2024-04-14 16:49:14 +10:00
Jennifer Player
77b3281f08
prettier
2024-04-14 15:22:33 +10:00
Jennifer Player
bd7c8cd517
added info popover back to model, updated description hover to combobox only
2024-04-14 15:22:33 +10:00
Jennifer Player
489d485907
added missing description to control adapters hover
2024-04-14 15:22:33 +10:00
Jennifer Player
6eed5ad531
added button for hiding bounding box
2024-04-14 15:22:33 +10:00
blessedcoolant
9cb0f63c44
refactor: fix a bunch of type issues in custom_attention
2024-04-13 14:17:25 +05:30
blessedcoolant
2d5786d3bb
fix: Incorrect composition blocks for SD1.5
2024-04-13 13:52:10 +05:30
blessedcoolant
27466ffa1a
chore: update the ip adapter node version
2024-04-13 13:39:08 +05:30
blessedcoolant
f50b156511
chore: do not include custom nodes in schema
2024-04-13 12:43:49 +05:30
blessedcoolant
9fc73743b2
feat: support SD1.5
2024-04-13 12:30:39 +05:30
blessedcoolant
d4393e4170
chore: linter fixes
2024-04-13 12:14:45 +05:30
blessedcoolant
7a67fd6a06
Revert "chore: ruff fixes"
...
This reverts commit af36fe8c1e
.
2024-04-13 12:10:20 +05:30
blessedcoolant
af36fe8c1e
chore: ruff fixes
2024-04-13 12:08:52 +05:30
blessedcoolant
e9f16ac8c7
feat: add UI for IP Adapter Method
2024-04-13 12:06:59 +05:30
blessedcoolant
6ea183f0d4
wip: Initial Implementation IP Adapter Style & Comp Modes
2024-04-13 11:09:45 +05:30
Mark E. Shoulson
24f2cde862
Remove type="submit" from all tsx files.
...
Fixes a problem on firefox, at least for me.
2024-04-12 09:09:32 +10:00
psychedelicious
b18442ded4
fix(queue): poll queue on finished queue item
...
When a queue item is finished (completed, canceled, failed), immediately poll the queue for the next queue item.
Closes #6189
2024-04-12 07:31:47 +10:00
Lincoln Stein
651c0b39b1
clear cache on all exceptions
2024-04-12 07:19:16 +10:00
Lincoln Stein
46d23cd868
catch RunTimeError during model to()
call rather than OutOfMemoryError
2024-04-12 07:19:16 +10:00
Lincoln Stein
dedf0c6ffa
fix ruff issues
2024-04-12 07:19:16 +10:00
Lincoln Stein
579082ac10
[mm] clear the cache entry for a model that got an OOM during loading
2024-04-12 07:19:16 +10:00
psychedelicious
7bc77ddb40
fix(nodes): doubly-noised latents
...
When using refiner with a mask (i.e. inpainting), we don't have noise provided as an input to the node.
This situation uniquely hits a code path that wasn't reviewed when gradient denoising was implemented.
That code path does two things wrong:
- It lerp'd the input latents. This was fixed in 5a1f4cb1ce
.
- It added noise to the latents an extra time. This is fixed in this change.
We don't need to add noise in `latents_from_embeddings` because we do it just a lines later in `AddsMaskGuidance`.
- Remove the extraneous call to `add_noise`
- Make `seed` a required arg. We never call the function without seed anyways. If we refactor this in the future, it will be clearer that we need to look at how seed is handled.
- Move the call to create the noise to a deeper conditional, just before we call `AddsMaskGuidance`. The created noise tensor is now only used in that function, no need to create it every time.
Note: Whether or not having both noise and latents as inputs on the node is correct is a separate conversation. This change just fixes the issue with the current setup.
2024-04-11 07:21:50 -04:00
psychedelicious
026d095afe
fix(nodes): do not set seed on output latents from denoise latents
...
`LatentsField` objects have an optional `seed` field. This should only be populated when the latents are noise, generated from a seed.
`DenoiseLatentsInvocation` needs a seed value for scheduler initialization. It's used in a few places, and there is some logic for determining the seed to use with a series of fallbacks:
- Use the seed from the noise (a `LatentsField` object)
- Use the seed from the latents (a `LatentsField` object - normally it won't have a seed)
- Use `0` as a final fallback
In `DenoisLatentsInvocation`, we set the seed in the `LatentsOutput`, even though the output latents are not noise.
This is normally fine, but when we use refiner, we re-use the those same latents for the refiner denoise. This causes that characteristic same-seed-fried look on the refiner pass.
Simple fix - do not set the field in the output latents.
2024-04-11 07:21:50 -04:00
psychedelicious
7e2ade50e1
fix(ui): canvas staging area & batch handling fixes
...
Handful of intertwined fixes.
- Create and use helper function to reset staging area.
- Clear staging area when queue items are canceled, failed, cleared, etc. Fixes a bug where the bbox ends up offset and images are put into the wrong spot.
- Fix a number of similar bugs where canvas would "forget" it had pending generations, but they continued to generate. Canvas needs to track batches that should be displayed in it using `state.canvas.batchIds`, and this was getting cleared without actually canceling those batches.
- Disable the `discard current image` button on canvas if there is only one image. Prevents accidentally canceling all canvas batches if you spam the button.
2024-04-10 21:48:34 +10:00
psychedelicious
c0d54d5414
Revert "always enqueue with fresh bounding box"
...
This reverts commit fae51da278b39c61cbbea5de88661b4bc546f1ce.
2024-04-10 21:48:34 +10:00
Mary Hipp
98bfbb73ac
always enqueue with fresh bounding box
2024-04-10 21:48:34 +10:00
Ryan Dick
f9af32a6d1
Fix the padding behavior when max-pooling regional IP-Adapter masks to mirror the downscaling behavior of SD and SDXL. Prior to this change, denoising with input latent dimensions that were not evenly divisible by 8 would raise an exception.
2024-04-09 16:50:43 -04:00
Ryan Dick
fba40eb1bd
Fix the padding behavior when max-pooling regional prompt masks to mirror the downscaling behavior of SD and SDXL. Prior to this change, denoising with input latent dimensions that were not evenly divisible by 8 would raise an exception.
2024-04-09 16:50:43 -04:00
Jonathan
80d631118d
Fix field ordering
...
Changed fields to go in w/h x/y order.
2024-04-09 14:17:55 -05:00
Ryan Dick
0c6dd32ece
(minor) Fix IP-Adapter conditional logic in CustomAttnProcessor2_0.
2024-04-09 15:06:51 -04:00
Ryan Dick
0bdbfd4d1d
Add support for IP-Adapter masks.
2024-04-09 15:06:51 -04:00
Ryan Dick
2e27ed5f3d
Pass IP-Adapter scales through the cross_attn_kwargs pathway, since they are the same for all attention layers. This change also helps to prepare for adding IP-Adapter region masks.
2024-04-09 15:06:51 -04:00
Ryan Dick
babdc64b17
(minor) Fix typo in IP-Adapter field description.
2024-04-09 15:06:51 -04:00
Ryan Dick
4a828818da
Remove support for Prompt-to-Prompt cross-attention control (aka .swap()). This feature is not widely used. It does not work with SDXL and is incompatible with IP-Adapter and regional prompting. The implementation is also intertwined with both text embedding and the UNet attention layers, resulting in a high maintenance burden. For all of these reasons, we have decided to drop support.
2024-04-09 10:57:02 -04:00
psychedelicious
fe386252f3
Revert "feat(nodes): add prompt region from image nodes"
...
This reverts commit 3a531c5097
.
2024-04-09 08:12:12 -04:00
Ryan Dick
182810337c
Add utility to_standard_float_mask(...) to convert various mask formats to a standardized format.
2024-04-09 08:12:12 -04:00
Ryan Dick
338bf808d6
Rename MaskField to be a generice TensorField.
2024-04-09 08:12:12 -04:00
Ryan Dick
5b5a4204a1
Fix dimensions of mask produced by ExtractMasksAndPromptsInvocation. Also, added a clearer error message in case the same error is introduced in the future.
2024-04-09 08:12:12 -04:00
Ryan Dick
75ef473748
Pull the upstream changes from diffusers' AttnProcessor2_0 into CustomAttnProcessor2_0. This fixes a bug in CustomAttnProcessor2_0 that was being triggered when peft was not installed. The bug was present in a block of code that was previously copied from diffusers. The bug seems to have been introduced during diffusers' migration to PEFT for their LoRA handling. The upstream bug was fixed in 531e719163
.
2024-04-09 08:12:12 -04:00
psychedelicious
926b8d0efe
feat(nodes): add prompt region from image nodes
2024-04-09 08:12:12 -04:00
Ryan Dick
9d9d1761f3
(minor) The latest ruff version has _slightly_ different formatting preferences.
2024-04-09 08:12:12 -04:00
Ryan Dick
a78df8123f
Update the diffusion logic to use the new regional prompting feature.
2024-04-09 08:12:12 -04:00
Ryan Dick
7ca677578e
Create a UNetAttentionPatcher for patching UNet models with CustomAttnProcessor2_0 modules.
2024-04-09 08:12:12 -04:00
Ryan Dick
31c456c1e6
Update CustomAttention to support both IP-Adapters and regional prompting.
2024-04-09 08:12:12 -04:00
Ryan Dick
2ce79b61f5
Initialize a RegionalPromptAttnProcessor2_0 class by copying AttnProcessor2_0 from diffusers.
2024-04-09 08:12:12 -04:00
Ryan Dick
109e3f0e7f
Add RegionalPromptData class for managing prompt region masks.
2024-04-09 08:12:12 -04:00
Ryan Dick
dc64fec771
Add support for lists of prompt embeddings to be passed to the DenoiseLatents invocation, and add handling of the conditioning region masks in DenoiseLatents.
2024-04-09 08:12:12 -04:00
Ryan Dick
d1e45585d0
Add TextConditioningRegions to the TextConditioningData data structure.
2024-04-09 08:12:12 -04:00
Ryan Dick
aba023e0c5
Improve documentation of conditioning_data.py.
2024-04-09 08:12:12 -04:00
Ryan Dick
e354c29b52
Rename ConditioningData -> TextConditioningData.
2024-04-09 08:12:12 -04:00
Ryan Dick
a7f363e654
Split ip_adapter_conditioning out from ConditioningData.
2024-04-09 08:12:12 -04:00
Ryan Dick
9b2162e564
Remove scheduler_args from ConditioningData structure.
2024-04-09 08:12:12 -04:00
Ryan Dick
4e64b26702
Update compel nodes to accept an optional prompt mask.
2024-04-09 08:12:12 -04:00
Ryan Dick
c22d772062
Add RectangleMaskInvocation.
2024-04-09 08:12:12 -04:00
Ryan Dick
d6be7662c9
Add a MaskField primitive, and add a mask to the ConditioningField primitive type.
2024-04-09 08:12:12 -04:00
blessedcoolant
95050088d1
chore: lint fixes
2024-04-09 14:13:10 +10:00
blessedcoolant
94b5084cd5
fix: one man's max is another man's min
2024-04-09 14:13:10 +10:00
blessedcoolant
ca0d60bee6
fix: set coherence denoise to 0.2 min for refiner models
2024-04-09 14:13:10 +10:00
blessedcoolant
fd1f240853
fix: SDXL Refiner not working properly with Inpainting
2024-04-09 14:13:10 +10:00
blessedcoolant
381b41a56e
fix: Update SDXL Refiner graphs to use Gradient Mask
2024-04-09 14:13:10 +10:00
psychedelicious
b58494c420
feat(ui): add graph-to-workflow debug helper
...
This is intended for debug usage, so it's hidden away in the workflow library `...` menu. Hold shift to see the button for it.
- Paste a graph (from a network request, for example) and then click the convert button to convert it to a workflow.
- Disable auto layout to stack the nodes with an offset (try it out). If you change this, you must re-convert to get the changes.
- Edit the workflow JSON if you need to tweak something before loading it.
2024-04-08 20:38:04 -04:00
fieldOfView
dca30d5462
(feat) add a method to get the path of an image from the invocation context
...
Fixes #6175
2024-04-08 18:42:55 +10:00
psychedelicious
9ab6655491
feat(backend): clean up choose_precision
...
- Allow user-defined precision on MPS.
- Use more explicit logic to handle all possible cases.
- Add comments.
- Remove the app_config args (they were effectively unused, just get the config using the singleton getter util)
2024-04-07 09:41:05 -04:00
psychedelicious
29cfe5a274
fix(ui): handle multipleOf on number fields
...
This data is already in the template but it wasn't ever used.
One big place where this improves UX is the noise node. Previously, the UI let you change width and height in increments of 1, despite the template requiring a multiple of 8. It now works in multiples of 8.
2024-04-06 13:15:20 -04:00
Hosted Weblate
2c45697f3d
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
2024-04-06 15:19:20 +11:00
psychedelicious
9a0a90e2a2
chore: v4.0.4
2024-04-06 15:15:16 +11:00
psychedelicious
69f17da1a2
fix(nodes): add WithBoard to public API
2024-04-06 15:02:28 +11:00
psychedelicious
4d0a49298c
tidy(ui): remove extraneous zod schema
2024-04-06 14:54:12 +11:00
psychedelicious
55f7a7737a
feat(ui): shift around init image recall logic
...
Retrieving the DTO happens as part of the metadata parsing, not recall. This way, we don't show the option to recall a nonexistent image.
This matches the flow for other metadata entities like models - we don't show the model recall button if the model isn't available.
2024-04-06 14:54:12 +11:00
Jennifer Player
adc30045a6
addressed pr feedback
2024-04-06 14:54:12 +11:00
Jennifer Player
fdd0e57976
actually use the schema
2024-04-06 14:54:12 +11:00
Jennifer Player
9ba5ec4b67
fix typo Params set set
2024-04-06 14:54:12 +11:00
Jennifer Player
8a17616bf4
recall initial image from metadata and set to image2image
2024-04-06 14:54:12 +11:00
Jennifer Player
f56b9537cd
added initial image to metadata viewer
2024-04-06 14:54:12 +11:00
psychedelicious
4068e817d6
fix(mm): typing issues in model cache
2024-04-06 14:35:36 +11:00
psychedelicious
a09d705e4c
fix(mm): remove vram check
...
This check prematurely reports insufficient VRAM on Windows. See #6106 for details.
2024-04-06 14:35:36 +11:00
blessedcoolant
540d506ec9
fix: Incorrect default clip vision opt in the node
2024-04-05 15:06:33 -04:00
psychedelicious
e330966020
chore: v4.0.3
2024-04-05 15:32:30 +11:00
symant233
b783679b9f
fix: typo, change shouldFitImageSize default value
2024-04-05 15:23:58 +11:00
symant233
d32e557e50
fix: add roundDownToMultiple
2024-04-05 15:23:58 +11:00
symant233
90686c7f9c
feat: Unified Canvas Fit Image Size on Drop
2024-04-05 15:23:58 +11:00
Lincoln Stein
4571986c63
fix misplaced lock call
2024-04-05 14:32:18 +11:00
Jennifer Player
fec989f015
navigate to workflow tab when clicking load workflow
2024-04-05 14:16:33 +11:00
Riccardo Giovanetti
b5c048d8bf
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1108 of 1126 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
2024-04-05 13:53:42 +11:00
Alexander Eichhorn
577469be55
translationBot(ui): update translation (German)
...
Currently translated at 73.3% (826 of 1126 strings)
Co-authored-by: Alexander Eichhorn <pfannkuchensack@einfach-doof.de>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-04-05 13:53:42 +11:00
Lincoln Stein
812f10730f
adjust free vram calculation for models that will be removed by lazy offloading ( #6150 )
...
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-04-04 22:51:12 -04:00
psychedelicious
3006285d13
fix(ui): display refiner models in mm
2024-04-05 09:46:03 +11:00
psychedelicious
5d4a571778
feat(ui): disable mosaic infill in graph builders
2024-04-05 08:49:13 +11:00