24 struct Simple3dSoftmaxOutputData
26 const std::vector<float> outputData =
28 0.0964599f, 0.26220518f, 0.0964599f, 0.0964599f,
29 0.15903549f, 0.0964599f, 0.0964599f, 0.0964599f
34 const std::vector<float> inputData =
36 0.0f, 1.0f, 0.0f, 0.0f,
37 0.5f, 0.0f, 0.0f, 0.0f,
41 struct Simple4dSoftmaxData
45 const std::vector<float> outputData =
47 0.0964599f, 0.26220518f, 0.0964599f, 0.0964599f,
48 0.15903549f, 0.0964599f, 0.0964599f, 0.0964599f
51 const std::vector<float> inputData =
53 0.0f, 1.0f, 0.0f, 0.0f,
54 0.5f, 0.0f, 0.0f, 0.0f
58 template<armnn::DataType ArmnnType, std::
size_t n,
typename T = armnn::ResolveType<ArmnnType>>
65 const std::vector<float>& outputData,
66 const std::vector<float>& inputData,
71 const float qScale = 1.f / 256.f;
72 const int qOffset = 0;
88 auto input = MakeTensor<T, n>(inputTensorInfo, armnnUtils::QuantizedVector<T>(inputData, qScale, qOffset));
90 std::unique_ptr<armnn::ITensorHandle> inputHandle = tensorHandleFactory.
CreateTensorHandle(inputTensorInfo);
91 std::unique_ptr<armnn::ITensorHandle> outputHandle = tensorHandleFactory.
CreateTensorHandle(outputTensorInfo);
98 AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get());
99 AddOutputToWorkload(data, info, outputTensorInfo, outputHandle.get());
101 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateSoftmax(data, info);
103 inputHandle->Allocate();
104 outputHandle->Allocate();
109 ExecuteWorkload(*workload, memoryManager);
113 std::vector<T> expectedOutput = armnnUtils::QuantizedVector<T>(outputData, qScale, qOffset);
114 ret.outputExpected = MakeTensor<T, n>(outputTensorInfo, expectedOutput);
119 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
129 float x0[4] = { exp((0.f - 1.0f) * beta), exp((1.0f - 1.0f) * beta),
130 exp((0.0f - 1.0f) * beta), exp((0.0f - 1.0f) * beta) };
131 float sum0 = x0[0] + x0[1] + x0[2] + x0[3];
132 float x1[4] = { exp((0.5f - 0.5f) * beta), exp((0.0f - 0.5f) * beta),
133 exp((0.0f - 0.5f) * beta), exp((0.0f - 0.5f) * beta) };
134 float sum1 = x1[0] + x1[1] + x1[2] + x1[3];
136 const std::vector<float> outputData = { x0[0] / sum0, x0[1] / sum0, x0[2] / sum0, x0[3] / sum0,
137 x1[0] / sum1, x1[1] / sum1, x1[2] / sum1, x1[3] / sum1 };
139 const std::vector<float> inputData =
145 return SimpleSoftmaxBaseTestImpl<ArmnnType, 2>(workloadFactory, memoryManager, tensorHandleFactory, beta,
146 inputShape, outputData, inputData);
149 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
158 std::vector<float> inputData;
159 std::vector<float> outputData;
169 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f
174 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
176 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
177 7.246299848982885e-08f
188 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f
193 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
194 7.246299848982885e-08f,
195 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
196 7.246299848982885e-08f
201 return SimpleSoftmaxBaseTestImpl<ArmnnType, 2>(workloadFactory, memoryManager, tensorHandleFactory, beta,
202 inputShape, outputData, inputData, axis);
205 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
212 const std::vector<float>& outputData,
213 const std::vector<float>& inputData,
216 return SimpleSoftmaxBaseTestImpl<ArmnnType, 3>(workloadFactory, memoryManager, tensorHandleFactory, beta,
217 inputShape, outputData, inputData, axis);
220 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
227 const std::vector<float>& outputData,
228 const std::vector<float>& inputData,
232 return SimpleSoftmaxBaseTestImpl<ArmnnType, 4>(workloadFactory, memoryManager, tensorHandleFactory, beta,
233 inputShape, outputData, inputData, axis);
236 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
245 const int batchSize = 20;
246 const int channels = 30;
251 unsigned int inputShape[] = { batchSize, channels };
255 float qScale = 1.f / 256.f;
264 auto input = MakeRandomTensor<T, 2>(inputTensorInfo, 0xF00D, 0.0f, 1.0f);
266 std::unique_ptr<armnn::ITensorHandle> inputHandle = tensorHandleFactory.
CreateTensorHandle(inputTensorInfo);
267 std::unique_ptr<armnn::ITensorHandle> outputHandle = tensorHandleFactory.
CreateTensorHandle(outputTensorInfo);
273 AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get());
274 AddOutputToWorkload(data, info, outputTensorInfo, outputHandle.get());
276 std::unique_ptr<armnn::ITensorHandle> outputHandleRef =
278 std::unique_ptr<armnn::ITensorHandle> inputHandleRef =
283 SetWorkloadInput(refData, refInfo, 0, inputTensorInfo, inputHandleRef.get());
284 SetWorkloadOutput(refData, refInfo, 0, outputTensorInfo, outputHandleRef.get());
286 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateSoftmax(data, info);
287 std::unique_ptr<armnn::IWorkload> workloadRef = refWorkloadFactory.
CreateSoftmax(refData, refInfo);
289 outputHandleRef->Allocate();
290 inputHandleRef->Allocate();
292 inputHandle->Allocate();
293 outputHandle->Allocate();
298 ExecuteWorkload(*workload, memoryManager);
300 workloadRef->Execute();
316 return SimpleSoftmaxTestImpl<armnn::DataType::Float32>(workloadFactory, memoryManager, tensorHandleFactory, beta);
326 return SimpleSoftmaxTestImpl<armnn::DataType::Float32>(workloadFactory, memoryManager,
327 tensorHandleFactory, beta, axis);
336 Simple3dSoftmaxOutputData data;
337 return Simple3dSoftmaxTestImpl<armnn::DataType::Float32>(workloadFactory, memoryManager, tensorHandleFactory, beta,
338 data.inputShape, data.outputData, data.inputData);
349 std::vector<float> inputData;
350 std::vector<float> outputData;
356 inputShape = {5, 2, 2};
360 17.0f, -1.0f, 17.0f, -1.0f, 16.0f, -2.0f, 16.0f, -2.0f, 15.0f, -3.0f,
362 15.0f, -3.0f, 14.0f, -4.0f, 14.0f, -4.0f, 1.0f, -17.0f, 1.0f, -17.0f
367 0.643914213228014f, 0.643914213228014f, 0.643914213228014f, 0.643914213228014f,
369 0.236882800924671f, 0.236882800924671f, 0.236882800924671f, 0.087144312427294f,
372 0.087144312427294f, 0.087144312427294f, 0.032058600957022f, 0.032058600957022f,
374 0.032058600957022f, 7.246299848982885e-08f, 7.246299848982885e-08f, 7.246299848982885e-08f,
375 7.246299848982885e-08f
382 inputShape = {2, 5, 2};
386 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f,
388 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f
393 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
395 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
396 7.246299848982885e-08f,
398 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
400 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
401 7.246299848982885e-08f
408 inputShape = {2, 2, 5};
412 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f,
413 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f
418 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
419 7.246299848982885e-08f,
420 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
421 7.246299848982885e-08f,
423 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
424 7.246299848982885e-08f,
425 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
426 7.246299848982885e-08f
432 return Simple3dSoftmaxTestImpl<armnn::DataType::Float32>(workloadFactory, memoryManager, tensorHandleFactory, beta,
433 inputShape, outputData, inputData, axis);
442 Simple4dSoftmaxData data;
443 return Simple4dSoftmaxTestImpl<armnn::DataType::Float32>(workloadFactory, memoryManager, tensorHandleFactory,
444 beta, data.inputShape, data.outputData, data.inputData);
455 std::vector<float> inputData;
456 std::vector<float> outputData;
462 inputShape = {5, 2, 2, 2};
466 17.0f, -1.0f, 17.0f, -1.0f, 17.0f, -1.0f, 17.0f, -1.0f, 16.0f, -2.0f,
467 16.0f, -2.0f, 16.0f, -2.0f, 16.0f, -2.0f, 15.0f, -3.0f, 15.0f, -3.0f,
468 15.0f, -3.0f, 15.0f, -3.0f, 14.0f, -4.0f, 14.0f, -4.0f, 14.0f, -4.0f,
469 14.0f, -4.0f, 1.0f, -17.0f, 1.0f, -17.0f, 1.0f, -17.0f, 1.0f, -17.0f
474 0.643914213228014f, 0.643914213228014f, 0.643914213228014f, 0.643914213228014f,
476 0.643914213228014f, 0.643914213228014f, 0.643914213228014f, 0.236882800924671f,
478 0.236882800924671f, 0.236882800924671f, 0.236882800924671f, 0.236882800924671f,
480 0.236882800924671f, 0.087144312427294f, 0.087144312427294f, 0.087144312427294f,
483 0.087144312427294f, 0.087144312427294f, 0.087144312427294f, 0.087144312427294f,
485 0.032058600957022f, 0.032058600957022f, 0.032058600957022f, 0.032058600957022f,
487 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f, 7.246299848982885e-08f,
488 7.246299848982885e-08f,
489 7.246299848982885e-08f, 7.246299848982885e-08f, 7.246299848982885e-08f,
490 7.246299848982885e-08f, 7.246299848982885e-08f
497 inputShape = {2, 5, 2, 2};
501 17.0f, -1.0f, 17.0f, -1.0f, 16.0f, -2.0f, 16.0f, -2.0f, 15.0f, -3.0f,
502 15.0f, -3.0f, 14.0f, -4.0f, 14.0f, -4.0f, 1.0f, -17.0f, 1.0f, -17.0f,
503 17.0f, -1.0f, 17.0f, -1.0f, 16.0f, -2.0f, 16.0f, -2.0f, 15.0f, -3.0f,
504 15.0f, -3.0f, 14.0f, -4.0f, 14.0f, -4.0f, 1.0f, -17.0f, 1.0f, -17.0f
509 0.643914213228014f, 0.643914213228014f, 0.643914213228014f, 0.643914213228014f,
511 0.236882800924671f, 0.236882800924671f, 0.236882800924671f, 0.087144312427294f,
513 0.087144312427294f, 0.087144312427294f, 0.032058600957022f, 0.032058600957022f,
515 0.032058600957022f, 7.246299848982885e-08f, 7.246299848982885e-08f, 7.246299848982885e-08f,
516 7.246299848982885e-08f,
519 0.643914213228014f, 0.643914213228014f, 0.643914213228014f, 0.643914213228014f,
521 0.236882800924671f, 0.236882800924671f, 0.236882800924671f, 0.087144312427294f,
523 0.087144312427294f, 0.087144312427294f, 0.032058600957022f, 0.032058600957022f,
525 0.032058600957022f, 7.246299848982885e-08f, 7.246299848982885e-08f, 7.246299848982885e-08f,
526 7.246299848982885e-08f
533 inputShape = {2, 2, 5, 2};
537 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f,
538 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f,
539 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f,
540 17.0f, -1.0f, 16.0f, -2.0f, 15.0f, -3.0f, 14.0f, -4.0f, 1.0f, -17.0f
545 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
547 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
548 7.246299848982885e-08f,
549 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
551 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
552 7.246299848982885e-08f,
554 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
556 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
557 7.246299848982885e-08f,
558 0.643914213228014f, 0.643914213228014f, 0.236882800924671f, 0.236882800924671f,
560 0.087144312427294f, 0.032058600957022f, 0.032058600957022f, 7.246299848982885e-08f,
561 7.246299848982885e-08f
568 inputShape = {2, 2, 2, 5};
572 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f,
573 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f,
574 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f,
575 17.0f, 16.0f, 15.0f, 14.0f, 1.0f, -1.0f, -2.0f, -3.0f, -4.0f, -17.0f
580 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
581 7.246299848982885e-08f,
582 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
583 7.246299848982885e-08f,
584 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
585 7.246299848982885e-08f,
586 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
587 7.246299848982885e-08f,
589 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
590 7.246299848982885e-08f,
591 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
592 7.246299848982885e-08f,
593 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
594 7.246299848982885e-08f,
595 0.643914213228014f, 0.236882800924671f, 0.087144312427294f, 0.032058600957022f,
596 7.246299848982885e-08f
602 return Simple4dSoftmaxTestImpl<armnn::DataType::Float32>(
619 return SimpleSoftmaxTestImpl<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager, tensorHandleFactory, beta);
628 Simple3dSoftmaxOutputData data;
629 return Simple3dSoftmaxTestImpl<armnn::DataType::QAsymmU8>(
645 Simple4dSoftmaxData data;
647 return Simple4dSoftmaxTestImpl<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager, tensorHandleFactory, beta,
648 data.inputShape, data.outputData, data.inputData);
657 return SimpleSoftmaxTestImpl<armnn::DataType::Float16>(workloadFactory, memoryManager, tensorHandleFactory, beta);
666 Simple3dSoftmaxOutputData data;
667 return Simple3dSoftmaxTestImpl<armnn::DataType::Float16>(workloadFactory, memoryManager, tensorHandleFactory, beta,
668 data.inputShape, data.outputData, data.inputData);
677 Simple4dSoftmaxData data;
678 return Simple4dSoftmaxTestImpl<armnn::DataType::Float16>(workloadFactory, memoryManager, tensorHandleFactory, beta,
679 data.inputShape, data.outputData, data.inputData);
688 return SimpleSoftmaxTestImpl<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory, beta);
697 Simple3dSoftmaxOutputData data;
698 return Simple3dSoftmaxTestImpl<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory, beta,
699 data.inputShape, data.outputData, data.inputData);
708 Simple4dSoftmaxData data;
710 return Simple4dSoftmaxTestImpl<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory, beta,
711 data.inputShape, data.outputData, data.inputData);
722 return CompareSoftmaxTestImpl<armnn::DataType::Float32>(
723 workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory, beta);
734 return CompareSoftmaxTestImpl<armnn::DataType::QAsymmU8>(
735 workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory, beta);
LayerTestResult< float, 4 > Simple4dAxisSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta, int axis)
LayerTestResult< float, 4 > Simple4dSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerTestResult< int16_t, 3 > Simple3dSoftmaxUint16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
int m_Axis
Scalar, defaulted to the last index (-1), specifying the dimension the activation will be performed o...
LayerTestResult< armnn::Half, 3 > Simple3dSoftmaxFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerTestResult< int16_t, 4 > Simple4dSoftmaxUint16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
float m_Beta
Exponentiation value.
LayerTestResult< uint8_t, 2 > SimpleSoftmaxUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerTestResult< uint8_t, 2 > CompareSoftmaxUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, armnn::IWorkloadFactory &refWorkloadFactory, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::ITensorHandleFactory &refTensorHandleFactory, float beta)
LayerTestResult< uint8_t, 4 > Simple4dSoftmaxUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerDescriptor m_Parameters
LayerTestResult< float, 3 > Simple3dAxisSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta, int axis)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
void SetQuantizationScale(float scale)
#define ARMNN_ASSERT(COND)
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
LayerTestResult< float, 2 > CompareSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, armnn::IWorkloadFactory &refWorkloadFactory, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::ITensorHandleFactory &refTensorHandleFactory, float beta)
LayerTestResult< uint8_t, 3 > Simple3dSoftmaxUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerTestResult< armnn::Half, 4 > Simple4dSoftmaxFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerTestResult< armnn::Half, 2 > SimpleSoftmaxFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
virtual std::unique_ptr< IWorkload > CreateSoftmax(const SoftmaxQueueDescriptor &descriptor, const WorkloadInfo &info) const
Contains information about inputs and outputs to a layer.
void SetQuantizationOffset(int32_t offset)
LayerTestResult< float, 3 > Simple3dSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
LayerTestResult< float, 2 > SimpleSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo) const =0
LayerTestResult< float, 2 > SimpleAxisSoftmaxTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta, int axis)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
LayerTestResult< int16_t, 2 > SimpleSoftmaxUint16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, float beta)