diff --git a/docs/source/en/using-diffusers/other-formats.md b/docs/source/en/using-diffusers/other-formats.md
index b6e333ed7715..c4b150098e8d 100644
--- a/docs/source/en/using-diffusers/other-formats.md
+++ b/docs/source/en/using-diffusers/other-formats.md
@@ -220,6 +220,9 @@ pipeline = DiffusionPipeline.from_single_file(
### dduf
+> [!WARNING]
+> DDUF support is deprecated and will be removed in version 0.41.0. Save and load your pipelines using the standard Diffusers directory format instead.
+
> [!TIP]
> DDUF is an experimental file type and the API may change. Refer to the DDUF [docs](https://huggingface.co/docs/hub/dduf) to learn more.
diff --git a/src/diffusers/pipelines/pipeline_utils.py b/src/diffusers/pipelines/pipeline_utils.py
index f972099a5a0b..d737b44129ea 100644
--- a/src/diffusers/pipelines/pipeline_utils.py
+++ b/src/diffusers/pipelines/pipeline_utils.py
@@ -65,6 +65,7 @@
PushToHubMixin,
_get_detailed_type,
_is_valid_type,
+ deprecate,
is_accelerate_available,
is_accelerate_version,
is_bitsandbytes_version,
@@ -121,6 +122,11 @@
SUPPORTED_DEVICE_MAP = ["balanced"] + [get_device(), "cpu"]
+_DDUF_DEPRECATION_MESSAGE = (
+ "Loading pipelines from DDUF files is deprecated and DDUF support will be removed entirely. "
+ "Please save and load your pipelines using the standard Diffusers directory format instead."
+)
+
logger = logging.get_logger(__name__)
@@ -737,7 +743,8 @@ def from_pretrained(cls, pretrained_model_name_or_path: str | os.PathLike, **kwa
Load weights from a specified variant filename such as `"fp16"` or `"ema"`. This is ignored when
loading `from_flax`.
dduf_file(`str`, *optional*):
- Load weights from the specified dduf file.
+ Load weights from the specified dduf file. This argument is deprecated and will be removed
+ in version 0.41.0.
disable_mmap ('bool', *optional*, defaults to 'False'):
Whether to disable mmap when loading a Safetensors model. This option can perform better when the model
is on a network mount or hard drive, which may not handle the seeky-ness of mmap very well.
@@ -852,6 +859,7 @@ def from_pretrained(cls, pretrained_model_name_or_path: str | os.PathLike, **kwa
)
if dduf_file:
+ deprecate("dduf_file", "0.41.0", _DDUF_DEPRECATION_MESSAGE)
if custom_pipeline:
raise NotImplementedError("Custom pipelines are not supported with DDUF at the moment.")
if load_connected_pipeline:
@@ -1581,7 +1589,8 @@ def download(cls, pretrained_model_name, **kwargs) -> str | os.PathLike:
Load weights from a specified variant filename such as `"fp16"` or `"ema"`. This is ignored when
loading `from_flax`.
dduf_file(`str`, *optional*):
- Load weights from the specified DDUF file.
+ Load weights from the specified DDUF file. This argument is deprecated and will be removed
+ in version 0.41.0.
use_safetensors (`bool`, *optional*, defaults to `None`):
If set to `None`, the safetensors weights are downloaded if they're available **and** if the
safetensors library is installed. If set to `True`, the model is forcibly loaded from safetensors
@@ -1625,6 +1634,7 @@ def download(cls, pretrained_model_name, **kwargs) -> str | os.PathLike:
use_flashpack = kwargs.pop("use_flashpack", False)
if dduf_file:
+ deprecate("dduf_file", "0.41.0", _DDUF_DEPRECATION_MESSAGE)
if custom_pipeline:
raise NotImplementedError("Custom pipelines are not supported with DDUF at the moment.")
if load_connected_pipeline:
diff --git a/tests/pipelines/ace_step/test_ace_step.py b/tests/pipelines/ace_step/test_ace_step.py
index 089a9b849523..e049840b159b 100644
--- a/tests/pipelines/ace_step/test_ace_step.py
+++ b/tests/pipelines/ace_step/test_ace_step.py
@@ -139,7 +139,6 @@ class AceStepPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
# ACE-Step uses custom attention, not standard diffusers attention processors
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/allegro/test_allegro.py b/tests/pipelines/allegro/test_allegro.py
index c126a94ce10e..941192c932dc 100644
--- a/tests/pipelines/allegro/test_allegro.py
+++ b/tests/pipelines/allegro/test_allegro.py
@@ -14,8 +14,6 @@
import gc
import inspect
-import os
-import tempfile
import unittest
import numpy as np
@@ -28,9 +26,7 @@
backend_empty_cache,
enable_full_determinism,
numpy_cosine_similarity_distance,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
slow,
torch_device,
)
@@ -308,35 +304,6 @@ def test_vae_tiling(self, expected_diff_max: float = 0.2):
"VAE tiling should not affect the inference results",
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- # reimplement because it needs `enable_tiling()` on the loaded pipe.
- from huggingface_hub import export_folder_as_dduf
-
- components = self.get_dummy_components()
- pipe = self.pipeline_class(**components)
- pipe = pipe.to(torch_device)
- pipe.set_progress_bar_config(disable=None)
-
- inputs = self.get_dummy_inputs(device="cpu")
- inputs.pop("generator")
- inputs["generator"] = torch.manual_seed(0)
-
- pipeline_out = pipe(**inputs)[0].cpu()
-
- with tempfile.TemporaryDirectory() as tmpdir:
- dduf_filename = os.path.join(tmpdir, f"{pipe.__class__.__name__.lower()}.dduf")
- pipe.save_pretrained(tmpdir, safe_serialization=True)
- export_folder_as_dduf(dduf_filename, folder_path=tmpdir)
- loaded_pipe = self.pipeline_class.from_pretrained(tmpdir, dduf_file=dduf_filename).to(torch_device)
-
- loaded_pipe.vae.enable_tiling()
- inputs["generator"] = torch.manual_seed(0)
- loaded_pipeline_out = loaded_pipe(**inputs)[0].cpu()
-
- assert np.allclose(pipeline_out, loaded_pipeline_out)
-
@slow
@require_torch_accelerator
diff --git a/tests/pipelines/anyflow/test_anyflow.py b/tests/pipelines/anyflow/test_anyflow.py
index 20ec1f859089..a902279264fa 100644
--- a/tests/pipelines/anyflow/test_anyflow.py
+++ b/tests/pipelines/anyflow/test_anyflow.py
@@ -49,7 +49,6 @@ class AnyFlowPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/anyflow/test_anyflow_far.py b/tests/pipelines/anyflow/test_anyflow_far.py
index de244d563ec6..b535bae434a6 100644
--- a/tests/pipelines/anyflow/test_anyflow_far.py
+++ b/tests/pipelines/anyflow/test_anyflow_far.py
@@ -55,7 +55,6 @@ class AnyFlowFARPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/audioldm2/test_audioldm2.py b/tests/pipelines/audioldm2/test_audioldm2.py
index c8aa9adeee8f..0e4566e3d629 100644
--- a/tests/pipelines/audioldm2/test_audioldm2.py
+++ b/tests/pipelines/audioldm2/test_audioldm2.py
@@ -76,8 +76,6 @@ class AudioLDM2PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = AudioLDM2UNet2DConditionModel(
diff --git a/tests/pipelines/bria_fibo/test_pipeline_bria_fibo.py b/tests/pipelines/bria_fibo/test_pipeline_bria_fibo.py
index 76b41114f859..338cc7cdd91f 100644
--- a/tests/pipelines/bria_fibo/test_pipeline_bria_fibo.py
+++ b/tests/pipelines/bria_fibo/test_pipeline_bria_fibo.py
@@ -43,7 +43,6 @@ class BriaFiboPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
test_xformers_attention = False
test_layerwise_casting = False
test_group_offloading = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/bria_fibo_edit/test_pipeline_bria_fibo_edit.py b/tests/pipelines/bria_fibo_edit/test_pipeline_bria_fibo_edit.py
index 5376c4b5e03f..e69cc486b197 100644
--- a/tests/pipelines/bria_fibo_edit/test_pipeline_bria_fibo_edit.py
+++ b/tests/pipelines/bria_fibo_edit/test_pipeline_bria_fibo_edit.py
@@ -44,7 +44,6 @@ class BriaFiboPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
test_xformers_attention = False
test_layerwise_casting = False
test_group_offloading = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/chronoedit/test_chronoedit.py b/tests/pipelines/chronoedit/test_chronoedit.py
index c8922b19dc5e..374243d5c9ed 100644
--- a/tests/pipelines/chronoedit/test_chronoedit.py
+++ b/tests/pipelines/chronoedit/test_chronoedit.py
@@ -57,7 +57,6 @@ class ChronoEditPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/cogview4/test_cogview4.py b/tests/pipelines/cogview4/test_cogview4.py
index 5f71b1b296d9..6a8521d27761 100644
--- a/tests/pipelines/cogview4/test_cogview4.py
+++ b/tests/pipelines/cogview4/test_cogview4.py
@@ -46,7 +46,6 @@ class CogView4PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
diff --git a/tests/pipelines/controlnet/test_controlnet.py b/tests/pipelines/controlnet/test_controlnet.py
index 9b9df82141ea..2e002d62aeac 100644
--- a/tests/pipelines/controlnet/test_controlnet.py
+++ b/tests/pipelines/controlnet/test_controlnet.py
@@ -253,8 +253,6 @@ class StableDiffusionMultiControlNetPipelineFastTests(
batch_params = TEXT_TO_IMAGE_BATCH_PARAMS
image_params = frozenset([]) # TO_DO: add image_params once refactored VaeImageProcessor.preprocess
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
@@ -494,8 +492,6 @@ class StableDiffusionMultiControlNetOneModelPipelineFastTests(
batch_params = TEXT_TO_IMAGE_BATCH_PARAMS
image_params = frozenset([]) # TO_DO: add image_params once refactored VaeImageProcessor.preprocess
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/controlnet/test_controlnet_img2img.py b/tests/pipelines/controlnet/test_controlnet_img2img.py
index d60b76190658..b42730d73bb3 100644
--- a/tests/pipelines/controlnet/test_controlnet_img2img.py
+++ b/tests/pipelines/controlnet/test_controlnet_img2img.py
@@ -206,8 +206,6 @@ class StableDiffusionMultiControlNetPipelineFastTests(
batch_params = TEXT_GUIDED_IMAGE_VARIATION_BATCH_PARAMS
image_params = frozenset([]) # TO_DO: add image_params once refactored VaeImageProcessor.preprocess
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/controlnet/test_controlnet_inpaint.py b/tests/pipelines/controlnet/test_controlnet_inpaint.py
index c95f92dd8191..b0420409e86d 100644
--- a/tests/pipelines/controlnet/test_controlnet_inpaint.py
+++ b/tests/pipelines/controlnet/test_controlnet_inpaint.py
@@ -265,8 +265,6 @@ class MultiControlNetInpaintPipelineFastTests(
params = TEXT_GUIDED_IMAGE_INPAINTING_PARAMS
batch_params = TEXT_GUIDED_IMAGE_INPAINTING_BATCH_PARAMS
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/controlnet/test_controlnet_inpaint_sdxl.py b/tests/pipelines/controlnet/test_controlnet_inpaint_sdxl.py
index 7f7976e839ed..e5a5410a011a 100644
--- a/tests/pipelines/controlnet/test_controlnet_inpaint_sdxl.py
+++ b/tests/pipelines/controlnet/test_controlnet_inpaint_sdxl.py
@@ -78,8 +78,6 @@ class ControlNetPipelineSDXLFastTests(
}
)
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/controlnet/test_controlnet_sdxl.py b/tests/pipelines/controlnet/test_controlnet_sdxl.py
index 8736ee5fa060..926a55f679c5 100644
--- a/tests/pipelines/controlnet/test_controlnet_sdxl.py
+++ b/tests/pipelines/controlnet/test_controlnet_sdxl.py
@@ -452,8 +452,6 @@ class StableDiffusionXLMultiControlNetPipelineFastTests(
batch_params = TEXT_TO_IMAGE_BATCH_PARAMS
image_params = frozenset([]) # TO_DO: add image_params once refactored VaeImageProcessor.preprocess
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
@@ -660,8 +658,6 @@ class StableDiffusionXLMultiControlNetOneModelPipelineFastTests(
batch_params = TEXT_TO_IMAGE_BATCH_PARAMS
image_params = frozenset([]) # TO_DO: add image_params once refactored VaeImageProcessor.preprocess
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/cosmos/test_cosmos.py b/tests/pipelines/cosmos/test_cosmos.py
index f0407b032f3d..80b1fdc37c6d 100644
--- a/tests/pipelines/cosmos/test_cosmos.py
+++ b/tests/pipelines/cosmos/test_cosmos.py
@@ -56,7 +56,6 @@ class CosmosTextToWorldPipelineFastTests(PipelineTesterMixin, unittest.TestCase)
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/cosmos/test_cosmos2_5_predict.py b/tests/pipelines/cosmos/test_cosmos2_5_predict.py
index 6124e7be4b7b..a7475f7b2d8f 100644
--- a/tests/pipelines/cosmos/test_cosmos2_5_predict.py
+++ b/tests/pipelines/cosmos/test_cosmos2_5_predict.py
@@ -67,7 +67,6 @@ class Cosmos2_5_PredictPipelineFastTests(PipelineTesterMixin, unittest.TestCase)
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/cosmos/test_cosmos2_5_transfer.py b/tests/pipelines/cosmos/test_cosmos2_5_transfer.py
index c7f2f799216f..c59ae946733e 100644
--- a/tests/pipelines/cosmos/test_cosmos2_5_transfer.py
+++ b/tests/pipelines/cosmos/test_cosmos2_5_transfer.py
@@ -68,7 +68,6 @@ class Cosmos2_5_TransferPipelineFastTests(PipelineTesterMixin, unittest.TestCase
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/cosmos/test_cosmos2_text2image.py b/tests/pipelines/cosmos/test_cosmos2_text2image.py
index 2a7b130c5340..eb624365bc42 100644
--- a/tests/pipelines/cosmos/test_cosmos2_text2image.py
+++ b/tests/pipelines/cosmos/test_cosmos2_text2image.py
@@ -61,7 +61,6 @@ class Cosmos2TextToImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/cosmos/test_cosmos2_video2world.py b/tests/pipelines/cosmos/test_cosmos2_video2world.py
index ca62dcc9665c..6baf872c8a91 100644
--- a/tests/pipelines/cosmos/test_cosmos2_video2world.py
+++ b/tests/pipelines/cosmos/test_cosmos2_video2world.py
@@ -62,7 +62,6 @@ class Cosmos2VideoToWorldPipelineFastTests(PipelineTesterMixin, unittest.TestCas
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/cosmos/test_cosmos_video2world.py b/tests/pipelines/cosmos/test_cosmos_video2world.py
index dbe072d334c4..e49cf8a41939 100644
--- a/tests/pipelines/cosmos/test_cosmos_video2world.py
+++ b/tests/pipelines/cosmos/test_cosmos_video2world.py
@@ -57,7 +57,6 @@ class CosmosVideoToWorldPipelineFastTests(PipelineTesterMixin, unittest.TestCase
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/deepfloyd_if/test_if.py b/tests/pipelines/deepfloyd_if/test_if.py
index 4fd555b9a33e..551ca6f77971 100644
--- a/tests/pipelines/deepfloyd_if/test_if.py
+++ b/tests/pipelines/deepfloyd_if/test_if.py
@@ -29,9 +29,7 @@
backend_reset_peak_memory_stats,
load_numpy,
require_accelerator,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
slow,
torch_device,
@@ -90,11 +88,6 @@ def test_inference_batch_single_identical(self):
def test_xformers_attention_forwardGenerator_pass(self):
self._test_xformers_attention_forwardGenerator_pass(expected_max_diff=1e-3)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-2, rtol=1e-2)
-
@unittest.skip("Functionality is tested elsewhere.")
def test_save_load_optional_components(self):
pass
diff --git a/tests/pipelines/deepfloyd_if/test_if_img2img.py b/tests/pipelines/deepfloyd_if/test_if_img2img.py
index d047f4a046b8..d3433ecd8c78 100644
--- a/tests/pipelines/deepfloyd_if/test_if_img2img.py
+++ b/tests/pipelines/deepfloyd_if/test_if_img2img.py
@@ -31,9 +31,7 @@
floats_tensor,
load_numpy,
require_accelerator,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
slow,
torch_device,
@@ -103,11 +101,6 @@ def test_inference_batch_single_identical(self):
expected_max_diff=1e-2,
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-2, rtol=1e-2)
-
@unittest.skip("Functionality is tested elsewhere.")
def test_save_load_optional_components(self):
pass
diff --git a/tests/pipelines/deepfloyd_if/test_if_img2img_superresolution.py b/tests/pipelines/deepfloyd_if/test_if_img2img_superresolution.py
index d83341249ee0..ef1ffc96f9cb 100644
--- a/tests/pipelines/deepfloyd_if/test_if_img2img_superresolution.py
+++ b/tests/pipelines/deepfloyd_if/test_if_img2img_superresolution.py
@@ -31,9 +31,7 @@
floats_tensor,
load_numpy,
require_accelerator,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
slow,
torch_device,
@@ -100,11 +98,6 @@ def test_inference_batch_single_identical(self):
expected_max_diff=1e-2,
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-2, rtol=1e-2)
-
@unittest.skip("Functionality is tested elsewhere.")
def test_save_load_optional_components(self):
pass
diff --git a/tests/pipelines/deepfloyd_if/test_if_inpainting.py b/tests/pipelines/deepfloyd_if/test_if_inpainting.py
index 915d400bc6e8..6af059a9f396 100644
--- a/tests/pipelines/deepfloyd_if/test_if_inpainting.py
+++ b/tests/pipelines/deepfloyd_if/test_if_inpainting.py
@@ -31,9 +31,7 @@
floats_tensor,
load_numpy,
require_accelerator,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
slow,
torch_device,
@@ -100,11 +98,6 @@ def test_inference_batch_single_identical(self):
expected_max_diff=1e-2,
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-2, rtol=1e-2)
-
@unittest.skip("Test done elsewhere.")
def test_save_load_optional_components(self, expected_max_difference=0.0001):
pass
diff --git a/tests/pipelines/deepfloyd_if/test_if_inpainting_superresolution.py b/tests/pipelines/deepfloyd_if/test_if_inpainting_superresolution.py
index 142351385f40..60f2eaaafa6c 100644
--- a/tests/pipelines/deepfloyd_if/test_if_inpainting_superresolution.py
+++ b/tests/pipelines/deepfloyd_if/test_if_inpainting_superresolution.py
@@ -31,9 +31,7 @@
floats_tensor,
load_numpy,
require_accelerator,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
slow,
torch_device,
@@ -102,11 +100,6 @@ def test_inference_batch_single_identical(self):
expected_max_diff=1e-2,
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-2, rtol=1e-2)
-
@unittest.skip("Test done elsewhere.")
def test_save_load_optional_components(self, expected_max_difference=0.0001):
pass
diff --git a/tests/pipelines/deepfloyd_if/test_if_superresolution.py b/tests/pipelines/deepfloyd_if/test_if_superresolution.py
index 7e0a9af1253c..54cf511f3552 100644
--- a/tests/pipelines/deepfloyd_if/test_if_superresolution.py
+++ b/tests/pipelines/deepfloyd_if/test_if_superresolution.py
@@ -31,9 +31,7 @@
floats_tensor,
load_numpy,
require_accelerator,
- require_hf_hub_version_greater,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
slow,
torch_device,
@@ -95,11 +93,6 @@ def test_inference_batch_single_identical(self):
expected_max_diff=1e-2,
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-2, rtol=1e-2)
-
@unittest.skip("Test done elsewhere.")
def test_save_load_optional_components(self, expected_max_difference=0.0001):
pass
diff --git a/tests/pipelines/dreamlite/test_pipeline_dreamlite.py b/tests/pipelines/dreamlite/test_pipeline_dreamlite.py
index fde30d896364..cec804727d00 100644
--- a/tests/pipelines/dreamlite/test_pipeline_dreamlite.py
+++ b/tests/pipelines/dreamlite/test_pipeline_dreamlite.py
@@ -295,13 +295,6 @@ def test_num_images_per_prompt(self):
def test_encode_prompt_works_in_isolation(self, extra_required_param_value_dict=None, atol=1e-4, rtol=1e-4):
pass
- @unittest.skip(
- "Qwen3VLProcessor save_pretrained does not currently round-trip through DDUF "
- "(image_processor sub-config is dropped); orthogonal to DreamLite."
- )
- def test_save_load_dduf(self, atol=1e-4, rtol=1e-4):
- pass
-
@unittest.skip("DreamLite forces batch_size=1 internally.")
def test_inference_batch_consistent(self):
pass
diff --git a/tests/pipelines/dreamlite/test_pipeline_dreamlite_mobile.py b/tests/pipelines/dreamlite/test_pipeline_dreamlite_mobile.py
index 201decc9cb42..325bdc592177 100644
--- a/tests/pipelines/dreamlite/test_pipeline_dreamlite_mobile.py
+++ b/tests/pipelines/dreamlite/test_pipeline_dreamlite_mobile.py
@@ -206,13 +206,6 @@ def test_encode_prompt_works_in_isolation(self, extra_required_param_value_dict=
def test_num_images_per_prompt(self):
pass
- @unittest.skip(
- "Qwen3VLProcessor save_pretrained does not currently round-trip through DDUF "
- "(image_processor sub-config is dropped); orthogonal to DreamLiteMobile."
- )
- def test_save_load_dduf(self, atol=1e-4, rtol=1e-4):
- pass
-
@unittest.skip("DreamLiteMobile forces batch_size=1 internally.")
def test_inference_batch_consistent(self):
pass
diff --git a/tests/pipelines/easyanimate/test_easyanimate.py b/tests/pipelines/easyanimate/test_easyanimate.py
index 5cb2a232bb87..429cc4535241 100644
--- a/tests/pipelines/easyanimate/test_easyanimate.py
+++ b/tests/pipelines/easyanimate/test_easyanimate.py
@@ -60,8 +60,6 @@ class EasyAnimatePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
transformer = EasyAnimateTransformer3DModel(
diff --git a/tests/pipelines/flux2/test_pipeline_flux2.py b/tests/pipelines/flux2/test_pipeline_flux2.py
index 4404dbc51047..c065ff3ed191 100644
--- a/tests/pipelines/flux2/test_pipeline_flux2.py
+++ b/tests/pipelines/flux2/test_pipeline_flux2.py
@@ -29,8 +29,6 @@ class Flux2PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
test_layerwise_casting = True
test_group_offloading = True
- supports_dduf = False
-
def get_dummy_components(self, num_layers: int = 1, num_single_layers: int = 1):
torch.manual_seed(0)
transformer = Flux2Transformer2DModel(
diff --git a/tests/pipelines/flux2/test_pipeline_flux2_klein.py b/tests/pipelines/flux2/test_pipeline_flux2_klein.py
index 76528ef466df..6db70c6367ab 100644
--- a/tests/pipelines/flux2/test_pipeline_flux2_klein.py
+++ b/tests/pipelines/flux2/test_pipeline_flux2_klein.py
@@ -32,8 +32,6 @@ class Flux2KleinPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
test_layerwise_casting = True
test_group_offloading = True
- supports_dduf = False
-
def get_dummy_components(self, num_layers: int = 1, num_single_layers: int = 1):
torch.manual_seed(0)
transformer = Flux2Transformer2DModel(
diff --git a/tests/pipelines/flux2/test_pipeline_flux2_klein_inpaint.py b/tests/pipelines/flux2/test_pipeline_flux2_klein_inpaint.py
index 807dcdda13bf..665abf7ff93e 100644
--- a/tests/pipelines/flux2/test_pipeline_flux2_klein_inpaint.py
+++ b/tests/pipelines/flux2/test_pipeline_flux2_klein_inpaint.py
@@ -34,8 +34,6 @@ class Flux2KleinInpaintPipelineFastTests(PipelineTesterMixin, unittest.TestCase)
test_layerwise_casting = True
test_group_offloading = True
- supports_dduf = False
-
def get_dummy_components(self, num_layers: int = 1, num_single_layers: int = 1):
torch.manual_seed(0)
transformer = Flux2Transformer2DModel(
diff --git a/tests/pipelines/flux2/test_pipeline_flux2_klein_kv.py b/tests/pipelines/flux2/test_pipeline_flux2_klein_kv.py
index 046364f9269d..4f77579af6d6 100644
--- a/tests/pipelines/flux2/test_pipeline_flux2_klein_kv.py
+++ b/tests/pipelines/flux2/test_pipeline_flux2_klein_kv.py
@@ -25,8 +25,6 @@ class Flux2KleinKVPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
test_layerwise_casting = True
test_group_offloading = True
- supports_dduf = False
-
def get_dummy_components(self, num_layers: int = 1, num_single_layers: int = 1):
torch.manual_seed(0)
transformer = Flux2Transformer2DModel(
diff --git a/tests/pipelines/glm_image/test_glm_image.py b/tests/pipelines/glm_image/test_glm_image.py
index f17776554b50..412b2c92a5ea 100644
--- a/tests/pipelines/glm_image/test_glm_image.py
+++ b/tests/pipelines/glm_image/test_glm_image.py
@@ -53,7 +53,6 @@ class GlmImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_xformers_attention = False
test_attention_slicing = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/helios/test_helios.py b/tests/pipelines/helios/test_helios.py
index 93f80b31c5fd..5de50b350923 100644
--- a/tests/pipelines/helios/test_helios.py
+++ b/tests/pipelines/helios/test_helios.py
@@ -51,7 +51,6 @@ class HeliosPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/hidream_image/test_pipeline_hidream.py b/tests/pipelines/hidream_image/test_pipeline_hidream.py
index fb41ebd21edd..e98858f2e59a 100644
--- a/tests/pipelines/hidream_image/test_pipeline_hidream.py
+++ b/tests/pipelines/hidream_image/test_pipeline_hidream.py
@@ -51,7 +51,6 @@ class HiDreamImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
required_optional_params = PipelineTesterMixin.required_optional_params
test_xformers_attention = False
test_layerwise_casting = True
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/hunyuan_image_21/test_hunyuanimage.py b/tests/pipelines/hunyuan_image_21/test_hunyuanimage.py
index 7cb6b0913bf6..7d8a244da166 100644
--- a/tests/pipelines/hunyuan_image_21/test_hunyuanimage.py
+++ b/tests/pipelines/hunyuan_image_21/test_hunyuanimage.py
@@ -63,7 +63,6 @@ class HunyuanImagePipelineFastTests(
test_layerwise_casting = True
test_group_offloading = True
test_attention_slicing = False
- supports_dduf = False
def get_dummy_components(self, num_layers: int = 1, num_single_layers: int = 1, guidance_embeds: bool = False):
torch.manual_seed(0)
diff --git a/tests/pipelines/hunyuan_video/test_hunyuan_image2video.py b/tests/pipelines/hunyuan_video/test_hunyuan_image2video.py
index 3b0f64e84c34..7bd845f8baef 100644
--- a/tests/pipelines/hunyuan_video/test_hunyuan_image2video.py
+++ b/tests/pipelines/hunyuan_video/test_hunyuan_image2video.py
@@ -62,7 +62,6 @@ class HunyuanVideoImageToVideoPipelineFastTests(
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
# there is no xformers processor for Flux
test_xformers_attention = False
diff --git a/tests/pipelines/hunyuan_video/test_hunyuan_skyreels_image2video.py b/tests/pipelines/hunyuan_video/test_hunyuan_skyreels_image2video.py
index 0102bfc64c3d..dde3ba718ba5 100644
--- a/tests/pipelines/hunyuan_video/test_hunyuan_skyreels_image2video.py
+++ b/tests/pipelines/hunyuan_video/test_hunyuan_skyreels_image2video.py
@@ -52,7 +52,6 @@ class HunyuanSkyreelsImageToVideoPipelineFastTests(
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
# there is no xformers processor for Flux
test_xformers_attention = False
diff --git a/tests/pipelines/hunyuan_video/test_hunyuan_video_framepack.py b/tests/pipelines/hunyuan_video/test_hunyuan_video_framepack.py
index 23fb17403f30..3187aa88ddc4 100644
--- a/tests/pipelines/hunyuan_video/test_hunyuan_video_framepack.py
+++ b/tests/pipelines/hunyuan_video/test_hunyuan_video_framepack.py
@@ -70,7 +70,6 @@ class HunyuanVideoFramepackPipelineFastTests(
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/hunyuan_video1_5/test_hunyuan_1_5.py b/tests/pipelines/hunyuan_video1_5/test_hunyuan_1_5.py
index de20148105bf..cefe48d01d9a 100644
--- a/tests/pipelines/hunyuan_video1_5/test_hunyuan_1_5.py
+++ b/tests/pipelines/hunyuan_video1_5/test_hunyuan_1_5.py
@@ -63,7 +63,6 @@ class HunyuanVideo15PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = False
- supports_dduf = False
def get_dummy_components(self, num_layers: int = 1):
torch.manual_seed(0)
diff --git a/tests/pipelines/joyimage/test_joyimage_edit.py b/tests/pipelines/joyimage/test_joyimage_edit.py
index a2b550a5bb3a..80223865e706 100644
--- a/tests/pipelines/joyimage/test_joyimage_edit.py
+++ b/tests/pipelines/joyimage/test_joyimage_edit.py
@@ -51,7 +51,6 @@ class JoyImageEditPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/joyimage/test_joyimage_edit_plus.py b/tests/pipelines/joyimage/test_joyimage_edit_plus.py
index e41265d30128..fbc4b16acf6c 100644
--- a/tests/pipelines/joyimage/test_joyimage_edit_plus.py
+++ b/tests/pipelines/joyimage/test_joyimage_edit_plus.py
@@ -51,7 +51,6 @@ class JoyImageEditPlusPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/kandinsky/test_kandinsky.py b/tests/pipelines/kandinsky/test_kandinsky.py
index 100dc510e0fb..fadaf63c3498 100644
--- a/tests/pipelines/kandinsky/test_kandinsky.py
+++ b/tests/pipelines/kandinsky/test_kandinsky.py
@@ -207,8 +207,6 @@ class KandinskyPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummy = Dummies()
return dummy.get_dummy_components()
diff --git a/tests/pipelines/kandinsky/test_kandinsky_combined.py b/tests/pipelines/kandinsky/test_kandinsky_combined.py
index fd63c55817ac..8e2868d54849 100644
--- a/tests/pipelines/kandinsky/test_kandinsky_combined.py
+++ b/tests/pipelines/kandinsky/test_kandinsky_combined.py
@@ -52,8 +52,6 @@ class KandinskyPipelineCombinedFastTests(PipelineTesterMixin, unittest.TestCase)
]
test_xformers_attention = True
- supports_dduf = False
-
def get_dummy_components(self):
dummy = Dummies()
prior_dummy = PriorDummies()
@@ -171,8 +169,6 @@ class KandinskyPipelineImg2ImgCombinedFastTests(PipelineTesterMixin, unittest.Te
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummy = Img2ImgDummies()
prior_dummy = PriorDummies()
@@ -291,8 +287,6 @@ class KandinskyPipelineInpaintCombinedFastTests(PipelineTesterMixin, unittest.Te
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummy = InpaintDummies()
prior_dummy = PriorDummies()
diff --git a/tests/pipelines/kandinsky/test_kandinsky_img2img.py b/tests/pipelines/kandinsky/test_kandinsky_img2img.py
index df5034569b23..dab3d744e50e 100644
--- a/tests/pipelines/kandinsky/test_kandinsky_img2img.py
+++ b/tests/pipelines/kandinsky/test_kandinsky_img2img.py
@@ -229,8 +229,6 @@ class KandinskyImg2ImgPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummies = Dummies()
return dummies.get_dummy_components()
diff --git a/tests/pipelines/kandinsky/test_kandinsky_inpaint.py b/tests/pipelines/kandinsky/test_kandinsky_inpaint.py
index c28efcf520bc..bddaa7816d5c 100644
--- a/tests/pipelines/kandinsky/test_kandinsky_inpaint.py
+++ b/tests/pipelines/kandinsky/test_kandinsky_inpaint.py
@@ -223,8 +223,6 @@ class KandinskyInpaintPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummies = Dummies()
return dummies.get_dummy_components()
diff --git a/tests/pipelines/kandinsky/test_kandinsky_prior.py b/tests/pipelines/kandinsky/test_kandinsky_prior.py
index ffccfffd86e3..93ec28dd609f 100644
--- a/tests/pipelines/kandinsky/test_kandinsky_prior.py
+++ b/tests/pipelines/kandinsky/test_kandinsky_prior.py
@@ -184,8 +184,6 @@ class KandinskyPriorPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummy = Dummies()
return dummy.get_dummy_components()
diff --git a/tests/pipelines/kandinsky2_2/test_kandinsky_combined.py b/tests/pipelines/kandinsky2_2/test_kandinsky_combined.py
index 7047fe2212bf..56a6bef4efd2 100644
--- a/tests/pipelines/kandinsky2_2/test_kandinsky_combined.py
+++ b/tests/pipelines/kandinsky2_2/test_kandinsky_combined.py
@@ -55,8 +55,6 @@ class KandinskyV22PipelineCombinedFastTests(PipelineTesterMixin, unittest.TestCa
test_xformers_attention = True
callback_cfg_params = ["image_embds"]
- supports_dduf = False
-
def get_dummy_components(self):
dummy = Dummies()
prior_dummy = PriorDummies()
@@ -182,8 +180,6 @@ class KandinskyV22PipelineImg2ImgCombinedFastTests(PipelineTesterMixin, unittest
test_xformers_attention = False
callback_cfg_params = ["image_embds"]
- supports_dduf = False
-
def get_dummy_components(self):
dummy = Img2ImgDummies()
prior_dummy = PriorDummies()
@@ -311,8 +307,6 @@ class KandinskyV22PipelineInpaintCombinedFastTests(PipelineTesterMixin, unittest
]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummy = InpaintDummies()
prior_dummy = PriorDummies()
diff --git a/tests/pipelines/kandinsky2_2/test_kandinsky_inpaint.py b/tests/pipelines/kandinsky2_2/test_kandinsky_inpaint.py
index 5d19940ef6b3..154c1910f818 100644
--- a/tests/pipelines/kandinsky2_2/test_kandinsky_inpaint.py
+++ b/tests/pipelines/kandinsky2_2/test_kandinsky_inpaint.py
@@ -248,9 +248,6 @@ def test_inference_batch_single_identical(self):
def test_float16_inference(self):
super().test_float16_inference(expected_max_diff=5e-1)
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-3, rtol=1e-3)
-
@is_flaky()
def test_model_cpu_offload_forward_pass(self):
super().test_inference_batch_single_identical(expected_max_diff=8e-4)
diff --git a/tests/pipelines/kandinsky2_2/test_kandinsky_prior.py b/tests/pipelines/kandinsky2_2/test_kandinsky_prior.py
index 8775a413961e..435ac3f0cd56 100644
--- a/tests/pipelines/kandinsky2_2/test_kandinsky_prior.py
+++ b/tests/pipelines/kandinsky2_2/test_kandinsky_prior.py
@@ -186,8 +186,6 @@ class KandinskyV22PriorPipelineFastTests(PipelineTesterMixin, unittest.TestCase)
callback_cfg_params = ["prompt_embeds", "text_encoder_hidden_states", "text_mask"]
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
dummies = Dummies()
return dummies.get_dummy_components()
diff --git a/tests/pipelines/kandinsky2_2/test_kandinsky_prior_emb2emb.py b/tests/pipelines/kandinsky2_2/test_kandinsky_prior_emb2emb.py
index 989676c52b6d..805493b2fa9a 100644
--- a/tests/pipelines/kandinsky2_2/test_kandinsky_prior_emb2emb.py
+++ b/tests/pipelines/kandinsky2_2/test_kandinsky_prior_emb2emb.py
@@ -59,8 +59,6 @@ class KandinskyV22PriorEmb2EmbPipelineFastTests(PipelineTesterMixin, unittest.Te
]
test_xformers_attention = False
- supports_dduf = False
-
@property
def text_embedder_hidden_size(self):
return 32
diff --git a/tests/pipelines/kandinsky3/test_kandinsky3_img2img.py b/tests/pipelines/kandinsky3/test_kandinsky3_img2img.py
index b97aabe8eeaf..d9f02326b1b5 100644
--- a/tests/pipelines/kandinsky3/test_kandinsky3_img2img.py
+++ b/tests/pipelines/kandinsky3/test_kandinsky3_img2img.py
@@ -187,9 +187,6 @@ def test_float16_inference(self):
def test_inference_batch_single_identical(self):
super().test_inference_batch_single_identical(expected_max_diff=1e-2)
- def test_save_load_dduf(self):
- super().test_save_load_dduf(atol=1e-3, rtol=1e-3)
-
def test_pipeline_with_accelerator_device_map(self):
super().test_pipeline_with_accelerator_device_map(expected_max_difference=5e-3)
diff --git a/tests/pipelines/kandinsky5/test_kandinsky5.py b/tests/pipelines/kandinsky5/test_kandinsky5.py
index 4101e7798dea..b1d8062fcd79 100644
--- a/tests/pipelines/kandinsky5/test_kandinsky5.py
+++ b/tests/pipelines/kandinsky5/test_kandinsky5.py
@@ -58,7 +58,6 @@ class Kandinsky5T2VPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
}
test_xformers_attention = False
supports_optional_components = True
- supports_dduf = False
test_attention_slicing = False
def get_dummy_components(self):
diff --git a/tests/pipelines/kandinsky5/test_kandinsky5_i2i.py b/tests/pipelines/kandinsky5/test_kandinsky5_i2i.py
index dc832990836f..0ae9f1716c7b 100644
--- a/tests/pipelines/kandinsky5/test_kandinsky5_i2i.py
+++ b/tests/pipelines/kandinsky5/test_kandinsky5_i2i.py
@@ -56,7 +56,6 @@ class Kandinsky5I2IPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
}
test_xformers_attention = False
supports_optional_components = True
- supports_dduf = False
test_attention_slicing = False
def get_dummy_components(self):
diff --git a/tests/pipelines/kandinsky5/test_kandinsky5_i2v.py b/tests/pipelines/kandinsky5/test_kandinsky5_i2v.py
index 483c7b66e07b..b18fda5876ee 100644
--- a/tests/pipelines/kandinsky5/test_kandinsky5_i2v.py
+++ b/tests/pipelines/kandinsky5/test_kandinsky5_i2v.py
@@ -56,7 +56,6 @@ class Kandinsky5I2VPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
}
test_xformers_attention = False
supports_optional_components = True
- supports_dduf = False
test_attention_slicing = False
def get_dummy_components(self):
diff --git a/tests/pipelines/kandinsky5/test_kandinsky5_t2i.py b/tests/pipelines/kandinsky5/test_kandinsky5_t2i.py
index e961103906a2..e2a296cc80df 100644
--- a/tests/pipelines/kandinsky5/test_kandinsky5_t2i.py
+++ b/tests/pipelines/kandinsky5/test_kandinsky5_t2i.py
@@ -55,7 +55,6 @@ class Kandinsky5T2IPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
}
test_xformers_attention = False
supports_optional_components = True
- supports_dduf = False
test_attention_slicing = False
def get_dummy_components(self):
diff --git a/tests/pipelines/kolors/test_kolors.py b/tests/pipelines/kolors/test_kolors.py
index 7174e2a87d1f..adfca799de18 100644
--- a/tests/pipelines/kolors/test_kolors.py
+++ b/tests/pipelines/kolors/test_kolors.py
@@ -47,7 +47,6 @@ class KolorsPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
image_latents_params = TEXT_TO_IMAGE_IMAGE_PARAMS
callback_cfg_params = TEXT_TO_IMAGE_CALLBACK_CFG_PARAMS.union({"add_text_embeds", "add_time_ids"})
- supports_dduf = False
test_layerwise_casting = True
def get_dummy_components(self, time_cond_proj_dim=None):
diff --git a/tests/pipelines/kolors/test_kolors_img2img.py b/tests/pipelines/kolors/test_kolors_img2img.py
index f0aec6c9af62..04897981e388 100644
--- a/tests/pipelines/kolors/test_kolors_img2img.py
+++ b/tests/pipelines/kolors/test_kolors_img2img.py
@@ -51,8 +51,6 @@ class KolorsPipelineImg2ImgFastTests(PipelineTesterMixin, unittest.TestCase):
image_latents_params = TEXT_TO_IMAGE_IMAGE_PARAMS
callback_cfg_params = TEXT_TO_IMAGE_CALLBACK_CFG_PARAMS.union({"add_text_embeds", "add_time_ids"})
- supports_dduf = False
-
# Copied from tests.pipelines.kolors.test_kolors.KolorsPipelineFastTests.get_dummy_components
def get_dummy_components(self, time_cond_proj_dim=None):
torch.manual_seed(0)
diff --git a/tests/pipelines/krea2/test_krea2.py b/tests/pipelines/krea2/test_krea2.py
index 4f09658fe0cf..57b50a49f8d8 100644
--- a/tests/pipelines/krea2/test_krea2.py
+++ b/tests/pipelines/krea2/test_krea2.py
@@ -49,7 +49,6 @@ class Krea2PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/longcat_audio_dit/test_longcat_audio_dit.py b/tests/pipelines/longcat_audio_dit/test_longcat_audio_dit.py
index c4e1aeeda67c..604eb9f96659 100644
--- a/tests/pipelines/longcat_audio_dit/test_longcat_audio_dit.py
+++ b/tests/pipelines/longcat_audio_dit/test_longcat_audio_dit.py
@@ -44,7 +44,6 @@ class LongCatAudioDiTPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
required_optional_params = PipelineTesterMixin.required_optional_params - {"num_images_per_prompt"}
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/ltx/test_ltx_latent_upsample.py b/tests/pipelines/ltx/test_ltx_latent_upsample.py
index 0044a85c644b..1b40bab4e2e7 100644
--- a/tests/pipelines/ltx/test_ltx_latent_upsample.py
+++ b/tests/pipelines/ltx/test_ltx_latent_upsample.py
@@ -33,7 +33,6 @@ class LTXLatentUpsamplePipelineFastTests(PipelineTesterMixin, unittest.TestCase)
batch_params = {"video", "generator"}
required_optional_params = frozenset(["generator", "latents", "return_dict"])
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/ltx2/test_ltx2.py b/tests/pipelines/ltx2/test_ltx2.py
index 0941ae550989..23d88e948ddc 100644
--- a/tests/pipelines/ltx2/test_ltx2.py
+++ b/tests/pipelines/ltx2/test_ltx2.py
@@ -55,7 +55,6 @@ class LTX2PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
base_text_encoder_ckpt_id = "hf-internal-testing/tiny-gemma3"
diff --git a/tests/pipelines/ltx2/test_ltx2_condition.py b/tests/pipelines/ltx2/test_ltx2_condition.py
index 155a420c9904..b99b82c8df8e 100644
--- a/tests/pipelines/ltx2/test_ltx2_condition.py
+++ b/tests/pipelines/ltx2/test_ltx2_condition.py
@@ -56,7 +56,6 @@ class LTX2ConditionPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
base_text_encoder_ckpt_id = "hf-internal-testing/tiny-gemma3"
diff --git a/tests/pipelines/ltx2/test_ltx2_hdr.py b/tests/pipelines/ltx2/test_ltx2_hdr.py
index f92f2535f34e..19079d4a0a48 100644
--- a/tests/pipelines/ltx2/test_ltx2_hdr.py
+++ b/tests/pipelines/ltx2/test_ltx2_hdr.py
@@ -58,7 +58,6 @@ class LTX2HDRPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
base_text_encoder_ckpt_id = "hf-internal-testing/tiny-gemma3"
diff --git a/tests/pipelines/ltx2/test_ltx2_image2video.py b/tests/pipelines/ltx2/test_ltx2_image2video.py
index a0e4cb803084..7c226a349ffd 100644
--- a/tests/pipelines/ltx2/test_ltx2_image2video.py
+++ b/tests/pipelines/ltx2/test_ltx2_image2video.py
@@ -55,7 +55,6 @@ class LTX2ImageToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
base_text_encoder_ckpt_id = "hf-internal-testing/tiny-gemma3"
diff --git a/tests/pipelines/ltx2/test_ltx2_in_context.py b/tests/pipelines/ltx2/test_ltx2_in_context.py
index ca52f613982a..4238b28b6aa6 100644
--- a/tests/pipelines/ltx2/test_ltx2_in_context.py
+++ b/tests/pipelines/ltx2/test_ltx2_in_context.py
@@ -56,7 +56,6 @@ class LTX2InContextPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_attention_slicing = False
test_xformers_attention = False
- supports_dduf = False
base_text_encoder_ckpt_id = "hf-internal-testing/tiny-gemma3"
diff --git a/tests/pipelines/lumina/test_lumina_nextdit.py b/tests/pipelines/lumina/test_lumina_nextdit.py
index d2c114825d34..3f1ade21f39f 100644
--- a/tests/pipelines/lumina/test_lumina_nextdit.py
+++ b/tests/pipelines/lumina/test_lumina_nextdit.py
@@ -37,7 +37,6 @@ class LuminaPipelineFastTests(unittest.TestCase, PipelineTesterMixin):
)
batch_params = frozenset(["prompt", "negative_prompt"])
- supports_dduf = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/lumina2/test_pipeline_lumina2.py b/tests/pipelines/lumina2/test_pipeline_lumina2.py
index d6d21b72a4ce..abb607635f49 100644
--- a/tests/pipelines/lumina2/test_pipeline_lumina2.py
+++ b/tests/pipelines/lumina2/test_pipeline_lumina2.py
@@ -38,7 +38,6 @@ class Lumina2PipelineFastTests(unittest.TestCase, PipelineTesterMixin):
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
diff --git a/tests/pipelines/motif_video/test_motif_video.py b/tests/pipelines/motif_video/test_motif_video.py
index 7bd4332ee29f..fcdeb5dbe8ea 100644
--- a/tests/pipelines/motif_video/test_motif_video.py
+++ b/tests/pipelines/motif_video/test_motif_video.py
@@ -51,7 +51,6 @@ class MotifVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/motif_video/test_motif_video_image2video.py b/tests/pipelines/motif_video/test_motif_video_image2video.py
index 91e5ca88988e..25db174d894d 100644
--- a/tests/pipelines/motif_video/test_motif_video_image2video.py
+++ b/tests/pipelines/motif_video/test_motif_video_image2video.py
@@ -59,7 +59,6 @@ class MotifVideoImage2VideoPipelineFastTests(PipelineTesterMixin, unittest.TestC
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/nucleusmoe_image/test_nucleusmoe_image.py b/tests/pipelines/nucleusmoe_image/test_nucleusmoe_image.py
index 5e2f841ff8c4..a3beca2fca5c 100644
--- a/tests/pipelines/nucleusmoe_image/test_nucleusmoe_image.py
+++ b/tests/pipelines/nucleusmoe_image/test_nucleusmoe_image.py
@@ -51,7 +51,6 @@ class NucleusMoEImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/ovis_image/test_ovis_image.py b/tests/pipelines/ovis_image/test_ovis_image.py
index 6570d180454e..be5fee50bb1b 100644
--- a/tests/pipelines/ovis_image/test_ovis_image.py
+++ b/tests/pipelines/ovis_image/test_ovis_image.py
@@ -47,7 +47,6 @@ class OvisImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/pag/test_pag_kolors.py b/tests/pipelines/pag/test_pag_kolors.py
index a2cd926cfd56..dac3f02ca5ef 100644
--- a/tests/pipelines/pag/test_pag_kolors.py
+++ b/tests/pipelines/pag/test_pag_kolors.py
@@ -56,8 +56,6 @@ class KolorsPAGPipelineFastTests(
image_latents_params = TEXT_TO_IMAGE_IMAGE_PARAMS
callback_cfg_params = TEXT_TO_IMAGE_CALLBACK_CFG_PARAMS.union({"add_text_embeds", "add_time_ids"})
- supports_dduf = False
-
# Copied from tests.pipelines.kolors.test_kolors.KolorsPipelineFastTests.get_dummy_components
def get_dummy_components(self, time_cond_proj_dim=None):
torch.manual_seed(0)
diff --git a/tests/pipelines/pag/test_pag_sana.py b/tests/pipelines/pag/test_pag_sana.py
index 366267dc092b..d5c5d0824af7 100644
--- a/tests/pipelines/pag/test_pag_sana.py
+++ b/tests/pipelines/pag/test_pag_sana.py
@@ -53,8 +53,6 @@ class SanaPAGPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
test_xformers_attention = False
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
transformer = SanaTransformer2DModel(
diff --git a/tests/pipelines/pag/test_pag_sdxl_img2img.py b/tests/pipelines/pag/test_pag_sdxl_img2img.py
index 821462d90d65..3157e3a08e8d 100644
--- a/tests/pipelines/pag/test_pag_sdxl_img2img.py
+++ b/tests/pipelines/pag/test_pag_sdxl_img2img.py
@@ -81,8 +81,6 @@ class StableDiffusionXLPAGImg2ImgPipelineFastTests(
{"add_text_embeds", "add_time_ids", "add_neg_time_ids"}
)
- supports_dduf = False
-
# based on tests.pipelines.stable_diffusion_xl.test_stable_diffusion_xl_img2img_pipeline.get_dummy_components
def get_dummy_components(
self, skip_first_text_encoder=False, time_cond_proj_dim=None, requires_aesthetics_score=False
diff --git a/tests/pipelines/pag/test_pag_sdxl_inpaint.py b/tests/pipelines/pag/test_pag_sdxl_inpaint.py
index 0db295c44f71..628da17c8dc3 100644
--- a/tests/pipelines/pag/test_pag_sdxl_inpaint.py
+++ b/tests/pipelines/pag/test_pag_sdxl_inpaint.py
@@ -81,8 +81,6 @@ class StableDiffusionXLPAGInpaintPipelineFastTests(
{"add_text_embeds", "add_time_ids", "mask", "masked_image_latents"}
)
- supports_dduf = False
-
# based on tests.pipelines.stable_diffusion_xl.test_stable_diffusion_xl_inpaint.StableDiffusionXLInpaintPipelineFastTests.get_dummy_components
def get_dummy_components(
self, skip_first_text_encoder=False, time_cond_proj_dim=None, requires_aesthetics_score=False
diff --git a/tests/pipelines/prx/test_pipeline_prx.py b/tests/pipelines/prx/test_pipeline_prx.py
index 5cd46deadbb5..a7f05a61d52e 100644
--- a/tests/pipelines/prx/test_pipeline_prx.py
+++ b/tests/pipelines/prx/test_pipeline_prx.py
@@ -257,10 +257,6 @@ def test_inference_with_autoencoder_dc(self):
max_diff = np.abs(generated_image - expected_image).max()
self.assertLessEqual(max_diff, 1e10)
- @unittest.skip("Custom T5GemmaEncoder not compatible with transformers v5.")
- def test_save_load_dduf(self):
- pass
-
@unittest.skip("Custom T5GemmaEncoder not compatible with transformers v5.")
def test_loading_with_variants(self):
pass
diff --git a/tests/pipelines/qwenimage/test_qwenimage.py b/tests/pipelines/qwenimage/test_qwenimage.py
index 80042d3797af..4fc76ca624b6 100644
--- a/tests/pipelines/qwenimage/test_qwenimage.py
+++ b/tests/pipelines/qwenimage/test_qwenimage.py
@@ -49,7 +49,6 @@ class QwenImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/qwenimage/test_qwenimage_controlnet.py b/tests/pipelines/qwenimage/test_qwenimage_controlnet.py
index 2953c3d10e2b..9bd71a9dc6c3 100644
--- a/tests/pipelines/qwenimage/test_qwenimage_controlnet.py
+++ b/tests/pipelines/qwenimage/test_qwenimage_controlnet.py
@@ -57,7 +57,6 @@ class QwenControlNetPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/qwenimage/test_qwenimage_edit.py b/tests/pipelines/qwenimage/test_qwenimage_edit.py
index b3e093b9bdbd..91ee4e3225b1 100644
--- a/tests/pipelines/qwenimage/test_qwenimage_edit.py
+++ b/tests/pipelines/qwenimage/test_qwenimage_edit.py
@@ -51,7 +51,6 @@ class QwenImageEditPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/qwenimage/test_qwenimage_edit_plus.py b/tests/pipelines/qwenimage/test_qwenimage_edit_plus.py
index f240c9e02fc1..1378b784f96e 100644
--- a/tests/pipelines/qwenimage/test_qwenimage_edit_plus.py
+++ b/tests/pipelines/qwenimage/test_qwenimage_edit_plus.py
@@ -51,7 +51,6 @@ class QwenImageEditPlusPipelineFastTests(PipelineTesterMixin, unittest.TestCase)
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/qwenimage/test_qwenimage_img2img.py b/tests/pipelines/qwenimage/test_qwenimage_img2img.py
index 6ac4286acbe3..de58d1cc1ae1 100644
--- a/tests/pipelines/qwenimage/test_qwenimage_img2img.py
+++ b/tests/pipelines/qwenimage/test_qwenimage_img2img.py
@@ -39,7 +39,6 @@ class QwenImageImg2ImgPipelineFastTests(unittest.TestCase, PipelineTesterMixin):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_attention_slicing = True
test_layerwise_casting = True
diff --git a/tests/pipelines/qwenimage/test_qwenimage_inpaint.py b/tests/pipelines/qwenimage/test_qwenimage_inpaint.py
index 07f2729fec06..c2167b9da2e1 100644
--- a/tests/pipelines/qwenimage/test_qwenimage_inpaint.py
+++ b/tests/pipelines/qwenimage/test_qwenimage_inpaint.py
@@ -50,7 +50,6 @@ class QwenImageInpaintPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/sana_video/test_sana_video.py b/tests/pipelines/sana_video/test_sana_video.py
index dd897a848be8..87f40356217b 100644
--- a/tests/pipelines/sana_video/test_sana_video.py
+++ b/tests/pipelines/sana_video/test_sana_video.py
@@ -53,7 +53,6 @@ class SanaVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/sana_video/test_sana_video_i2v.py b/tests/pipelines/sana_video/test_sana_video_i2v.py
index 2232968eb2ca..3ce663e19541 100644
--- a/tests/pipelines/sana_video/test_sana_video_i2v.py
+++ b/tests/pipelines/sana_video/test_sana_video_i2v.py
@@ -59,7 +59,6 @@ class SanaImageToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/shap_e/test_shap_e_img2img.py b/tests/pipelines/shap_e/test_shap_e_img2img.py
index 406be60da0b4..76b82e4927e6 100644
--- a/tests/pipelines/shap_e/test_shap_e_img2img.py
+++ b/tests/pipelines/shap_e/test_shap_e_img2img.py
@@ -51,8 +51,6 @@ class ShapEImg2ImgPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
test_xformers_attention = False
- supports_dduf = False
-
@property
def text_embedder_hidden_size(self):
return 16
diff --git a/tests/pipelines/skyreels_v2/test_skyreels_v2.py b/tests/pipelines/skyreels_v2/test_skyreels_v2.py
index b6adb3cc1f2c..9f94e6e9650d 100644
--- a/tests/pipelines/skyreels_v2/test_skyreels_v2.py
+++ b/tests/pipelines/skyreels_v2/test_skyreels_v2.py
@@ -45,7 +45,6 @@ class SkyReelsV2PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/skyreels_v2/test_skyreels_v2_df.py b/tests/pipelines/skyreels_v2/test_skyreels_v2_df.py
index 213d085a6dca..ac4be8e36393 100644
--- a/tests/pipelines/skyreels_v2/test_skyreels_v2_df.py
+++ b/tests/pipelines/skyreels_v2/test_skyreels_v2_df.py
@@ -50,7 +50,6 @@ class SkyReelsV2DiffusionForcingPipelineFastTests(PipelineTesterMixin, unittest.
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/skyreels_v2/test_skyreels_v2_df_image_to_video.py b/tests/pipelines/skyreels_v2/test_skyreels_v2_df_image_to_video.py
index 02daa61395c3..ca473994a260 100644
--- a/tests/pipelines/skyreels_v2/test_skyreels_v2_df_image_to_video.py
+++ b/tests/pipelines/skyreels_v2/test_skyreels_v2_df_image_to_video.py
@@ -51,7 +51,6 @@ class SkyReelsV2DiffusionForcingImageToVideoPipelineFastTests(PipelineTesterMixi
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/skyreels_v2/test_skyreels_v2_df_video_to_video.py b/tests/pipelines/skyreels_v2/test_skyreels_v2_df_video_to_video.py
index cbfb86f7696e..175438171841 100644
--- a/tests/pipelines/skyreels_v2/test_skyreels_v2_df_video_to_video.py
+++ b/tests/pipelines/skyreels_v2/test_skyreels_v2_df_video_to_video.py
@@ -51,7 +51,6 @@ class SkyReelsV2DiffusionForcingVideoToVideoPipelineFastTests(PipelineTesterMixi
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/skyreels_v2/test_skyreels_v2_image_to_video.py b/tests/pipelines/skyreels_v2/test_skyreels_v2_image_to_video.py
index 784f701a29d2..7cf2833277fa 100644
--- a/tests/pipelines/skyreels_v2/test_skyreels_v2_image_to_video.py
+++ b/tests/pipelines/skyreels_v2/test_skyreels_v2_image_to_video.py
@@ -57,7 +57,6 @@ class SkyReelsV2ImageToVideoPipelineFastTests(PipelineTesterMixin, unittest.Test
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/stable_audio/test_stable_audio.py b/tests/pipelines/stable_audio/test_stable_audio.py
index 606de82324ca..8eef8689be20 100644
--- a/tests/pipelines/stable_audio/test_stable_audio.py
+++ b/tests/pipelines/stable_audio/test_stable_audio.py
@@ -74,7 +74,6 @@ class StableAudioPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
)
# There is not xformers version of the StableAudioPipeline custom attention processor
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/stable_diffusion_2/test_stable_diffusion_depth.py b/tests/pipelines/stable_diffusion_2/test_stable_diffusion_depth.py
index dbd62836cc05..83585ee77443 100644
--- a/tests/pipelines/stable_diffusion_2/test_stable_diffusion_depth.py
+++ b/tests/pipelines/stable_diffusion_2/test_stable_diffusion_depth.py
@@ -77,8 +77,6 @@ class StableDiffusionDepth2ImgPipelineFastTests(
image_latents_params = TEXT_TO_IMAGE_IMAGE_PARAMS
callback_cfg_params = TEXT_TO_IMAGE_CALLBACK_CFG_PARAMS.union({"depth_mask"})
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/stable_diffusion_adapter/test_stable_diffusion_adapter.py b/tests/pipelines/stable_diffusion_adapter/test_stable_diffusion_adapter.py
index d436758a965d..6f4346c0520b 100644
--- a/tests/pipelines/stable_diffusion_adapter/test_stable_diffusion_adapter.py
+++ b/tests/pipelines/stable_diffusion_adapter/test_stable_diffusion_adapter.py
@@ -401,8 +401,6 @@ def test_stable_diffusion_adapter_default_case(self):
class StableDiffusionMultiAdapterPipelineFastTests(AdapterTests, PipelineTesterMixin, unittest.TestCase):
- supports_dduf = False
-
def get_dummy_components(self, time_cond_proj_dim=None):
return super().get_dummy_components("multi_adapter", time_cond_proj_dim=time_cond_proj_dim)
diff --git a/tests/pipelines/stable_diffusion_image_variation/test_stable_diffusion_image_variation.py b/tests/pipelines/stable_diffusion_image_variation/test_stable_diffusion_image_variation.py
index 7bc9269d02f2..06ee67152cec 100644
--- a/tests/pipelines/stable_diffusion_image_variation/test_stable_diffusion_image_variation.py
+++ b/tests/pipelines/stable_diffusion_image_variation/test_stable_diffusion_image_variation.py
@@ -62,8 +62,6 @@ class StableDiffusionImageVariationPipelineFastTests(
# TO-DO: update image_params once pipeline is refactored with VaeImageProcessor.preprocess
image_latents_params = frozenset([])
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_adapter.py b/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_adapter.py
index 132cd9c85842..2ab274109a3f 100644
--- a/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_adapter.py
+++ b/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_adapter.py
@@ -420,8 +420,6 @@ def test_adapter_sdxl_lcm_custom_timesteps(self):
class StableDiffusionXLMultiAdapterPipelineFastTests(
StableDiffusionXLAdapterPipelineFastTests, PipelineTesterMixin, unittest.TestCase
):
- supports_dduf = False
-
def get_dummy_components(self, time_cond_proj_dim=None):
return super().get_dummy_components("multi_adapter", time_cond_proj_dim=time_cond_proj_dim)
diff --git a/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_img2img.py b/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_img2img.py
index 9d2a6f0714c2..92053c26b4dc 100644
--- a/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_img2img.py
+++ b/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_img2img.py
@@ -77,8 +77,6 @@ class StableDiffusionXLImg2ImgPipelineFastTests(
{"add_text_embeds", "add_time_ids", "add_neg_time_ids"}
)
- supports_dduf = False
-
def get_dummy_components(self, skip_first_text_encoder=False, time_cond_proj_dim=None):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_inpaint.py b/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_inpaint.py
index 2cda0f52d749..93cdb3d72313 100644
--- a/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_inpaint.py
+++ b/tests/pipelines/stable_diffusion_xl/test_stable_diffusion_xl_inpaint.py
@@ -78,8 +78,6 @@ class StableDiffusionXLInpaintPipelineFastTests(
}
)
- supports_dduf = False
-
def get_dummy_components(self, skip_first_text_encoder=False, time_cond_proj_dim=None):
torch.manual_seed(0)
unet = UNet2DConditionModel(
diff --git a/tests/pipelines/stable_unclip/test_stable_unclip_img2img.py b/tests/pipelines/stable_unclip/test_stable_unclip_img2img.py
index 261c1785b45e..3c12618c0ca7 100644
--- a/tests/pipelines/stable_unclip/test_stable_unclip_img2img.py
+++ b/tests/pipelines/stable_unclip/test_stable_unclip_img2img.py
@@ -55,8 +55,6 @@ class StableUnCLIPImg2ImgPipelineFastTests(
) # TO-DO: update image_params once pipeline is refactored with VaeImageProcessor.preprocess
image_latents_params = frozenset([])
- supports_dduf = False
-
def get_dummy_components(self):
embedder_hidden_size = 32
embedder_projection_dim = embedder_hidden_size
diff --git a/tests/pipelines/stable_video_diffusion/test_stable_video_diffusion.py b/tests/pipelines/stable_video_diffusion/test_stable_video_diffusion.py
index 52595f7a8cd9..70402479753e 100644
--- a/tests/pipelines/stable_video_diffusion/test_stable_video_diffusion.py
+++ b/tests/pipelines/stable_video_diffusion/test_stable_video_diffusion.py
@@ -59,8 +59,6 @@ class StableVideoDiffusionPipelineFastTests(PipelineTesterMixin, unittest.TestCa
]
)
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
unet = UNetSpatioTemporalConditionModel(
diff --git a/tests/pipelines/test_pipelines.py b/tests/pipelines/test_pipelines.py
index ddefe75dbf78..8aa874e7aa6d 100644
--- a/tests/pipelines/test_pipelines.py
+++ b/tests/pipelines/test_pipelines.py
@@ -1054,18 +1054,6 @@ def test_download_ignore_files(self):
assert not any(f in ["vae/diffusion_pytorch_model.bin", "text_encoder/config.json"] for f in files)
assert len(files) == 14
- def test_download_dduf_with_custom_pipeline_raises_error(self):
- with self.assertRaises(NotImplementedError):
- _ = DiffusionPipeline.download(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", custom_pipeline="my_pipeline"
- )
-
- def test_download_dduf_with_connected_pipeline_raises_error(self):
- with self.assertRaises(NotImplementedError):
- _ = DiffusionPipeline.download(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", load_connected_pipeline=True
- )
-
def test_get_pipeline_class_from_flax(self):
flax_config = {"_class_name": "FlaxStableDiffusionPipeline"}
config = {"_class_name": "StableDiffusionPipeline"}
@@ -2013,54 +2001,15 @@ def test_pipe_same_device_id_offload(self):
sd.maybe_free_model_hooks()
assert sd._offload_gpu_id == 5
- @parameterized.expand([torch.float32, torch.float16])
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_load_dduf_from_hub(self, dtype):
- with tempfile.TemporaryDirectory() as tmpdir:
- pipe = DiffusionPipeline.from_pretrained(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", cache_dir=tmpdir, torch_dtype=dtype
- ).to(torch_device)
- out_1 = pipe(prompt="dog", num_inference_steps=5, generator=torch.manual_seed(0), output_type="np").images
-
- pipe.save_pretrained(tmpdir)
- loaded_pipe = DiffusionPipeline.from_pretrained(tmpdir, torch_dtype=dtype).to(torch_device)
-
- out_2 = loaded_pipe(
- prompt="dog", num_inference_steps=5, generator=torch.manual_seed(0), output_type="np"
- ).images
-
- self.assertTrue(np.allclose(out_1, out_2, atol=1e-4, rtol=1e-4))
-
@require_hf_hub_version_greater("0.26.5")
@require_transformers_version_greater("4.47.1")
- def test_load_dduf_from_hub_local_files_only(self):
+ def test_dduf_file_is_deprecated(self):
with tempfile.TemporaryDirectory() as tmpdir:
- pipe = DiffusionPipeline.from_pretrained(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", cache_dir=tmpdir
- ).to(torch_device)
- out_1 = pipe(prompt="dog", num_inference_steps=5, generator=torch.manual_seed(0), output_type="np").images
-
- local_files_pipe = DiffusionPipeline.from_pretrained(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", cache_dir=tmpdir, local_files_only=True
- ).to(torch_device)
- out_2 = local_files_pipe(
- prompt="dog", num_inference_steps=5, generator=torch.manual_seed(0), output_type="np"
- ).images
-
- self.assertTrue(np.allclose(out_1, out_2, atol=1e-4, rtol=1e-4))
-
- def test_dduf_raises_error_with_custom_pipeline(self):
- with self.assertRaises(NotImplementedError):
- _ = DiffusionPipeline.from_pretrained(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", custom_pipeline="my_pipeline"
- )
-
- def test_dduf_raises_error_with_connected_pipeline(self):
- with self.assertRaises(NotImplementedError):
- _ = DiffusionPipeline.from_pretrained(
- "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", load_connected_pipeline=True
- )
+ with self.assertWarns(FutureWarning) as warning_ctx:
+ _ = DiffusionPipeline.from_pretrained(
+ "DDUF/tiny-flux-dev-pipe-dduf", dduf_file="fluxpipeline.dduf", cache_dir=tmpdir
+ )
+ assert "dduf_file" in str(warning_ctx.warning)
@pytest.mark.xfail(condition=is_transformers_version(">", "4.56.2"), reason="Some import error", strict=False)
def test_wrong_model(self):
@@ -2073,27 +2022,6 @@ def test_wrong_model(self):
assert "is of type" in str(error_context.exception)
assert "but should be" in str(error_context.exception)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_dduf_load_sharded_checkpoint_diffusion_model(self):
- with tempfile.TemporaryDirectory() as tmpdir:
- pipe = DiffusionPipeline.from_pretrained(
- "hf-internal-testing/tiny-flux-dev-pipe-sharded-checkpoint-DDUF",
- dduf_file="tiny-flux-dev-pipe-sharded-checkpoint.dduf",
- cache_dir=tmpdir,
- ).to(torch_device)
-
- out_1 = pipe(prompt="dog", num_inference_steps=5, generator=torch.manual_seed(0), output_type="np").images
-
- pipe.save_pretrained(tmpdir)
- loaded_pipe = DiffusionPipeline.from_pretrained(tmpdir).to(torch_device)
-
- out_2 = loaded_pipe(
- prompt="dog", num_inference_steps=5, generator=torch.manual_seed(0), output_type="np"
- ).images
-
- self.assertTrue(np.allclose(out_1, out_2, atol=1e-4, rtol=1e-4))
-
@slow
@require_torch_accelerator
diff --git a/tests/pipelines/test_pipelines_common.py b/tests/pipelines/test_pipelines_common.py
index 07aca0156cee..4c8a9c6ddc47 100644
--- a/tests/pipelines/test_pipelines_common.py
+++ b/tests/pipelines/test_pipelines_common.py
@@ -70,10 +70,8 @@
numpy_cosine_similarity_distance,
require_accelerate_version_greater,
require_accelerator,
- require_hf_hub_version_greater,
require_torch,
require_torch_accelerator,
- require_transformers_version_greater,
skip_mps,
torch_device,
)
@@ -1064,7 +1062,6 @@ class PipelineTesterMixin:
test_xformers_attention = True
test_layerwise_casting = False
test_group_offloading = False
- supports_dduf = True
def get_generator(self, seed):
device = torch_device if torch_device != "mps" else "cpu"
@@ -2256,42 +2253,6 @@ def test_StableDiffusionMixin_component(self):
)
)
- @require_hf_hub_version_greater("0.26.5")
- @require_transformers_version_greater("4.47.1")
- def test_save_load_dduf(self, atol=1e-4, rtol=1e-4):
- if not self.supports_dduf:
- return
-
- from huggingface_hub import export_folder_as_dduf
-
- components = self.get_dummy_components()
- for key in components:
- if "text_encoder" in key and hasattr(components[key], "eval"):
- components[key].eval()
- pipe = self.pipeline_class(**components)
- pipe = pipe.to(torch_device)
- pipe.set_progress_bar_config(disable=None)
-
- inputs = self.get_dummy_inputs(device="cpu")
- inputs.pop("generator")
- inputs["generator"] = torch.manual_seed(0)
-
- pipeline_out = pipe(**inputs)[0]
-
- with tempfile.TemporaryDirectory() as tmpdir:
- dduf_filename = os.path.join(tmpdir, f"{pipe.__class__.__name__.lower()}.dduf")
- pipe.save_pretrained(tmpdir, safe_serialization=True)
- export_folder_as_dduf(dduf_filename, folder_path=tmpdir)
- loaded_pipe = self.pipeline_class.from_pretrained(tmpdir, dduf_file=dduf_filename).to(torch_device)
-
- inputs["generator"] = torch.manual_seed(0)
- loaded_pipeline_out = loaded_pipe(**inputs)[0]
-
- if isinstance(pipeline_out, np.ndarray) and isinstance(loaded_pipeline_out, np.ndarray):
- assert np.allclose(pipeline_out, loaded_pipeline_out, atol=atol, rtol=rtol)
- elif isinstance(pipeline_out, torch.Tensor) and isinstance(loaded_pipeline_out, torch.Tensor):
- assert torch.allclose(pipeline_out, loaded_pipeline_out, atol=atol, rtol=rtol)
-
@pytest.mark.xfail(
condition=torch_device == "mps",
reason="MPS does not support float8 casting.",
diff --git a/tests/pipelines/visualcloze/test_pipeline_visualcloze_combined.py b/tests/pipelines/visualcloze/test_pipeline_visualcloze_combined.py
index bfbcd141d9b3..1355f6dc061e 100644
--- a/tests/pipelines/visualcloze/test_pipeline_visualcloze_combined.py
+++ b/tests/pipelines/visualcloze/test_pipeline_visualcloze_combined.py
@@ -43,8 +43,6 @@ class VisualClozePipelineFastTests(unittest.TestCase, PipelineTesterMixin):
test_layerwise_casting = True
test_group_offloading = True
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
transformer = FluxTransformer2DModel(
diff --git a/tests/pipelines/visualcloze/test_pipeline_visualcloze_generation.py b/tests/pipelines/visualcloze/test_pipeline_visualcloze_generation.py
index 5640f2f634d3..81a73c8a75d2 100644
--- a/tests/pipelines/visualcloze/test_pipeline_visualcloze_generation.py
+++ b/tests/pipelines/visualcloze/test_pipeline_visualcloze_generation.py
@@ -45,8 +45,6 @@ class VisualClozeGenerationPipelineFastTests(unittest.TestCase, PipelineTesterMi
test_layerwise_casting = True
test_group_offloading = True
- supports_dduf = False
-
def get_dummy_components(self):
torch.manual_seed(0)
transformer = FluxTransformer2DModel(
diff --git a/tests/pipelines/wan/test_wan.py b/tests/pipelines/wan/test_wan.py
index 958e1b8c8eaf..bd2d059ff52c 100644
--- a/tests/pipelines/wan/test_wan.py
+++ b/tests/pipelines/wan/test_wan.py
@@ -53,7 +53,6 @@ class WanPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/wan/test_wan_22.py b/tests/pipelines/wan/test_wan_22.py
index fd17ca414af4..fc7d2691312c 100644
--- a/tests/pipelines/wan/test_wan_22.py
+++ b/tests/pipelines/wan/test_wan_22.py
@@ -46,7 +46,6 @@ class Wan22PipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
@@ -211,7 +210,6 @@ class Wan225BPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/wan/test_wan_22_image_to_video.py b/tests/pipelines/wan/test_wan_22_image_to_video.py
index 4634047ebb73..60b5a3e0d8fd 100644
--- a/tests/pipelines/wan/test_wan_22_image_to_video.py
+++ b/tests/pipelines/wan/test_wan_22_image_to_video.py
@@ -50,7 +50,6 @@ class Wan22ImageToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase)
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
@@ -227,7 +226,6 @@ class Wan225BImageToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCas
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/wan/test_wan_animate.py b/tests/pipelines/wan/test_wan_animate.py
index 5d634fb71849..df1b31c02c6a 100644
--- a/tests/pipelines/wan/test_wan_animate.py
+++ b/tests/pipelines/wan/test_wan_animate.py
@@ -65,7 +65,6 @@ class WanAnimatePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/wan/test_wan_image_to_video.py b/tests/pipelines/wan/test_wan_image_to_video.py
index 41cf2636d29f..28c58156b104 100644
--- a/tests/pipelines/wan/test_wan_image_to_video.py
+++ b/tests/pipelines/wan/test_wan_image_to_video.py
@@ -54,7 +54,6 @@ class WanImageToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
@@ -226,7 +225,6 @@ class WanFLFToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/wan/test_wan_vace.py b/tests/pipelines/wan/test_wan_vace.py
index 53becce1685d..7294cd368e0b 100644
--- a/tests/pipelines/wan/test_wan_vace.py
+++ b/tests/pipelines/wan/test_wan_vace.py
@@ -53,7 +53,6 @@ class WanVACEPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/wan/test_wan_video_to_video.py b/tests/pipelines/wan/test_wan_video_to_video.py
index 3804e972b97f..8eb140b77dbe 100644
--- a/tests/pipelines/wan/test_wan_video_to_video.py
+++ b/tests/pipelines/wan/test_wan_video_to_video.py
@@ -48,7 +48,6 @@ class WanVideoToVideoPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
]
)
test_xformers_attention = False
- supports_dduf = False
def get_dummy_components(self):
torch.manual_seed(0)
diff --git a/tests/pipelines/z_image/test_z_image.py b/tests/pipelines/z_image/test_z_image.py
index 79a5fa0de5f0..d3602bdeff76 100644
--- a/tests/pipelines/z_image/test_z_image.py
+++ b/tests/pipelines/z_image/test_z_image.py
@@ -58,7 +58,6 @@ class ZImagePipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/z_image/test_z_image_img2img.py b/tests/pipelines/z_image/test_z_image_img2img.py
index 91b3025b17e8..0004c070b632 100644
--- a/tests/pipelines/z_image/test_z_image_img2img.py
+++ b/tests/pipelines/z_image/test_z_image_img2img.py
@@ -66,7 +66,6 @@ class ZImageImg2ImgPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True
diff --git a/tests/pipelines/z_image/test_z_image_inpaint.py b/tests/pipelines/z_image/test_z_image_inpaint.py
index e904a4e44bd7..0b94b82dbc37 100644
--- a/tests/pipelines/z_image/test_z_image_inpaint.py
+++ b/tests/pipelines/z_image/test_z_image_inpaint.py
@@ -66,7 +66,6 @@ class ZImageInpaintPipelineFastTests(PipelineTesterMixin, unittest.TestCase):
"callback_on_step_end_tensor_inputs",
]
)
- supports_dduf = False
test_xformers_attention = False
test_layerwise_casting = True
test_group_offloading = True