From 232649b717829ed4d55f498795dc78a97f925198 Mon Sep 17 00:00:00 2001 From: Tir25 Date: Thu, 24 Apr 2025 09:34:16 +0530 Subject: [PATCH] Add CompileSafeLORAMixin for torch.compile support --- src/diffusers/pipelines/flux/pipeline_flux.py | Bin 46991 -> 32 bytes tests/pipelines/flux/test_flux_lora.py | Bin 0 -> 32 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/pipelines/flux/test_flux_lora.py diff --git a/src/diffusers/pipelines/flux/pipeline_flux.py b/src/diffusers/pipelines/flux/pipeline_flux.py index a7266c3a565ed70faa3e59c67ed775ac7144b6b2..708c8b5a28111fa185576ffc26124c71844d81e4 100644 GIT binary patch literal 32 kcmezWuYjS5A(J7Gp@cz$K?z8vG86+zB?e6fUIs1(0F}@NmjD0& literal 46991 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 R`=T5Et3{iE)YyIW{{bLgI7k2h diff --git a/tests/pipelines/flux/test_flux_lora.py b/tests/pipelines/flux/test_flux_lora.py new file mode 100644 index 0000000000000000000000000000000000000000..708c8b5a28111fa185576ffc26124c71844d81e4 GIT binary patch literal 32 kcmezWuYjS5A(J7Gp@cz$K?z8vG86+zB?e6fUIs1(0F}@NmjD0& literal 0 HcmV?d00001