From 2c5ae8604ca03f7eee3991f5f94afdf023e5c842 Mon Sep 17 00:00:00 2001 From: Gian Marco Iodice Date: Mon, 4 Oct 2021 16:50:10 +0100 Subject: Fix tolerance issue for Scale tests on OpenCL Resolves COMPMID-4819, COMPMID-4817 Change-Id: I257ee8921742c5070d283b62db1e5138a8cfa439 Signed-off-by: Gian Marco Iodice Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6363 Reviewed-by: Gunes Bayir Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- tests/validation/CL/Scale.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/validation/CL/Scale.cpp b/tests/validation/CL/Scale.cpp index 845408a0b2..10a99ae34f 100644 --- a/tests/validation/CL/Scale.cpp +++ b/tests/validation/CL/Scale.cpp @@ -82,6 +82,7 @@ constexpr AbsoluteTolerance tolerance_s16(1); constexpr float tolerance_f32_absolute(0.001f); RelativeTolerance tolerance_f32(0.05); +constexpr float abs_tolerance_f16(0.1f); RelativeTolerance tolerance_f16(half(0.1)); constexpr float tolerance_num_f32(0.01f); @@ -262,7 +263,7 @@ FIXTURE_DATA_TEST_CASE(Run, CLScaleFixture, framework::DatasetMode::ALL, A const ValidRegion valid_region = calculate_valid_region_scale(src_info, _reference.shape(), _policy, _sampling_policy, (_border_mode == BorderMode::UNDEFINED)); // Validate output - validate(CLAccessor(_target), _reference, valid_region, tolerance_f16); + validate(CLAccessor(_target), _reference, valid_region, tolerance_f16, 0.0f, abs_tolerance_f16); } FIXTURE_DATA_TEST_CASE(RunAlignCorners, CLScaleFixture, framework::DatasetMode::ALL, ASSEMBLE_DATASET(f16_shape, ScaleAlignCornersSamplingPolicySet)) { @@ -271,7 +272,7 @@ FIXTURE_DATA_TEST_CASE(RunAlignCorners, CLScaleFixture, framework::Dataset const ValidRegion valid_region = calculate_valid_region_scale(src_info, _reference.shape(), _policy, _sampling_policy, (_border_mode == BorderMode::UNDEFINED)); // Validate output - validate(CLAccessor(_target), _reference, valid_region, tolerance_f16); + validate(CLAccessor(_target), _reference, valid_region, tolerance_f16, 0.0f, abs_tolerance_f16); } const auto f16_nightly_shape = combine((SCALE_NIGHTLY_SHAPE_DATASET(num_elements_per_vector())), framework::dataset::make("DataType", DataType::F16)); FIXTURE_DATA_TEST_CASE(RunNightly, CLScaleFixture, framework::DatasetMode::NIGHTLY, ASSEMBLE_DATASET(f16_nightly_shape, ScaleSamplingPolicySet)) @@ -281,7 +282,7 @@ FIXTURE_DATA_TEST_CASE(RunNightly, CLScaleFixture, framework::DatasetMode: const ValidRegion valid_region = calculate_valid_region_scale(src_info, _reference.shape(), _policy, _sampling_policy, (_border_mode == BorderMode::UNDEFINED)); // Validate output - validate(CLAccessor(_target), _reference, valid_region, tolerance_f16); + validate(CLAccessor(_target), _reference, valid_region, tolerance_f16, 0.0f, abs_tolerance_f16); } FIXTURE_DATA_TEST_CASE(RunNightlyAlignCorners, CLScaleFixture, framework::DatasetMode::NIGHTLY, ASSEMBLE_DATASET(f16_nightly_shape, ScaleAlignCornersSamplingPolicySet)) { @@ -290,7 +291,7 @@ FIXTURE_DATA_TEST_CASE(RunNightlyAlignCorners, CLScaleFixture, framework:: const ValidRegion valid_region = calculate_valid_region_scale(src_info, _reference.shape(), _policy, _sampling_policy, (_border_mode == BorderMode::UNDEFINED)); // Validate output - validate(CLAccessor(_target), _reference, valid_region, tolerance_f16); + validate(CLAccessor(_target), _reference, valid_region, tolerance_f16, 0.0f, abs_tolerance_f16); } TEST_SUITE_END() // FP16 TEST_SUITE_END() // Float -- cgit v1.2.1