Ryan Dick
2b3e4e123d
Split LoRA layer implementations into separate files.
2024-09-12 15:53:30 +00:00
Brandon Rising
a16b555d47
Simplify flux model dtype conversion in model loader
2024-09-05 15:47:14 -04:00
Brandon Rising
6667c39c73
Remove dependency of asizeof
2024-09-05 15:47:14 -04:00
Brandon Rising
5219ac12a6
Add comment explaining the cache make room call
2024-09-05 15:47:14 -04:00
Brandon Rising
445f813fb9
Update flux transformer loader to more efficiently use and release memory during upcasting
2024-09-05 15:47:14 -04:00
Brandon Rising
87f9e59cfb
Cast tensors in unquantized flux models to bfloat16 during loading
2024-09-05 15:47:14 -04:00
Brandon Rising
2d0e34e57b
Support non-quantized bundles
2024-09-04 09:36:23 -04:00
Brandon Rising
a005d06255
feat: support checkpoint bundles containing more than just the transformer
2024-09-04 09:36:23 -04:00
Brandon Rising
65bb46bcca
Rename params for flux and flux vae, add comments explaining use of the config_path in model config
2024-08-26 20:17:50 -04:00
Ryan Dick
bbf934d980
Remove outdated TODO.
2024-08-26 20:17:50 -04:00
Ryan Dick
635d2f480d
ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
70c278c810
Remove dependency on flux config files
2024-08-26 20:17:50 -04:00
Ryan Dick
83f82c5ddf
Switch the CLIP-L start model to use our hosted version - which is much smaller.
2024-08-26 20:17:50 -04:00
Brandon Rising
101de8c25d
Update t5 encoder formats to accurately reflect the quantization strategy and data type
2024-08-26 20:17:50 -04:00
Ryan Dick
75d8ac378c
Update the T5 8-bit quantized starter model to use the BnB LLM.int8() variant.
2024-08-26 20:17:50 -04:00
Brandon Rising
1047584b3e
Only import bnb quantize file if bitsandbytes is installed
2024-08-26 20:17:50 -04:00
Ryan Dick
a0bf20bcee
Run FLUX VAE decoding in the user's preferred dtype rather than float32. Tested, and seems to work well at float16.
2024-08-26 20:17:50 -04:00
Brandon Rising
c27d59baf7
Run ruff
2024-08-26 20:17:50 -04:00
Brandon Rising
72398350b4
More flux loader cleanup
2024-08-26 20:17:50 -04:00
Brandon Rising
df9445c351
Various styling and exception type updates
2024-08-26 20:17:50 -04:00
Brandon Rising
87b7a2e39b
Switch inheritance class of flux model loaders
2024-08-26 20:17:50 -04:00
Brandon Rising
57168d719b
Fix styling/lint
2024-08-26 20:17:50 -04:00
Brandon Rising
dee6d2c98e
Fix support for 8b quantized t5 encoders, update exception messages in flux loaders
2024-08-26 20:17:50 -04:00
Ryan Dick
0c5e11f521
Fix FLUX output image clamping. And a few other minor fixes to make inference work with the full bfloat16 FLUX transformer model.
2024-08-26 20:17:50 -04:00
Brandon Rising
a63f842a13
Select dev/schnell based on state dict, use correct max seq len based on dev/schnell, and shift in inference, separate vae flux params into separate config
2024-08-26 20:17:50 -04:00
Brandon Rising
4bd7fda694
Install sub directories with folders correctly, ensure consistent dtype of tensors in flux pipeline and vae
2024-08-26 20:17:50 -04:00
Brandon Rising
81f0886d6f
Working inference node with quantized bnb nf4 checkpoint
2024-08-26 20:17:50 -04:00
Brandon Rising
1bd90e0fd4
Run ruff, setup initial text to image node
2024-08-26 20:17:50 -04:00
Brandon Rising
436f18ff55
Add backend functions and classes for Flux implementation, Update the way flux encoders/tokenizers are loaded for prompt encoding, Update way flux vae is loaded
2024-08-26 20:17:50 -04:00
Brandon Rising
56fda669fd
Manage quantization of models within the loader
2024-08-26 20:17:50 -04:00
psychedelicious
74cef38bcf
fix(backend): add refiner to single-file load_classes
...
Fixes single-file refiner loading.
2024-07-26 05:08:01 +10:00
Ryan Dick
7b5d4935b4
Merge branch 'main' into ryan/spandrel-upscale
2024-07-09 13:47:11 -04:00
Ryan Dick
1d449097cc
Apply ruff rule to disallow all relative imports.
2024-07-04 09:35:37 -04:00
Ryan Dick
9da5925287
Add ruff rule to disallow relative parent imports.
2024-07-04 09:35:37 -04:00
Ryan Dick
2a1514272f
Set the dtype correctly for SpandrelImageToImageModels when they are loaded.
2024-07-03 16:28:21 -04:00
Ryan Dick
59ce9cf41c
WIP - Begin to integrate SpandreImageToImageModel type into the model manager.
2024-07-03 16:28:21 -04:00
Lincoln Stein
3e0fb45dd7
Load single-file checkpoints directly without conversion ( #6510 )
...
* use model_class.load_singlefile() instead of converting; works, but performance is poor
* adjust the convert api - not right just yet
* working, needs sql migrator update
* rename migration_11 before conflict merge with main
* Update invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com >
* Update invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com >
* implement lightweight version-by-version config migration
* simplified config schema migration code
* associate sdxl config with sdxl VAEs
* remove use of original_config_file in load_single_file()
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com >
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com >
2024-06-27 17:31:28 -04:00
Lincoln Stein
b03073d888
[MM] Add support for probing and loading SDXL VAE checkpoint files ( #6524 )
...
* add support for probing and loading SDXL VAE checkpoint files
* broaden regexp probe for SDXL VAEs
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com >
2024-06-20 02:57:27 +00:00
Lincoln Stein
f81b8bc9f6
add support for generic loading of diffusers directories
2024-06-07 13:54:30 +10:00
blessedcoolant
e574815413
chore: clean up merge conflicts
2024-04-03 20:28:00 +05:30
blessedcoolant
fb293dcd84
Merge branch 'checkpoint-ip-adapter' of https://github.com/blessedcoolant/InvokeAI into checkpoint-ip-adapter
2024-04-03 20:23:07 +05:30
blessedcoolant
2dcbb7223b
fix: use Path for ip_adapter_ckpt_path instead of str
2024-04-03 20:21:03 +05:30
blessedcoolant
67afb1763e
wip: Initial implementation of safetensor support for IP Adapter
2024-04-03 12:39:52 +05:30
psychedelicious
59b4a23479
feat(mm): use same pattern for vae converter as others
...
Add `dump_path` arg to the converter function & save the model to disk inside the conversion function. This is the same pattern as in the other conversion functions.
2024-04-01 12:34:49 +11:00
psychedelicious
13f410478a
fix(mm): typing issues in vae loader
2024-04-01 12:34:49 +11:00
psychedelicious
25ff0bf80f
fix(mm): return converted vae model instead of path
...
This was missed in #6072 .
2024-04-01 12:34:49 +11:00
Lincoln Stein
3d6d89feb4
[mm] Do not write diffuser model to disk when convert_cache set to zero ( #6072 )
...
* pass model config to _load_model
* make conversion work again
* do not write diffusers to disk when convert_cache set to 0
* adding same model to cache twice is a no-op, not an assertion error
* fix issues identified by psychedelicious during pr review
* following conversion, avoid redundant read of cached submodels
* fix error introduced while merging
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com >
2024-03-29 16:11:08 -04:00
psychedelicious
6d261a5a13
fix(mm): handle relative conversion config paths
...
I have tested main, controlnet and vae checkpoint conversions.
2024-03-29 10:56:06 -04:00
blessedcoolant
b013d0e064
wip: Initial implementation of safetensor support for IP Adapter
2024-03-27 22:08:14 +05:30
psychedelicious
eb33303e79
fix(mm): handle depth and inpainting models when converting to diffusers
...
"Normal" models have 4 in-channels, while "Depth" models have 5 and "Inpaint" models have 9.
We need to explicitly tell diffusers the channel count when converting models.
Closes #6058
2024-03-27 07:48:54 -04:00