diff options
Diffstat (limited to 'src/backends/reference/test')
-rw-r--r-- | src/backends/reference/test/RefCreateWorkloadTests.cpp | 35 | ||||
-rw-r--r-- | src/backends/reference/test/RefEndToEndTests.cpp | 34 |
2 files changed, 30 insertions, 39 deletions
diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp index 23a8e9b9e9..b83d205970 100644 --- a/src/backends/reference/test/RefCreateWorkloadTests.cpp +++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp @@ -717,41 +717,6 @@ BOOST_AUTO_TEST_CASE(CreateResizeBilinearFloat32Nhwc) RefCreateResizeBilinearTest<RefResizeWorkload, armnn::DataType::Float32>(DataLayout::NHWC); } -template <typename RsqrtWorkloadType, armnn::DataType DataType> -static void RefCreateRsqrtTest() -{ - Graph graph; - RefWorkloadFactory factory = GetFactory(); - - auto workload = CreateRsqrtWorkloadTest<RsqrtWorkloadType, DataType>(factory, graph); - - // Checks that outputs are as we expect them (see definition of CreateRsqrtWorkloadTest). - CheckInputOutput(std::move(workload), - TensorInfo({ 1, 1 }, DataType), - TensorInfo({ 1, 1 }, DataType)); - -} - -BOOST_AUTO_TEST_CASE(CreateRsqrtFloat32) -{ - RefCreateRsqrtTest<RefRsqrtWorkload, armnn::DataType::Float32>(); -} - -BOOST_AUTO_TEST_CASE(CreateRsqrtFloat16) -{ - RefCreateRsqrtTest<RefRsqrtWorkload, armnn::DataType::Float16>(); -} - -BOOST_AUTO_TEST_CASE(CreateRsqrtUint8) -{ - RefCreateRsqrtTest<RefRsqrtWorkload, armnn::DataType::QAsymmU8>(); -} - -BOOST_AUTO_TEST_CASE(CreateRsqrtQsymm16) -{ - RefCreateRsqrtTest<RefRsqrtWorkload, armnn::DataType::QSymmS16>(); -} - template <typename BatchToSpaceNdWorkloadType, armnn::DataType DataType> static void RefCreateBatchToSpaceNdTest() { diff --git a/src/backends/reference/test/RefEndToEndTests.cpp b/src/backends/reference/test/RefEndToEndTests.cpp index 75eccdee88..54a68810f6 100644 --- a/src/backends/reference/test/RefEndToEndTests.cpp +++ b/src/backends/reference/test/RefEndToEndTests.cpp @@ -5,7 +5,6 @@ #include <backendsCommon/test/EndToEndTestImpl.hpp> -#include <backendsCommon/test/AbsEndToEndTestImpl.hpp> #include <backendsCommon/test/ArgMinMaxEndToEndTestImpl.hpp> #include <backendsCommon/test/BatchToSpaceNdEndToEndTestImpl.hpp> #include <backendsCommon/test/ComparisonEndToEndTestImpl.hpp> @@ -13,6 +12,7 @@ #include <backendsCommon/test/DepthToSpaceEndToEndTestImpl.hpp> #include <backendsCommon/test/DequantizeEndToEndTestImpl.hpp> #include <backendsCommon/test/DetectionPostProcessEndToEndTestImpl.hpp> +#include <backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp> #include <backendsCommon/test/GatherEndToEndTestImpl.hpp> #include <backendsCommon/test/InstanceNormalizationEndToEndTestImpl.hpp> #include <backendsCommon/test/LogSoftmaxEndToEndTestImpl.hpp> @@ -32,17 +32,43 @@ std::vector<armnn::BackendId> defaultBackends = {armnn::Compute::CpuRef}; // Abs BOOST_AUTO_TEST_CASE(RefAbsEndToEndTestFloat32) { - AbsEndToEnd<armnn::DataType::Float32>(defaultBackends); + std::vector<float> expectedOutput = + { + 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f, + 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f + }; + + ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(defaultBackends, + UnaryOperation::Abs, + expectedOutput); } BOOST_AUTO_TEST_CASE(RefAbsEndToEndTestUint8) { - AbsEndToEnd<armnn::DataType::QAsymmU8>(defaultBackends); + // Note the expected output will be implicitly quantized by the below test function + std::vector<float> expectedOutput = + { + 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f, + 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f + }; + + ElementwiseUnarySimpleEndToEnd<armnn::DataType::QAsymmU8>(defaultBackends, + UnaryOperation::Abs, + expectedOutput); } BOOST_AUTO_TEST_CASE(RefAbsEndToEndTestInt16) { - AbsEndToEnd<armnn::DataType::QSymmS16>(defaultBackends); + // Note the expected output will be implicitly quantized by the below test function + std::vector<float> expectedOutput = + { + 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f, + 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f + }; + + ElementwiseUnarySimpleEndToEnd<armnn::DataType::QSymmS16>(defaultBackends, + UnaryOperation::Abs, + expectedOutput); } // Constant |