diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2023-11-21 15:44:13 +0000 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2023-12-13 14:33:54 +0000 |
commit | ce65588484ed1e553bdebf24123a30b5575f1bce (patch) | |
tree | ba5229241cdeee6d9c6ed0c0db9ffbd510574b34 /src/backends/reference | |
parent | 1685bcca5dae227d90be62b36d66e9897298ce84 (diff) | |
download | armnn-ce65588484ed1e553bdebf24123a30b5575f1bce.tar.gz |
Add Resize Nearest Neighbour support to TOSA Reference Backend
* Add support for quantized data in TosaRefPreCompiledWorkloadGetOutput.
* Remove extra includes from all TOSA operators headers.
* Added positive and negative unit tests for resize.
* Resolves: IVGCVSW-7346
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ib6e30d018a7a1bf26b380fc794560aae108b26c3
Diffstat (limited to 'src/backends/reference')
-rw-r--r-- | src/backends/reference/RefLayerSupport.cpp | 3 | ||||
-rw-r--r-- | src/backends/reference/test/RefEndToEndTests.cpp | 41 |
2 files changed, 43 insertions, 1 deletions
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 2be227ae8f..40d243e10a 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -2381,13 +2381,14 @@ bool RefLayerSupport::IsResizeSupported(const TensorInfo& input, { IgnoreUnused(descriptor); bool supported = true; - std::array<DataType,6> supportedTypes = + std::array<DataType,7> supportedTypes = { DataType::BFloat16, DataType::Float32, DataType::Float16, DataType::QAsymmS8, DataType::QAsymmU8, + DataType::QSymmS8, DataType::QSymmS16 }; diff --git a/src/backends/reference/test/RefEndToEndTests.cpp b/src/backends/reference/test/RefEndToEndTests.cpp index 13995f5c6f..7e07c658fa 100644 --- a/src/backends/reference/test/RefEndToEndTests.cpp +++ b/src/backends/reference/test/RefEndToEndTests.cpp @@ -1274,6 +1274,11 @@ TEST_CASE("RefResizeBilinearEndToEndUint8NchwTest") ResizeBilinearEndToEnd<armnn::DataType::QAsymmU8>(defaultBackends, armnn::DataLayout::NCHW); } +TEST_CASE("RefResizeBilinearEndToEndInt8NchwTest") +{ + ResizeBilinearEndToEnd<armnn::DataType::QSymmS8>(defaultBackends, armnn::DataLayout::NCHW); +} + TEST_CASE("RefResizeBilinearEndToEndInt16NchwTest") { ResizeBilinearEndToEnd<armnn::DataType::QSymmS16>(defaultBackends, armnn::DataLayout::NCHW); @@ -1289,6 +1294,11 @@ TEST_CASE("RefResizeBilinearEndToEndUint8NhwcTest") ResizeBilinearEndToEnd<armnn::DataType::QAsymmU8>(defaultBackends, armnn::DataLayout::NHWC); } +TEST_CASE("RefResizeBilinearEndToEndInt8NhwcTest") +{ + ResizeBilinearEndToEnd<armnn::DataType::QSymmS8>(defaultBackends, armnn::DataLayout::NHWC); +} + TEST_CASE("RefResizeBilinearEndToEndInt16NhwcTest") { ResizeBilinearEndToEnd<armnn::DataType::QSymmS16>(defaultBackends, armnn::DataLayout::NHWC); @@ -1305,6 +1315,11 @@ TEST_CASE("RefResizeNearestNeighborEndToEndUint8NchwTest") ResizeNearestNeighborEndToEnd<armnn::DataType::QAsymmU8>(defaultBackends, armnn::DataLayout::NCHW); } +TEST_CASE("RefResizeNearestNeighborEndToEndInt8NchwTest") +{ + ResizeNearestNeighborEndToEnd<armnn::DataType::QAsymmS8>(defaultBackends, armnn::DataLayout::NCHW); +} + TEST_CASE("RefResizeNearestNeighborEndToEndInt16NchwTest") { ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS16>(defaultBackends, armnn::DataLayout::NCHW); @@ -1320,11 +1335,37 @@ TEST_CASE("RefResizeNearestNeighborEndToEndUint8NhwcTest") ResizeNearestNeighborEndToEnd<armnn::DataType::QAsymmU8>(defaultBackends, armnn::DataLayout::NHWC); } +TEST_CASE("RefResizeNearestNeighborEndToEndInt8NhwcTest") +{ + ResizeNearestNeighborEndToEnd<armnn::DataType::QAsymmS8>(defaultBackends, armnn::DataLayout::NHWC); +} + TEST_CASE("RefResizeNearestNeighborEndToEndInt16NhwcTest") { ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS16>(defaultBackends, armnn::DataLayout::NHWC); } +TEST_CASE("RefResizeNearestNeighborEndToEndFloatAlignCornersNhwcTest") +{ + ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(defaultBackends, armnn::DataLayout::NHWC, true, false); +} + +TEST_CASE("RefResizeNearestNeighborEndToEndFloatHalfPixelNhwcTest") +{ + ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(defaultBackends, armnn::DataLayout::NHWC, false, true); +} + +TEST_CASE("RefResizeNearestNeighborEndToEndInt8AlignCornersNhwcTest") +{ + ResizeNearestNeighborEndToEnd<armnn::DataType::QAsymmS8>(defaultBackends, armnn::DataLayout::NHWC, true, false); +} + +TEST_CASE("TosaRefResizeNearestNeighborEndToEndInt8HalfPixelNhwcTest") +{ + ResizeNearestNeighborEndToEnd<armnn::DataType::QSymmS8>(defaultBackends, armnn::DataLayout::NHWC, false, true); +} + + // ReverseV2 TEST_CASE("RefReverseV2EndToEndFloat16Test") { |