blob: 1bf934488354dcb2fd52c77c93a18c0d1669f995 [file] [log] [blame]
Aron Virginas-Tar70104002018-10-24 15:33:28 +01001//
Tracy Narinee7d27852024-01-26 09:13:19 +00002// Copyright © 2017-2024 Arm Ltd and Contributors. All rights reserved.
Aron Virginas-Tar70104002018-10-24 15:33:28 +01003// SPDX-License-Identifier: MIT
4//
5
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00006#include <backendsCommon/test/EndToEndTestImpl.hpp>
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +01007
Jan Eilersbca73e12020-03-11 12:52:46 +00008#include <backendsCommon/test/ActivationEndToEndTestImpl.hpp>
Ryan OShea3c2795a2022-11-03 17:51:52 +00009#include <backendsCommon/test/AdditionEndToEndTestImpl.hpp>
James Conroy68a4dbc2019-11-13 15:35:59 +000010#include <backendsCommon/test/ArgMinMaxEndToEndTestImpl.hpp>
Teresa Charlina38da592022-10-31 22:09:23 +000011#include <backendsCommon/test/BatchMatMulEndToEndTestImpl.hpp>
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010012#include <backendsCommon/test/ComparisonEndToEndTestImpl.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010013#include <backendsCommon/test/ConcatEndToEndTestImpl.hpp>
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010014#include <backendsCommon/test/DepthToSpaceEndToEndTestImpl.hpp>
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +010015#include <backendsCommon/test/DequantizeEndToEndTestImpl.hpp>
Derek Lamberti6a5e5e82019-12-05 14:41:20 +000016#include <backendsCommon/test/DetectionPostProcessEndToEndTestImpl.hpp>
John Mcloughlin34c1c382023-05-17 15:08:36 +010017#include <backendsCommon/test/ElementwiseBinaryEndToEndTestImpl.hpp>
josh minor4a3c6102020-01-06 16:40:46 -060018#include <backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp>
Teresa Charlin44088502020-07-27 11:27:19 +010019#include <backendsCommon/test/FillEndToEndTestImpl.hpp>
Sadik Armagan062e0e92019-10-14 10:31:43 +010020#include <backendsCommon/test/InstanceNormalizationEndToEndTestImpl.hpp>
Teresa Charlina52bca22024-02-01 17:36:48 +000021#include "backendsCommon/test/Pooling2dEndToEndTestImpl.hpp"
Nikhil Raj1c8adac2019-07-22 11:27:29 +010022#include <backendsCommon/test/PreluEndToEndTestImpl.hpp>
James Conroy0800bf52020-05-14 12:46:44 +010023#include <backendsCommon/test/QLstmEndToEndTestImpl.hpp>
Francis Murtaghb3fc2522019-08-09 13:20:50 +010024#include <backendsCommon/test/QuantizedLstmEndToEndTestImpl.hpp>
Teresa Charlinc17a35f2023-01-12 14:13:09 +000025#include <backendsCommon/test/ReduceEndToEndTestImpl.hpp>
26#include <backendsCommon/test/ReshapeEndToEndTestImpl.hpp>
Teresa Charlin28658bc2023-12-19 15:49:31 +000027#include <backendsCommon/test/ResizeEndToEndTestImpl.hpp>
Tianle Cheng21a9f332023-11-09 13:56:53 +000028#include <backendsCommon/test/ReverseV2EndToEndTestImpl.hpp>
Ryan OShea980446b2023-06-08 16:23:28 +010029#include <backendsCommon/test/SliceEndToEndTestImpl.hpp>
Ellen Norris-Thompson29794572019-06-26 16:40:36 +010030#include <backendsCommon/test/SpaceToDepthEndToEndTestImpl.hpp>
Narumol Prangnawarat0be43382019-05-27 11:29:59 +010031#include <backendsCommon/test/SplitterEndToEndTestImpl.hpp>
Mike Kelly4cc341c2023-07-07 15:43:06 +010032#include <backendsCommon/test/SubgraphUtilsTest.hpp>
David Monahan36e6eae2023-07-26 18:37:45 +010033#include <backendsCommon/test/TileEndToEndTestImpl.hpp>
Sadik Armagan581742d2019-08-12 14:11:37 +010034#include <backendsCommon/test/TransposeConvolution2dEndToEndTestImpl.hpp>
Teresa Charlin6bc85252022-12-06 20:43:06 +000035#include <backendsCommon/test/TransposeEndToEndTestImpl.hpp>
Aron Virginas-Tar70104002018-10-24 15:33:28 +010036
Sadik Armagan1625efc2021-06-10 18:24:34 +010037#include <doctest/doctest.h>
Aron Virginas-Tar70104002018-10-24 15:33:28 +010038
Sadik Armagan1625efc2021-06-10 18:24:34 +010039TEST_SUITE("NeonEndToEnd")
40{
41std::vector<armnn::BackendId> neonDefaultBackends = {armnn::Compute::CpuAcc};
narpra01b9546cf2018-11-20 15:21:28 +000042
David Monahand7fca092023-01-12 14:53:34 +000043// ElementwiseUnary
Aron Virginas-Tar914e4db2019-09-09 13:36:45 +010044// Abs
Sadik Armagan1625efc2021-06-10 18:24:34 +010045TEST_CASE("NeonAbsEndToEndTestFloat32")
Aron Virginas-Tar914e4db2019-09-09 13:36:45 +010046{
Sadik Armagan1625efc2021-06-10 18:24:34 +010047 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(neonDefaultBackends,
David Monahand7fca092023-01-12 14:53:34 +000048 UnaryOperation::Abs);
49}
50// Rsqrt
51TEST_CASE("NeonRsqrtEndToEndTestFloat32")
52{
53 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(neonDefaultBackends,
54 UnaryOperation::Rsqrt);
Aron Virginas-Tar914e4db2019-09-09 13:36:45 +010055}
56
57// Constant
Sadik Armagan1625efc2021-06-10 18:24:34 +010058TEST_CASE("ConstantUsage_Neon_Float32")
Aron Virginas-Tar70104002018-10-24 15:33:28 +010059{
Sadik Armagan1625efc2021-06-10 18:24:34 +010060 CHECK(ConstantUsageFloat32Test(neonDefaultBackends));
Aron Virginas-Tar70104002018-10-24 15:33:28 +010061}
62
Matteo Martincighdb16dd32019-08-27 16:41:11 +010063#if defined(ARMNNREF_ENABLED)
Matteo Martincighe67edb22019-08-14 14:05:46 +010064
65// This test unit needs the reference backend, it's not available if the reference backend is not built
66
Sadik Armagan1625efc2021-06-10 18:24:34 +010067TEST_CASE("FallbackToCpuRef")
Aron Virginas-Tar70104002018-10-24 15:33:28 +010068{
69 using namespace armnn;
70
71 // Create runtime in which test will run and allow fallback to CpuRef.
72 IRuntime::CreationOptions options;
73 IRuntimePtr runtime(IRuntime::Create(options));
74
75 // Builds up the structure of the network.
76 INetworkPtr net(INetwork::Create());
77
78 IConnectableLayer* input = net->AddInputLayer(0);
79
80 // This layer configuration isn't supported by CpuAcc but we allow fallback to CpuRef so it shoud pass.
81 NormalizationDescriptor descriptor;
82 IConnectableLayer* pooling = net->AddNormalizationLayer(descriptor);
83
84 IConnectableLayer* output = net->AddOutputLayer(0);
85
86 input->GetOutputSlot(0).Connect(pooling->GetInputSlot(0));
87 pooling->GetOutputSlot(0).Connect(output->GetInputSlot(0));
88
89 input->GetOutputSlot(0).SetTensorInfo(TensorInfo({ 1, 1, 4, 4 }, DataType::Float32));
90 pooling->GetOutputSlot(0).SetTensorInfo(TensorInfo({ 1, 1, 4, 4 }, DataType::Float32));
91
92 // optimize the network
93 std::vector<BackendId> backends = {Compute::CpuAcc, Compute::CpuRef};
94 IOptimizedNetworkPtr optNet = Optimize(*net, backends, runtime->GetDeviceSpec());
95
96 // Load it into the runtime. It should pass.
97 NetworkId netId;
Sadik Armagan1625efc2021-06-10 18:24:34 +010098 CHECK(runtime->LoadNetwork(netId, std::move(optNet)) == Status::Success);
Aron Virginas-Tar70104002018-10-24 15:33:28 +010099}
100
Matteo Martincighe67edb22019-08-14 14:05:46 +0100101#endif
102
Sadik Armagan1625efc2021-06-10 18:24:34 +0100103TEST_CASE("NeonGreaterSimpleEndToEndTest")
kevmay01eed85922019-01-28 08:37:25 +0000104{
105 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
106 0, 0, 0, 0, 0, 0, 0, 0 });
107
Sadik Armagan1625efc2021-06-10 18:24:34 +0100108 ComparisonSimpleEndToEnd<armnn::DataType::Float32>(neonDefaultBackends,
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +0100109 ComparisonOperation::Greater,
110 expectedOutput);
kevmay01eed85922019-01-28 08:37:25 +0000111}
112
Sadik Armagan1625efc2021-06-10 18:24:34 +0100113TEST_CASE("NeonGreaterSimpleEndToEndUint8Test")
kevmay01eed85922019-01-28 08:37:25 +0000114{
115 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
116 0, 0, 0, 0, 0, 0, 0, 0 });
117
Sadik Armagan1625efc2021-06-10 18:24:34 +0100118 ComparisonSimpleEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends,
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +0100119 ComparisonOperation::Greater,
120 expectedOutput);
kevmay01eed85922019-01-28 08:37:25 +0000121}
122
Sadik Armagan1625efc2021-06-10 18:24:34 +0100123TEST_CASE("NeonGreaterBroadcastEndToEndTest")
kevmay01eed85922019-01-28 08:37:25 +0000124{
125 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
126 1, 1, 1, 1, 1, 1 });
127
Sadik Armagan1625efc2021-06-10 18:24:34 +0100128 ComparisonBroadcastEndToEnd<armnn::DataType::Float32>(neonDefaultBackends,
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +0100129 ComparisonOperation::Greater,
130 expectedOutput);
kevmay01eed85922019-01-28 08:37:25 +0000131}
132
Sadik Armagan1625efc2021-06-10 18:24:34 +0100133TEST_CASE("NeonGreaterBroadcastEndToEndUint8Test")
kevmay01eed85922019-01-28 08:37:25 +0000134{
135 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
136 1, 1, 1, 1, 1, 1 });
137
Sadik Armagan1625efc2021-06-10 18:24:34 +0100138 ComparisonBroadcastEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends,
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +0100139 ComparisonOperation::Greater,
140 expectedOutput);
kevmay01eed85922019-01-28 08:37:25 +0000141}
142
John Mcloughlin34c1c382023-05-17 15:08:36 +0100143// ElementwiseBinary
144// Add
Ryan OShea3c2795a2022-11-03 17:51:52 +0000145TEST_CASE("NeonAdditionEndToEndFloat32Test")
146{
147 AdditionEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
148}
149
150TEST_CASE("NeonAdditionEndToEndUint8Test")
151{
152 AdditionEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
153}
154
Tracy Narinee7d27852024-01-26 09:13:19 +0000155TEST_CASE("NeonAdditionEndToEndFloat32Simple3DTest")
156{
157 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, BinaryOperation::Add);
158}
159TEST_CASE("NeonAdditionEndToEndFloat16Simple3DTest")
160{
161 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float16>(neonDefaultBackends, BinaryOperation::Add);
162}
163
John Mcloughlin34c1c382023-05-17 15:08:36 +0100164// Power
Mike Kelly4cc341c2023-07-07 15:43:06 +0100165TEST_CASE("NeonPowerEndToEndTestFloat32")
John Mcloughlin34c1c382023-05-17 15:08:36 +0100166{
167 ElementwiseBinarySimpleEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, BinaryOperation::Power);
168}
169
170// SqDiff
Mike Kelly4cc341c2023-07-07 15:43:06 +0100171TEST_CASE("NeonSquaredDifferenceEndToEndTestFloat32")
John Mcloughlin34c1c382023-05-17 15:08:36 +0100172{
173 ElementwiseBinarySimpleEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, BinaryOperation::SqDiff);
174}
175
Mike Kelly4cc341c2023-07-07 15:43:06 +0100176TEST_CASE("NeonSquaredDifferenceEndToEndTestUint8")
John Mcloughlin34c1c382023-05-17 15:08:36 +0100177{
178 ElementwiseBinarySimpleEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends, BinaryOperation::SqDiff);
179}
180
John Mcloughlin829e13e2024-01-31 11:00:27 +0000181TEST_CASE("NeonSubtractionEndToEndFloat32Simple3DTest")
182{
183 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, BinaryOperation::Sub);
184}
185TEST_CASE("NeonSubtractionEndToEndFloat16Simple3DTest")
186{
187 ElementwiseBinarySimple3DEndToEnd<armnn::DataType::Float16>(neonDefaultBackends, BinaryOperation::Sub);
188}
189
John Mcloughlin34c1c382023-05-17 15:08:36 +0100190// Batch Mat Mul
Teresa Charlina38da592022-10-31 22:09:23 +0000191TEST_CASE("NeonBatchMatMulEndToEndFloat32Test")
192{
193 BatchMatMulEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
194}
195
Teresa Charlin1fe6c812022-11-01 15:59:50 +0000196TEST_CASE("NeonBatchMatMulEndToEndInt8Test")
197{
198 BatchMatMulEndToEnd<armnn::DataType::QAsymmS8>(neonDefaultBackends);
199}
200
John Mcloughlin34c1c382023-05-17 15:08:36 +0100201// Concat
Sadik Armagan1625efc2021-06-10 18:24:34 +0100202TEST_CASE("NeonConcatEndToEndDim0Test")
narpra01b9546cf2018-11-20 15:21:28 +0000203{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100204 ConcatDim0EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +0000205}
206
Sadik Armagan1625efc2021-06-10 18:24:34 +0100207TEST_CASE("NeonConcatEndToEndDim0Uint8Test")
narpra01b9546cf2018-11-20 15:21:28 +0000208{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100209 ConcatDim0EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +0000210}
211
Sadik Armagan1625efc2021-06-10 18:24:34 +0100212TEST_CASE("NeonConcatEndToEndDim1Test")
narpra01b9546cf2018-11-20 15:21:28 +0000213{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100214 ConcatDim1EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +0000215}
216
Sadik Armagan1625efc2021-06-10 18:24:34 +0100217TEST_CASE("NeonConcatEndToEndDim1Uint8Test")
narpra01b9546cf2018-11-20 15:21:28 +0000218{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100219 ConcatDim1EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +0000220}
221
Sadik Armagan1625efc2021-06-10 18:24:34 +0100222TEST_CASE("NeonConcatEndToEndDim3Test")
narpra01b9546cf2018-11-20 15:21:28 +0000223{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100224 ConcatDim3EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +0000225}
226
Sadik Armagan1625efc2021-06-10 18:24:34 +0100227TEST_CASE("NeonConcatEndToEndDim3Uint8Test")
narpra01b9546cf2018-11-20 15:21:28 +0000228{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100229 ConcatDim3EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
narpra01b9546cf2018-11-20 15:21:28 +0000230}
231
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100232// DepthToSpace
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000233TEST_CASE("NeonDephtToSpaceEndToEndNchwFloat32")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100234{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100235 DepthToSpaceEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NCHW);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100236}
237
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000238TEST_CASE("NeonDephtToSpaceEndToEndNchwFloat16")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100239{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100240 DepthToSpaceEndToEnd<armnn::DataType::Float16>(neonDefaultBackends, armnn::DataLayout::NCHW);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100241}
242
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000243TEST_CASE("NeonDephtToSpaceEndToEndNchwUint8")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100244{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100245 DepthToSpaceEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends, armnn::DataLayout::NCHW);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100246}
247
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000248TEST_CASE("NeonDephtToSpaceEndToEndNchwInt16")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100249{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100250 DepthToSpaceEndToEnd<armnn::DataType::QSymmS16>(neonDefaultBackends, armnn::DataLayout::NCHW);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100251}
252
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000253TEST_CASE("NeonDephtToSpaceEndToEndNhwcFloat32")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100254{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100255 DepthToSpaceEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NHWC);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100256}
257
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000258TEST_CASE("NeonDephtToSpaceEndToEndNhwcFloat16")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100259{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100260 DepthToSpaceEndToEnd<armnn::DataType::Float16>(neonDefaultBackends, armnn::DataLayout::NHWC);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100261}
262
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000263TEST_CASE("NeonDephtToSpaceEndToEndNhwcUint8")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100264{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100265 DepthToSpaceEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends, armnn::DataLayout::NHWC);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100266}
267
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000268TEST_CASE("NeonDephtToSpaceEndToEndNhwcInt16")
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100269{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100270 DepthToSpaceEndToEnd<armnn::DataType::QSymmS16>(neonDefaultBackends, armnn::DataLayout::NHWC);
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +0100271}
272
273// Dequantize
Sadik Armagan1625efc2021-06-10 18:24:34 +0100274TEST_CASE("DequantizeEndToEndSimpleTest")
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +0100275{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100276 DequantizeEndToEndSimple<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +0100277}
278
Sadik Armagan1625efc2021-06-10 18:24:34 +0100279TEST_CASE("DequantizeEndToEndOffsetTest")
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +0100280{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100281 DequantizeEndToEndOffset<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +0100282}
283
Sadik Armagan1625efc2021-06-10 18:24:34 +0100284TEST_CASE("NeonEluEndToEndTestFloat32")
Jan Eilersbca73e12020-03-11 12:52:46 +0000285{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100286 EluEndToEndTest<armnn::DataType::Float32>(neonDefaultBackends);
Jan Eilersbca73e12020-03-11 12:52:46 +0000287}
288
Sadik Armagan1625efc2021-06-10 18:24:34 +0100289TEST_CASE("NeonEluEndToEndTestFloat16")
Jan Eilersbca73e12020-03-11 12:52:46 +0000290{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100291 EluEndToEndTest<armnn::DataType::Float16>(neonDefaultBackends);
Jan Eilersbca73e12020-03-11 12:52:46 +0000292}
293
Jan Eilersa83af7b2020-03-18 15:58:11 +0000294// HardSwish
Sadik Armagan1625efc2021-06-10 18:24:34 +0100295TEST_CASE("NeonHardSwishEndToEndTestFloat32")
Jan Eilersa83af7b2020-03-18 15:58:11 +0000296{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100297 HardSwishEndToEndTest<armnn::DataType::Float32>(neonDefaultBackends);
Jan Eilersa83af7b2020-03-18 15:58:11 +0000298}
299
Sadik Armagan1625efc2021-06-10 18:24:34 +0100300TEST_CASE("NeonHardSwishEndToEndTestFloat16")
Jan Eilersa83af7b2020-03-18 15:58:11 +0000301{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100302 HardSwishEndToEndTest<armnn::DataType::Float16>(neonDefaultBackends);
Jan Eilersa83af7b2020-03-18 15:58:11 +0000303}
304
Sadik Armagan1625efc2021-06-10 18:24:34 +0100305TEST_CASE("NeonHardSwishEndToEndTestQAsymmS8")
Jan Eilersa83af7b2020-03-18 15:58:11 +0000306{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100307 HardSwishEndToEndTest<armnn::DataType::QAsymmS8>(neonDefaultBackends);
Jan Eilersa83af7b2020-03-18 15:58:11 +0000308}
309
Sadik Armagan1625efc2021-06-10 18:24:34 +0100310TEST_CASE("NeonHardSwishEndToEndTestQAsymmU8")
Jan Eilersa83af7b2020-03-18 15:58:11 +0000311{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100312 HardSwishEndToEndTest<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Jan Eilersa83af7b2020-03-18 15:58:11 +0000313}
314
Sadik Armagan1625efc2021-06-10 18:24:34 +0100315TEST_CASE("NeonPreluEndToEndFloat32Test")
Nikhil Raj1c8adac2019-07-22 11:27:29 +0100316{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100317 PreluEndToEndNegativeTest<armnn::DataType::Float32>(neonDefaultBackends);
Nikhil Raj1c8adac2019-07-22 11:27:29 +0100318}
319
Sadik Armagan1625efc2021-06-10 18:24:34 +0100320TEST_CASE("NeonPreluEndToEndTestUint8Test")
Nikhil Raj1c8adac2019-07-22 11:27:29 +0100321{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100322 PreluEndToEndPositiveTest<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Nikhil Raj1c8adac2019-07-22 11:27:29 +0100323}
324
Sadik Armagan1625efc2021-06-10 18:24:34 +0100325TEST_CASE("NeonSpaceToDepthNhwcEndToEndTest1")
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100326{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100327 SpaceToDepthNhwcEndToEndTest1(neonDefaultBackends);
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100328}
329
Sadik Armagan1625efc2021-06-10 18:24:34 +0100330TEST_CASE("NeonSpaceToDepthNchwEndToEndTest1")
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100331{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100332 SpaceToDepthNchwEndToEndTest1(neonDefaultBackends);
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100333}
334
Sadik Armagan1625efc2021-06-10 18:24:34 +0100335TEST_CASE("NeonSpaceToDepthNhwcEndToEndTest2")
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100336{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100337 SpaceToDepthNhwcEndToEndTest2(neonDefaultBackends);
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100338}
339
Sadik Armagan1625efc2021-06-10 18:24:34 +0100340TEST_CASE("NeonSpaceToDepthNchwEndToEndTest2")
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100341{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100342 SpaceToDepthNchwEndToEndTest2(neonDefaultBackends);
Ellen Norris-Thompson29794572019-06-26 16:40:36 +0100343}
344
Sadik Armagan1625efc2021-06-10 18:24:34 +0100345TEST_CASE("NeonSplitter1dEndToEndTest")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100346{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100347 Splitter1dEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100348}
349
Sadik Armagan1625efc2021-06-10 18:24:34 +0100350TEST_CASE("NeonSplitter1dEndToEndUint8Test")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100351{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100352 Splitter1dEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100353}
354
Sadik Armagan1625efc2021-06-10 18:24:34 +0100355TEST_CASE("NeonSplitter2dDim0EndToEndTest")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100356{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100357 Splitter2dDim0EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100358}
359
Sadik Armagan1625efc2021-06-10 18:24:34 +0100360TEST_CASE("NeonSplitter2dDim1EndToEndTest")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100361{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100362 Splitter2dDim1EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100363}
364
Sadik Armagan1625efc2021-06-10 18:24:34 +0100365TEST_CASE("NeonSplitter2dDim0EndToEndUint8Test")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100366{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100367 Splitter2dDim0EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100368}
369
Sadik Armagan1625efc2021-06-10 18:24:34 +0100370TEST_CASE("NeonSplitter2dDim1EndToEndUint8Test")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100371{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100372 Splitter2dDim1EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100373}
374
Sadik Armagan1625efc2021-06-10 18:24:34 +0100375TEST_CASE("NeonSplitter3dDim0EndToEndTest")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100376{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100377 Splitter3dDim0EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100378}
379
Sadik Armagan1625efc2021-06-10 18:24:34 +0100380TEST_CASE("NeonSplitter3dDim1EndToEndTest")
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100381{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100382 Splitter3dDim1EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100383}
384
Sadik Armagan1625efc2021-06-10 18:24:34 +0100385TEST_CASE("NeonSplitter3dDim2EndToEndTest")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100386{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100387 Splitter3dDim2EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100388}
389
Sadik Armagan1625efc2021-06-10 18:24:34 +0100390TEST_CASE("NeonSplitter3dDim0EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100391{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100392 Splitter3dDim0EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100393}
394
Sadik Armagan1625efc2021-06-10 18:24:34 +0100395TEST_CASE("NeonSplitter3dDim1EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100396{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100397 Splitter3dDim1EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100398}
399
Sadik Armagan1625efc2021-06-10 18:24:34 +0100400TEST_CASE("NeonSplitter3dDim2EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100401{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100402 Splitter3dDim2EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100403}
404
Sadik Armagan1625efc2021-06-10 18:24:34 +0100405TEST_CASE("NeonSplitter4dDim0EndToEndTest")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100406{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100407 Splitter4dDim0EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100408}
409
Sadik Armagan1625efc2021-06-10 18:24:34 +0100410TEST_CASE("NeonSplitter4dDim1EndToEndTest")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100411{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100412 Splitter4dDim1EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100413}
414
Sadik Armagan1625efc2021-06-10 18:24:34 +0100415TEST_CASE("NeonSplitter4dDim2EndToEndTest")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100416{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100417 Splitter4dDim2EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100418}
419
Sadik Armagan1625efc2021-06-10 18:24:34 +0100420TEST_CASE("NeonSplitter4dDim3EndToEndTest")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100421{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100422 Splitter4dDim3EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100423}
424
Sadik Armagan1625efc2021-06-10 18:24:34 +0100425TEST_CASE("NeonSplitter4dDim0EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100426{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100427 Splitter4dDim0EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100428}
429
Sadik Armagan1625efc2021-06-10 18:24:34 +0100430TEST_CASE("NeonSplitter4dDim1EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100431{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100432 Splitter4dDim1EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100433}
434
Sadik Armagan1625efc2021-06-10 18:24:34 +0100435TEST_CASE("NeonSplitter4dDim2EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100436{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100437 Splitter4dDim2EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100438}
439
Sadik Armagan1625efc2021-06-10 18:24:34 +0100440TEST_CASE("NeonSplitter4dDim3EndToEndUint8Test")
Narumol Prangnawarat0f072ab2019-05-29 14:12:46 +0100441{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100442 Splitter4dDim3EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Narumol Prangnawarat0be43382019-05-27 11:29:59 +0100443}
444
David Monahan36e6eae2023-07-26 18:37:45 +0100445// Tile
446TEST_CASE("NeonTileEndToEndFloat32")
447{
448 TileEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
449}
450TEST_CASE("NeonTileEndToEndFloat16")
451{
452 TileEndToEnd<armnn::DataType::Float16>(neonDefaultBackends);
453}
454TEST_CASE("NeonTileEndToEndQAsymmS8")
455{
456 TileEndToEnd<armnn::DataType::QAsymmS8>(neonDefaultBackends);
457}
458TEST_CASE("NeonTileEndToEndQAsymmU8")
459{
460 TileEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
461}
462TEST_CASE("NeonTileEndToEndQSymmS8")
463{
464 TileEndToEnd<armnn::DataType::QSymmS8>(neonDefaultBackends);
465}
466TEST_CASE("NeonTileEndToEndQSymmS16")
467{
468 TileEndToEnd<armnn::DataType::QSymmS16>(neonDefaultBackends);
469}
470TEST_CASE("NeonTileEndToEndSigned32")
471{
472 TileEndToEnd<armnn::DataType::Signed32>(neonDefaultBackends);
473}
474
Sadik Armagan1625efc2021-06-10 18:24:34 +0100475TEST_CASE("NeonQuantizedLstmEndToEndTest")
Francis Murtaghb3fc2522019-08-09 13:20:50 +0100476{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100477 QuantizedLstmEndToEnd(neonDefaultBackends);
Francis Murtaghb3fc2522019-08-09 13:20:50 +0100478}
479
Sadik Armagan1625efc2021-06-10 18:24:34 +0100480TEST_CASE("NeonTransposeConvolution2dEndToEndFloatNchwTest")
Sadik Armagan581742d2019-08-12 14:11:37 +0100481{
482 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
Sadik Armagan1625efc2021-06-10 18:24:34 +0100483 neonDefaultBackends, armnn::DataLayout::NCHW);
Sadik Armagan581742d2019-08-12 14:11:37 +0100484}
485
Sadik Armagan1625efc2021-06-10 18:24:34 +0100486TEST_CASE("NeonTransposeConvolution2dEndToEndUint8NchwTest")
Sadik Armagan581742d2019-08-12 14:11:37 +0100487{
Derek Lambertif90c56d2020-01-10 17:14:08 +0000488 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
Sadik Armagan1625efc2021-06-10 18:24:34 +0100489 neonDefaultBackends, armnn::DataLayout::NCHW);
Sadik Armagan581742d2019-08-12 14:11:37 +0100490}
491
Sadik Armagan1625efc2021-06-10 18:24:34 +0100492TEST_CASE("NeonTransposeConvolution2dEndToEndFloatNhwcTest")
Sadik Armagan581742d2019-08-12 14:11:37 +0100493{
494 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
Sadik Armagan1625efc2021-06-10 18:24:34 +0100495 neonDefaultBackends, armnn::DataLayout::NHWC);
Sadik Armagan581742d2019-08-12 14:11:37 +0100496}
497
Sadik Armagan1625efc2021-06-10 18:24:34 +0100498TEST_CASE("NeonTransposeConvolution2dEndToEndUint8NhwcTest")
Sadik Armagan581742d2019-08-12 14:11:37 +0100499{
Derek Lambertif90c56d2020-01-10 17:14:08 +0000500 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
Sadik Armagan1625efc2021-06-10 18:24:34 +0100501 neonDefaultBackends, armnn::DataLayout::NHWC);
Sadik Armagan581742d2019-08-12 14:11:37 +0100502}
503
Teresa Charlin6bc85252022-12-06 20:43:06 +0000504// Transpose
505TEST_CASE("NeonTransposeEndToEndTest")
506{
507 TransposeEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
508}
509
Sadik Armagan1625efc2021-06-10 18:24:34 +0100510TEST_CASE("NeonImportNonAlignedInputPointerTest")
David Monahan3fb7e102019-08-20 11:25:29 +0100511{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100512 ImportNonAlignedInputPointerTest(neonDefaultBackends);
David Monahan3fb7e102019-08-20 11:25:29 +0100513}
514
Sadik Armagan1625efc2021-06-10 18:24:34 +0100515TEST_CASE("NeonExportNonAlignedOutputPointerTest")
David Monahan3fb7e102019-08-20 11:25:29 +0100516{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100517 ExportNonAlignedOutputPointerTest(neonDefaultBackends);
Ferran Balaguer83239f92019-09-19 11:49:25 +0100518}
519
Sadik Armagan1625efc2021-06-10 18:24:34 +0100520TEST_CASE("NeonImportAlignedPointerTest")
Ferran Balaguer83239f92019-09-19 11:49:25 +0100521{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100522 ImportAlignedPointerTest(neonDefaultBackends);
David Monahan3fb7e102019-08-20 11:25:29 +0100523}
524
Sadik Armagan1625efc2021-06-10 18:24:34 +0100525TEST_CASE("NeonImportOnlyWorkload")
David Monahan3fb7e102019-08-20 11:25:29 +0100526{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100527 ImportOnlyWorkload(neonDefaultBackends);
Ferran Balaguer83239f92019-09-19 11:49:25 +0100528}
David Monahan3fb7e102019-08-20 11:25:29 +0100529
Sadik Armagan1625efc2021-06-10 18:24:34 +0100530TEST_CASE("NeonExportOnlyWorkload")
Ferran Balaguer83239f92019-09-19 11:49:25 +0100531{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100532 ExportOnlyWorkload(neonDefaultBackends);
Ferran Balaguer83239f92019-09-19 11:49:25 +0100533}
David Monahan3fb7e102019-08-20 11:25:29 +0100534
Sadik Armagan1625efc2021-06-10 18:24:34 +0100535TEST_CASE("NeonImportAndExportWorkload")
Ferran Balaguer83239f92019-09-19 11:49:25 +0100536{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100537 ImportAndExportWorkload(neonDefaultBackends);
Ferran Balaguer83239f92019-09-19 11:49:25 +0100538}
David Monahan3fb7e102019-08-20 11:25:29 +0100539
Sadik Armagan1625efc2021-06-10 18:24:34 +0100540TEST_CASE("NeonExportOutputWithSeveralOutputSlotConnectionsTest")
Ferran Balaguer83239f92019-09-19 11:49:25 +0100541{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100542 ExportOutputWithSeveralOutputSlotConnectionsTest(neonDefaultBackends);
David Monahan3fb7e102019-08-20 11:25:29 +0100543}
544
Sadik Armagan062e0e92019-10-14 10:31:43 +0100545// InstanceNormalization
Sadik Armagan1625efc2021-06-10 18:24:34 +0100546TEST_CASE("NeonInstanceNormalizationNchwEndToEndTest1")
Sadik Armagan062e0e92019-10-14 10:31:43 +0100547{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100548 InstanceNormalizationNchwEndToEndTest1(neonDefaultBackends);
Sadik Armagan062e0e92019-10-14 10:31:43 +0100549}
550
Sadik Armagan1625efc2021-06-10 18:24:34 +0100551TEST_CASE("NeonInstanceNormalizationNchwEndToEndTest2")
Sadik Armagan062e0e92019-10-14 10:31:43 +0100552{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100553 InstanceNormalizationNchwEndToEndTest2(neonDefaultBackends);
Sadik Armagan062e0e92019-10-14 10:31:43 +0100554}
555
Teresa Charlina52bca22024-02-01 17:36:48 +0000556// Pooling 2D
557// Average Pool 2D
558TEST_CASE("NeonAvgPool2DEndtoEndTestFloat32")
559{
560 AvgPool2dEndToEnd<DataType::Float32>(neonDefaultBackends);
561}
562
563TEST_CASE("NeonAvgPool2DEndtoEndTestFloat16")
564{
565 AvgPool2dEndToEndFloat16<DataType::Float16>(neonDefaultBackends);
566}
567
568TEST_CASE("NeonAvgPool2DIgnoreValueEndtoEndTestFloat32")
569{
570 AvgPool2dEndToEnd<DataType::Float32>(neonDefaultBackends, PaddingMethod::IgnoreValue);
571}
572
573// Max Pool 2D
574TEST_CASE("NeonMaxPool2DEndtoEndTestFloat32")
575{
576 MaxPool2dEndToEnd<DataType::Float32>(neonDefaultBackends);
577}
578
579TEST_CASE("NeonMaxPool2DEndtoEndTestFloat16")
580{
581 MaxPool2dEndToEndFloat16<DataType::Float16>(neonDefaultBackends);
582}
583
584TEST_CASE("NeonMaxPool2DIgnoreValueEndtoEndTestFloat32")
585{
586 MaxPool2dEndToEnd<DataType::Float32>(neonDefaultBackends, PaddingMethod::IgnoreValue);
587}
588
589TEST_CASE("NeonMaxPool2DTwoLayerEndtoEndTestFloat32")
590{
591 MaxPool2dTwoLayerEndToEnd<DataType::Float32>(neonDefaultBackends);
592}
593
594TEST_CASE("NeonMaxPool2DThreeLayerEndtoEndTestFloat32")
595{
596 MaxPool2dThreeLayerEndToEnd<DataType::Float32>(neonDefaultBackends);
597}
598
Teresa Charlin44088502020-07-27 11:27:19 +0100599// Fill
Sadik Armagan1625efc2021-06-10 18:24:34 +0100600TEST_CASE("NeonFillEndToEndTest")
Teresa Charlin44088502020-07-27 11:27:19 +0100601{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100602 FillEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
Teresa Charlin44088502020-07-27 11:27:19 +0100603}
604
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000605TEST_CASE("NeonFillEndToEndTestFloat16")
Teresa Charlin4b10fef2020-07-29 09:36:41 +0100606{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100607 FillEndToEnd<armnn::DataType::Float16>(neonDefaultBackends);
Teresa Charlin4b10fef2020-07-29 09:36:41 +0100608}
609
Sadik Armagan1625efc2021-06-10 18:24:34 +0100610TEST_CASE("NeonFillEndToEndTestInt32")
Teresa Charlin44088502020-07-27 11:27:19 +0100611{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100612 FillEndToEnd<armnn::DataType::Signed32>(neonDefaultBackends);
Teresa Charlin44088502020-07-27 11:27:19 +0100613}
614
James Conroy68a4dbc2019-11-13 15:35:59 +0000615// ArgMinMax
Sadik Armagan1625efc2021-06-10 18:24:34 +0100616TEST_CASE("NeonArgMaxSimpleTest")
James Conroy68a4dbc2019-11-13 15:35:59 +0000617{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100618 ArgMaxEndToEndSimple<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000619}
620
Sadik Armagan1625efc2021-06-10 18:24:34 +0100621TEST_CASE("NeonArgMinSimpleTest")
James Conroy68a4dbc2019-11-13 15:35:59 +0000622{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100623 ArgMinEndToEndSimple<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000624}
625
Sadik Armagan1625efc2021-06-10 18:24:34 +0100626TEST_CASE("NeonArgMaxAxis0Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000627{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100628 ArgMaxAxis0EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000629}
630
Sadik Armagan1625efc2021-06-10 18:24:34 +0100631TEST_CASE("NeonArgMinAxis0Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000632{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100633 ArgMinAxis0EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000634}
635
Sadik Armagan1625efc2021-06-10 18:24:34 +0100636TEST_CASE("NeonArgMaxAxis1Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000637{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100638 ArgMaxAxis1EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000639}
640
Sadik Armagan1625efc2021-06-10 18:24:34 +0100641TEST_CASE("NeonArgMinAxis1Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000642{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100643 ArgMinAxis1EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000644}
645
Sadik Armagan1625efc2021-06-10 18:24:34 +0100646TEST_CASE("NeonArgMaxAxis2Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000647{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100648 ArgMaxAxis2EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000649}
650
Sadik Armagan1625efc2021-06-10 18:24:34 +0100651TEST_CASE("NeonArgMinAxis2Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000652{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100653 ArgMinAxis2EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000654}
655
Sadik Armagan1625efc2021-06-10 18:24:34 +0100656TEST_CASE("NeonArgMaxAxis3Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000657{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100658 ArgMaxAxis3EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000659}
660
Sadik Armagan1625efc2021-06-10 18:24:34 +0100661TEST_CASE("NeonArgMinAxis3Test")
James Conroy68a4dbc2019-11-13 15:35:59 +0000662{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100663 ArgMinAxis3EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
James Conroy68a4dbc2019-11-13 15:35:59 +0000664}
665
Sadik Armagan1625efc2021-06-10 18:24:34 +0100666TEST_CASE("NeonArgMaxSimpleTestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000667{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100668 ArgMaxEndToEndSimple<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000669}
670
Sadik Armagan1625efc2021-06-10 18:24:34 +0100671TEST_CASE("NeonArgMinSimpleTestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000672{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100673 ArgMinEndToEndSimple<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000674}
675
Sadik Armagan1625efc2021-06-10 18:24:34 +0100676TEST_CASE("NeonArgMaxAxis0TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000677{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100678 ArgMaxAxis0EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000679}
680
Sadik Armagan1625efc2021-06-10 18:24:34 +0100681TEST_CASE("NeonArgMinAxis0TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000682{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100683 ArgMinAxis0EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000684}
685
Sadik Armagan1625efc2021-06-10 18:24:34 +0100686TEST_CASE("NeonArgMaxAxis1TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000687{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100688 ArgMaxAxis1EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000689}
690
Sadik Armagan1625efc2021-06-10 18:24:34 +0100691TEST_CASE("NeonArgMinAxis1TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000692{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100693 ArgMinAxis1EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000694}
695
Sadik Armagan1625efc2021-06-10 18:24:34 +0100696TEST_CASE("NeonArgMaxAxis2TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000697{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100698 ArgMaxAxis2EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000699}
700
Sadik Armagan1625efc2021-06-10 18:24:34 +0100701TEST_CASE("NeonArgMinAxis2TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000702{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100703 ArgMinAxis2EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000704}
705
Sadik Armagan1625efc2021-06-10 18:24:34 +0100706TEST_CASE("NeonArgMaxAxis3TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000707{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100708 ArgMaxAxis3EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000709}
710
Sadik Armagan1625efc2021-06-10 18:24:34 +0100711TEST_CASE("NeonArgMinAxis3TestQuantisedAsymm8")
Francis Murtagh52ec3462019-11-19 12:24:19 +0000712{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100713 ArgMinAxis3EndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends);
Francis Murtagh52ec3462019-11-19 12:24:19 +0000714}
715
Teresa Charlinc17a35f2023-01-12 14:13:09 +0000716// Reduce
717TEST_CASE("NeonReduceEndToEndTest")
718{
719 ReduceEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
720}
721
722TEST_CASE("NeonReduceEndToEndTestFloat16")
723{
724 ReduceEndToEnd<armnn::DataType::Float16>(neonDefaultBackends);
725}
726
727// Reshape
728TEST_CASE("NeonReshapeEndToEndTest")
729{
730 ReshapeEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
731}
732
733TEST_CASE("NeonReshapeEndToEndTestFloat16")
734{
735 ReshapeEndToEndFloat16<armnn::DataType::Float16>(neonDefaultBackends);
736}
737
Teresa Charlin28658bc2023-12-19 15:49:31 +0000738// Resize Bilinear
739TEST_CASE("NeonResizeBilinearEndToEndFloatNchwTest")
740{
741 ResizeBilinearEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NCHW);
742}
743
744TEST_CASE("NeonResizeBilinearEndToEndFloatNhwcTest")
745{
746 ResizeBilinearEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NHWC);
747}
748
749// Resize NearestNeighbor
750TEST_CASE("NeonResizeNearestNeighborEndToEndFloatNchwTest")
751{
752 ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NCHW);
753}
754
755TEST_CASE("NeonResizeNearestNeighborEndToEndFloatNhwcTest")
756{
757 ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NHWC);
758}
759
760TEST_CASE("NeonResizeNearestNeighborEndToEndFloatAlignCornersNhwcTest")
761{
762 ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NHWC, true, false);
763}
764
765TEST_CASE("NeonResizeNearestNeighborEndToEndFloatHalfPixelNhwcTest")
766{
767 ResizeNearestNeighborEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, armnn::DataLayout::NHWC, false, true);
768}
769
Tianle Cheng21a9f332023-11-09 13:56:53 +0000770// ReverseV2
771TEST_CASE("NeonReverseV2EndToEndTest")
772{
773 ReverseV2EndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
774}
775
Ryan OShea980446b2023-06-08 16:23:28 +0100776// Slice
777TEST_CASE("NeonSliceEndtoEndTestFloat32")
778{
779 SliceEndToEnd<DataType::Float32>(neonDefaultBackends);
780}
781
782TEST_CASE("NeonSliceEndtoEndTestInt32")
783{
784 SliceEndToEnd<DataType::Signed32>(neonDefaultBackends);
785}
786
787TEST_CASE("NeonSliceEndtoEndTestFloat16")
788{
789 SliceEndToEndFloat16<DataType::Float16>(neonDefaultBackends);
790}
791
Sadik Armagan1625efc2021-06-10 18:24:34 +0100792TEST_CASE("NeonStridedSliceInvalidSliceEndToEndTest")
David Monahan0a99a142020-03-13 07:52:54 +0000793{
Sadik Armagan1625efc2021-06-10 18:24:34 +0100794 StridedSliceInvalidSliceEndToEndTest(neonDefaultBackends);
David Monahan0a99a142020-03-13 07:52:54 +0000795}
796
Colm Doneland7ceec52022-07-06 12:09:05 +0100797TEST_CASE("NeonForceImportWithAlignedBuffersEndToEndTest"
798 // Currently, the Neon workload for activation does not support tensor handle replacement so this test case
799 // will always fail.
800 * doctest::skip(true))
David Monahan646bc8a2022-01-31 14:29:14 +0000801{
802 ForceImportWithAlignedBuffersEndToEndTest(neonDefaultBackends);
803}
804
Colm Doneland7ceec52022-07-06 12:09:05 +0100805TEST_CASE("NeonForceImportWithMisalignedInputBuffersEndToEndTest"
806 // Currently, the Neon workload for activation does not support tensor handle replacement so this test case
807 // will always fail.
808 * doctest::skip(true))
David Monahan646bc8a2022-01-31 14:29:14 +0000809{
810 ForceImportWithMisalignedInputBuffersEndToEndTest(neonDefaultBackends);
811}
812
Colm Doneland7ceec52022-07-06 12:09:05 +0100813TEST_CASE("NeonForceImportWithMisalignedOutputBuffersEndToEndTest"
814 // Currently, the Neon workload for activation does not support tensor handle replacement so this test case
815 // will always fail.
816 * doctest::skip(true))
David Monahan646bc8a2022-01-31 14:29:14 +0000817{
818 ForceImportWithMisalignedOutputBuffersEndToEndTest(neonDefaultBackends);
819}
820
821TEST_CASE("NeonForceImportWithMisalignedInputAndOutputBuffersEndToEndTest")
822{
823 ForceImportWithMisalignedInputAndOutputBuffersEndToEndTest(neonDefaultBackends);
824}
825
Sadik Armagan1625efc2021-06-10 18:24:34 +0100826// DISABLED
827//TEST_CASE("NeonDetectionPostProcessRegularNmsTest")
828//{
829// std::vector<float> boxEncodings({
830// 0.0f, 0.0f, 0.0f, 0.0f,
831// 0.0f, 1.0f, 0.0f, 0.0f,
832// 0.0f, -1.0f, 0.0f, 0.0f,
833// 0.0f, 0.0f, 0.0f, 0.0f,
834// 0.0f, 1.0f, 0.0f, 0.0f,
835// 0.0f, 0.0f, 0.0f, 0.0f
836// });
837// std::vector<float> scores({
838// 0.0f, 0.9f, 0.8f,
839// 0.0f, 0.75f, 0.72f,
840// 0.0f, 0.6f, 0.5f,
841// 0.0f, 0.93f, 0.95f,
842// 0.0f, 0.5f, 0.4f,
843// 0.0f, 0.3f, 0.2f
844// });
845// std::vector<float> anchors({
846// 0.5f, 0.5f, 1.0f, 1.0f,
847// 0.5f, 0.5f, 1.0f, 1.0f,
848// 0.5f, 0.5f, 1.0f, 1.0f,
849// 0.5f, 10.5f, 1.0f, 1.0f,
850// 0.5f, 10.5f, 1.0f, 1.0f,
851// 0.5f, 100.5f, 1.0f, 1.0f
852// });
853// DetectionPostProcessRegularNmsEndToEnd<armnn::DataType::Float32>(neonDefaultBackends,
854// boxEncodings,
855// scores,
856// anchors);
857//}
Derek Lamberti6a5e5e82019-12-05 14:41:20 +0000858
859inline void QuantizeData(uint8_t* quant, const float* dequant, const TensorInfo& info)
860{
861 for (size_t i = 0; i < info.GetNumElements(); i++)
862 {
863 quant[i] = armnn::Quantize<uint8_t>(dequant[i], info.GetQuantizationScale(), info.GetQuantizationOffset());
864 }
865}
866
Sadik Armagan1625efc2021-06-10 18:24:34 +0100867// DISABLED
868//TEST_CASE("NeonDetectionPostProcessRegularNmsUint8Test")
869//{
870// armnn::TensorInfo boxEncodingsInfo({ 1, 6, 4 }, armnn::DataType::Float32);
871// armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32);
872// armnn::TensorInfo anchorsInfo({ 6, 4 }, armnn::DataType::Float32);
873//
874// boxEncodingsInfo.SetQuantizationScale(1.0f);
875// boxEncodingsInfo.SetQuantizationOffset(1);
876// scoresInfo.SetQuantizationScale(0.01f);
877// scoresInfo.SetQuantizationOffset(0);
878// anchorsInfo.SetQuantizationScale(0.5f);
879// anchorsInfo.SetQuantizationOffset(0);
880//
881// std::vector<float> boxEncodings({
882// 0.0f, 0.0f, 0.0f, 0.0f,
883// 0.0f, 1.0f, 0.0f, 0.0f,
884// 0.0f, -1.0f, 0.0f, 0.0f,
885// 0.0f, 0.0f, 0.0f, 0.0f,
886// 0.0f, 1.0f, 0.0f, 0.0f,
887// 0.0f, 0.0f, 0.0f, 0.0f
888// });
889// std::vector<float> scores({
890// 0.0f, 0.9f, 0.8f,
891// 0.0f, 0.75f, 0.72f,
892// 0.0f, 0.6f, 0.5f,
893// 0.0f, 0.93f, 0.95f,
894// 0.0f, 0.5f, 0.4f,
895// 0.0f, 0.3f, 0.2f
896// });
897// std::vector<float> anchors({
898// 0.5f, 0.5f, 1.0f, 1.0f,
899// 0.5f, 0.5f, 1.0f, 1.0f,
900// 0.5f, 0.5f, 1.0f, 1.0f,
901// 0.5f, 10.5f, 1.0f, 1.0f,
902// 0.5f, 10.5f, 1.0f, 1.0f,
903// 0.5f, 100.5f, 1.0f, 1.0f
904// });
905//
906// std::vector<uint8_t> qBoxEncodings(boxEncodings.size(), 0);
907// std::vector<uint8_t> qScores(scores.size(), 0);
908// std::vector<uint8_t> qAnchors(anchors.size(), 0);
909// QuantizeData(qBoxEncodings.data(), boxEncodings.data(), boxEncodingsInfo);
910// QuantizeData(qScores.data(), scores.data(), scoresInfo);
911// QuantizeData(qAnchors.data(), anchors.data(), anchorsInfo);
912// DetectionPostProcessRegularNmsEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends, qBoxEncodings,
913// qScores, qAnchors,
914// 1.0f, 1, 0.01f, 0, 0.5f, 0);
915//}
916//
917//TEST_CASE("NeonDetectionPostProcessFastNmsTest")
918//{
919// std::vector<float> boxEncodings({
920// 0.0f, 0.0f, 0.0f, 0.0f,
921// 0.0f, 1.0f, 0.0f, 0.0f,
922// 0.0f, -1.0f, 0.0f, 0.0f,
923// 0.0f, 0.0f, 0.0f, 0.0f,
924// 0.0f, 1.0f, 0.0f, 0.0f,
925// 0.0f, 0.0f, 0.0f, 0.0f
926// });
927// std::vector<float> scores({
928// 0.0f, 0.9f, 0.8f,
929// 0.0f, 0.75f, 0.72f,
930// 0.0f, 0.6f, 0.5f,
931// 0.0f, 0.93f, 0.95f,
932// 0.0f, 0.5f, 0.4f,
933// 0.0f, 0.3f, 0.2f
934// });
935// std::vector<float> anchors({
936// 0.5f, 0.5f, 1.0f, 1.0f,
937// 0.5f, 0.5f, 1.0f, 1.0f,
938// 0.5f, 0.5f, 1.0f, 1.0f,
939// 0.5f, 10.5f, 1.0f, 1.0f,
940// 0.5f, 10.5f, 1.0f, 1.0f,
941// 0.5f, 100.5f, 1.0f, 1.0f
942// });
943// DetectionPostProcessFastNmsEndToEnd<armnn::DataType::Float32>(neonDefaultBackends,
944// boxEncodings,
945// scores,
946// anchors);
947//}
948//
949// DISABLED
950//TEST_CASE("NeonDetectionPostProcessFastNmsUint8Test")
951//{
952// armnn::TensorInfo boxEncodingsInfo({ 1, 6, 4 }, armnn::DataType::Float32);
953// armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32);
954// armnn::TensorInfo anchorsInfo({ 6, 4 }, armnn::DataType::Float32);
955//
956// boxEncodingsInfo.SetQuantizationScale(1.0f);
957// boxEncodingsInfo.SetQuantizationOffset(1);
958// scoresInfo.SetQuantizationScale(0.01f);
959// scoresInfo.SetQuantizationOffset(0);
960// anchorsInfo.SetQuantizationScale(0.5f);
961// anchorsInfo.SetQuantizationOffset(0);
962//
963// std::vector<float> boxEncodings({
964// 0.0f, 0.0f, 0.0f, 0.0f,
965// 0.0f, 1.0f, 0.0f, 0.0f,
966// 0.0f, -1.0f, 0.0f, 0.0f,
967// 0.0f, 0.0f, 0.0f, 0.0f,
968// 0.0f, 1.0f, 0.0f, 0.0f,
969// 0.0f, 0.0f, 0.0f, 0.0f
970// });
971// std::vector<float> scores({
972// 0.0f, 0.9f, 0.8f,
973// 0.0f, 0.75f, 0.72f,
974// 0.0f, 0.6f, 0.5f,
975// 0.0f, 0.93f, 0.95f,
976// 0.0f, 0.5f, 0.4f,
977// 0.0f, 0.3f, 0.2f
978// });
979// std::vector<float> anchors({
980// 0.5f, 0.5f, 1.0f, 1.0f,
981// 0.5f, 0.5f, 1.0f, 1.0f,
982// 0.5f, 0.5f, 1.0f, 1.0f,
983// 0.5f, 10.5f, 1.0f, 1.0f,
984// 0.5f, 10.5f, 1.0f, 1.0f,
985// 0.5f, 100.5f, 1.0f, 1.0f
986// });
987//
988// std::vector<uint8_t> qBoxEncodings(boxEncodings.size(), 0);
989// std::vector<uint8_t> qScores(scores.size(), 0);
990// std::vector<uint8_t> qAnchors(anchors.size(), 0);
991// QuantizeData(qBoxEncodings.data(), boxEncodings.data(), boxEncodingsInfo);
992// QuantizeData(qScores.data(), scores.data(), scoresInfo);
993// QuantizeData(qAnchors.data(), anchors.data(), anchorsInfo);
994// DetectionPostProcessFastNmsEndToEnd<armnn::DataType::QAsymmU8>(neonDefaultBackends, qBoxEncodings,
995// qScores, qAnchors,
996// 1.0f, 1, 0.01f, 0, 0.5f, 0);
997//}
998
999TEST_CASE("NeonQLstmEndToEndTest")
Derek Lamberti6a5e5e82019-12-05 14:41:20 +00001000{
Sadik Armagan1625efc2021-06-10 18:24:34 +01001001 QLstmEndToEnd(neonDefaultBackends);
Derek Lamberti6a5e5e82019-12-05 14:41:20 +00001002}
1003
Mike Kelly4cc341c2023-07-07 15:43:06 +01001004TEST_CASE("NeonReshapeRemovalSimpleCaseEndToEnd")
1005{
1006 ReshapeRemovalEndToEnd<armnn::DataType::Float32>(neonDefaultBackends);
1007}
1008
1009TEST_CASE("NeonReshapeRemovalNCHWFirstEndToEnd")
1010{
1011 ReshapeRemovalNCHWEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, false, true);
1012}
1013
1014TEST_CASE("NeonReshapeRemovalNCHWSecondEndToEnd")
1015{
1016 ReshapeRemovalNCHWEndToEnd<armnn::DataType::Float32>(neonDefaultBackends, false, false);
1017}
1018
Derek Lamberti6a5e5e82019-12-05 14:41:20 +00001019}