diff options
author | Colm Donelan <colm.donelan@arm.com> | 2024-01-22 10:07:14 +0000 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2024-02-07 15:37:05 +0000 |
commit | 7bcae3c835468d9b0770514dc7127f02d47cec5f (patch) | |
tree | 03fe2da7324715be89c1c0ba476b083558c158ed /delegate/test/ReshapeTest.cpp | |
parent | a52bca23d225144e92f521341718a70489d5c217 (diff) | |
download | armnn-7bcae3c835468d9b0770514dc7127f02d47cec5f.tar.gz |
IVGCVSW-7675 Rework more DelegateUnitTests so backends are subcases.
The intent of this change is to remove the per backend test cases in
the delegate unit tests. They will be replaced by using DocTest
SUBCASES. The sub cases are paramaterized by the available backends.
The list of available backends are determined by the compilation flags.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I6dd0369491c4582b8e2467b911dfd085dddcf576
Diffstat (limited to 'delegate/test/ReshapeTest.cpp')
-rw-r--r-- | delegate/test/ReshapeTest.cpp | 310 |
1 files changed, 56 insertions, 254 deletions
diff --git a/delegate/test/ReshapeTest.cpp b/delegate/test/ReshapeTest.cpp index 9a34173e3c..ed6ee80d8d 100644 --- a/delegate/test/ReshapeTest.cpp +++ b/delegate/test/ReshapeTest.cpp @@ -1,14 +1,10 @@ // -// Copyright © 2020, 2023 Arm Ltd and Contributors. All rights reserved. +// Copyright © 2020, 2023-2024 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "RedefineTestHelper.hpp" -#include <armnn_delegate.hpp> - -#include <flatbuffers/flatbuffers.h> - #include <doctest/doctest.h> #include <half/half.hpp> @@ -18,7 +14,7 @@ using Half = half_float::half; namespace armnnDelegate { -void ReshapeSimpleTest(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeSimpleTest(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -35,18 +31,18 @@ void ReshapeSimpleTest(std::vector<armnn::BackendId>& backends, bool useOption = RedefineTest<float>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_FLOAT32, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, - useOption); + useOption, + backends); } using namespace half_float::literal; -void ReshapeSimpleFloat16Test(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeSimpleFloat16Test(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -63,16 +59,16 @@ void ReshapeSimpleFloat16Test(std::vector<armnn::BackendId>& backends, bool useO RedefineTest<Half>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_FLOAT16, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, - useOption); + useOption, + backends); } -void ReshapeReduceDimTest(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeReduceDimTest(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -89,16 +85,16 @@ void ReshapeReduceDimTest(std::vector<armnn::BackendId>& backends, bool useOptio RedefineTest<float>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_FLOAT32, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, - useOption); + useOption, + backends); } -void ReshapeFlattenTest(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeFlattenTest(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -115,16 +111,16 @@ void ReshapeFlattenTest(std::vector<armnn::BackendId>& backends, bool useOption RedefineTest<float>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_FLOAT32, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, - useOption); + useOption, + backends); } -void ReshapeFlattenAllTest(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeFlattenAllTest(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -141,16 +137,16 @@ void ReshapeFlattenAllTest(std::vector<armnn::BackendId>& backends, bool useOpti RedefineTest<float>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_FLOAT32, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, - useOption); + useOption, + backends); } -void ReshapeInt8Test(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeInt8Test(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -167,18 +163,18 @@ void ReshapeInt8Test(std::vector<armnn::BackendId>& backends, bool useOption = t RedefineTest<int8_t>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_INT8, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, useOption, + backends, 2.5f, 1); } -void ReshapeUint8Test(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeUint8Test(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -195,18 +191,18 @@ void ReshapeUint8Test(std::vector<armnn::BackendId>& backends, bool useOption = RedefineTest<uint8_t>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_UINT8, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, useOption, + backends, 2.5f, 1); } -void ReshapeInt16Test(std::vector<armnn::BackendId>& backends, bool useOption = true) +void ReshapeInt16Test(bool useOption = true, const std::vector<armnn::BackendId>& backends = {}) { // Set input data std::vector<int32_t> inputShape { 1, 3, 4, 1 }; @@ -223,294 +219,100 @@ void ReshapeInt16Test(std::vector<armnn::BackendId>& backends, bool useOption = RedefineTest<int16_t>(tflite::BuiltinOperator_RESHAPE, ::tflite::TensorType_INT16, - backends, inputShape, outputShape, inputValues, expectedOutputValues, targetShape, useOption, + backends, 2.5f, 0); } -TEST_SUITE("Reshape_GpuAccTests") -{ - -TEST_CASE ("Reshape_Simple_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeSimpleTest(backends); -} - -TEST_CASE ("Reshape_ReduceDimension_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeReduceDimTest(backends); -} - -TEST_CASE ("Reshape_Flatten_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeFlattenTest(backends); -} - -TEST_CASE ("Reshape_FlattenAll_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeFlattenAllTest(backends); -} - -TEST_CASE ("Reshape_Int8_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeInt8Test(backends); -} - -TEST_CASE ("Reshape_Uint8_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeUint8Test(backends); -} - -TEST_CASE ("Reshape_Float16_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeSimpleFloat16Test(backends); -} - -TEST_CASE ("Reshape_Simple_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeSimpleTest(backends, false); -} - -TEST_CASE ("Reshape_ReduceDimension_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeReduceDimTest(backends, false); -} - -TEST_CASE ("Reshape_Flatten_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeFlattenTest(backends, false); -} - -TEST_CASE ("Reshape_FlattenAll_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeFlattenAllTest(backends, false); -} - -TEST_CASE ("Reshape_Int8_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeInt8Test(backends, false); -} - -TEST_CASE ("Reshape_Uint8_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeUint8Test(backends, false); -} - -TEST_CASE ("Reshape_Float16_ShapeTensor_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - ReshapeSimpleFloat16Test(backends, false); -} - -} // TEST_SUITE("Reshape_GpuAccTests") - -TEST_SUITE("Reshape_CpuAccTests") -{ - -TEST_CASE ("Reshape_Simple_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeSimpleTest(backends); -} - -TEST_CASE ("Reshape_ReduceDimension_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeReduceDimTest(backends); -} - -TEST_CASE ("Reshape_Flatten_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeFlattenTest(backends); -} - -TEST_CASE ("Reshape_FlattenAll_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeFlattenAllTest(backends); -} - -TEST_CASE ("Reshape_Int8_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeInt8Test(backends); -} - -TEST_CASE ("Reshape_Uint8_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeUint8Test(backends); -} - -TEST_CASE ("Reshape_Float16_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeSimpleFloat16Test(backends); -} - -TEST_CASE ("Reshape_Simple_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeSimpleTest(backends, false); -} - -TEST_CASE ("Reshape_ReduceDimension_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeReduceDimTest(backends, false); -} - -TEST_CASE ("Reshape_Flatten_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeFlattenTest(backends, false); -} - -TEST_CASE ("Reshape_FlattenAll_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeFlattenAllTest(backends, false); -} - -TEST_CASE ("Reshape_Int8_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeInt8Test(backends, false); -} - -TEST_CASE ("Reshape_Uint8_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeUint8Test(backends, false); -} - -TEST_CASE ("Reshape_Float16_ShapeTensor_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - ReshapeSimpleFloat16Test(backends, false); -} - -} // TEST_SUITE("Reshape_CpuAccTests") - -TEST_SUITE("Reshape_CpuRefTests") +TEST_SUITE("ReshapeTests") { -TEST_CASE ("Reshape_Simple_CpuRef_Test") +TEST_CASE ("Reshape_Simple_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeSimpleTest(backends); + ReshapeSimpleTest(); } -TEST_CASE ("Reshape_ReduceDimension_CpuRef_Test") +TEST_CASE ("Reshape_ReduceDimension_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeReduceDimTest(backends); + ReshapeReduceDimTest(); } -TEST_CASE ("Reshape_Flatten_CpuRef_Test") +TEST_CASE ("Reshape_Flatten_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeFlattenTest(backends); + ReshapeFlattenTest(); } -TEST_CASE ("Reshape_FlattenAll_CpuRef_Test") +TEST_CASE ("Reshape_FlattenAll_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeFlattenAllTest(backends); + ReshapeFlattenAllTest(); } -TEST_CASE ("Reshape_Int8_CpuRef_Test") +TEST_CASE ("Reshape_Int8_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeInt8Test(backends); + ReshapeInt8Test(); } -TEST_CASE ("Reshape_Uint8_CpuRef_Test") +TEST_CASE ("Reshape_Uint8_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeUint8Test(backends); + ReshapeUint8Test(); } -TEST_CASE ("Reshape_Int16_CpuRef_Test") +TEST_CASE ("Reshape_Int16_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeInt16Test(backends); + ReshapeInt16Test(); } -TEST_CASE ("Reshape_Float16_CpuRef_Test") +TEST_CASE ("Reshape_Float16_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeSimpleFloat16Test(backends); + ReshapeSimpleFloat16Test(); } -TEST_CASE ("Reshape_Simple_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_Simple_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeSimpleTest(backends, false); + ReshapeSimpleTest(false); } -TEST_CASE ("Reshape_ReduceDimension_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_ReduceDimension_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeReduceDimTest(backends, false); + ReshapeReduceDimTest(false); } -TEST_CASE ("Reshape_Flatten_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_Flatten_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeFlattenTest(backends, false); + ReshapeFlattenTest(false); } -TEST_CASE ("Reshape_FlattenAll_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_FlattenAll_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeFlattenAllTest(backends, false); + ReshapeFlattenAllTest(false); } -TEST_CASE ("Reshape_Int8_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_Int8_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeInt8Test(backends, false); + ReshapeInt8Test(false); } -TEST_CASE ("Reshape_Uint8_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_Uint8_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeUint8Test(backends, false); + ReshapeUint8Test(false); } -TEST_CASE ("Reshape_Int16_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_Int16_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeInt16Test(backends, false); + ReshapeInt16Test(false); } -TEST_CASE ("Reshape_Float16_ShapeTensor_CpuRef_Test") +TEST_CASE ("Reshape_Float16_ShapeTensor_Test") { - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; - ReshapeSimpleFloat16Test(backends, false); + ReshapeSimpleFloat16Test(false); } -} // TEST_SUITE("Reshape_CpuRefTests") +} // TEST_SUITE("ReshapeTests") } // namespace armnnDelegate
\ No newline at end of file |