Ryan Dick
a4bed7aee3
Minor tidy of FLUX control LoRA implementation. (mostly documentation)
2024-12-17 07:28:45 -05:00
Ryan Dick
d84adfd39f
Clean up FLUX control LoRA pre-processing logic.
2024-12-17 07:28:45 -05:00
Ryan Dick
ac82f73dbe
Make FluxControlLoRALoaderOutput.control_lora non-optional.
2024-12-17 07:28:45 -05:00
Brandon Rising
046d19446c
Rename Structural Lora to Control Lora
2024-12-17 07:28:45 -05:00
Brandon Rising
f53da60b84
Lots of updates centered around using the lora patcher rather than changing the modules in the transformer model
2024-12-17 07:28:45 -05:00
Brandon Rising
5a035dd19f
Support bnb quantized nf4 flux models, Use controlnet vae, only support 1 structural lora per transformer. various other refractors and bugfixes
2024-12-17 07:28:45 -05:00
Brandon Rising
f3b253987f
Initial setup for flux tools control loras
2024-12-17 07:28:45 -05:00
Eugene Brodsky
4c94d41fa9
(chore) ruff format
2024-12-04 17:02:08 +00:00
Eugene Brodsky
4036244ee9
(app) clarify log message when migrating old .cache
2024-12-04 17:02:08 +00:00
Eugene Brodsky
d06232d9ba
(config) ensure legacy model configs and node template are writable by the user even if the source files are read-only
2024-12-04 17:02:08 +00:00
psychedelicious
3305bad0c2
fix(app): queue item id check before setting cancel flag should use != instead of is not
...
The `is` operator compares references, not values. Thanks to a wonderfully unintuitive quirk of python, `is` works on integers from `-5` to `256`, inclusive.
Whenever integers in this range are used for a value, internally python returns a reference to a stable object in memory. When integers outside this range are used as a value, python creates a new object in memory for that integer.
See `PyLong_FromLong` documentation here: https://docs.python.org/3/c-api/long.html
Tying this back to our session processor, we were using `is` to compare the queue item ids for equality. Our queue item ids start at 0, and each queue item created increments this by one. So this comparison works only for the first 256 queue items on the machine.
Starting with the 257th queue item, the comparison starts returning `False`, and cancelation gets weird.
Easy fix - use `!=` instead of `is not`.
2024-12-02 23:22:58 -05:00
Mary Hipp
a6be26e174
fix(worker): only apply processor cancel logic if cancel event is for current queue item
2024-12-02 14:03:05 -08:00
Riku
159b00a490
fix(app): adjust session queue api type
2024-12-01 20:06:05 -08:00
Jonathan
6012b0f912
Update flux_text_encoder.py
...
Updated version number for FLUX Text Encoding.
2024-11-30 08:29:21 -05:00
Jonathan
bb0ed5dc8a
Update flux_denoise.py
...
Updated node version for FLUX Denoise.
2024-11-30 08:29:21 -05:00
psychedelicious
5910892c33
Merge remote-tracking branch 'origin/main' into ryan/flux-regional-prompting
2024-11-29 15:19:39 +10:00
Ryan Dick
8cfb032051
Add utility ImagePanelLayoutInvocation for working with In-Context LoRA workflows.
2024-11-26 20:58:31 -08:00
Ryan Dick
06a9d4e2b2
Use a Textarea component for the FluxTextEncoderInvocation prompt field.
2024-11-26 20:58:31 -08:00
Brandon Rising
ed46acee79
fix: Fail scan on InvalidMagicError in picklescan, update default for read_checkpoint_meta to scan unless explicitly told not to
2024-11-26 16:17:12 -05:00
Ryan Dick
53abdde242
Update Flux RegionalPromptingExtension to prepare both a mask with restricted image self-attention and a mask with unrestricted image self attention.
2024-11-25 22:04:23 +00:00
Ryan Dick
3741a6f5e0
Fix device handling for regional masks and apply the attention mask in the FLUX double stream block.
2024-11-25 16:02:03 +00:00
Ryan Dick
20356c0746
Fixup the logic for preparing FLUX regional prompt attention masks.
2024-11-21 22:46:25 +00:00
Ryan Dick
fda7aaa7ca
Pass RegionalPromptingExtension down to the CustomDoubleStreamBlockProcessor in FLUX.
2024-11-20 19:48:04 +00:00
Ryan Dick
85c616fa34
WIP - Pass prompt masks to FLUX model during denoising.
2024-11-20 18:51:43 +00:00
psychedelicious
f01210861b
chore: ruff
2024-11-19 07:02:37 -08:00
psychedelicious
872a6ef209
tidy(nodes): extract slerp from lblend to util fn
2024-11-19 07:02:37 -08:00
psychedelicious
4267e5ffc4
tidy(nodes): bring masked blend latents masking logic into invoke core
2024-11-19 07:02:37 -08:00
Brandon Rising
1fd80d54a4
Run Ruff
2024-11-19 07:02:37 -08:00
Brandon Rising
991f63e455
Store CIELab_to_UPLab.icc within the repo
2024-11-19 07:02:37 -08:00
Brandon Rising
6a1efd3527
Add validation to some of the node inputs
2024-11-19 07:02:37 -08:00
Brandon Rising
0eadc0dd9e
feat: Support a subset of composition nodes within base invokeai
2024-11-19 07:02:37 -08:00
psychedelicious
a0d62a5f41
feat(nodes): add minimum image count to ImageBatchInvocation
2024-11-18 19:12:27 -08:00
psychedelicious
6ab891a319
feat(nodes): add ImageBatchInvocation
2024-11-18 19:12:27 -08:00
psychedelicious
492de41316
feat(app): add Classification.Special, used for batch nodes
2024-11-18 19:12:27 -08:00
psychedelicious
c064efc866
feat(app): add ImageField as an allowed batching data type
2024-11-18 19:12:27 -08:00
Mary Hipp
51d0931898
remove GPL-3 licensed package easing-functions
2024-11-18 08:55:17 -05:00
psychedelicious
96a31a5563
feat(app): add more events when loading/running models
2024-11-15 05:49:05 +11:00
psychedelicious
067747eca9
feat(app): tweak model load events
...
- Pass in the `UtilInterface` to the `ModelsInterface` so we can call the simple `signal_progress` method instead of the complicated `emit_invocation_progress` method.
- Only emit load events when starting to load - not after.
- Add more detail to the messages, like submodel type
2024-11-15 05:49:05 +11:00
maryhipp
54c51e0a06
(worker) add progress images for downloading remote models
2024-11-15 05:49:05 +11:00
maryhipp
fdb8ca5165
(worker) use source if name is not available
2024-11-15 05:49:05 +11:00
maryhipp
9bbb5644af
(worker) add invocation_progress events to model loading
2024-11-15 05:49:05 +11:00
Ryan Dick
1cf7600f5b
Merge branch 'main' into ryan/sd3-image-to-image
2024-11-14 09:25:23 -08:00
Ryan Dick
eaf4e08c44
Use vae.parameters() for more efficient access of the first model parameter.
2024-11-13 23:32:40 +00:00
Mary Hipp
13cb5f0ba2
Merge remote-tracking branch 'origin/main' into ryan/sd3-image-to-image
2024-11-08 20:29:56 -05:00
maryhipp
04e4fb63af
add SD3 generation modes for metadata validation
2024-11-08 13:13:58 -05:00
David Burnett
2618ed0ae7
ruff complained
2024-11-08 10:31:53 +00:00
David Burnett
bb3cedddd5
Rework change based on comments
2024-11-08 10:27:47 +00:00
Ryan Dick
a0fefcd43f
Switch to using a custom scheduler implementation for SD3 rather than the diffusers FlowMatchEulerDiscreteScheduler. It is easier to work with and enables us to re-use the clip_timestep_schedule_fractional() utility from FLUX.
2024-11-07 22:46:52 +00:00
Ryan Dick
a5f8c23dee
Add inpainting support for SD3.
2024-11-07 20:21:43 +00:00
Ryan Dick
7bb4ea57c6
Add SD3ImageToLatentsInvocation.
2024-11-07 16:07:57 +00:00