diff options
author | Cathal Corbett <cathal.corbett@arm.com> | 2024-06-21 18:12:48 +0100 |
---|---|---|
committer | Cathal Corbett <cathal.corbett@arm.com> | 2024-06-27 14:02:33 +0000 |
commit | b0cb2686607478339c29aa9cef7a58cf010ae59a (patch) | |
tree | 6bd47ea9076a662c0771dd18f8a0a854bc106ad6 /src/backends/tosaReference | |
parent | 3604256857b1ea72972bc23c56b0254beeae865d (diff) | |
download | armnn-b0cb2686607478339c29aa9cef7a58cf010ae59a.tar.gz |
IVGCVSW-8445 Implement DepthwiseConvolution2d in TosaRef
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ib733b9fe1a5b6f47dc110c7bb96cbea9d656df0d
Diffstat (limited to 'src/backends/tosaReference')
-rw-r--r-- | src/backends/tosaReference/TosaRefLayerSupport.cpp | 13 | ||||
-rw-r--r-- | src/backends/tosaReference/test/TosaRefEndToEndTests.cpp | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/backends/tosaReference/TosaRefLayerSupport.cpp b/src/backends/tosaReference/TosaRefLayerSupport.cpp index dac06676bf..38fd01b93c 100644 --- a/src/backends/tosaReference/TosaRefLayerSupport.cpp +++ b/src/backends/tosaReference/TosaRefLayerSupport.cpp @@ -73,6 +73,19 @@ bool TosaRefLayerSupport::IsLayerSupported(const LayerType& type, } break; } + case LayerType::DepthwiseConvolution2d: + { + inputInfos.push_back(&infos[0]); // input + outputInfos.push_back(&infos[1]); // output + inputInfos.push_back(&infos[2]); // weights + + auto conv2dDesc = PolymorphicDowncast<const DepthwiseConvolution2dDescriptor*>(&descriptor); + if(conv2dDesc->m_BiasEnabled) + { + inputInfos.push_back(&infos[3]); // bias + } + break; + } case LayerType::ElementwiseUnary: case LayerType::Pooling2d: case LayerType::Quantize: diff --git a/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp b/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp index f86edd52f4..f5da79c04a 100644 --- a/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp +++ b/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp @@ -9,6 +9,7 @@ #include "backendsCommon/test/AdditionEndToEndTestImpl.hpp" #include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp" #include "backendsCommon/test/ConcatEndToEndTestImpl.hpp" +#include "backendsCommon/test/DepthwiseConvolution2dEndToEndTests.hpp" #include "backendsCommon/test/ElementwiseBinaryEndToEndTestImpl.hpp" #include "backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp" #include "backendsCommon/test/MultiplicationEndToEndTestImpl.hpp" @@ -129,6 +130,13 @@ TEST_CASE("TosaRefConv2dWithoutBiasEndtoEndTestInt8") armnn::DataType::Signed32>(tosaDefaultBackends, armnn::DataLayout::NHWC, false); } +// DepthwiseConv2d +TEST_CASE("TosaRefDepthwiseConv2dEndtoEndTestInt8") +{ + DepthwiseConvolution2dEndToEnd<armnn::DataType::QSymmS8, + armnn::DataType::Signed32>(tosaDefaultBackends, armnn::DataLayout::NHWC); +} + // Elementwise Binary //Add TEST_CASE("TosaRefAddEndtoEndTestInt32") |