Ryan Dick
ddda60c1a2
Rename peft/ -> lora/
2024-09-15 04:39:56 +03:00
Ryan Dick
aac97e105a
Genera cleanup/documentation.
2024-09-15 04:39:56 +03:00
Ryan Dick
552a5b06a4
Add a check that all keys are handled in the FLUX Diffusers LoRA loading code.
2024-09-15 04:39:56 +03:00
Ryan Dick
5800e60b06
Add model probe support for FLUX LoRA models in Diffusers format.
2024-09-15 04:39:56 +03:00
Ryan Dick
31a8757e6b
Add is_state_dict_likely_in_flux_diffusers_format(...) function with unit test.
2024-09-15 04:39:56 +03:00
Ryan Dick
534e938a62
Add unit test for lora_model_from_flux_diffusers_state_dict(...).
2024-09-15 04:39:56 +03:00
Ryan Dick
040cc28f93
First draft of lora_model_from_flux_diffusers_state_dict(...).
2024-09-15 04:39:56 +03:00
Ryan Dick
bb528d916e
Add ConcatenateLoRALayer class.
2024-09-15 04:39:56 +03:00
Ryan Dick
dc09171cdb
WIP on supporting diffusers format FLUX LoRAs.
2024-09-15 04:39:56 +03:00
Ryan Dick
cf9f30cc56
Rename flux_kohya_lora_conversion_utils.py
2024-09-15 04:39:56 +03:00
Ryan Dick
50c9410121
WIP
2024-09-15 04:39:56 +03:00
Ryan Dick
01a15b4d80
WIP - add invocations to support FLUX LORAs.
2024-09-15 04:39:56 +03:00
Ryan Dick
db61ec4322
Get probing of FLUX LoRA kohya models working.
2024-09-15 04:39:56 +03:00
Ryan Dick
00e56863c2
Add utility function for detecting whether a state_dict is in the FLUX kohya LoRA format.
2024-09-15 04:39:56 +03:00
Ryan Dick
7b5befad0d
Update convert_flux_kohya_state_dict_to_invoke_format() to raise an exception if an unexpected key is encountered, and add a corresponding unit test.
2024-09-15 04:39:56 +03:00
Ryan Dick
04b37e64ea
Move the responsibilities of 1) state_dict loading from file, and 2) SDXL lora key conversions, out of LoRAModelRaw and into LoRALoader.
2024-09-15 04:39:56 +03:00
Ryan Dick
8518ae9ccb
Remove unused LoRAModelRaw.name attribute.
2024-09-15 04:39:56 +03:00
Ryan Dick
d0d91eaeec
Fix type errors in sdxl_lora_conversion_utils.py
2024-09-15 04:39:56 +03:00
Ryan Dick
fc380f077f
Start moving SDXL-specific LoRA conversions out of the general-purpose LoRAModelRaw class.
2024-09-15 04:39:56 +03:00
Ryan Dick
ade75b4748
Get convert_flux_kohya_state_dict_to_invoke_format(...) working, with unit tests.
2024-09-15 04:39:56 +03:00
Ryan Dick
c41bd59812
WIP - Initial logic for kohya FLUX LoRA conversion.
2024-09-15 04:39:56 +03:00
Ryan Dick
2b3e4e123d
Split LoRA layer implementations into separate files.
2024-09-12 15:53:30 +00:00
psychedelicious
248e4a81b2
fix(nodes): handle no detected line segments
2024-09-11 08:12:48 -04:00
psychedelicious
b6aba92426
fix(nodes): MLSD needs inputs to be multiples of 64
2024-09-11 08:12:48 -04:00
psychedelicious
4f2fc65257
tidy(nodes): MLSDEdgeDetection -> MLSDDetection
...
It's a line segment detector, not general edge detector.
2024-09-11 08:12:48 -04:00
psychedelicious
ee4c0efbf7
feat(nodes): update pidinet node
...
Human-readable field names.
2024-09-11 08:12:48 -04:00
psychedelicious
a4250e3ff2
feat(nodes): update mlsd node
...
Human-readable field names.
2024-09-11 08:12:48 -04:00
psychedelicious
67a234c1bb
feat(nodes): update content shuffle node
...
- Better field names
2024-09-11 08:12:48 -04:00
psychedelicious
53792fafb3
feat(nodes): add DWOpenposeDetectionInvocation
...
Similar to the existing node, but without any resizing. The backend logic was consolidated and modified so that it the model loading can be managed by the model manager.
The ONNX Runtime `InferenceSession` class was added to the `AnyModel` union to satisfy the type checker.
2024-09-11 08:12:48 -04:00
psychedelicious
615eddea6f
feat(nodes): add PiDiNetEdgeDetectionInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
All code related to the invocation now lives in the Invoke repo.
2024-09-11 08:12:48 -04:00
psychedelicious
b3d60bd56a
feat(nodes): add NormalMapInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
All code related to the invocation now lives in the Invoke repo. Unfortunately, this includes a whole git repo for EfficientNet. I believe we could use the package `timm` instead of this, but it's beyond me.
2024-09-11 08:12:48 -04:00
psychedelicious
fd42da5a36
feat(nodes): add MLSDEdgeDetectionInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
All code related to the invocation now lives in the Invoke repo.
2024-09-11 08:12:48 -04:00
psychedelicious
bc55791db1
feat(nodes): add MediaPipeFaceDetectionInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
All code related to the invocation now lives in the Invoke repo.
2024-09-11 08:12:48 -04:00
psychedelicious
c5f3297841
feat(nodes): add LineartEdgeDetectionInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
2024-09-11 08:12:48 -04:00
psychedelicious
cd2c2a7fde
feat(nodes): add LineartAnimeEdgeDetectionInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
2024-09-11 08:12:48 -04:00
psychedelicious
1cffcc02a5
feat(nodes): add HEDEdgeDetectionInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API that uses the model manager.
2024-09-11 08:12:48 -04:00
psychedelicious
ac9950bdbb
feat(nodes): add DepthAnythingDepthEstimationInvocation
...
Similar to the existing node, but without any resizing and with a revised model loading API.
2024-09-11 08:12:48 -04:00
psychedelicious
059d57f447
feat(nodes): add ContentShuffleInvocation
...
Similar to the existing node, but without the resolution fields.
2024-09-11 08:12:48 -04: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
33edee1ba6
Delete all flux bundle state dict keys when extracting the transformer state dict
2024-09-04 09:36:23 -04:00
Brandon Rising
d20335dabc
convert_bundle_to_flux_transformer_checkpoint now removes processed keys to decrease memory usage
2024-09-04 09:36:23 -04:00
Brandon Rising
d10d258213
Add a comment for why we're converting scale tensors in flux models to bfloat16
2024-09-04 09:36:23 -04:00
Brandon
d57ba1ed8b
Update invokeai/backend/model_manager/probe.py
...
Co-authored-by: Ryan Dick <ryanjdick3@gmail.com >
2024-09-04 09:36:23 -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
Lincoln Stein
6dabe4d3ca
assign T5 encoder to base type "Any"
2024-09-03 15:55:51 -04:00