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> actualOutput(outputInfo.GetNumElements());
99 std::vector<T> expectedOutputData = armnnUtils::QuantizedVector<T>(params.m_ExpectedOutputData,
100 params.m_OutQuantScale,
101 params.m_OutQuantOffset);
109 std::unique_ptr<armnn::ITensorHandle> inputHandle = tensorHandleFactory.
CreateTensorHandle(inputInfo);
110 std::unique_ptr<armnn::ITensorHandle> outputHandle = tensorHandleFactory.
CreateTensorHandle(outputInfo);
123 AddInputToWorkload(descriptor, info, inputInfo, inputHandle.get());
124 AddOutputToWorkload(descriptor, info, outputInfo, outputHandle.get());
126 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateResize(descriptor, info);
128 inputHandle->Allocate();
129 outputHandle->Allocate();
132 workload->PostAllocationConfigure();
139 outputHandle->GetShape(),
140 outputInfo.GetShape());
149 template<armnn::DataType ArmnnType,
typename T>
156 ResizeTestParams testParams;
158 testParams.m_DataLayout = dataLayout;
160 testParams.m_InputShape = { 1, 2, 4, 4 };
161 testParams.m_OutputShape = testParams.m_InputShape;
163 testParams.m_InputData =
165 1.0f, 2.0f, 3.0f, 4.0f,
166 2.0f, 3.0f, 4.0f, 5.0f,
167 3.0f, 4.0f, 5.0f, 6.0f,
168 4.0f, 5.0f, 6.0f, 7.0f,
170 1.0f, 2.0f, 3.0f, 4.0f,
171 2.0f, 3.0f, 4.0f, 5.0f,
172 3.0f, 4.0f, 5.0f, 6.0f,
173 4.0f, 5.0f, 6.0f, 7.0f
176 testParams.m_ExpectedOutputData = testParams.m_InputData;
178 testParams.SetInOutQuantParams(1.5f, 3);
180 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
183 template<armnn::DataType ArmnnType,
typename T>
190 ResizeTestParams testParams;
192 testParams.m_DataLayout = dataLayout;
194 testParams.m_InputShape = { 1, 2, 2, 2 };
195 testParams.m_OutputShape = { 1, 2, 1, 1 };
197 testParams.m_InputData =
211 testParams.m_ExpectedOutputData =
218 testParams.SetInOutQuantParams(0.1567f, 1);
220 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
223 template<armnn::DataType ArmnnType,
typename T>
230 ResizeTestParams testParams;
232 testParams.m_DataLayout = dataLayout;
234 testParams.m_InputShape = { 1, 2, 4, 4 };
235 testParams.m_OutputShape = { 1, 2, 2, 2 };
237 testParams.m_InputData =
239 1.0f, 2.0f, 3.0f, 4.0f,
240 2.0f, 3.0f, 4.0f, 5.0f,
241 3.0f, 4.0f, 5.0f, 6.0f,
242 4.0f, 5.0f, 6.0f, 7.0f,
244 7.0f, 6.0f, 5.0f, 4.0f,
245 6.0f, 5.0f, 4.0f, 3.0f,
246 5.0f, 4.0f, 3.0f, 2.0f,
247 4.0f, 3.0f, 2.0f, 1.0f
250 testParams.m_ExpectedOutputData =
259 testParams.SetInOutQuantParams(3.141592f, 3);
261 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
264 template<armnn::DataType ArmnnType,
typename T>
271 ResizeTestParams testParams;
273 testParams.m_DataLayout = dataLayout;
275 testParams.m_InputShape = { 1, 2, 3, 5 };
276 testParams.m_OutputShape = { 1, 2, 2, 3 };
278 testParams.m_InputData =
280 1.5f, 3.0f, 4.5f, 6.0f, 7.5f,
281 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
282 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
284 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
285 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
286 1.5f, 3.0f, 4.5f, 6.0f, 7.5f
289 testParams.m_ExpectedOutputData =
292 12.75f, 15.25f, 17.75f,
294 16.50f, 19.00f, 21.50f,
298 testParams.SetInOutQuantParams(1.5f, -1);
300 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
303 template<armnn::DataType ArmnnType,
typename T>
310 ResizeTestParams testParams;
312 testParams.m_DataLayout = dataLayout;
314 testParams.m_InputShape = { 1, 2, 3, 2 };
315 testParams.m_OutputShape = { 1, 2, 3, 5 };
317 testParams.m_InputData =
328 testParams.m_ExpectedOutputData =
330 1.0f, 1.4f, 1.8f, 2.0f, 2.0f,
331 13.0f, 16.2f, 19.4f, 21.0f, 21.0f,
332 144.0f, 179.6f, 215.2f, 233.0f, 233.0f,
334 233.0f, 197.4f, 161.8f, 144.0f, 144.0f,
335 21.0f, 17.8f, 14.6f, 13.0f, 13.0f,
336 2.0f, 1.6f, 1.2f, 1.0f, 1.0f
339 testParams.SetInQuantParams(1.0f, 0);
341 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
348 template<armnn::DataType ArmnnType,
typename T>
355 ResizeTestParams testParams;
357 testParams.m_DataLayout = dataLayout;
359 testParams.m_InputShape = { 1, 2, 4, 4 };
360 testParams.m_OutputShape = testParams.m_InputShape;
362 testParams.m_InputData =
364 1.0f, 2.0f, 3.0f, 4.0f,
365 2.0f, 3.0f, 4.0f, 5.0f,
366 3.0f, 4.0f, 5.0f, 6.0f,
367 4.0f, 5.0f, 6.0f, 7.0f,
369 1.0f, 2.0f, 3.0f, 4.0f,
370 2.0f, 3.0f, 4.0f, 5.0f,
371 3.0f, 4.0f, 5.0f, 6.0f,
372 4.0f, 5.0f, 6.0f, 7.0f
375 testParams.m_ExpectedOutputData = testParams.m_InputData;
377 testParams.SetInOutQuantParams(1.5f, 3);
379 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
382 template<armnn::DataType ArmnnType,
typename T>
389 ResizeTestParams testParams;
391 testParams.m_DataLayout = dataLayout;
393 testParams.m_InputShape = { 1, 2, 2, 2 };
394 testParams.m_OutputShape = { 1, 2, 1, 1 };
396 testParams.m_InputData =
410 testParams.m_ExpectedOutputData =
417 testParams.SetInOutQuantParams(0.1567f, 1);
419 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
422 template<armnn::DataType ArmnnType,
typename T>
429 ResizeTestParams testParams;
431 testParams.m_DataLayout = dataLayout;
433 testParams.m_InputShape = { 1, 2, 4, 4 };
434 testParams.m_OutputShape = { 1, 2, 2, 2 };
436 testParams.m_InputData =
438 1.0f, 2.0f, 3.0f, 4.0f,
439 2.0f, 3.0f, 4.0f, 5.0f,
440 3.0f, 4.0f, 5.0f, 6.0f,
441 4.0f, 5.0f, 6.0f, 7.0f,
443 7.0f, 6.0f, 5.0f, 4.0f,
444 6.0f, 5.0f, 4.0f, 3.0f,
445 5.0f, 4.0f, 3.0f, 2.0f,
446 4.0f, 3.0f, 2.0f, 1.0f
449 testParams.m_ExpectedOutputData =
458 testParams.SetInOutQuantParams(3.141592f, 3);
460 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
463 template<armnn::DataType ArmnnType,
typename T>
470 ResizeTestParams testParams;
472 testParams.m_DataLayout = dataLayout;
474 testParams.m_InputShape = { 1, 2, 3, 5 };
475 testParams.m_OutputShape = { 1, 2, 2, 3 };
477 testParams.m_InputData =
479 1.5f, 3.0f, 4.5f, 6.0f, 7.5f,
480 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
481 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
483 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
484 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
485 1.5f, 3.0f, 4.5f, 6.0f, 7.5f
488 testParams.m_ExpectedOutputData =
497 testParams.SetInOutQuantParams(1.5f, -1);
499 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
502 template<armnn::DataType ArmnnType,
typename T>
509 int32_t inQuantOffset,
511 int32_t outQuantOffset)
513 ResizeTestParams testParams;
515 testParams.m_DataLayout = dataLayout;
517 testParams.m_InputShape = { 1, 2, 3, 2 };
518 testParams.m_OutputShape = { 1, 2, 3, 5 };
520 testParams.m_InputData =
522 0.183005f, 2.379065f,
523 1.054970f, 1.302565f,
524 2.400595f, 0.688960f,
526 2.400595f, 0.688960f,
527 1.054970f, 1.302565f,
528 0.183005f, 2.379065f,
531 testParams.m_ExpectedOutputData =
533 0.183005f, 0.183005f, 0.183005f, 2.379065f, 2.379065f,
534 1.054970f, 1.054970f, 1.054970f, 1.302565f, 1.302565f,
535 2.400595f, 2.400595f, 2.400595f, 0.688960f, 0.688960f,
537 2.400595f, 2.400595f, 2.400595f, 0.688960f, 0.688960f,
538 1.054970f, 1.054970f, 1.054970f, 1.302565f, 1.302565f,
539 0.183005f, 0.183005f, 0.183005f, 2.379065f, 2.379065f
542 testParams.SetInQuantParams(inQuantScale, inQuantOffset);
543 testParams.SetOutQuantParams(outQuantScale, outQuantOffset);
545 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
548 template<armnn::DataType ArmnnType,
typename T>
555 ResizeTestParams testParams;
557 testParams.m_DataLayout = dataLayout;
558 testParams.m_HalfPixelCenters =
true;
560 testParams.m_InputShape = { 2, 1, 2, 2 };
561 testParams.m_OutputShape = { 2, 1, 3, 3 };
563 testParams.m_InputData =
572 testParams.m_ExpectedOutputData =
583 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
586 template<armnn::DataType ArmnnType,
typename T>
593 ResizeTestParams testParams;
595 testParams.m_DataLayout = dataLayout;
596 testParams.m_AlignCorners =
true;
598 testParams.m_InputShape = { 1, 1, 2, 2 };
599 testParams.m_OutputShape = { 1, 1, 1, 1 };
601 testParams.m_InputData =
607 testParams.m_ExpectedOutputData =
612 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
615 template<armnn::DataType ArmnnType,
typename T>
622 ResizeTestParams testParams;
624 testParams.m_DataLayout = dataLayout;
625 testParams.m_HalfPixelCenters =
true;
627 testParams.m_InputShape = { 1, 1, 2, 5 };
628 testParams.m_OutputShape = { 1, 1, 2, 2 };
630 testParams.m_InputData =
632 1.0f, 2.0f, 3.0f, 4.0f, 5.0f,
634 1.0f, 2.0f, 3.0f, 4.0f, 5.0f
637 testParams.m_ExpectedOutputData =
643 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
646 template<armnn::DataType ArmnnType,
typename T>
653 ResizeTestParams testParams;
655 testParams.m_DataLayout = dataLayout;
656 testParams.m_AlignCorners =
true;
658 testParams.m_InputShape = { 1, 1, 2, 2 };
659 testParams.m_OutputShape = { 1, 1, 1, 1 };
661 testParams.m_InputData =
667 testParams.m_ExpectedOutputData =
672 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
681 ResizeBilinearNopTest<armnn::DataType::Float32>(
687 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
688 SimpleResizeBilinearTest<armnn::DataType::Float32>(
694 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
695 ResizeBilinearSqMinTest<armnn::DataType::Float32>(
701 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
702 ResizeBilinearMinTest<armnn::DataType::Float32>(
708 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
709 ResizeBilinearMagTest<armnn::DataType::Float32>(
715 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
716 ResizeNearestNeighborNopTest<armnn::DataType::Float32>(
722 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
723 SimpleResizeNearestNeighborTest<armnn::DataType::Float32>(
729 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
730 ResizeNearestNeighborSqMinTest<armnn::DataType::Float32>(
736 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
737 ResizeNearestNeighborMinTest<armnn::DataType::Float32>(
743 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
744 ResizeNearestNeighborMagTest<armnn::DataType::Float32>(
750 int32_t inQuantOffset,
752 int32_t outQuantOffset);
754 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
755 HalfPixelCentersResizeBilinearTest<armnn::DataType::Float32>(
761 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
762 AlignCornersResizeBilinearTest<armnn::DataType::Float32>(
768 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
769 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::Float32>(
775 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
776 AlignCornersResizeNearestNeighbourTest<armnn::DataType::Float32>(
784 ResizeBilinearNopTest<armnn::DataType::Float16>(
790 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
791 SimpleResizeBilinearTest<armnn::DataType::Float16>(
797 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
798 ResizeBilinearSqMinTest<armnn::DataType::Float16>(
804 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
805 ResizeBilinearMinTest<armnn::DataType::Float16>(
811 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
812 ResizeBilinearMagTest<armnn::DataType::Float16>(
818 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
819 ResizeNearestNeighborNopTest<armnn::DataType::Float16>(
825 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
826 SimpleResizeNearestNeighborTest<armnn::DataType::Float16>(
832 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
833 ResizeNearestNeighborSqMinTest<armnn::DataType::Float16>(
839 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
840 ResizeNearestNeighborMinTest<armnn::DataType::Float16>(
846 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
847 ResizeNearestNeighborMagTest<armnn::DataType::Float16>(
853 int32_t inQuantOffset,
855 int32_t outQuantOffset);
857 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
858 HalfPixelCentersResizeBilinearTest<armnn::DataType::Float16>(
864 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
865 AlignCornersResizeBilinearTest<armnn::DataType::Float16>(
871 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
872 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::Float16>(
878 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
879 AlignCornersResizeNearestNeighbourTest<armnn::DataType::Float16>(
887 ResizeBilinearNopTest<armnn::DataType::QAsymmU8>(
893 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
894 SimpleResizeBilinearTest<armnn::DataType::QAsymmU8>(
900 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
901 ResizeBilinearSqMinTest<armnn::DataType::QAsymmU8>(
907 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
908 ResizeBilinearMinTest<armnn::DataType::QAsymmU8>(
914 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
915 ResizeBilinearMagTest<armnn::DataType::QAsymmU8>(
921 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
922 ResizeNearestNeighborNopTest<armnn::DataType::QAsymmU8>(
928 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
929 SimpleResizeNearestNeighborTest<armnn::DataType::QAsymmU8>(
935 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
936 ResizeNearestNeighborSqMinTest<armnn::DataType::QAsymmU8>(
942 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
943 ResizeNearestNeighborMinTest<armnn::DataType::QAsymmU8>(
949 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
950 ResizeNearestNeighborMagTest<armnn::DataType::QAsymmU8>(
956 int32_t inQuantOffset,
958 int32_t outQuantOffset);
961 HalfPixelCentersResizeBilinearTest<armnn::DataType::QAsymmS8>(
967 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
968 AlignCornersResizeBilinearTest<armnn::DataType::QAsymmS8>(
974 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
975 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QAsymmS8>(
981 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
982 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QAsymmS8>(
989 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
990 ResizeBilinearNopTest<armnn::DataType::QAsymmS8>(
996 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
997 SimpleResizeBilinearTest<armnn::DataType::QAsymmS8>(
1003 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1004 ResizeBilinearSqMinTest<armnn::DataType::QAsymmS8>(
1010 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1011 ResizeBilinearMinTest<armnn::DataType::QAsymmS8>(
1017 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1018 ResizeBilinearMagTest<armnn::DataType::QAsymmS8>(
1024 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1025 ResizeNearestNeighborNopTest<armnn::DataType::QAsymmS8>(
1031 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1032 SimpleResizeNearestNeighborTest<armnn::DataType::QAsymmS8>(
1038 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1039 ResizeNearestNeighborSqMinTest<armnn::DataType::QAsymmS8>(
1045 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1046 ResizeNearestNeighborMinTest<armnn::DataType::QAsymmS8>(
1052 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1053 ResizeNearestNeighborMagTest<armnn::DataType::QAsymmS8>(
1059 int32_t inQuantOffset,
1060 float outQuantScale,
1061 int32_t outQuantOffset);
1063 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1064 HalfPixelCentersResizeBilinearTest<armnn::DataType::QAsymmU8>(
1070 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1071 AlignCornersResizeBilinearTest<armnn::DataType::QAsymmU8>(
1077 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1078 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QAsymmU8>(
1084 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1085 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QAsymmU8>(
1093 ResizeBilinearNopTest<armnn::DataType::QSymmS16>(
1099 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1100 SimpleResizeBilinearTest<armnn::DataType::QSymmS16>(
1106 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1107 ResizeBilinearSqMinTest<armnn::DataType::QSymmS16>(
1113 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1114 ResizeBilinearMinTest<armnn::DataType::QSymmS16>(
1120 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1121 ResizeBilinearMagTest<armnn::DataType::QSymmS16>(
1127 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1128 ResizeNearestNeighborNopTest<armnn::DataType::QSymmS16>(
1134 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1135 SimpleResizeNearestNeighborTest<armnn::DataType::QSymmS16>(
1141 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1142 ResizeNearestNeighborSqMinTest<armnn::DataType::QSymmS16>(
1148 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1149 ResizeNearestNeighborMinTest<armnn::DataType::QSymmS16>(
1155 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1156 ResizeNearestNeighborMagTest<armnn::DataType::QSymmS16>(
1162 int32_t inQuantOffset,
1163 float outQuantScale,
1164 int32_t outQuantOffset);
1166 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1167 HalfPixelCentersResizeBilinearTest<armnn::DataType::QSymmS16>(
1173 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1174 AlignCornersResizeBilinearTest<armnn::DataType::QSymmS16>(
1180 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1181 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QSymmS16>(
1187 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1188 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) 2021 ARM Limited and Contributors.
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 TensorInfos of 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)