Skip to content

Commit 6d3adf6

Browse files
Fix slow tests (huggingface#1983)
* [Slow tests] Fix tests * Update tests/pipelines/karras_ve/test_karras_ve.py
1 parent dbdd585 commit 6d3adf6

File tree

3 files changed

+45
-7
lines changed

3 files changed

+45
-7
lines changed

src/diffusers/pipelines/stochastic_karras_ve/pipeline_stochastic_karras_ve.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def __call__(
8282
model = self.unet
8383

8484
# sample x_0 ~ N(0, sigma_0^2 * I)
85-
sample = randn_tensor(shape, device=self.device) * self.scheduler.init_noise_sigma
85+
sample = randn_tensor(shape, generator=generator, device=self.device) * self.scheduler.init_noise_sigma
8686

8787
self.scheduler.set_timesteps(num_inference_steps)
8888

tests/pipelines/karras_ve/test_karras_ve.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,44 @@
2525
torch.backends.cuda.matmul.allow_tf32 = False
2626

2727

28+
class KarrasVePipelineFastTests(unittest.TestCase):
29+
@property
30+
def dummy_uncond_unet(self):
31+
torch.manual_seed(0)
32+
model = UNet2DModel(
33+
block_out_channels=(32, 64),
34+
layers_per_block=2,
35+
sample_size=32,
36+
in_channels=3,
37+
out_channels=3,
38+
down_block_types=("DownBlock2D", "AttnDownBlock2D"),
39+
up_block_types=("AttnUpBlock2D", "UpBlock2D"),
40+
)
41+
return model
42+
43+
def test_inference(self):
44+
unet = self.dummy_uncond_unet
45+
scheduler = KarrasVeScheduler()
46+
47+
pipe = KarrasVePipeline(unet=unet, scheduler=scheduler)
48+
pipe.to(torch_device)
49+
pipe.set_progress_bar_config(disable=None)
50+
51+
generator = torch.manual_seed(0)
52+
image = pipe(num_inference_steps=2, generator=generator, output_type="numpy").images
53+
54+
generator = torch.manual_seed(0)
55+
image_from_tuple = pipe(num_inference_steps=2, generator=generator, output_type="numpy", return_dict=False)[0]
56+
57+
image_slice = image[0, -3:, -3:, -1]
58+
image_from_tuple_slice = image_from_tuple[0, -3:, -3:, -1]
59+
60+
assert image.shape == (1, 32, 32, 3)
61+
expected_slice = np.array([0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0])
62+
assert np.abs(image_slice.flatten() - expected_slice).max() < 1e-2
63+
assert np.abs(image_from_tuple_slice.flatten() - expected_slice).max() < 1e-2
64+
65+
2866
@slow
2967
@require_torch
3068
class KarrasVePipelineIntegrationTests(unittest.TestCase):

tests/test_pipelines.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -742,10 +742,10 @@ def test_from_save_pretrained(self):
742742
new_ddpm.to(torch_device)
743743

744744
generator = torch.Generator(device=torch_device).manual_seed(0)
745-
image = ddpm(generator=generator, output_type="numpy").images
745+
image = ddpm(generator=generator, num_inference_steps=5, output_type="numpy").images
746746

747747
generator = generator.manual_seed(0)
748-
new_image = new_ddpm(generator=generator, output_type="numpy").images
748+
new_image = new_ddpm(generator=generator, num_inference_steps=5, output_type="numpy").images
749749

750750
assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass"
751751

@@ -763,10 +763,10 @@ def test_from_pretrained_hub(self):
763763
ddpm_from_hub.set_progress_bar_config(disable=None)
764764

765765
generator = torch.Generator(device=torch_device).manual_seed(0)
766-
image = ddpm(generator=generator, output_type="numpy").images
766+
image = ddpm(generator=generator, num_inference_steps=5, output_type="numpy").images
767767

768768
generator = generator.manual_seed(0)
769-
new_image = ddpm_from_hub(generator=generator, output_type="numpy").images
769+
new_image = ddpm_from_hub(generator=generator, num_inference_steps=5, output_type="numpy").images
770770

771771
assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass"
772772

@@ -786,10 +786,10 @@ def test_from_pretrained_hub_pass_model(self):
786786
ddpm_from_hub_custom_model.set_progress_bar_config(disable=None)
787787

788788
generator = torch.Generator(device=torch_device).manual_seed(0)
789-
image = ddpm_from_hub_custom_model(generator=generator, output_type="numpy").images
789+
image = ddpm_from_hub_custom_model(generator=generator, num_inference_steps=5, output_type="numpy").images
790790

791791
generator = generator.manual_seed(0)
792-
new_image = ddpm_from_hub(generator=generator, output_type="numpy").images
792+
new_image = ddpm_from_hub(generator=generator, num_inference_steps=5, output_type="numpy").images
793793

794794
assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass"
795795

0 commit comments

Comments
 (0)