24 struct ResizeTestParams
29 , m_InQuantScale(1.0f)
31 , m_OutQuantScale(1.0f)
33 , m_AlignCorners(
false)
34 , m_HalfPixelCenters(
false) {}
42 std::vector<float> m_InputData;
43 std::vector<float> m_ExpectedOutputData;
46 int32_t m_InQuantOffset;
48 float m_OutQuantScale;
49 int32_t m_OutQuantOffset;
52 bool m_HalfPixelCenters;
54 void SetInQuantParams(
float quantScale, int32_t quantOffset)
56 m_InQuantScale = quantScale;
57 m_InQuantOffset = quantOffset;
60 void SetOutQuantParams(
float quantScale, int32_t quantOffset)
62 m_OutQuantScale = quantScale;
63 m_OutQuantOffset = quantOffset;
66 void SetInOutQuantParams(
float quantScale, int32_t quantOffset)
68 SetInQuantParams(quantScale, quantOffset);
69 SetOutQuantParams(quantScale, quantOffset);
73 template<
size_t NumDims,
80 const ResizeTestParams& params)
86 if (armnn::IsQuantizedType<T>())
88 inputInfo.SetQuantizationScale(params.m_InQuantScale);
89 inputInfo.SetQuantizationOffset(params.m_InQuantOffset);
91 outputInfo.SetQuantizationScale(params.m_OutQuantScale);
92 outputInfo.SetQuantizationOffset(params.m_OutQuantOffset);
95 std::vector<T> inputData =
96 armnnUtils::QuantizedVector<T>(params.m_InputData, params.m_InQuantScale, params.m_InQuantOffset);
98 std::vector<T> expectedOutputData =
99 armnnUtils::QuantizedVector<T>(params.m_ExpectedOutputData,
100 params.m_OutQuantScale,
101 params.m_OutQuantOffset);
109 auto input = MakeTensor<T, NumDims>(inputInfo, inputData);
112 result.outputExpected = MakeTensor<T, NumDims>(outputInfo, expectedOutputData);
114 std::unique_ptr<armnn::ITensorHandle> inputHandle = tensorHandleFactory.
CreateTensorHandle(inputInfo);
115 std::unique_ptr<armnn::ITensorHandle> outputHandle = tensorHandleFactory.
CreateTensorHandle(outputInfo);
128 AddInputToWorkload(descriptor, info, inputInfo, inputHandle.get());
129 AddOutputToWorkload(descriptor, info, outputInfo, outputHandle.get());
131 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateResize(descriptor, info);
133 inputHandle->Allocate();
134 outputHandle->Allocate();
137 workload->PostAllocationConfigure();
150 template<armnn::DataType ArmnnType,
typename T>
157 ResizeTestParams testParams;
159 testParams.m_DataLayout = dataLayout;
161 testParams.m_InputShape = { 1, 2, 4, 4 };
162 testParams.m_OutputShape = testParams.m_InputShape;
164 testParams.m_InputData =
166 1.0f, 2.0f, 3.0f, 4.0f,
167 2.0f, 3.0f, 4.0f, 5.0f,
168 3.0f, 4.0f, 5.0f, 6.0f,
169 4.0f, 5.0f, 6.0f, 7.0f,
171 1.0f, 2.0f, 3.0f, 4.0f,
172 2.0f, 3.0f, 4.0f, 5.0f,
173 3.0f, 4.0f, 5.0f, 6.0f,
174 4.0f, 5.0f, 6.0f, 7.0f
177 testParams.m_ExpectedOutputData = testParams.m_InputData;
179 testParams.SetInOutQuantParams(1.5f, 3);
181 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
184 template<armnn::DataType ArmnnType,
typename T>
191 ResizeTestParams testParams;
193 testParams.m_DataLayout = dataLayout;
195 testParams.m_InputShape = { 1, 2, 2, 2 };
196 testParams.m_OutputShape = { 1, 2, 1, 1 };
198 testParams.m_InputData =
212 testParams.m_ExpectedOutputData =
219 testParams.SetInOutQuantParams(0.1567f, 1);
221 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
224 template<armnn::DataType ArmnnType,
typename T>
231 ResizeTestParams testParams;
233 testParams.m_DataLayout = dataLayout;
235 testParams.m_InputShape = { 1, 2, 4, 4 };
236 testParams.m_OutputShape = { 1, 2, 2, 2 };
238 testParams.m_InputData =
240 1.0f, 2.0f, 3.0f, 4.0f,
241 2.0f, 3.0f, 4.0f, 5.0f,
242 3.0f, 4.0f, 5.0f, 6.0f,
243 4.0f, 5.0f, 6.0f, 7.0f,
245 7.0f, 6.0f, 5.0f, 4.0f,
246 6.0f, 5.0f, 4.0f, 3.0f,
247 5.0f, 4.0f, 3.0f, 2.0f,
248 4.0f, 3.0f, 2.0f, 1.0f
251 testParams.m_ExpectedOutputData =
260 testParams.SetInOutQuantParams(3.141592f, 3);
262 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
265 template<armnn::DataType ArmnnType,
typename T>
272 ResizeTestParams testParams;
274 testParams.m_DataLayout = dataLayout;
276 testParams.m_InputShape = { 1, 2, 3, 5 };
277 testParams.m_OutputShape = { 1, 2, 2, 3 };
279 testParams.m_InputData =
281 1.5f, 3.0f, 4.5f, 6.0f, 7.5f,
282 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
283 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
285 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
286 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
287 1.5f, 3.0f, 4.5f, 6.0f, 7.5f
290 testParams.m_ExpectedOutputData =
293 12.75f, 15.25f, 17.75f,
295 16.50f, 19.00f, 21.50f,
299 testParams.SetInOutQuantParams(1.5f, -1);
301 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
304 template<armnn::DataType ArmnnType,
typename T>
311 ResizeTestParams testParams;
313 testParams.m_DataLayout = dataLayout;
315 testParams.m_InputShape = { 1, 2, 3, 2 };
316 testParams.m_OutputShape = { 1, 2, 3, 5 };
318 testParams.m_InputData =
329 testParams.m_ExpectedOutputData =
331 1.0f, 1.4f, 1.8f, 2.0f, 2.0f,
332 13.0f, 16.2f, 19.4f, 21.0f, 21.0f,
333 144.0f, 179.6f, 215.2f, 233.0f, 233.0f,
335 233.0f, 197.4f, 161.8f, 144.0f, 144.0f,
336 21.0f, 17.8f, 14.6f, 13.0f, 13.0f,
337 2.0f, 1.6f, 1.2f, 1.0f, 1.0f
340 testParams.SetInQuantParams(1.0f, 0);
342 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
349 template<armnn::DataType ArmnnType,
typename T>
356 ResizeTestParams testParams;
358 testParams.m_DataLayout = dataLayout;
360 testParams.m_InputShape = { 1, 2, 4, 4 };
361 testParams.m_OutputShape = testParams.m_InputShape;
363 testParams.m_InputData =
365 1.0f, 2.0f, 3.0f, 4.0f,
366 2.0f, 3.0f, 4.0f, 5.0f,
367 3.0f, 4.0f, 5.0f, 6.0f,
368 4.0f, 5.0f, 6.0f, 7.0f,
370 1.0f, 2.0f, 3.0f, 4.0f,
371 2.0f, 3.0f, 4.0f, 5.0f,
372 3.0f, 4.0f, 5.0f, 6.0f,
373 4.0f, 5.0f, 6.0f, 7.0f
376 testParams.m_ExpectedOutputData = testParams.m_InputData;
378 testParams.SetInOutQuantParams(1.5f, 3);
380 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
383 template<armnn::DataType ArmnnType,
typename T>
390 ResizeTestParams testParams;
392 testParams.m_DataLayout = dataLayout;
394 testParams.m_InputShape = { 1, 2, 2, 2 };
395 testParams.m_OutputShape = { 1, 2, 1, 1 };
397 testParams.m_InputData =
411 testParams.m_ExpectedOutputData =
418 testParams.SetInOutQuantParams(0.1567f, 1);
420 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
423 template<armnn::DataType ArmnnType,
typename T>
430 ResizeTestParams testParams;
432 testParams.m_DataLayout = dataLayout;
434 testParams.m_InputShape = { 1, 2, 4, 4 };
435 testParams.m_OutputShape = { 1, 2, 2, 2 };
437 testParams.m_InputData =
439 1.0f, 2.0f, 3.0f, 4.0f,
440 2.0f, 3.0f, 4.0f, 5.0f,
441 3.0f, 4.0f, 5.0f, 6.0f,
442 4.0f, 5.0f, 6.0f, 7.0f,
444 7.0f, 6.0f, 5.0f, 4.0f,
445 6.0f, 5.0f, 4.0f, 3.0f,
446 5.0f, 4.0f, 3.0f, 2.0f,
447 4.0f, 3.0f, 2.0f, 1.0f
450 testParams.m_ExpectedOutputData =
459 testParams.SetInOutQuantParams(3.141592f, 3);
461 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
464 template<armnn::DataType ArmnnType,
typename T>
471 ResizeTestParams testParams;
473 testParams.m_DataLayout = dataLayout;
475 testParams.m_InputShape = { 1, 2, 3, 5 };
476 testParams.m_OutputShape = { 1, 2, 2, 3 };
478 testParams.m_InputData =
480 1.5f, 3.0f, 4.5f, 6.0f, 7.5f,
481 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
482 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
484 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
485 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
486 1.5f, 3.0f, 4.5f, 6.0f, 7.5f
489 testParams.m_ExpectedOutputData =
498 testParams.SetInOutQuantParams(1.5f, -1);
500 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
503 template<armnn::DataType ArmnnType,
typename T>
510 int32_t inQuantOffset,
512 int32_t outQuantOffset)
514 ResizeTestParams testParams;
516 testParams.m_DataLayout = dataLayout;
518 testParams.m_InputShape = { 1, 2, 3, 2 };
519 testParams.m_OutputShape = { 1, 2, 3, 5 };
521 testParams.m_InputData =
523 0.183005f, 2.379065f,
524 1.054970f, 1.302565f,
525 2.400595f, 0.688960f,
527 2.400595f, 0.688960f,
528 1.054970f, 1.302565f,
529 0.183005f, 2.379065f,
532 testParams.m_ExpectedOutputData =
534 0.183005f, 0.183005f, 0.183005f, 2.379065f, 2.379065f,
535 1.054970f, 1.054970f, 1.054970f, 1.302565f, 1.302565f,
536 2.400595f, 2.400595f, 2.400595f, 0.688960f, 0.688960f,
538 2.400595f, 2.400595f, 2.400595f, 0.688960f, 0.688960f,
539 1.054970f, 1.054970f, 1.054970f, 1.302565f, 1.302565f,
540 0.183005f, 0.183005f, 0.183005f, 2.379065f, 2.379065f
543 testParams.SetInQuantParams(inQuantScale, inQuantOffset);
544 testParams.SetOutQuantParams(outQuantScale, outQuantOffset);
546 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
549 template<armnn::DataType ArmnnType,
typename T>
556 ResizeTestParams testParams;
558 testParams.m_DataLayout = dataLayout;
559 testParams.m_HalfPixelCenters =
true;
561 testParams.m_InputShape = { 2, 1, 2, 2 };
562 testParams.m_OutputShape = { 2, 1, 3, 3 };
564 testParams.m_InputData =
573 testParams.m_ExpectedOutputData =
584 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
587 template<armnn::DataType ArmnnType,
typename T>
594 ResizeTestParams testParams;
596 testParams.m_DataLayout = dataLayout;
597 testParams.m_AlignCorners =
true;
599 testParams.m_InputShape = { 1, 1, 2, 2 };
600 testParams.m_OutputShape = { 1, 1, 1, 1 };
602 testParams.m_InputData =
608 testParams.m_ExpectedOutputData =
613 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
616 template<armnn::DataType ArmnnType,
typename T>
623 ResizeTestParams testParams;
625 testParams.m_DataLayout = dataLayout;
626 testParams.m_HalfPixelCenters =
true;
628 testParams.m_InputShape = { 1, 1, 2, 5 };
629 testParams.m_OutputShape = { 1, 1, 2, 2 };
631 testParams.m_InputData =
633 1.0f, 2.0f, 3.0f, 4.0f, 5.0f,
635 1.0f, 2.0f, 3.0f, 4.0f, 5.0f
638 testParams.m_ExpectedOutputData =
644 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
647 template<armnn::DataType ArmnnType,
typename T>
654 ResizeTestParams testParams;
656 testParams.m_DataLayout = dataLayout;
657 testParams.m_AlignCorners =
true;
659 testParams.m_InputShape = { 1, 1, 2, 2 };
660 testParams.m_OutputShape = { 1, 1, 1, 1 };
662 testParams.m_InputData =
668 testParams.m_ExpectedOutputData =
673 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
682 ResizeBilinearNopTest<armnn::DataType::Float32>(
688 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
689 SimpleResizeBilinearTest<armnn::DataType::Float32>(
695 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
696 ResizeBilinearSqMinTest<armnn::DataType::Float32>(
702 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
703 ResizeBilinearMinTest<armnn::DataType::Float32>(
709 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
710 ResizeBilinearMagTest<armnn::DataType::Float32>(
716 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
717 ResizeNearestNeighborNopTest<armnn::DataType::Float32>(
723 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
724 SimpleResizeNearestNeighborTest<armnn::DataType::Float32>(
730 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
731 ResizeNearestNeighborSqMinTest<armnn::DataType::Float32>(
737 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
738 ResizeNearestNeighborMinTest<armnn::DataType::Float32>(
744 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
745 ResizeNearestNeighborMagTest<armnn::DataType::Float32>(
751 int32_t inQuantOffset,
753 int32_t outQuantOffset);
755 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
756 HalfPixelCentersResizeBilinearTest<armnn::DataType::Float32>(
762 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
763 AlignCornersResizeBilinearTest<armnn::DataType::Float32>(
769 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
770 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::Float32>(
776 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
777 AlignCornersResizeNearestNeighbourTest<armnn::DataType::Float32>(
785 ResizeBilinearNopTest<armnn::DataType::Float16>(
791 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
792 SimpleResizeBilinearTest<armnn::DataType::Float16>(
798 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
799 ResizeBilinearSqMinTest<armnn::DataType::Float16>(
805 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
806 ResizeBilinearMinTest<armnn::DataType::Float16>(
812 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
813 ResizeBilinearMagTest<armnn::DataType::Float16>(
819 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
820 ResizeNearestNeighborNopTest<armnn::DataType::Float16>(
826 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
827 SimpleResizeNearestNeighborTest<armnn::DataType::Float16>(
833 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
834 ResizeNearestNeighborSqMinTest<armnn::DataType::Float16>(
840 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
841 ResizeNearestNeighborMinTest<armnn::DataType::Float16>(
847 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
848 ResizeNearestNeighborMagTest<armnn::DataType::Float16>(
854 int32_t inQuantOffset,
856 int32_t outQuantOffset);
858 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
859 HalfPixelCentersResizeBilinearTest<armnn::DataType::Float16>(
865 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
866 AlignCornersResizeBilinearTest<armnn::DataType::Float16>(
872 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
873 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::Float16>(
879 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
880 AlignCornersResizeNearestNeighbourTest<armnn::DataType::Float16>(
888 ResizeBilinearNopTest<armnn::DataType::QAsymmU8>(
894 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
895 SimpleResizeBilinearTest<armnn::DataType::QAsymmU8>(
901 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
902 ResizeBilinearSqMinTest<armnn::DataType::QAsymmU8>(
908 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
909 ResizeBilinearMinTest<armnn::DataType::QAsymmU8>(
915 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
916 ResizeBilinearMagTest<armnn::DataType::QAsymmU8>(
922 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
923 ResizeNearestNeighborNopTest<armnn::DataType::QAsymmU8>(
929 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
930 SimpleResizeNearestNeighborTest<armnn::DataType::QAsymmU8>(
936 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
937 ResizeNearestNeighborSqMinTest<armnn::DataType::QAsymmU8>(
943 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
944 ResizeNearestNeighborMinTest<armnn::DataType::QAsymmU8>(
950 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
951 ResizeNearestNeighborMagTest<armnn::DataType::QAsymmU8>(
957 int32_t inQuantOffset,
959 int32_t outQuantOffset);
962 HalfPixelCentersResizeBilinearTest<armnn::DataType::QAsymmS8>(
968 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
969 AlignCornersResizeBilinearTest<armnn::DataType::QAsymmS8>(
975 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
976 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QAsymmS8>(
982 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
983 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QAsymmS8>(
990 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
991 ResizeBilinearNopTest<armnn::DataType::QAsymmS8>(
997 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
998 SimpleResizeBilinearTest<armnn::DataType::QAsymmS8>(
1004 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1005 ResizeBilinearSqMinTest<armnn::DataType::QAsymmS8>(
1011 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1012 ResizeBilinearMinTest<armnn::DataType::QAsymmS8>(
1018 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1019 ResizeBilinearMagTest<armnn::DataType::QAsymmS8>(
1025 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1026 ResizeNearestNeighborNopTest<armnn::DataType::QAsymmS8>(
1032 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1033 SimpleResizeNearestNeighborTest<armnn::DataType::QAsymmS8>(
1039 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1040 ResizeNearestNeighborSqMinTest<armnn::DataType::QAsymmS8>(
1046 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1047 ResizeNearestNeighborMinTest<armnn::DataType::QAsymmS8>(
1053 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1054 ResizeNearestNeighborMagTest<armnn::DataType::QAsymmS8>(
1060 int32_t inQuantOffset,
1061 float outQuantScale,
1062 int32_t outQuantOffset);
1064 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1065 HalfPixelCentersResizeBilinearTest<armnn::DataType::QAsymmU8>(
1071 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1072 AlignCornersResizeBilinearTest<armnn::DataType::QAsymmU8>(
1078 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1079 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QAsymmU8>(
1085 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1086 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QAsymmU8>(
1094 ResizeBilinearNopTest<armnn::DataType::QSymmS16>(
1100 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1101 SimpleResizeBilinearTest<armnn::DataType::QSymmS16>(
1107 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1108 ResizeBilinearSqMinTest<armnn::DataType::QSymmS16>(
1114 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1115 ResizeBilinearMinTest<armnn::DataType::QSymmS16>(
1121 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1122 ResizeBilinearMagTest<armnn::DataType::QSymmS16>(
1128 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1129 ResizeNearestNeighborNopTest<armnn::DataType::QSymmS16>(
1135 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1136 SimpleResizeNearestNeighborTest<armnn::DataType::QSymmS16>(
1142 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1143 ResizeNearestNeighborSqMinTest<armnn::DataType::QSymmS16>(
1149 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1150 ResizeNearestNeighborMinTest<armnn::DataType::QSymmS16>(
1156 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1157 ResizeNearestNeighborMagTest<armnn::DataType::QSymmS16>(
1163 int32_t inQuantOffset,
1164 float outQuantScale,
1165 int32_t outQuantOffset);
1167 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1168 HalfPixelCentersResizeBilinearTest<armnn::DataType::QSymmS16>(
1174 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1175 AlignCornersResizeBilinearTest<armnn::DataType::QSymmS16>(
1181 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1182 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QSymmS16>(
1188 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1189 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QSymmS16>(
LayerTestResult< T, 4 > ResizeNearestNeighborNopTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
ResizeMethod m_Method
The Interpolation method to use (Bilinear, NearestNeighbor).
typename ResolveTypeImpl< DT >::Type ResolveType
Copyright (c) 2020 ARM Limited.
void IgnoreUnused(Ts &&...)
LayerTestResult< T, 4 > ResizeNearestNeighborSqMinTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
LayerDescriptor m_Parameters
LayerTestResult< T, 4 > SimpleResizeNearestNeighborTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
LayerTestResult< T, 4 > ResizeNearestNeighborMagTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout, float inQuantScale, int32_t inQuantOffset, float outQuantScale, int32_t outQuantOffset)
LayerTestResult< T, 4 > SimpleResizeBilinearTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
LayerTestResult< T, 4 > ResizeBilinearNopTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
void PermuteTensorNchwToNhwc(armnn::TensorInfo &tensorInfo, std::vector< T > &tensorData)
virtual std::unique_ptr< IWorkload > CreateResize(const ResizeQueueDescriptor &descriptor, const WorkloadInfo &info) const
LayerTestResult< T, 4 > AlignCornersResizeBilinearTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
Provides access to the appropriate indexes for Channels, Height and Width based on DataLayout...
uint32_t m_TargetWidth
Target width value.
bool m_HalfPixelCenters
Half Pixel Centers.
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
LayerTestResult< T, 4 > ResizeNearestNeighborMinTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
uint32_t m_TargetHeight
Target height value.
LayerTestResult< T, 4 > HalfPixelCentersResizeBilinearTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
bool m_AlignCorners
Aligned corners.
LayerTestResult< T, 4 > ResizeBilinearMinTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
LayerTestResult< T, 4 > ResizeBilinearSqMinTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
Contains information about inputs and outputs to a layer.
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
LayerTestResult< T, 4 > HalfPixelCentersResizeNearestNeighbourTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo) const =0
LayerTestResult< T, 4 > ResizeBilinearMagTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
LayerTestResult< T, 4 > AlignCornersResizeNearestNeighbourTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout dataLayout)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)