From 1fcb4ffde11ab9a191101caf157f235f0fc7f27e Mon Sep 17 00:00:00 2001 From: Nattapat Chaimanowong Date: Thu, 24 Jan 2019 15:25:26 +0000 Subject: IVGCVSW-2503 Fix end to end test support for Boolean output type Change-Id: Ie94743c769fc17d976849ba4b22af3a13561ff55 --- .../backendsCommon/test/ArithmeticTestImpl.hpp | 4 ++-- .../backendsCommon/test/EndToEndTestImpl.hpp | 25 +++++++++++++++++++--- .../backendsCommon/test/GatherEndToEndTestImpl.hpp | 6 +++--- .../backendsCommon/test/MergerTestImpl.hpp | 8 +++---- 4 files changed, 31 insertions(+), 12 deletions(-) (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp b/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp index 6f685ebb42..5a65c32918 100644 --- a/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp +++ b/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp @@ -78,7 +78,7 @@ void ArithmeticSimpleEndToEnd(const std::vector& backends, std::map> inputTensorData = {{ 0, input0 }, { 1, input1 }}; std::map> expectedOutputData = {{ 0, expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } template& backends, std::map> inputTensorData = {{ 0, input0 }, { 1, input1 }}; std::map> expectedOutputData = {{ 0, expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } } // anonymous namespace diff --git a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp index 7d2b091e42..d17b61e8fb 100644 --- a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp +++ b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp @@ -4,6 +4,8 @@ // #pragma once +#include "TypeUtils.hpp" + #include #include @@ -102,7 +104,14 @@ inline bool ConstantUsageUint8Test(const std::vector& backends) ); } -template +template +bool CompareBoolean(T a, T b) +{ + return (a == 0 && b == 0) ||(a != 0 && b != 0); +}; + +template, typename TOutput = ResolveType> void EndToEndLayerTestImpl(INetworkPtr network, const std::map>& inputTensorData, const std::map>& expectedOutputData, @@ -145,8 +154,18 @@ void EndToEndLayerTestImpl(INetworkPtr network, for (auto&& it : expectedOutputData) { std::vector out = outputStorage.at(it.first); - BOOST_TEST(it.second == out); + if (ArmnnOType == DataType::Boolean) + { + for (unsigned int i = 0; i < out.size(); ++i) + { + BOOST_TEST(CompareBoolean(it.second[i], out[i])); + } + } + else + { + BOOST_TEST(it.second == out); + } } } -} // anonymous namespace \ No newline at end of file +} // anonymous namespace diff --git a/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp index d30da549df..4ef1ef30ee 100644 --- a/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp +++ b/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp @@ -62,7 +62,7 @@ void GatherEndToEnd(const std::vector& backends) std::map> inputTensorData = {{ 0, paramsData }}; std::map> expectedOutputData = {{ 0, expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } template> @@ -118,7 +118,7 @@ void GatherMultiDimEndToEnd(const std::vector& backends) std::map> inputTensorData = {{ 0, paramsData }}; std::map> expectedOutputData = {{ 0, expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } -} // anonymous namespace \ No newline at end of file +} // anonymous namespace diff --git a/src/backends/backendsCommon/test/MergerTestImpl.hpp b/src/backends/backendsCommon/test/MergerTestImpl.hpp index ec42b09ada..de03c1096a 100644 --- a/src/backends/backendsCommon/test/MergerTestImpl.hpp +++ b/src/backends/backendsCommon/test/MergerTestImpl.hpp @@ -110,7 +110,7 @@ void MergerDim0EndToEnd(const std::vector& backends) std::map> inputTensorData = {{ 0,inputData }, { 1,inputData }}; std::map> expectedOutputData = {{ 0,expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } template @@ -174,7 +174,7 @@ void MergerDim1EndToEnd(const std::vector& backends) std::map> inputTensorData = {{ 0,inputData }, { 1,inputData }}; std::map> expectedOutputData = {{ 0,expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } template @@ -238,7 +238,7 @@ void MergerDim2EndToEnd(const std::vector& backends) std::map> inputTensorData = {{ 0,inputData }, { 1,inputData }}; std::map> expectedOutputData = {{ 0,expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } template> @@ -301,7 +301,7 @@ void MergerDim3EndToEnd(const std::vector& backends) std::map> inputTensorData = {{ 0,inputData }, { 1,inputData }}; std::map> expectedOutputData = {{ 0,expectedOutput }}; - EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); + EndToEndLayerTestImpl(move(net), inputTensorData, expectedOutputData, backends); } } // anonymous namespace -- cgit v1.2.1