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
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
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
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
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
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
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
blessedcoolant
fd1f240853
fix: SDXL Refiner not working properly with Inpainting
2024-04-09 14:13:10 +10:00
psychedelicious
2526ef52c5
fix(nodes): workaround seamless multi gpu error #6010
...
The seamless logic errors when a second GPU is selected. I don't understand why, but a workaround is to skip the model patching when there there are no seamless axes specified.
This is also just a good practice regardless - don't patch the model unless we need to. Probably a negligible perf impact.
Closes #6010
2024-03-29 08:56:38 +11:00
psychedelicious
b378cfcb46
cleanup: remove unused scripts, cruft
...
App runs & tests pass.
2024-03-20 15:05:25 +11:00
dunkeroni
609c2c0abf
Fix: progress image preview for inpainting
2024-03-20 13:36:05 +11:00
dunkeroni
fe5fa7f8cc
chore: make ruff
2024-03-20 13:36:05 +11:00
dunkeroni
8b30cbe81e
chore: clean up old code comments
2024-03-20 13:36:05 +11:00
dunkeroni
2af9286345
fix: denoise mask incorectly applied after step
2024-03-20 13:36:05 +11:00
psychedelicious
897fe497dc
fix(config): use new get_config across the app, use correct settings
2024-03-19 09:24:28 +11:00
psychedelicious
a72cea014c
fix(config): drop usage of deprecated config.xformers
, just use the existing utility function
2024-03-19 09:24:28 +11:00
Brandon Rising
7b393656de
Update l2i invoke and seamless to support AutoencoderTiny, remove attention processors if no mid_block is detected
2024-03-12 12:00:24 -04:00
Ryan Dick
145bb45858
Remove dead code related to an old symmetry feature.
2024-03-10 00:13:18 -06:00
Ryan Dick
cc45007dc4
Remove unused code for attention map saving.
2024-03-02 08:25:41 -05:00
Ryan Dick
73bec56c59
Delete unused functions from shared_invokeai_diffusion.py.
2024-03-02 08:25:41 -05:00
Ryan Dick
6935830f99
Remove unused constructor declared with typo in name: __int__.
2024-03-01 15:12:03 -05:00
Ryan Dick
7651eeea8d
Merge sequential conditioning and cac conditioning logic to eliminate a bunch of duplication.
2024-03-01 15:12:03 -05:00
Ryan Dick
204e7d383b
Remove outdated comments related to T2I-Adapters and ControlNets.
2024-03-01 15:12:03 -05:00
Ryan Dick
9bc4e7a593
Remove use of **kwargs in do_unet_step(...), where full parameter list is known and supported.
2024-03-01 15:12:03 -05:00
Ryan Dick
ad96857e0f
Fix avoid storing extra conditioning info in two places.
2024-03-01 15:12:03 -05:00
psychedelicious
dd9daf8efb
chore: ruff
2024-03-01 10:42:33 +11:00
dunkeroni
06cc57d82a
feat(nodes): added gradient mask node
2024-03-01 10:42:33 +11:00
psychedelicious
5a3195f757
final tidying before marking PR as ready for review
...
- Replace AnyModelLoader with ModelLoaderRegistry
- Fix type check errors in multiple files
- Remove apparently unneeded `get_model_config_enum()` method from model manager
- Remove last vestiges of old model manager
- Updated tests and documentation
resolve conflict with seamless.py
2024-03-01 10:42:33 +11:00
Lincoln Stein
a23dedd2ee
make model manager v2 ready for PR review
...
- Replace legacy model manager service with the v2 manager.
- Update invocations to use new load interface.
- Fixed many but not all type checking errors in the invocations. Most
were unrelated to model manager
- Updated routes. All the new routes live under the route tag
`model_manager_v2`. To avoid confusion with the old routes,
they have the URL prefix `/api/v2/models`. The old routes
have been de-registered.
- Added a pytest for the loader.
- Updated documentation in contributing/MODEL_MANAGER.md
2024-03-01 10:42:33 +11:00
Lincoln Stein
78ef946e01
BREAKING CHANGES: invocations now require model key, not base/type/name
...
- Implement new model loader and modify invocations and embeddings
- Finish implementation loaders for all models currently supported by
InvokeAI.
- Move lora, textual_inversion, and model patching support into
backend/embeddings.
- Restore support for model cache statistics collection (a little ugly,
needs work).
- Fixed up invocations that load and patch models.
- Move seamless and silencewarnings utils into better location
2024-03-01 10:42:33 +11:00
psychedelicious
05fb485d33
feat(nodes): move ConditioningFieldData
to conditioning_data.py
2024-03-01 10:42:33 +11:00
Wubbbi
73a077956b
Why did my IDE change the comment?
2024-02-01 20:40:28 -05:00
Wubbbi
5e1e50bd47
Fix hopefully last import
2024-02-01 20:40:28 -05:00
Jonathan
83a9e26cd8
Respect torch-sdp in config.yaml ( #5353 )
...
If the user specifies `torch-sdp` as the attention type in `config.yaml`, we can go ahead and use it (if available) rather than always throwing an exception.
2023-12-28 05:46:28 +00:00
Ryan Dick
5127e9df2d
Fix error caused by bump to diffusers 0.24. We pass kwargs now instead of positional args so that we are more robust to future changes.
2023-12-13 09:17:30 -05:00
Damian Stewart
0beb08686c
Add CFG Rescale option for supporting zero-terminal SNR models ( #4335 )
...
* add support for CFG rescale
* fix typo
* move rescale position and tweak docs
* move input position
* implement suggestions from github and discord
* cleanup unused code
* add back dropped FieldDescription
* fix(ui): revert unrelated UI changes
* chore(nodes): bump denoise_latents version 1.4.0 -> 1.5.0
* feat(nodes): add cfg_rescale_multiplier to metadata node
* feat(ui): add cfg rescale multiplier to linear UI
- add param to state
- update graph builders
- add UI under advanced
- add metadata handling & recall
- regen types
* chore: black
* fix(backend): make `StableDiffusionGeneratorPipeline._rescale_cfg()` staticmethod
This doesn't need access to class.
* feat(backend): add docstring for `_rescale_cfg()` method
* feat(ui): update cfg rescale mult translation string
---------
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2023-11-30 20:55:20 +11:00
psychedelicious
6494e8e551
chore: ruff format
2023-11-11 10:55:40 +11:00
psychedelicious
513fceac82
chore: ruff check - fix pycodestyle
2023-11-11 10:55:33 +11:00
psychedelicious
99a8ebe3a0
chore: ruff check - fix flake8-bugbear
2023-11-11 10:55:28 +11:00
psychedelicious
3a136420d5
chore: ruff check - fix flake8-comprensions
2023-11-11 10:55:23 +11:00