From 7578e51fdaa42f87619b6028cb85fdc03a92deeb Mon Sep 17 00:00:00 2001 From: Miao Wang Date: Thu, 22 Feb 2018 11:48:59 -0800 Subject: [PATCH] Minor modification to allow relaxed precision test Bug: 63911257 Test: mm Test: VTS test pass on walleye Merged-In: I41d9ea782262a894e7dbd00b782803c40b31c430 Change-Id: I41d9ea782262a894e7dbd00b782803c40b31c430 (cherry picked from commit 842e1a03319361a984cf62e51cbf0486d5f15c46) --- .../1.0/vts/functional/GeneratedTestHarness.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp b/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp index 5fe8415147..f0ce9382b4 100644 --- a/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp +++ b/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp @@ -66,7 +66,8 @@ void copy_back(MixedTyped* dst, const std::vector& ra, char* sr // Top level driver for models and examples generated by test_generator.py // Test driver for those generated from ml/nn/runtime/test/spec void EvaluatePreparedModel(sp& preparedModel, std::function is_ignored, - const std::vector& examples) { + const std::vector& examples, + float fpRange = 1e-5f) { const uint32_t INPUT = 0; const uint32_t OUTPUT = 1; @@ -174,7 +175,7 @@ void EvaluatePreparedModel(sp& preparedModel, std::function& device, std::function create_ } ASSERT_NE(nullptr, preparedModel.get()); - EvaluatePreparedModel(preparedModel, is_ignored, examples); + // If in relaxed mode, set the error range to be 5ULP of FP16. + float fpRange = !model.relaxComputationFloat32toFloat16 ? 1e-5f : 5.0f * 0.0009765625f; + EvaluatePreparedModel(preparedModel, is_ignored, examples, fpRange); } } // namespace generated_tests