mirror of
https://github.com/huggingface/diffusers.git
synced 2026-01-27 17:22:53 +03:00
Test skip_guidance_layers in SD3 pipeline (#10102)
* Test `skip_guidance_layers` in pipelines * Move to test_pipeline_stable_diffusion_3
This commit is contained in:
@@ -225,6 +225,39 @@ class StableDiffusion3PipelineFastTests(unittest.TestCase, PipelineTesterMixin):
|
||||
original_image_slice, image_slice_disabled, atol=1e-2, rtol=1e-2
|
||||
), "Original outputs should match when fused QKV projections are disabled."
|
||||
|
||||
def test_skip_guidance_layers(self):
|
||||
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(torch_device)
|
||||
|
||||
output_full = pipe(**inputs)[0]
|
||||
|
||||
inputs_with_skip = inputs.copy()
|
||||
inputs_with_skip["skip_guidance_layers"] = [0]
|
||||
output_skip = pipe(**inputs_with_skip)[0]
|
||||
|
||||
self.assertFalse(
|
||||
np.allclose(output_full, output_skip, atol=1e-5), "Outputs should differ when layers are skipped"
|
||||
)
|
||||
|
||||
self.assertEqual(output_full.shape, output_skip.shape, "Outputs should have the same shape")
|
||||
|
||||
inputs["num_images_per_prompt"] = 2
|
||||
output_full = pipe(**inputs)[0]
|
||||
|
||||
inputs_with_skip = inputs.copy()
|
||||
inputs_with_skip["skip_guidance_layers"] = [0]
|
||||
output_skip = pipe(**inputs_with_skip)[0]
|
||||
|
||||
self.assertFalse(
|
||||
np.allclose(output_full, output_skip, atol=1e-5), "Outputs should differ when layers are skipped"
|
||||
)
|
||||
|
||||
self.assertEqual(output_full.shape, output_skip.shape, "Outputs should have the same shape")
|
||||
|
||||
|
||||
@slow
|
||||
@require_big_gpu_with_torch_cuda
|
||||
|
||||
Reference in New Issue
Block a user