Skip to content

Commit

Permalink
Test skip_guidance_layers in SD3 pipeline (#10102)
Browse files Browse the repository at this point in the history
* Test `skip_guidance_layers` in pipelines

* Move to test_pipeline_stable_diffusion_3
  • Loading branch information
hlky authored Dec 4, 2024
1 parent 6a51427 commit cfdeebd
Showing 1 changed file with 33 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,39 @@ def test_fused_qkv_projections(self):
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
Expand Down

0 comments on commit cfdeebd

Please sign in to comment.