11 std::unique_ptr<armnn::IWorkload> CreateWorkload<armnn::MaximumQueueDescriptor>(
16 return workloadFactory.CreateMaximum(descriptor, info);
25 const unsigned int width = 2u;
26 const unsigned int height = 2u;
27 const unsigned int channelCount = 2u;
28 const unsigned int batchSize = 2u;
30 unsigned int shape[] = { batchSize, channelCount, height, width };
32 std::vector<float> input0 =
34 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f,
35 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f
38 std::vector<float> input1 =
40 2.f, 2.f, 2.f, 2.f, 3.f, 3.f, 3.f, 3.f,
41 4.f, 4.f, 4.f, 4.f, 5.f, 5.f, 5.f, 5.f
44 std::vector<float> output =
46 2.f, 2.f, 2.f, 2.f, 5.f, 5.f, 5.f, 5.f,
47 4.f, 4.f, 4.f, 4.f, 5.f, 5.f, 5.f, 5.f
50 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Float32>(
67 unsigned int shape0[] = { 1, 2, 2, 2 };
68 unsigned int shape1[] = { 1, 1, 1, 1 };
70 std::vector<float> input0 = { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f };
72 std::vector<float> input1 = { 2.f };
74 std::vector<float> output = { 2.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f };
76 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Float32>(
93 const unsigned int shape0[] = { 1, 2, 2, 3 };
94 const unsigned int shape1[] = { 1, 1, 1, 3 };
96 std::vector<float> input0 =
98 1.f, 2.f, 3.f, 4.f, 5.f, 6.f,
99 7.f, 8.f, 9.f, 10.f, 11.f, 12.f
102 std::vector<float> input1 = { 1.f, 2.f, 3.f };
104 std::vector<float> output =
106 1.f, 2.f, 3.f, 4.f, 5.f, 6.f,
107 7.f, 8.f, 9.f, 10.f, 11.f, 12.f
110 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Float32>(
119 tensorHandleFactory);
127 using namespace half_float::literal;
129 const unsigned int width = 2u;
130 const unsigned int height = 2u;
131 const unsigned int channelCount = 2u;
132 const unsigned int batchSize = 2u;
134 unsigned int shape[] = { batchSize, channelCount, height, width };
136 std::vector<armnn::Half> input0 =
138 1._h, 1._h, 1._h, 1._h, 5._h, 5._h, 5._h, 5._h,
139 3._h, 3._h, 3._h, 3._h, 4._h, 4._h, 4._h, 4._h
142 std::vector<armnn::Half> input1 =
144 2._h, 2._h, 2._h, 2._h, 3._h, 3._h, 3._h, 3._h,
145 4._h, 4._h, 4._h, 4._h, 5._h, 5._h, 5._h, 5._h
148 std::vector<armnn::Half> output =
150 2._h, 2._h, 2._h, 2._h, 5._h, 5._h, 5._h, 5._h,
151 4._h, 4._h, 4._h, 4._h, 5._h, 5._h, 5._h, 5._h
154 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Float16>(
163 tensorHandleFactory);
171 using namespace half_float::literal;
173 unsigned int shape0[] = { 1, 2, 2, 2 };
174 unsigned int shape1[] = { 1, 1, 1, 1 };
176 std::vector<armnn::Half> input0 = { 1._h, 2._h, 3._h, 4._h, 5._h, 6._h, 7._h, 8._h };
178 std::vector<armnn::Half> input1 = { 2._h };
180 std::vector<armnn::Half> output = { 2._h, 2._h, 3._h, 4._h, 5._h, 6._h, 7._h, 8._h };
182 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Float16>(
191 tensorHandleFactory);
199 using namespace half_float::literal;
201 const unsigned int shape0[] = { 1, 2, 2, 3 };
202 const unsigned int shape1[] = { 1, 1, 1, 3 };
204 std::vector<armnn::Half> input0 =
206 1._h, 2._h, 3._h, 4._h, 5._h, 6._h,
207 7._h, 8._h, 9._h, 10._h, 11._h, 12._h
210 std::vector<armnn::Half> input1 = { 1._h, 2._h, 3._h };
212 std::vector<armnn::Half> output =
214 1._h, 2._h, 3._h, 4._h, 5._h, 6._h,
215 7._h, 8._h, 9._h, 10._h, 11._h, 12._h
218 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Float16>(
227 tensorHandleFactory);
235 unsigned int shape[] = { 2, 2, 2, 2 };
238 std::vector<uint8_t> input0 =
240 1, 1, 1, 1, 6, 6, 6, 6,
241 3, 3, 3, 3, 4, 4, 4, 4
244 std::vector<uint8_t> input1 =
246 2, 2, 2, 2, 3, 3, 3, 3,
247 4, 4, 4, 4, 5, 5, 5, 5
250 std::vector<uint8_t> output =
252 2, 2, 2, 2, 6, 6, 6, 6,
253 4, 4, 4, 4, 5, 5, 5, 5
256 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::QAsymmU8>(
265 tensorHandleFactory);
273 const unsigned int shape0[] = { 1, 2, 2, 3 };
274 const unsigned int shape1[] = { 1, 1, 1, 1 };
276 std::vector<uint8_t> input0 =
282 std::vector<uint8_t> input1 = { 2 };
284 std::vector<uint8_t> output =
290 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::QAsymmU8>(
299 tensorHandleFactory);
307 const unsigned int shape0[] = { 1, 2, 2, 3 };
308 const unsigned int shape1[] = { 1, 1, 1, 3 };
310 std::vector<uint8_t> input0 =
316 std::vector<uint8_t> input1 = { 1, 10, 3 };
318 std::vector<uint8_t> output = {
323 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::QAsymmU8>(
332 tensorHandleFactory);
340 unsigned int shape[] = { 2, 2, 2, 2 };
342 std::vector<int16_t> input0({ 1, 1, 1, 1, 6, 6, 6, 6,
343 3, 3, 3, 3, 4, 4, 4, 4 });
345 std::vector<int16_t> input1({ 2, 2, 2, 2, 3, 3, 3, 3,
346 4, 4, 4, 4, 5, 5, 5, 5 });
348 std::vector<int16_t> output({ 2, 2, 2, 2, 6, 6, 6, 6,
349 4, 4, 4, 4, 5, 5, 5, 5 });
351 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::QSymmS16>(
360 tensorHandleFactory);
368 const unsigned int shape0[] = { 1, 2, 2, 3 };
369 const unsigned int shape1[] = { 1, 1, 1, 1 };
371 std::vector<int16_t> input0 =
377 std::vector<int16_t> input1 = { 2 };
379 std::vector<int16_t> output =
385 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::QSymmS16>(
394 tensorHandleFactory);
402 const unsigned int shape0[] = { 1, 2, 2, 3 };
403 const unsigned int shape1[] = { 1, 1, 1, 3 };
405 std::vector<int16_t> input0 =
411 std::vector<int16_t> input1 = { 1, 10, 3 };
413 std::vector<int16_t> output =
419 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::QSymmS16>(
428 tensorHandleFactory);
436 unsigned int shape[] = { 2, 2, 2, 2 };
438 std::vector<int32_t> input0({ 1, 1, 1, 1, 6, 6, 6, 6,
439 3, 3, 3, 3, 4, 4, 4, 4 });
441 std::vector<int32_t> input1({ 2, 2, 2, 2, 3, 3, 3, 3,
442 4, 4, 4, 4, 5, 5, 5, 5 });
444 std::vector<int32_t> output({ 2, 2, 2, 2, 6, 6, 6, 6,
445 4, 4, 4, 4, 5, 5, 5, 5 });
447 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Signed32>(
456 tensorHandleFactory);
464 const unsigned int shape0[] = { 1, 2, 2, 3 };
465 const unsigned int shape1[] = { 1, 1, 1, 1 };
467 std::vector<int32_t> input0 =
473 std::vector<int32_t> input1 = { 2 };
475 std::vector<int32_t> output =
481 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Signed32>(
490 tensorHandleFactory);
498 const unsigned int shape0[] = { 1, 2, 2, 3 };
499 const unsigned int shape1[] = { 1, 1, 1, 3 };
501 std::vector<int32_t> input0 =
507 std::vector<int32_t> input1 = { 1, 10, 3 };
509 std::vector<int32_t> output =
515 return ElementwiseTestHelper<4, armnn::MaximumQueueDescriptor, armnn::DataType::Signed32>(
524 tensorHandleFactory);
LayerTestResult< armnn::Half, 4 > MaximumBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 4 > MaximumBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int32_t, 4 > MaximumBroadcast1DVectorInt32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< armnn::Half, 4 > MaximumFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > MaximumInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > MaximumBroadcast1ElementInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
void IgnoreUnused(Ts &&...)
LayerTestResult< armnn::Half, 4 > MaximumBroadcast1DVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 4 > MaximumBroadcast1DVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int32_t, 4 > MaximumBroadcast1ElementInt32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< float, 4 > MaximumSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 4 > MaximumUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 4 > MaximumBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int32_t, 4 > MaximumInt32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > MaximumBroadcast1DVectorInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
Contains information about inputs and outputs to a layer.
LayerTestResult< uint8_t, 4 > MaximumBroadcast1DVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)