diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2021-03-25 07:46:55 +0000 |
---|---|---|
committer | Sadik Armagan <sadik.armagan@arm.com> | 2021-03-25 07:46:55 +0000 |
commit | f0a6dec75832604d5ab18242dc216852821a8279 (patch) | |
tree | ff25e64c62c63975a54abd16a8bff744be70d7c0 /delegate/src/test/FullyConnectedTest.cpp | |
parent | 16fb1a2d9c1d3d80c0f0b6ab549919fbabd2a0b9 (diff) | |
download | armnn-f0a6dec75832604d5ab18242dc216852821a8279.tar.gz |
IVGCVSW-5736 and IVGCVSW-5743 'NonConstWeights: Update front-end and TfLiteDelegate support for FullyConnected Operator'
* Added front-end support for non-const weights for FULLY_CONNECTED operator
* Added FULLY_CONNECTED end-to-end test
* Updated FULLY_CONNECTED operator support in TfLite Arm NN Delegate for non-const weights
* Updated the version numbers
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Iffa5b9aa9297aca4c02d923cce4636c88ac21faa
Diffstat (limited to 'delegate/src/test/FullyConnectedTest.cpp')
-rw-r--r-- | delegate/src/test/FullyConnectedTest.cpp | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/delegate/src/test/FullyConnectedTest.cpp b/delegate/src/test/FullyConnectedTest.cpp index 018f7f5190..3bea250988 100644 --- a/delegate/src/test/FullyConnectedTest.cpp +++ b/delegate/src/test/FullyConnectedTest.cpp @@ -8,7 +8,7 @@ namespace { -void FullyConnectedFp32Test(std::vector<armnn::BackendId>& backends) +void FullyConnectedFp32Test(std::vector<armnn::BackendId>& backends, bool constantWeights = true) { std::vector<int32_t> inputTensorShape { 1, 4, 1, 1 }; std::vector<int32_t> weightsTensorShape { 1, 4 }; @@ -30,10 +30,11 @@ void FullyConnectedFp32Test(std::vector<armnn::BackendId>& backends) outputTensorShape, inputValues, expectedOutputValues, - weightsData); + weightsData, + constantWeights); } -void FullyConnectedActicationTest(std::vector<armnn::BackendId>& backends) +void FullyConnectedActicationTest(std::vector<armnn::BackendId>& backends, bool constantWeights = true) { std::vector<int32_t> inputTensorShape { 1, 4, 1, 1 }; std::vector<int32_t> weightsTensorShape { 1, 4 }; @@ -55,10 +56,11 @@ void FullyConnectedActicationTest(std::vector<armnn::BackendId>& backends) outputTensorShape, inputValues, expectedOutputValues, - weightsData); + weightsData, + constantWeights); } -void FullyConnectedInt8Test(std::vector<armnn::BackendId>& backends) +void FullyConnectedInt8Test(std::vector<armnn::BackendId>& backends, bool constantWeights = true) { std::vector<int32_t> inputTensorShape { 1, 4, 2, 1 }; std::vector<int32_t> weightsTensorShape { 1, 4 }; @@ -82,7 +84,8 @@ void FullyConnectedInt8Test(std::vector<armnn::BackendId>& backends) outputTensorShape, inputValues, expectedOutputValues, - weightsData); + weightsData, + constantWeights); } TEST_SUITE("FullyConnected_GpuAccTests") @@ -152,6 +155,24 @@ TEST_CASE ("FullyConnected_Activation_CpuRef_Test") FullyConnectedActicationTest(backends); } +TEST_CASE ("FullyConnected_Weights_As_Inputs_FP32_CpuRef_Test") +{ + std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; + FullyConnectedFp32Test(backends, false); +} + +TEST_CASE ("FullyConnected_Weights_As_Inputs_Int8_CpuRef_Test") +{ + std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; + FullyConnectedInt8Test(backends, false); +} + +TEST_CASE ("FullyConnected_Weights_As_Inputs_Activation_CpuRef_Test") +{ + std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef }; + FullyConnectedActicationTest(backends, false); +} + } // End of TEST_SUITE("FullyConnected_CpuRefTests") } // anonymous namespace
\ No newline at end of file |