diff options
Diffstat (limited to 'src/backends/reference')
-rw-r--r-- | src/backends/reference/test/RefCreateWorkloadTests.cpp | 28 | ||||
-rw-r--r-- | src/backends/reference/test/RefEndToEndTests.cpp | 104 |
2 files changed, 32 insertions, 100 deletions
diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp index 8fe18f5d78..2fa6cbfd5d 100644 --- a/src/backends/reference/test/RefCreateWorkloadTests.cpp +++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp @@ -962,4 +962,32 @@ BOOST_AUTO_TEST_CASE(CreatePreluInt16NoBroadcastWorkload) armnn::InvalidArgumentException); } +template <typename SpaceToDepthWorkloadType, armnn::DataType DataType> +static void RefCreateSpaceToDepthWorkloadTest() +{ + Graph graph; + RefWorkloadFactory factory; + + auto workload = CreateSpaceToDepthWorkloadTest<SpaceToDepthWorkloadType, DataType>(factory, graph); + + CheckInputOutput(std::move(workload), + TensorInfo({ 1, 2, 2, 1 }, DataType), + TensorInfo({ 1, 1, 1, 4 }, DataType)); +} + +BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadFloat32) +{ + RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::Float32>(); +} + +BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadQASymm8) +{ + RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::QuantisedAsymm8>(); +} + +BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadQSymm16) +{ + RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::QuantisedSymm16>(); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/backends/reference/test/RefEndToEndTests.cpp b/src/backends/reference/test/RefEndToEndTests.cpp index 58f1284ebd..3e8a4690dc 100644 --- a/src/backends/reference/test/RefEndToEndTests.cpp +++ b/src/backends/reference/test/RefEndToEndTests.cpp @@ -717,119 +717,23 @@ BOOST_AUTO_TEST_CASE(RefDetectionPostProcessFastNmsUint8Test) BOOST_AUTO_TEST_CASE(RefSpaceToDepthNHWCEndToEndTest1) { - const unsigned int blockSize = 2; - - armnn::TensorShape inputShape{1, 2, 2, 1}; - armnn::TensorInfo inputTensorInfo(inputShape, armnn::DataType::Float32); - - armnn::TensorShape outputShape{1, 1, 1, 4}; - armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Float32); - - std::vector<float> inputData = std::vector<float>( - { - 1.0f, 2.0f, 3.0f, 4.0f - }); - - std::vector<float> expectedOutputData = std::vector<float>( - { - 1.0f, 2.0f, 3.0f, 4.0f - }); - - SpaceToDepthEndToEnd(defaultBackends, - armnn::DataLayout::NHWC, - inputTensorInfo, - outputTensorInfo, - inputData, - expectedOutputData, - blockSize); + SpaceToDepthNHWCEndToEndTest1(defaultBackends); } BOOST_AUTO_TEST_CASE(RefSpaceToDepthNCHWEndToEndTest1) { - const unsigned int blockSize = 2; + SpaceToDepthNCHWEndToEndTest1(defaultBackends); - armnn::TensorShape inputShape{1, 2, 2, 1}; - armnn::TensorInfo inputTensorInfo(inputShape, armnn::DataType::Float32); - - armnn::TensorShape outputShape{1, 1, 1, 4}; - armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Float32); - - std::vector<float> inputData = std::vector<float>( - { - 1.0f, 2.0f, 3.0f, 4.0f - }); - - std::vector<float> expectedOutputData = std::vector<float>( - { - 1.0f, 2.0f, 3.0f, 4.0f - }); - - SpaceToDepthEndToEnd(defaultBackends, - armnn::DataLayout::NCHW, - inputTensorInfo, - outputTensorInfo, - inputData, - expectedOutputData, - blockSize); } BOOST_AUTO_TEST_CASE(RefSpaceToDepthNHWCEndToEndTest2) { - const unsigned int blockSize = 2; - - armnn::TensorShape inputShape{1, 2, 2, 2}; - armnn::TensorShape outputShape{1, 1, 1, 8}; - - armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Float32); - armnn::TensorInfo inputTensorInfo(inputShape, armnn::DataType::Float32); - - std::vector<float> inputData = std::vector<float>( - { - 1.4f, 2.3f, 3.2f, 4.1f, 5.4f, 6.3f, 7.2f, 8.1f - }); - - std::vector<float> expectedOutputData = std::vector<float>( - { - 1.4f, 2.3f, 3.2f, 4.1f, 5.4f, 6.3f, 7.2f, 8.1f - }); - - SpaceToDepthEndToEnd(defaultBackends, - armnn::DataLayout::NHWC, - inputTensorInfo, - outputTensorInfo, - inputData, - expectedOutputData, - blockSize); + SpaceToDepthNHWCEndToEndTest2(defaultBackends); } BOOST_AUTO_TEST_CASE(RefSpaceToDepthNCHWEndToEndTest2) { - const unsigned int blockSize = 2; - - armnn::TensorShape inputShape{1, 2, 2, 2}; - armnn::TensorShape outputShape{1, 1, 1, 8}; - - armnn::TensorInfo inputTensorInfo(inputShape, armnn::DataType::Float32); - armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Float32); - - - std::vector<float> inputData = std::vector<float>( - { - 1.4f, 2.3f, 3.2f, 4.1f, 5.4f, 6.3f, 7.2f, 8.1f - }); - - std::vector<float> expectedOutputData = std::vector<float>( - { - 1.4f, 2.3f, 3.2f, 4.1f, 5.4f, 6.3f, 7.2f, 8.1f - }); - - SpaceToDepthEndToEnd(defaultBackends, - armnn::DataLayout::NCHW, - inputTensorInfo, - outputTensorInfo, - inputData, - expectedOutputData, - blockSize); + SpaceToDepthNCHWEndToEndTest2(defaultBackends); } BOOST_AUTO_TEST_CASE(RefSplitter1dEndToEndTest) |