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());
130 inputHandle->Allocate();
131 outputHandle->Allocate();
134 workload->PostAllocationConfigure();
141 outputHandle->GetShape(),
142 outputInfo.GetShape());
151 template<armnn::DataType ArmnnType,
typename T>
158 ResizeTestParams testParams;
160 testParams.m_DataLayout = dataLayout;
162 testParams.m_InputShape = { 1, 2, 4, 4 };
163 testParams.m_OutputShape = testParams.m_InputShape;
165 testParams.m_InputData =
167 1.0f, 2.0f, 3.0f, 4.0f,
168 2.0f, 3.0f, 4.0f, 5.0f,
169 3.0f, 4.0f, 5.0f, 6.0f,
170 4.0f, 5.0f, 6.0f, 7.0f,
172 1.0f, 2.0f, 3.0f, 4.0f,
173 2.0f, 3.0f, 4.0f, 5.0f,
174 3.0f, 4.0f, 5.0f, 6.0f,
175 4.0f, 5.0f, 6.0f, 7.0f
178 testParams.m_ExpectedOutputData = testParams.m_InputData;
180 testParams.SetInOutQuantParams(1.5f, 3);
182 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
185 template<armnn::DataType ArmnnType,
typename T>
192 ResizeTestParams testParams;
194 testParams.m_DataLayout = dataLayout;
196 testParams.m_InputShape = { 1, 2, 2, 2 };
197 testParams.m_OutputShape = { 1, 2, 1, 1 };
199 testParams.m_InputData =
213 testParams.m_ExpectedOutputData =
220 testParams.SetInOutQuantParams(0.1567f, 1);
222 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
225 template<armnn::DataType ArmnnType,
typename T>
232 ResizeTestParams testParams;
234 testParams.m_DataLayout = dataLayout;
236 testParams.m_InputShape = { 1, 2, 4, 4 };
237 testParams.m_OutputShape = { 1, 2, 2, 2 };
239 testParams.m_InputData =
241 1.0f, 2.0f, 3.0f, 4.0f,
242 2.0f, 3.0f, 4.0f, 5.0f,
243 3.0f, 4.0f, 5.0f, 6.0f,
244 4.0f, 5.0f, 6.0f, 7.0f,
246 7.0f, 6.0f, 5.0f, 4.0f,
247 6.0f, 5.0f, 4.0f, 3.0f,
248 5.0f, 4.0f, 3.0f, 2.0f,
249 4.0f, 3.0f, 2.0f, 1.0f
252 testParams.m_ExpectedOutputData =
261 testParams.SetInOutQuantParams(3.141592f, 3);
263 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
266 template<armnn::DataType ArmnnType,
typename T>
273 ResizeTestParams testParams;
275 testParams.m_DataLayout = dataLayout;
277 testParams.m_InputShape = { 1, 2, 3, 5 };
278 testParams.m_OutputShape = { 1, 2, 2, 3 };
280 testParams.m_InputData =
282 1.5f, 3.0f, 4.5f, 6.0f, 7.5f,
283 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
284 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
286 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
287 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
288 1.5f, 3.0f, 4.5f, 6.0f, 7.5f
291 testParams.m_ExpectedOutputData =
294 12.75f, 15.25f, 17.75f,
296 16.50f, 19.00f, 21.50f,
300 testParams.SetInOutQuantParams(1.5f, -1);
302 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
305 template<armnn::DataType ArmnnType,
typename T>
312 ResizeTestParams testParams;
314 testParams.m_DataLayout = dataLayout;
316 testParams.m_InputShape = { 1, 2, 3, 2 };
317 testParams.m_OutputShape = { 1, 2, 3, 5 };
319 testParams.m_InputData =
330 testParams.m_ExpectedOutputData =
332 1.0f, 1.4f, 1.8f, 2.0f, 2.0f,
333 13.0f, 16.2f, 19.4f, 21.0f, 21.0f,
334 144.0f, 179.6f, 215.2f, 233.0f, 233.0f,
336 233.0f, 197.4f, 161.8f, 144.0f, 144.0f,
337 21.0f, 17.8f, 14.6f, 13.0f, 13.0f,
338 2.0f, 1.6f, 1.2f, 1.0f, 1.0f
341 testParams.SetInQuantParams(1.0f, 0);
343 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
350 template<armnn::DataType ArmnnType,
typename T>
357 ResizeTestParams testParams;
359 testParams.m_DataLayout = dataLayout;
361 testParams.m_InputShape = { 1, 2, 4, 4 };
362 testParams.m_OutputShape = testParams.m_InputShape;
364 testParams.m_InputData =
366 1.0f, 2.0f, 3.0f, 4.0f,
367 2.0f, 3.0f, 4.0f, 5.0f,
368 3.0f, 4.0f, 5.0f, 6.0f,
369 4.0f, 5.0f, 6.0f, 7.0f,
371 1.0f, 2.0f, 3.0f, 4.0f,
372 2.0f, 3.0f, 4.0f, 5.0f,
373 3.0f, 4.0f, 5.0f, 6.0f,
374 4.0f, 5.0f, 6.0f, 7.0f
377 testParams.m_ExpectedOutputData = testParams.m_InputData;
379 testParams.SetInOutQuantParams(1.5f, 3);
381 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
384 template<armnn::DataType ArmnnType,
typename T>
391 ResizeTestParams testParams;
393 testParams.m_DataLayout = dataLayout;
395 testParams.m_InputShape = { 1, 2, 2, 2 };
396 testParams.m_OutputShape = { 1, 2, 1, 1 };
398 testParams.m_InputData =
412 testParams.m_ExpectedOutputData =
419 testParams.SetInOutQuantParams(0.1567f, 1);
421 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
424 template<armnn::DataType ArmnnType,
typename T>
431 ResizeTestParams testParams;
433 testParams.m_DataLayout = dataLayout;
435 testParams.m_InputShape = { 1, 2, 4, 4 };
436 testParams.m_OutputShape = { 1, 2, 2, 2 };
438 testParams.m_InputData =
440 1.0f, 2.0f, 3.0f, 4.0f,
441 2.0f, 3.0f, 4.0f, 5.0f,
442 3.0f, 4.0f, 5.0f, 6.0f,
443 4.0f, 5.0f, 6.0f, 7.0f,
445 7.0f, 6.0f, 5.0f, 4.0f,
446 6.0f, 5.0f, 4.0f, 3.0f,
447 5.0f, 4.0f, 3.0f, 2.0f,
448 4.0f, 3.0f, 2.0f, 1.0f
451 testParams.m_ExpectedOutputData =
460 testParams.SetInOutQuantParams(3.141592f, 3);
462 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
465 template<armnn::DataType ArmnnType,
typename T>
472 ResizeTestParams testParams;
474 testParams.m_DataLayout = dataLayout;
476 testParams.m_InputShape = { 1, 2, 3, 5 };
477 testParams.m_OutputShape = { 1, 2, 2, 3 };
479 testParams.m_InputData =
481 1.5f, 3.0f, 4.5f, 6.0f, 7.5f,
482 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
483 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
485 16.5f, 18.0f, 19.5f, 21.0f, 22.5f,
486 9.0f, 10.5f, 12.0f, 13.5f, 15.0f,
487 1.5f, 3.0f, 4.5f, 6.0f, 7.5f
490 testParams.m_ExpectedOutputData =
499 testParams.SetInOutQuantParams(1.5f, -1);
501 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
504 template<armnn::DataType ArmnnType,
typename T>
511 int32_t inQuantOffset,
513 int32_t outQuantOffset)
515 ResizeTestParams testParams;
517 testParams.m_DataLayout = dataLayout;
519 testParams.m_InputShape = { 1, 2, 3, 2 };
520 testParams.m_OutputShape = { 1, 2, 3, 5 };
522 testParams.m_InputData =
524 0.183005f, 2.379065f,
525 1.054970f, 1.302565f,
526 2.400595f, 0.688960f,
528 2.400595f, 0.688960f,
529 1.054970f, 1.302565f,
530 0.183005f, 2.379065f,
533 testParams.m_ExpectedOutputData =
535 0.183005f, 0.183005f, 0.183005f, 2.379065f, 2.379065f,
536 1.054970f, 1.054970f, 1.054970f, 1.302565f, 1.302565f,
537 2.400595f, 2.400595f, 2.400595f, 0.688960f, 0.688960f,
539 2.400595f, 2.400595f, 2.400595f, 0.688960f, 0.688960f,
540 1.054970f, 1.054970f, 1.054970f, 1.302565f, 1.302565f,
541 0.183005f, 0.183005f, 0.183005f, 2.379065f, 2.379065f
544 testParams.SetInQuantParams(inQuantScale, inQuantOffset);
545 testParams.SetOutQuantParams(outQuantScale, outQuantOffset);
547 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
550 template<armnn::DataType ArmnnType,
typename T>
557 ResizeTestParams testParams;
559 testParams.m_DataLayout = dataLayout;
560 testParams.m_HalfPixelCenters =
true;
562 testParams.m_InputShape = { 2, 1, 2, 2 };
563 testParams.m_OutputShape = { 2, 1, 3, 3 };
565 testParams.m_InputData =
574 testParams.m_ExpectedOutputData =
585 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
588 template<armnn::DataType ArmnnType,
typename T>
595 ResizeTestParams testParams;
597 testParams.m_DataLayout = dataLayout;
598 testParams.m_AlignCorners =
true;
600 testParams.m_InputShape = { 1, 1, 2, 2 };
601 testParams.m_OutputShape = { 1, 1, 1, 1 };
603 testParams.m_InputData =
609 testParams.m_ExpectedOutputData =
614 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
617 template<armnn::DataType ArmnnType,
typename T>
624 ResizeTestParams testParams;
626 testParams.m_DataLayout = dataLayout;
627 testParams.m_HalfPixelCenters =
true;
629 testParams.m_InputShape = { 1, 1, 2, 5 };
630 testParams.m_OutputShape = { 1, 1, 2, 2 };
632 testParams.m_InputData =
634 1.0f, 2.0f, 3.0f, 4.0f, 5.0f,
636 1.0f, 2.0f, 3.0f, 4.0f, 5.0f
639 testParams.m_ExpectedOutputData =
645 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
648 template<armnn::DataType ArmnnType,
typename T>
655 ResizeTestParams testParams;
657 testParams.m_DataLayout = dataLayout;
658 testParams.m_AlignCorners =
true;
660 testParams.m_InputShape = { 1, 1, 2, 2 };
661 testParams.m_OutputShape = { 1, 1, 1, 1 };
663 testParams.m_InputData =
669 testParams.m_ExpectedOutputData =
674 return ResizeTestImpl<4, ArmnnType>(workloadFactory, memoryManager, tensorHandleFactory, testParams);
683 ResizeBilinearNopTest<armnn::DataType::Float32>(
689 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
690 SimpleResizeBilinearTest<armnn::DataType::Float32>(
696 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
697 ResizeBilinearSqMinTest<armnn::DataType::Float32>(
703 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
704 ResizeBilinearMinTest<armnn::DataType::Float32>(
710 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
711 ResizeBilinearMagTest<armnn::DataType::Float32>(
717 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
718 ResizeNearestNeighborNopTest<armnn::DataType::Float32>(
724 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
725 SimpleResizeNearestNeighborTest<armnn::DataType::Float32>(
731 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
732 ResizeNearestNeighborSqMinTest<armnn::DataType::Float32>(
738 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
739 ResizeNearestNeighborMinTest<armnn::DataType::Float32>(
745 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
746 ResizeNearestNeighborMagTest<armnn::DataType::Float32>(
752 int32_t inQuantOffset,
754 int32_t outQuantOffset);
756 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
757 HalfPixelCentersResizeBilinearTest<armnn::DataType::Float32>(
763 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
764 AlignCornersResizeBilinearTest<armnn::DataType::Float32>(
770 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
771 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::Float32>(
777 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 4>
778 AlignCornersResizeNearestNeighbourTest<armnn::DataType::Float32>(
786 ResizeBilinearNopTest<armnn::DataType::Float16>(
792 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
793 SimpleResizeBilinearTest<armnn::DataType::Float16>(
799 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
800 ResizeBilinearSqMinTest<armnn::DataType::Float16>(
806 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
807 ResizeBilinearMinTest<armnn::DataType::Float16>(
813 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
814 ResizeBilinearMagTest<armnn::DataType::Float16>(
820 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
821 ResizeNearestNeighborNopTest<armnn::DataType::Float16>(
827 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
828 SimpleResizeNearestNeighborTest<armnn::DataType::Float16>(
834 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
835 ResizeNearestNeighborSqMinTest<armnn::DataType::Float16>(
841 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
842 ResizeNearestNeighborMinTest<armnn::DataType::Float16>(
848 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
849 ResizeNearestNeighborMagTest<armnn::DataType::Float16>(
855 int32_t inQuantOffset,
857 int32_t outQuantOffset);
859 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
860 HalfPixelCentersResizeBilinearTest<armnn::DataType::Float16>(
866 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
867 AlignCornersResizeBilinearTest<armnn::DataType::Float16>(
873 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
874 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::Float16>(
880 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float16>, 4>
881 AlignCornersResizeNearestNeighbourTest<armnn::DataType::Float16>(
889 ResizeBilinearNopTest<armnn::DataType::QAsymmU8>(
895 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
896 SimpleResizeBilinearTest<armnn::DataType::QAsymmU8>(
902 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
903 ResizeBilinearSqMinTest<armnn::DataType::QAsymmU8>(
909 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
910 ResizeBilinearMinTest<armnn::DataType::QAsymmU8>(
916 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
917 ResizeBilinearMagTest<armnn::DataType::QAsymmU8>(
923 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
924 ResizeNearestNeighborNopTest<armnn::DataType::QAsymmU8>(
930 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
931 SimpleResizeNearestNeighborTest<armnn::DataType::QAsymmU8>(
937 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
938 ResizeNearestNeighborSqMinTest<armnn::DataType::QAsymmU8>(
944 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
945 ResizeNearestNeighborMinTest<armnn::DataType::QAsymmU8>(
951 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
952 ResizeNearestNeighborMagTest<armnn::DataType::QAsymmU8>(
958 int32_t inQuantOffset,
960 int32_t outQuantOffset);
963 HalfPixelCentersResizeBilinearTest<armnn::DataType::QAsymmS8>(
969 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
970 AlignCornersResizeBilinearTest<armnn::DataType::QAsymmS8>(
976 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
977 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QAsymmS8>(
983 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
984 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QAsymmS8>(
991 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
992 ResizeBilinearNopTest<armnn::DataType::QAsymmS8>(
998 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
999 SimpleResizeBilinearTest<armnn::DataType::QAsymmS8>(
1005 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1006 ResizeBilinearSqMinTest<armnn::DataType::QAsymmS8>(
1012 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1013 ResizeBilinearMinTest<armnn::DataType::QAsymmS8>(
1019 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1020 ResizeBilinearMagTest<armnn::DataType::QAsymmS8>(
1026 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1027 ResizeNearestNeighborNopTest<armnn::DataType::QAsymmS8>(
1033 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1034 SimpleResizeNearestNeighborTest<armnn::DataType::QAsymmS8>(
1040 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1041 ResizeNearestNeighborSqMinTest<armnn::DataType::QAsymmS8>(
1047 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1048 ResizeNearestNeighborMinTest<armnn::DataType::QAsymmS8>(
1054 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 4>
1055 ResizeNearestNeighborMagTest<armnn::DataType::QAsymmS8>(
1061 int32_t inQuantOffset,
1062 float outQuantScale,
1063 int32_t outQuantOffset);
1065 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1066 HalfPixelCentersResizeBilinearTest<armnn::DataType::QAsymmU8>(
1072 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1073 AlignCornersResizeBilinearTest<armnn::DataType::QAsymmU8>(
1079 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1080 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QAsymmU8>(
1086 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 4>
1087 AlignCornersResizeNearestNeighbourTest<armnn::DataType::QAsymmU8>(
1095 ResizeBilinearNopTest<armnn::DataType::QSymmS16>(
1101 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1102 SimpleResizeBilinearTest<armnn::DataType::QSymmS16>(
1108 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1109 ResizeBilinearSqMinTest<armnn::DataType::QSymmS16>(
1115 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1116 ResizeBilinearMinTest<armnn::DataType::QSymmS16>(
1122 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1123 ResizeBilinearMagTest<armnn::DataType::QSymmS16>(
1129 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1130 ResizeNearestNeighborNopTest<armnn::DataType::QSymmS16>(
1136 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1137 SimpleResizeNearestNeighborTest<armnn::DataType::QSymmS16>(
1143 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1144 ResizeNearestNeighborSqMinTest<armnn::DataType::QSymmS16>(
1150 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1151 ResizeNearestNeighborMinTest<armnn::DataType::QSymmS16>(
1157 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1158 ResizeNearestNeighborMagTest<armnn::DataType::QSymmS16>(
1164 int32_t inQuantOffset,
1165 float outQuantScale,
1166 int32_t outQuantOffset);
1168 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1169 HalfPixelCentersResizeBilinearTest<armnn::DataType::QSymmS16>(
1175 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1176 AlignCornersResizeBilinearTest<armnn::DataType::QSymmS16>(
1182 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1183 HalfPixelCentersResizeNearestNeighbourTest<armnn::DataType::QSymmS16>(
1189 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
1190 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)
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.
void CopyDataFromITensorHandle(void *mem, const armnn::ITensorHandle *tensorHandle)
bool m_HalfPixelCenters
Half Pixel Centers.
void PermuteTensorNchwToNhwc(armnn::TensorInfo &tensorInfo, std::vector< T > &tensorData)
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)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
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).
virtual std::unique_ptr< IWorkload > CreateWorkload(LayerType type, const QueueDescriptor &descriptor, const WorkloadInfo &info) const
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)