aboutsummaryrefslogtreecommitdiff
path: root/delegate/test/FullyConnectedTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'delegate/test/FullyConnectedTest.cpp')
-rw-r--r--delegate/test/FullyConnectedTest.cpp103
1 files changed, 28 insertions, 75 deletions
diff --git a/delegate/test/FullyConnectedTest.cpp b/delegate/test/FullyConnectedTest.cpp
index 3ef5cedbd7..38669a68ac 100644
--- a/delegate/test/FullyConnectedTest.cpp
+++ b/delegate/test/FullyConnectedTest.cpp
@@ -1,14 +1,16 @@
//
-// Copyright © 2020-2021,2023 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2020-2021,2023-2024 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#include "FullyConnectedTestHelper.hpp"
+#include <doctest/doctest.h>
+
namespace
{
-void FullyConnectedFp32Test(std::vector<armnn::BackendId>& backends, bool constantWeights = true)
+void FullyConnectedFp32Test(const std::vector<armnn::BackendId>& backends = {}, bool constantWeights = true)
{
std::vector<int32_t> inputTensorShape { 1, 4, 1, 1 };
std::vector<int32_t> weightsTensorShape { 1, 4 };
@@ -21,8 +23,7 @@ void FullyConnectedFp32Test(std::vector<armnn::BackendId>& backends, bool consta
std::vector<float> expectedOutputValues = { (400 + 10) };
// bias is set std::vector<float> biasData = { 10 } in the model
- FullyConnectedTest<float>(backends,
- ::tflite::TensorType_FLOAT32,
+ FullyConnectedTest<float>(::tflite::TensorType_FLOAT32,
tflite::ActivationFunctionType_NONE,
inputTensorShape,
weightsTensorShape,
@@ -31,10 +32,11 @@ void FullyConnectedFp32Test(std::vector<armnn::BackendId>& backends, bool consta
inputValues,
expectedOutputValues,
weightsData,
+ backends,
constantWeights);
}
-void FullyConnectedActivationTest(std::vector<armnn::BackendId>& backends, bool constantWeights = true)
+void FullyConnectedActivationTest(const std::vector<armnn::BackendId>& backends = {}, bool constantWeights = true)
{
std::vector<int32_t> inputTensorShape { 1, 4, 1, 1 };
std::vector<int32_t> weightsTensorShape { 1, 4 };
@@ -47,8 +49,7 @@ void FullyConnectedActivationTest(std::vector<armnn::BackendId>& backends, bool
std::vector<float> expectedOutputValues = { 0 };
// bias is set std::vector<float> biasData = { 10 } in the model
- FullyConnectedTest<float>(backends,
- ::tflite::TensorType_FLOAT32,
+ FullyConnectedTest<float>(::tflite::TensorType_FLOAT32,
tflite::ActivationFunctionType_RELU,
inputTensorShape,
weightsTensorShape,
@@ -57,10 +58,11 @@ void FullyConnectedActivationTest(std::vector<armnn::BackendId>& backends, bool
inputValues,
expectedOutputValues,
weightsData,
+ backends,
constantWeights);
}
-void FullyConnectedInt8Test(std::vector<armnn::BackendId>& backends, bool constantWeights = true)
+void FullyConnectedInt8Test(const std::vector<armnn::BackendId>& backends = {}, bool constantWeights = true)
{
std::vector<int32_t> inputTensorShape { 1, 4, 2, 1 };
std::vector<int32_t> weightsTensorShape { 1, 4 };
@@ -75,104 +77,55 @@ void FullyConnectedInt8Test(std::vector<armnn::BackendId>& backends, bool consta
// bias is set std::vector<int32_t> biasData = { 10 } in the model
// input and weights quantization scale 1.0f and offset 0 in the model
// output quantization scale 2.0f and offset 0 in the model
- FullyConnectedTest<int8_t>(backends,
- ::tflite::TensorType_INT8,
- tflite::ActivationFunctionType_NONE,
+ FullyConnectedTest<int8_t>(::tflite::TensorType_INT8,
+ tflite::ActivationFunctionType_NONE,
inputTensorShape,
weightsTensorShape,
biasTensorShape,
- outputTensorShape,
- inputValues,
- expectedOutputValues,
- weightsData,
+ outputTensorShape,
+ inputValues,
+ expectedOutputValues,
+ weightsData,
+ backends,
constantWeights);
}
-TEST_SUITE("FullyConnected_GpuAccTests")
-{
-
-TEST_CASE ("FullyConnected_FP32_GpuAcc_Test")
-{
- std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
- FullyConnectedFp32Test(backends);
-}
-
-TEST_CASE ("FullyConnected_Int8_GpuAcc_Test")
-{
- std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
- FullyConnectedInt8Test(backends);
-}
-
-TEST_CASE ("FullyConnected_Activation_GpuAcc_Test")
-{
- std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
- FullyConnectedActivationTest(backends);
-}
-
-} // End of TEST_SUITE("FullyConnected_GpuAccTests")
-
-TEST_SUITE("FullyConnected_CpuAccTests")
-{
-
-TEST_CASE ("FullyConnected_FP32_CpuAcc_Test")
-{
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
- FullyConnectedFp32Test(backends);
-}
-
-TEST_CASE ("FullyConnected_Int8_CpuAcc_Test")
-{
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
- FullyConnectedInt8Test(backends);
-}
-
-TEST_CASE ("FullyConnected_Activation_CpuAcc_Test")
-{
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
- FullyConnectedActivationTest(backends);
-}
-
-} // End of TEST_SUITE("FullyConnected_CpuAccTests")
-
-TEST_SUITE("FullyConnected_CpuRefTests")
+TEST_SUITE("FullyConnectedTests")
{
-TEST_CASE ("FullyConnected_FP32_CpuRef_Test")
+TEST_CASE ("FullyConnected_FP32_Test")
{
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
- FullyConnectedFp32Test(backends);
+ FullyConnectedFp32Test();
}
-TEST_CASE ("FullyConnected_Int8_CpuRef_Test")
+TEST_CASE ("FullyConnected_Int8_Test")
{
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
- FullyConnectedInt8Test(backends);
+ FullyConnectedInt8Test();
}
-TEST_CASE ("FullyConnected_Activation_CpuRef_Test")
+TEST_CASE ("FullyConnected_Activation_Test")
{
- std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
- FullyConnectedActivationTest(backends);
+ FullyConnectedActivationTest();
}
-TEST_CASE ("FullyConnected_Weights_As_Inputs_FP32_CpuRef_Test")
+TEST_CASE ("FullyConnected_Weights_As_Inputs_FP32_Test")
{
std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
FullyConnectedFp32Test(backends, false);
}
-TEST_CASE ("FullyConnected_Weights_As_Inputs_Int8_CpuRef_Test")
+TEST_CASE ("FullyConnected_Weights_As_Inputs_Int8_Test")
{
std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
FullyConnectedInt8Test(backends, false);
}
-TEST_CASE ("FullyConnected_Weights_As_Inputs_Activation_CpuRef_Test")
+TEST_CASE ("FullyConnected_Weights_As_Inputs_Activation_Test")
{
std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
FullyConnectedActivationTest(backends, false);
}
-} // End of TEST_SUITE("FullyConnected_CpuRefTests")
+} // End of TEST_SUITE("FullyConnectedTests")
} // anonymous namespace \ No newline at end of file