diff options
author | Kevin May <kevin.may@arm.com> | 2022-12-15 10:15:21 +0000 |
---|---|---|
committer | Teresa Charlin <teresa.charlinreyes@arm.com> | 2022-12-15 17:16:12 +0000 |
commit | 5b58e31109f661f70331048e22f8a66934e74d15 (patch) | |
tree | 7ad8f88bf7427a1dd2622b53fcd0b4b8632ee34e /src/backends/tosaReference/test | |
parent | 3fbad94012ee6b1c6ec8e93d760619b15d98c464 (diff) | |
download | armnn-5b58e31109f661f70331048e22f8a66934e74d15.tar.gz |
IVGCVSW-7170 Add Concat support to TOSA Reference Backend
* Change comment for the unique tensor names in all tosa common operators
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I247b4b2365d5f0173218c5dfd11fba12d2399959
Diffstat (limited to 'src/backends/tosaReference/test')
-rw-r--r-- | src/backends/tosaReference/test/TosaRefEndToEndTests.cpp | 42 | ||||
-rw-r--r-- | src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp | 52 |
2 files changed, 94 insertions, 0 deletions
diff --git a/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp b/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp index 49f2cb7319..a377293fbf 100644 --- a/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp +++ b/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp @@ -7,6 +7,7 @@ #include "backendsCommon/test/AdditionEndToEndTestImpl.hpp" #include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp" +#include "backendsCommon/test/ConcatEndToEndTestImpl.hpp" #include "backendsCommon/test/Pooling2dEndToEndTestImpl.hpp" #include "backendsCommon/test/ReshapeEndToEndTestImpl.hpp" #include "backendsCommon/test/SliceEndToEndTestImpl.hpp" @@ -34,6 +35,47 @@ TEST_CASE("TosaRefAdditionEndtoEndTestFloat16") AdditionEndToEndFloat16<DataType::Float16>(tosaDefaultBackends); } +// Concat +TEST_CASE("TosaRefConcatEndToEndDim0TestFloat32") +{ + ConcatDim0EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim0TestInt32") +{ + ConcatDim0EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim1TestFloat32") +{ + ConcatDim1EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim1TestInt32") +{ + ConcatDim1EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim2TestFloat32") +{ + ConcatDim2EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim2TestInt32") +{ + ConcatDim2EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim3TestFloat32") +{ + ConcatDim3EndToEnd<armnn::DataType::Float32>(tosaDefaultBackends); +} + +TEST_CASE("TosaRefConcatEndToEndDim3TestInt32") +{ + ConcatDim3EndToEnd<armnn::DataType::Signed32>(tosaDefaultBackends); +} + // Conv2d TEST_CASE("TosaRefConv2dEndtoEndTestFloat32") { diff --git a/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp b/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp index 3c3abc2af3..051965f541 100644 --- a/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp +++ b/src/backends/tosaReference/test/TosaRefLayerSupportTests.cpp @@ -61,6 +61,58 @@ TEST_CASE("IsLayerSupportedTosaReferenceAdditionUnsupported") CHECK(!supported); } +TEST_CASE("IsLayerSupportedTosaReferenceConcat") +{ + TensorShape input0Shape = { 2, 3, 2, 2 }; + TensorShape input1Shape = { 2, 3, 2, 2 }; + TensorShape outputShape = { 2, 6, 2, 2 }; + TensorInfo input0Info(input0Shape, DataType::Float32); + TensorInfo input1Info(input1Shape, DataType::Float32); + TensorInfo outputInfo(outputShape, DataType::Float32); + + OriginsDescriptor descriptor; + std::vector<TensorShape> shapes = {input0Shape, input1Shape} ; + unsigned int concatAxis = 1; + descriptor = CreateDescriptorForConcatenation(shapes.begin(), shapes.end(), concatAxis); + + TosaRefLayerSupport supportChecker; + std::string reasonIfNotSupported; + auto supported = supportChecker.IsLayerSupported(LayerType::Concat, + {input0Info, input1Info, outputInfo}, + descriptor, + EmptyOptional(), + EmptyOptional(), + reasonIfNotSupported); + + CHECK(supported); +} + +TEST_CASE("IsLayerSupportedTosaReferenceConcatUnsupported") +{ + TensorShape input0Shape = { 2, 3, 2, 2 }; + TensorShape input1Shape = { 2, 3, 2, 2 }; + TensorShape outputShape = { 2, 6, 2, 2 }; + TensorInfo input0Info(input0Shape, armnn::DataType::QAsymmU8); + TensorInfo input1Info(input1Shape, armnn::DataType::QAsymmU8); + TensorInfo outputInfo(outputShape, armnn::DataType::QAsymmU8); + + OriginsDescriptor descriptor; + std::vector<armnn::TensorShape> shapes = {input0Shape, input1Shape} ; + unsigned int concatAxis = 1; + descriptor = armnn::CreateDescriptorForConcatenation(shapes.begin(), shapes.end(), concatAxis); + + TosaRefLayerSupport supportChecker; + std::string reasonIfNotSupported; + auto supported = supportChecker.IsLayerSupported(LayerType::Concat, + {input0Info, input1Info, outputInfo}, + descriptor, + EmptyOptional(), + EmptyOptional(), + reasonIfNotSupported); + + CHECK(!supported); +} + TEST_CASE("IsLayerSupportedTosaReferenceConstant") { TensorInfo outputInfo({1,1,3,4}, DataType::Float32); |