diff --git a/tests/pipelines/flux/test_pipeline_flux_redux.py b/tests/pipelines/flux/test_pipeline_flux_redux.py index 2cd73a51a173..1f204add1c9a 100644 --- a/tests/pipelines/flux/test_pipeline_flux_redux.py +++ b/tests/pipelines/flux/test_pipeline_flux_redux.py @@ -8,6 +8,7 @@ from diffusers import FluxPipeline, FluxPriorReduxPipeline from diffusers.utils import load_image from diffusers.utils.testing_utils import ( + Expectations, backend_empty_cache, numpy_cosine_similarity_distance, require_big_accelerator, @@ -21,7 +22,7 @@ @pytest.mark.big_gpu_with_torch_cuda class FluxReduxSlowTests(unittest.TestCase): pipeline_class = FluxPriorReduxPipeline - repo_id = "YiYiXu/yiyi-redux" # update to "black-forest-labs/FLUX.1-Redux-dev" once PR is merged + repo_id = "black-forest-labs/FLUX.1-Redux-dev" base_pipeline_class = FluxPipeline base_repo_id = "black-forest-labs/FLUX.1-schnell" @@ -69,41 +70,82 @@ def test_flux_redux_inference(self): image = pipe_base(**base_pipeline_inputs, **redux_pipeline_output).images[0] image_slice = image[0, :10, :10] - expected_slice = np.array( - [ - 0.30078125, - 0.37890625, - 0.46875, - 0.28125, - 0.36914062, - 0.47851562, - 0.28515625, - 0.375, - 0.4765625, - 0.28125, - 0.375, - 0.48046875, - 0.27929688, - 0.37695312, - 0.47851562, - 0.27734375, - 0.38085938, - 0.4765625, - 0.2734375, - 0.38085938, - 0.47265625, - 0.27539062, - 0.37890625, - 0.47265625, - 0.27734375, - 0.37695312, - 0.47070312, - 0.27929688, - 0.37890625, - 0.47460938, - ], - dtype=np.float32, + expected_slices = Expectations( + { + ("cuda", 7): np.array( + [ + 0.30078125, + 0.37890625, + 0.46875, + 0.28125, + 0.36914062, + 0.47851562, + 0.28515625, + 0.375, + 0.4765625, + 0.28125, + 0.375, + 0.48046875, + 0.27929688, + 0.37695312, + 0.47851562, + 0.27734375, + 0.38085938, + 0.4765625, + 0.2734375, + 0.38085938, + 0.47265625, + 0.27539062, + 0.37890625, + 0.47265625, + 0.27734375, + 0.37695312, + 0.47070312, + 0.27929688, + 0.37890625, + 0.47460938, + ], + dtype=np.float32, + ), + ("xpu", 3): np.array( + [ + 0.20507812, + 0.30859375, + 0.3984375, + 0.18554688, + 0.30078125, + 0.41015625, + 0.19921875, + 0.3125, + 0.40625, + 0.19726562, + 0.3125, + 0.41601562, + 0.19335938, + 0.31445312, + 0.4140625, + 0.1953125, + 0.3203125, + 0.41796875, + 0.19726562, + 0.32421875, + 0.41992188, + 0.19726562, + 0.32421875, + 0.41992188, + 0.20117188, + 0.32421875, + 0.41796875, + 0.203125, + 0.32617188, + 0.41796875, + ], + dtype=np.float32, + ), + } ) + expected_slice = expected_slices.get_expectation() + max_diff = numpy_cosine_similarity_distance(expected_slice.flatten(), image_slice.flatten()) assert max_diff < 1e-4 diff --git a/tests/pipelines/test_pipelines_common.py b/tests/pipelines/test_pipelines_common.py index d3e39e363f91..b69669464d90 100644 --- a/tests/pipelines/test_pipelines_common.py +++ b/tests/pipelines/test_pipelines_common.py @@ -1347,7 +1347,7 @@ def test_components_function(self): @unittest.skipIf(torch_device not in ["cuda", "xpu"], reason="float16 requires CUDA or XPU") @require_accelerator - def test_float16_inference(self, expected_max_diff=5e-2): + def test_float16_inference(self, expected_max_diff=6e-2): components = self.get_dummy_components() pipe = self.pipeline_class(**components) for component in pipe.components.values():