diff options
Diffstat (limited to 'delegate/test/ReduceTest.cpp')
-rw-r--r-- | delegate/test/ReduceTest.cpp | 294 |
1 files changed, 34 insertions, 260 deletions
diff --git a/delegate/test/ReduceTest.cpp b/delegate/test/ReduceTest.cpp index f8606a8189..424f15ed64 100644 --- a/delegate/test/ReduceTest.cpp +++ b/delegate/test/ReduceTest.cpp @@ -1,22 +1,18 @@ // -// Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved. +// Copyright © 2021, 2023-2024 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "ReduceTestHelper.hpp" -#include <armnn_delegate.hpp> - -#include <flatbuffers/flatbuffers.h> - #include <doctest/doctest.h> namespace armnnDelegate { void ReduceUint8KeepDimsTest(tflite::BuiltinOperator reduceOperatorCode, - std::vector<armnn::BackendId>& backends, - std::vector<uint8_t>& expectedOutputValues) + std::vector<uint8_t>& expectedOutputValues, + const std::vector<armnn::BackendId>& backends = {}) { std::vector<int32_t> input0Shape { 1, 1, 2, 3 }; std::vector<int32_t> input1Shape { 1 }; @@ -28,19 +24,19 @@ void ReduceUint8KeepDimsTest(tflite::BuiltinOperator reduceOperatorCode, ReduceTest<uint8_t>(reduceOperatorCode, ::tflite::TensorType_UINT8, - backends, input0Shape, input1Shape, expectedOutputShape, input0Values, input1Values, expectedOutputValues, - true); + true, + backends); } void ReduceUint8Test(tflite::BuiltinOperator reduceOperatorCode, - std::vector<armnn::BackendId>& backends, - std::vector<uint8_t>& expectedOutputValues) + std::vector<uint8_t>& expectedOutputValues, + const std::vector<armnn::BackendId>& backends = {}) { std::vector<int32_t> input0Shape { 1, 1, 2, 3 }; std::vector<int32_t> input1Shape { 1 }; @@ -52,19 +48,19 @@ void ReduceUint8Test(tflite::BuiltinOperator reduceOperatorCode, ReduceTest<uint8_t>(reduceOperatorCode, ::tflite::TensorType_UINT8, - backends, input0Shape, input1Shape, expectedOutputShape, input0Values, input1Values, expectedOutputValues, - false); + false, + backends); } void ReduceFp32KeepDimsTest(tflite::BuiltinOperator reduceOperatorCode, - std::vector<armnn::BackendId>& backends, - std::vector<float>& expectedOutputValues) + std::vector<float>& expectedOutputValues, + const std::vector<armnn::BackendId>& backends = {}) { std::vector<int32_t> input0Shape { 1, 1, 2, 3 }; std::vector<int32_t> input1Shape { 1 }; @@ -76,19 +72,19 @@ void ReduceFp32KeepDimsTest(tflite::BuiltinOperator reduceOperatorCode, ReduceTest<float>(reduceOperatorCode, ::tflite::TensorType_FLOAT32, - backends, input0Shape, input1Shape, expectedOutputShape, input0Values, input1Values, expectedOutputValues, - true); + true, + backends); } void ReduceFp32Test(tflite::BuiltinOperator reduceOperatorCode, - std::vector<armnn::BackendId>& backends, - std::vector<float>& expectedOutputValues) + std::vector<float>& expectedOutputValues, + const std::vector<armnn::BackendId>& backends = {}) { std::vector<int32_t> input0Shape { 1, 1, 2, 3 }; std::vector<int32_t> input1Shape { 1 }; @@ -100,323 +96,101 @@ void ReduceFp32Test(tflite::BuiltinOperator reduceOperatorCode, ReduceTest<float>(reduceOperatorCode, ::tflite::TensorType_FLOAT32, - backends, input0Shape, input1Shape, expectedOutputShape, input0Values, input1Values, expectedOutputValues, - false); + false, + backends); } // REDUCE_MAX Tests -TEST_SUITE("ReduceMax_CpuRefTests") -{ - -TEST_CASE ("ReduceMax_Uint8_KeepDims_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<uint8_t> expectedOutputValues { 4, 3, 3 }; - ReduceUint8KeepDimsTest(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -TEST_CASE ("ReduceMax_Uint8_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<uint8_t> expectedOutputValues { 4, 3, 3 }; - ReduceUint8Test(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -TEST_CASE ("ReduceMax_Fp32_KeepDims_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<float> expectedOutputValues { 1001.0f, 1002.0f, 1003.0f }; - ReduceFp32KeepDimsTest(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -TEST_CASE ("ReduceMax_Fp32_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<float> expectedOutputValues { 1001.0f, 1002.0f, 1003.0f }; - ReduceFp32Test(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -} // End of ReduceMax_CpuRefTests - -TEST_SUITE("ReduceMax_CpuAccTests") -{ - -TEST_CASE ("ReduceMax_Uint8_KeepDims_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<uint8_t> expectedOutputValues { 4, 3, 3 }; - ReduceUint8KeepDimsTest(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -TEST_CASE ("ReduceMax_Uint8_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<uint8_t> expectedOutputValues { 4, 3, 3 }; - ReduceUint8Test(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - - -TEST_CASE ("ReduceMax_Fp32_KeepDims_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<float> expectedOutputValues { 1001.0f, 1002.0f, 1003.0f }; - ReduceFp32KeepDimsTest(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -TEST_CASE ("ReduceMax_Fp32_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<float> expectedOutputValues { 1001.0f, 1002.0f, 1003.0f }; - ReduceFp32Test(tflite::BuiltinOperator_REDUCE_MAX, - backends, - expectedOutputValues); -} - -} // End of ReduceMax_CpuAccTests - -TEST_SUITE("ReduceMax_GpuAccTests") +TEST_SUITE("ReduceMaxTests") { -TEST_CASE ("ReduceMax_Uint8_KeepDims_GpuAcc_Test") +TEST_CASE ("ReduceMax_Uint8_KeepDims_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<uint8_t> expectedOutputValues { 4, 3, 3 }; ReduceUint8KeepDimsTest(tflite::BuiltinOperator_REDUCE_MAX, - backends, expectedOutputValues); } -TEST_CASE ("ReduceMax_Uint8_GpuAcc_Test") +TEST_CASE ("ReduceMax_Uint8_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<uint8_t> expectedOutputValues { 4, 3, 3 }; ReduceUint8Test(tflite::BuiltinOperator_REDUCE_MAX, - backends, expectedOutputValues); } - -TEST_CASE ("ReduceMax_Fp32_KeepDims_GpuAcc_Test") +TEST_CASE ("ReduceMax_Fp32_KeepDims_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<float> expectedOutputValues { 1001.0f, 1002.0f, 1003.0f }; ReduceFp32KeepDimsTest(tflite::BuiltinOperator_REDUCE_MAX, - backends, expectedOutputValues); } -TEST_CASE ("ReduceMax_Fp32_GpuAcc_Test") +TEST_CASE ("ReduceMax_Fp32_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<float> expectedOutputValues { 1001.0f, 1002.0f, 1003.0f }; ReduceFp32Test(tflite::BuiltinOperator_REDUCE_MAX, - backends, expectedOutputValues); } -} // End of ReduceMax_GpuAccTests +} // End of ReduceMaxTests // REDUCE_MIN Tests -TEST_SUITE("ReduceMin_CpuRefTests") -{ - -TEST_CASE ("ReduceMin_Fp32_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<float> expectedOutputValues { 10.0f, 11.0f, 12.0f }; - ReduceFp32Test(tflite::BuiltinOperator_REDUCE_MIN, - backends, - expectedOutputValues); -} - -} // End of ReduceMin_CpuRefTests - -TEST_SUITE("ReduceMin_CpuAccTests") -{ - -TEST_CASE ("ReduceMin_Fp32_CpuAcc_Test") +TEST_SUITE("ReduceMinTests") { - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<float> expectedOutputValues { 10.0f, 11.0f, 12.0f }; - ReduceFp32Test(tflite::BuiltinOperator_REDUCE_MIN, - backends, - expectedOutputValues); -} -} // End of ReduceMin_CpuAccTests - -TEST_SUITE("ReduceMin_GpuAccTests") -{ - -TEST_CASE ("ReduceMin_Fp32_GpuAcc_Test") +TEST_CASE ("ReduceMin_Fp32_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<float> expectedOutputValues { 10.0f, 11.0f, 12.0f }; ReduceFp32Test(tflite::BuiltinOperator_REDUCE_MIN, - backends, expectedOutputValues); } -} // End of ReduceMin_GpuAccTests +} // End of ReduceMinTests // SUM Tests -TEST_SUITE("Sum_CpuRefTests") -{ - -TEST_CASE ("Sum_Uint8_KeepDims_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<uint8_t> expectedOutputValues { 5, 5, 4 }; - ReduceUint8KeepDimsTest(tflite::BuiltinOperator_SUM, - backends, - expectedOutputValues); -} - -TEST_CASE ("Sum_Fp32_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<float> expectedOutputValues { 1011.0f, 1013.0f, 1015.0f }; - ReduceFp32Test(tflite::BuiltinOperator_SUM, - backends, - expectedOutputValues); -} - -} // End of Sum_CpuRefTests - -TEST_SUITE("Sum_CpuAccTests") -{ - -TEST_CASE ("Sum_Uint8_KeepDims_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<uint8_t> expectedOutputValues { 5, 5, 4 }; - ReduceUint8KeepDimsTest(tflite::BuiltinOperator_SUM, - backends, - expectedOutputValues); -} - -TEST_CASE ("Sum_Fp32_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<float> expectedOutputValues { 1011.0f, 1013.0f, 1015.0f }; - ReduceFp32Test(tflite::BuiltinOperator_SUM, - backends, - expectedOutputValues); -} - -} // End of Sum_CpuAccTests - -TEST_SUITE("Sum_GpuAccTests") +TEST_SUITE("SumTests") { -TEST_CASE ("Sum_Uint8_KeepDims_GpuAcc_Test") +TEST_CASE ("Sum_Uint8_KeepDims_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<uint8_t> expectedOutputValues { 5, 5, 4 }; ReduceUint8KeepDimsTest(tflite::BuiltinOperator_SUM, - backends, expectedOutputValues); } -TEST_CASE ("Sum_Fp32_GpuAcc_Test") +TEST_CASE ("Sum_Fp32_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<float> expectedOutputValues { 1011.0f, 1013.0f, 1015.0f }; ReduceFp32Test(tflite::BuiltinOperator_SUM, - backends, expectedOutputValues); } -} // End of Sum_GpuAccTests +} // End of SumTests // PROD Tests -TEST_SUITE("Prod_CpuRefTests") -{ - -TEST_CASE ("Prod_Uint8_KeepDims_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<uint8_t> expectedOutputValues { 4, 6, 3 }; - ReduceUint8KeepDimsTest(tflite::BuiltinOperator_REDUCE_PROD, - backends, - expectedOutputValues); -} - -TEST_CASE ("Prod_Fp32_CpuRef_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef}; - std::vector<float> expectedOutputValues { 10010.0f, 11022.0f, 12036.0f }; - ReduceFp32Test(tflite::BuiltinOperator_REDUCE_PROD, - backends, - expectedOutputValues); -} - -} // End of Prod_CpuRefTests - -TEST_SUITE("Prod_CpuAccTests") -{ - -TEST_CASE ("Prod_Uint8_KeepDims_CpuAcc_Test" ) -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<uint8_t> expectedOutputValues { 4, 6, 3 }; - ReduceUint8KeepDimsTest(tflite::BuiltinOperator_REDUCE_PROD, - backends, - expectedOutputValues); -} - -TEST_CASE ("Prod_Fp32_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc}; - std::vector<float> expectedOutputValues { 10010.0f, 11022.0f, 12036.0f }; - ReduceFp32Test(tflite::BuiltinOperator_REDUCE_PROD, - backends, - expectedOutputValues); -} - -} // End of Prod_CpuAccTests - -TEST_SUITE("Prod_GpuAccTests") +TEST_SUITE("ProdTests") { -TEST_CASE ("Prod_Uint8_KeepDims_GpuAcc_Test") +TEST_CASE ("Prod_Uint8_KeepDims_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<uint8_t> expectedOutputValues { 4, 6, 3 }; ReduceUint8KeepDimsTest(tflite::BuiltinOperator_REDUCE_PROD, - backends, expectedOutputValues); } -TEST_CASE ("Prod_Fp32_GpuAcc_Test") +TEST_CASE ("Prod_Fp32_Test") { - std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc}; std::vector<float> expectedOutputValues { 10010.0f, 11022.0f, 12036.0f }; ReduceFp32Test(tflite::BuiltinOperator_REDUCE_PROD, - backends, expectedOutputValues); } -} // End of Prod_GpuAccTests +} // End of ProdTests } // namespace armnnDelegate
\ No newline at end of file |