Unverified Commit 6d3adf65 authored by Patrick von Platen's avatar Patrick von Platen Committed by GitHub
Browse files

Fix slow tests (#1983)

* [Slow tests] Fix tests

* Update tests/pipelines/karras_ve/test_karras_ve.py
parent dbdd585c
...@@ -82,7 +82,7 @@ class KarrasVePipeline(DiffusionPipeline): ...@@ -82,7 +82,7 @@ class KarrasVePipeline(DiffusionPipeline):
model = self.unet model = self.unet
# sample x_0 ~ N(0, sigma_0^2 * I) # sample x_0 ~ N(0, sigma_0^2 * I)
sample = randn_tensor(shape, device=self.device) * self.scheduler.init_noise_sigma sample = randn_tensor(shape, generator=generator, device=self.device) * self.scheduler.init_noise_sigma
self.scheduler.set_timesteps(num_inference_steps) self.scheduler.set_timesteps(num_inference_steps)
......
...@@ -25,6 +25,44 @@ from diffusers.utils.testing_utils import require_torch, slow, torch_device ...@@ -25,6 +25,44 @@ from diffusers.utils.testing_utils import require_torch, slow, torch_device
torch.backends.cuda.matmul.allow_tf32 = False torch.backends.cuda.matmul.allow_tf32 = False
class KarrasVePipelineFastTests(unittest.TestCase):
@property
def dummy_uncond_unet(self):
torch.manual_seed(0)
model = UNet2DModel(
block_out_channels=(32, 64),
layers_per_block=2,
sample_size=32,
in_channels=3,
out_channels=3,
down_block_types=("DownBlock2D", "AttnDownBlock2D"),
up_block_types=("AttnUpBlock2D", "UpBlock2D"),
)
return model
def test_inference(self):
unet = self.dummy_uncond_unet
scheduler = KarrasVeScheduler()
pipe = KarrasVePipeline(unet=unet, scheduler=scheduler)
pipe.to(torch_device)
pipe.set_progress_bar_config(disable=None)
generator = torch.manual_seed(0)
image = pipe(num_inference_steps=2, generator=generator, output_type="numpy").images
generator = torch.manual_seed(0)
image_from_tuple = pipe(num_inference_steps=2, generator=generator, output_type="numpy", return_dict=False)[0]
image_slice = image[0, -3:, -3:, -1]
image_from_tuple_slice = image_from_tuple[0, -3:, -3:, -1]
assert image.shape == (1, 32, 32, 3)
expected_slice = np.array([0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0])
assert np.abs(image_slice.flatten() - expected_slice).max() < 1e-2
assert np.abs(image_from_tuple_slice.flatten() - expected_slice).max() < 1e-2
@slow @slow
@require_torch @require_torch
class KarrasVePipelineIntegrationTests(unittest.TestCase): class KarrasVePipelineIntegrationTests(unittest.TestCase):
......
...@@ -742,10 +742,10 @@ class PipelineSlowTests(unittest.TestCase): ...@@ -742,10 +742,10 @@ class PipelineSlowTests(unittest.TestCase):
new_ddpm.to(torch_device) new_ddpm.to(torch_device)
generator = torch.Generator(device=torch_device).manual_seed(0) generator = torch.Generator(device=torch_device).manual_seed(0)
image = ddpm(generator=generator, output_type="numpy").images image = ddpm(generator=generator, num_inference_steps=5, output_type="numpy").images
generator = generator.manual_seed(0) generator = generator.manual_seed(0)
new_image = new_ddpm(generator=generator, output_type="numpy").images new_image = new_ddpm(generator=generator, num_inference_steps=5, output_type="numpy").images
assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass" assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass"
...@@ -763,10 +763,10 @@ class PipelineSlowTests(unittest.TestCase): ...@@ -763,10 +763,10 @@ class PipelineSlowTests(unittest.TestCase):
ddpm_from_hub.set_progress_bar_config(disable=None) ddpm_from_hub.set_progress_bar_config(disable=None)
generator = torch.Generator(device=torch_device).manual_seed(0) generator = torch.Generator(device=torch_device).manual_seed(0)
image = ddpm(generator=generator, output_type="numpy").images image = ddpm(generator=generator, num_inference_steps=5, output_type="numpy").images
generator = generator.manual_seed(0) generator = generator.manual_seed(0)
new_image = ddpm_from_hub(generator=generator, output_type="numpy").images new_image = ddpm_from_hub(generator=generator, num_inference_steps=5, output_type="numpy").images
assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass" assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass"
...@@ -786,10 +786,10 @@ class PipelineSlowTests(unittest.TestCase): ...@@ -786,10 +786,10 @@ class PipelineSlowTests(unittest.TestCase):
ddpm_from_hub_custom_model.set_progress_bar_config(disable=None) ddpm_from_hub_custom_model.set_progress_bar_config(disable=None)
generator = torch.Generator(device=torch_device).manual_seed(0) generator = torch.Generator(device=torch_device).manual_seed(0)
image = ddpm_from_hub_custom_model(generator=generator, output_type="numpy").images image = ddpm_from_hub_custom_model(generator=generator, num_inference_steps=5, output_type="numpy").images
generator = generator.manual_seed(0) generator = generator.manual_seed(0)
new_image = ddpm_from_hub(generator=generator, output_type="numpy").images new_image = ddpm_from_hub(generator=generator, num_inference_steps=5, output_type="numpy").images
assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass" assert np.abs(image - new_image).sum() < 1e-5, "Models don't give the same forward pass"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment