aboutsummaryrefslogtreecommitdiff
path: root/delegate
diff options
context:
space:
mode:
authorTianle Cheng <tianle.cheng@arm.com>2023-11-09 13:56:53 +0000
committerTianle Cheng <tianle.cheng@arm.com>2023-11-10 17:39:25 +0000
commit21a9f33338c60ae1cd955df220ce329918adcb8f (patch)
tree0c684061fbfa88257bafa532eeab74cc06365350 /delegate
parent37acf49013ece8a3490174a4bfc1803e6f23b956 (diff)
downloadarmnn-21a9f33338c60ae1cd955df220ce329918adcb8f.tar.gz
IVGCVSW-7835 Add ReverseV2 CL and Neon Workloads
* Added ReverseV2 to CL and Neon backends * Added Cl and Neon ReverseV2 Layer unit tests Signed-off-by: Tianle Cheng <tianle.cheng@arm.com> Change-Id: I646275c629caf17dac1950b0cd7083f23f87f387
Diffstat (limited to 'delegate')
-rw-r--r--delegate/test/ReverseV2Test.cpp278
1 files changed, 136 insertions, 142 deletions
diff --git a/delegate/test/ReverseV2Test.cpp b/delegate/test/ReverseV2Test.cpp
index b261474e99..430cf2c7c7 100644
--- a/delegate/test/ReverseV2Test.cpp
+++ b/delegate/test/ReverseV2Test.cpp
@@ -19,165 +19,159 @@
namespace armnnDelegate
{
- void ReverseV2Float32Test(std::vector<armnn::BackendId>& backends)
+void ReverseV2Float32Test(std::vector<armnn::BackendId>& backends)
+{
+ // Set input data
+ std::vector<float> inputValues =
{
- // Set input data
- std::vector<float> inputValues =
- {
- 1.0f, 2.0f, 3.0f,
- 4.0f, 5.0f, 6.0f,
- 7.0f, 8.0f, 9.0f,
-
- 11.0f, 12.0f, 13.0f,
- 14.0f, 15.0f, 16.0f,
- 17.0f, 18.0f, 19.0f,
-
- 21.0f, 22.0f, 23.0f,
- 24.0f, 25.0f, 26.0f,
- 27.0f, 28.0f, 29.0f
- };
-
- // The output data
- std::vector<float> expectedOutputValues =
- {
- 3.0f, 2.0f, 1.0f,
- 6.0f, 5.0f, 4.0f,
- 9.0f, 8.0f, 7.0f,
-
- 13.0f, 12.0f, 11.0f,
- 16.0f, 15.0f, 14.0f,
- 19.0f, 18.0f, 17.0f,
-
- 23.0f, 22.0f, 21.0f,
- 26.0f, 25.0f, 24.0f,
- 29.0f, 28.0f, 27.0f
- };
-
- // The axis to reverse
- const std::vector<int32_t> axisValues = {2};
-
- // Shapes
- const std::vector<int32_t> inputShape = {3, 3, 3};
- const std::vector<int32_t> axisShapeDims = {1};
- const std::vector<int32_t> expectedOutputShape = {3, 3, 3};
-
- ReverseV2FP32TestImpl(tflite::BuiltinOperator_REVERSE_V2,
- backends,
- inputValues,
- inputShape,
- axisValues,
- axisShapeDims,
- expectedOutputValues,
- expectedOutputShape);
- }
+ 1.0f, 2.0f, 3.0f,
+ 4.0f, 5.0f, 6.0f,
+ 7.0f, 8.0f, 9.0f,
- void ReverseV2NegativeAxisFloat32Test(std::vector<armnn::BackendId>& backends)
- {
- // Set input data
- std::vector<float> inputValues =
- {
- 1.0f, 2.0f, 3.0f,
- 4.0f, 5.0f, 6.0f,
- 7.0f, 8.0f, 9.0f,
-
- 11.0f, 12.0f, 13.0f,
- 14.0f, 15.0f, 16.0f,
- 17.0f, 18.0f, 19.0f,
-
- 21.0f, 22.0f, 23.0f,
- 24.0f, 25.0f, 26.0f,
- 27.0f, 28.0f, 29.0f
- };
-
- // The output data
- std::vector<float> expectedOutputValues =
- {
- 7.0f, 8.0f, 9.0f,
- 4.0f, 5.0f, 6.0f,
- 1.0f, 2.0f, 3.0f,
-
- 17.0f, 18.0f, 19.0f,
- 14.0f, 15.0f, 16.0f,
- 11.0f, 12.0f, 13.0f,
-
- 27.0f, 28.0f, 29.0f,
- 24.0f, 25.0f, 26.0f,
- 21.0f, 22.0f, 23.0f
- };
-
- // The axis to reverse
- const std::vector<int32_t> axisValues = {-2};
-
- // Shapes
- const std::vector<int32_t> inputShape = {3, 3, 3};
- const std::vector<int32_t> axisShapeDims = {1};
- const std::vector<int32_t> expectedOutputShape = {3, 3, 3};
-
- ReverseV2FP32TestImpl(tflite::BuiltinOperator_REVERSE_V2,
- backends,
- inputValues,
- inputShape,
- axisValues,
- axisShapeDims,
- expectedOutputValues,
- expectedOutputShape);
- }
+ 11.0f, 12.0f, 13.0f,
+ 14.0f, 15.0f, 16.0f,
+ 17.0f, 18.0f, 19.0f,
-#if defined(REVERSEV2_GPUACC)
- TEST_SUITE("ReverseV2Tests_GpuAccTests")
- {
+ 21.0f, 22.0f, 23.0f,
+ 24.0f, 25.0f, 26.0f,
+ 27.0f, 28.0f, 29.0f
+ };
- TEST_CASE ("ReverseV2_Float32_GpuAcc_Test")
- {
- std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
- ReverseV2Float32Test(backends);
- }
+ // The output data
+ std::vector<float> expectedOutputValues =
+ {
+ 3.0f, 2.0f, 1.0f,
+ 6.0f, 5.0f, 4.0f,
+ 9.0f, 8.0f, 7.0f,
+
+ 13.0f, 12.0f, 11.0f,
+ 16.0f, 15.0f, 14.0f,
+ 19.0f, 18.0f, 17.0f,
+
+ 23.0f, 22.0f, 21.0f,
+ 26.0f, 25.0f, 24.0f,
+ 29.0f, 28.0f, 27.0f
+ };
+
+ // The axis to reverse
+ const std::vector<int32_t> axisValues = {2};
+
+ // Shapes
+ const std::vector<int32_t> inputShape = {3, 3, 3};
+ const std::vector<int32_t> axisShapeDims = {1};
+ const std::vector<int32_t> expectedOutputShape = {3, 3, 3};
+
+ ReverseV2FP32TestImpl(tflite::BuiltinOperator_REVERSE_V2,
+ backends,
+ inputValues,
+ inputShape,
+ axisValues,
+ axisShapeDims,
+ expectedOutputValues,
+ expectedOutputShape);
+}
+
+void ReverseV2NegativeAxisFloat32Test(std::vector<armnn::BackendId>& backends)
+{
+ // Set input data
+ std::vector<float> inputValues =
+ {
+ 1.0f, 2.0f, 3.0f,
+ 4.0f, 5.0f, 6.0f,
+ 7.0f, 8.0f, 9.0f,
- TEST_CASE ("ReverseV2_NegativeAxis_Float32_GpuAcc_Test")
- {
- std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
- ReverseV2NegativeAxisFloat32Test(backends);
- }
+ 11.0f, 12.0f, 13.0f,
+ 14.0f, 15.0f, 16.0f,
+ 17.0f, 18.0f, 19.0f,
- } // TEST_SUITE("ReverseV2Tests_GpuAccTests")
-#endif
+ 21.0f, 22.0f, 23.0f,
+ 24.0f, 25.0f, 26.0f,
+ 27.0f, 28.0f, 29.0f
+ };
+ // The output data
+ std::vector<float> expectedOutputValues =
+ {
+ 7.0f, 8.0f, 9.0f,
+ 4.0f, 5.0f, 6.0f,
+ 1.0f, 2.0f, 3.0f,
+
+ 17.0f, 18.0f, 19.0f,
+ 14.0f, 15.0f, 16.0f,
+ 11.0f, 12.0f, 13.0f,
+
+ 27.0f, 28.0f, 29.0f,
+ 24.0f, 25.0f, 26.0f,
+ 21.0f, 22.0f, 23.0f
+ };
+
+ // The axis to reverse
+ const std::vector<int32_t> axisValues = {-2};
+
+ // Shapes
+ const std::vector<int32_t> inputShape = {3, 3, 3};
+ const std::vector<int32_t> axisShapeDims = {1};
+ const std::vector<int32_t> expectedOutputShape = {3, 3, 3};
+
+ ReverseV2FP32TestImpl(tflite::BuiltinOperator_REVERSE_V2,
+ backends,
+ inputValues,
+ inputShape,
+ axisValues,
+ axisShapeDims,
+ expectedOutputValues,
+ expectedOutputShape);
+}
+
+TEST_SUITE("ReverseV2Tests_GpuAccTests")
+{
-#if defined(REVERSEV2_CPUACC)
- TEST_SUITE("ReverseV2Tests_CpuAccTests")
+ TEST_CASE ("ReverseV2_Float32_GpuAcc_Test")
{
+ std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
+ ReverseV2Float32Test(backends);
+ }
- TEST_CASE ("ReverseV2_Float32_CpuAcc_Test")
- {
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
- ReverseV2Float32Test(backends);
- }
+ TEST_CASE ("ReverseV2_NegativeAxis_Float32_GpuAcc_Test")
+ {
+ std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
+ ReverseV2NegativeAxisFloat32Test(backends);
+ }
- TEST_CASE ("ReverseV2_NegativeAxis_Float32_CpuAcc_Test")
- {
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
- ReverseV2NegativeAxisFloat32Test(backends);
- }
+} // TEST_SUITE("ReverseV2Tests_GpuAccTests")
- } // TEST_SUITE("ReverseV2Tests_CpuAccTests")
-#endif
+TEST_SUITE("ReverseV2Tests_CpuAccTests")
+{
+ TEST_CASE ("ReverseV2_Float32_CpuAcc_Test")
+ {
+ std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
+ ReverseV2Float32Test(backends);
+ }
- TEST_SUITE("ReverseV2Tests_CpuRefTests")
+ TEST_CASE ("ReverseV2_NegativeAxis_Float32_CpuAcc_Test")
{
+ std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
+ ReverseV2NegativeAxisFloat32Test(backends);
+ }
+
+} // TEST_SUITE("ReverseV2Tests_CpuAccTests")
- TEST_CASE ("ReverseV2_Float32_CpuRef_Test")
- {
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
- ReverseV2Float32Test(backends);
- }
+TEST_SUITE("ReverseV2Tests_CpuRefTests")
+{
+
+ TEST_CASE ("ReverseV2_Float32_CpuRef_Test")
+ {
+ std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
+ ReverseV2Float32Test(backends);
+ }
- TEST_CASE ("ReverseV2_NegativeAxis_Float32_CpuRef_Test")
- {
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
- ReverseV2NegativeAxisFloat32Test(backends);
- }
+ TEST_CASE ("ReverseV2_NegativeAxis_Float32_CpuRef_Test")
+ {
+ std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
+ ReverseV2NegativeAxisFloat32Test(backends);
+ }
- } // TEST_SUITE("ReverseV2Tests_CpuRefTests")
+} // TEST_SUITE("ReverseV2Tests_CpuRefTests")
} // namespace armnnDelegate