diff --git a/tests/model_tests/diffusion/diff_model_builders.py b/tests/model_tests/diffusion/diff_model_builders.py index 14a0a0cff..6fe1897b9 100644 --- a/tests/model_tests/diffusion/diff_model_builders.py +++ b/tests/model_tests/diffusion/diff_model_builders.py @@ -278,6 +278,20 @@ def tiny_sd3_builder() -> str: ) +def tiny_sdxl_builder() -> str: + # The UNet's architecture (block_out_channels, transformer_layers_per_block, etc.) + # is hardcoded in SDXLUNet2DConditionModel rather than read from config, so it + # can't be shrunk here; only the two CLIP text encoders are reduced. + return build_tiny_from_configs( + "StableDiffusionXLPipeline", + "stabilityai/stable-diffusion-xl-base-1.0", + transform={ + "text_encoder": _shrink_flux_clip_text_encoder, + "text_encoder_2": _shrink_flux_clip_text_encoder, + }, + ) + + def tiny_flux2_builder() -> str: def shrink_text_encoder(config: dict) -> dict: config["tie_word_embeddings"] = False diff --git a/tests/model_tests/diffusion/model_settings.py b/tests/model_tests/diffusion/model_settings.py index 60e1e26bf..2223175e8 100644 --- a/tests/model_tests/diffusion/model_settings.py +++ b/tests/model_tests/diffusion/model_settings.py @@ -181,4 +181,10 @@ DIFFUSION_TEST_SETTINGS = { supported_tasks=[DiffusionTasks.TEXT_TO_IMAGE], model_type_marker=ModelTypeMarker.DIFFUSION, ), + "StableDiffusionXLPipeline": DiffusionModelTestOpts( + model="stabilityai/stable-diffusion-xl-base-1.0", + builder=diff_model_builders.tiny_sdxl_builder, + supported_tasks=[DiffusionTasks.TEXT_TO_IMAGE], + extra_test_groups=[[DiffusionAccs.CPU_OFFLOAD]], + ), } diff --git a/tests/model_tests/diffusion/test_alignment.py b/tests/model_tests/diffusion/test_alignment.py index d3ef4fd12..e46cef84f 100644 --- a/tests/model_tests/diffusion/test_alignment.py +++ b/tests/model_tests/diffusion/test_alignment.py @@ -84,7 +84,6 @@ EXCLUDED_MODELS = [ "HiDreamImagePipeline", "HiDreamO1ImagePipeline", "DreamZeroPipeline", - "StableDiffusionXLPipeline", "Gr00tN1d7Pipeline", "Pi0Pipeline", "Pi05Pipeline",