COMPMID-516 Change the CL CNN validation functions to use relative
tolerance error
Change-Id: Iec6347af26ea2a83c911f5fe10e6048e8a2a47ba
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85381
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com>
diff --git a/tests/validation/CL/FullyConnectedLayer.cpp b/tests/validation/CL/FullyConnectedLayer.cpp
index 7a8734b..356e967 100644
--- a/tests/validation/CL/FullyConnectedLayer.cpp
+++ b/tests/validation/CL/FullyConnectedLayer.cpp
@@ -44,8 +44,10 @@
namespace
{
/** Tolerance for float operations */
-constexpr AbsoluteTolerance<float> tolerance_f32(0.001f);
-constexpr AbsoluteTolerance<float> tolerance_f16(0.4f);
+RelativeTolerance<float> tolerance_f32(0.001f);
+RelativeTolerance<half_float::half> tolerance_f16(half_float::half(0.2));
+constexpr float tolerance_num = 0.07f; /**< Tolerance number */
+
/** Tolerance for fixed point operations */
constexpr AbsoluteTolerance<float> tolerance_fixed_point(1.f);
@@ -112,14 +114,14 @@
framework::dataset::make("DataType", DataType::F16)))
{
// Validate output
- validate(CLAccessor(_target), _reference, tolerance_f16);
+ validate(CLAccessor(_target), _reference, tolerance_f16, tolerance_num);
}
FIXTURE_DATA_TEST_CASE(RunLarge, CLFullyConnectedLayerFixture<half_float::half>, framework::DatasetMode::NIGHTLY, combine(combine(datasets::LargeFullyConnectedLayerDataset(),
FullyConnectedParameters),
framework::dataset::make("DataType", DataType::F16)))
{
// Validate output
- validate(CLAccessor(_target), _reference, tolerance_f16);
+ validate(CLAccessor(_target), _reference, tolerance_f16, tolerance_num);
}
TEST_SUITE_END()