20 template<
typename T, std::
size_t InDim, std::
size_t OutDim>
27 std::vector<float>& inputData,
28 std::vector<float>& outputExpectedData,
30 const float qScale = 1.0f,
31 const int32_t qOffset = 0)
34 if(armnn::IsQuantizedType<T>())
43 std::vector<T> input = armnnUtils::QuantizedVector<T>(inputData, qScale, qOffset);
44 std::vector<T> expectedOutput = armnnUtils::QuantizedVector<T>(outputExpectedData, qScale, qOffset);
47 std::unique_ptr<armnn::ITensorHandle> inputHandle =
50 std::unique_ptr<armnn::ITensorHandle> outputHandle =
54 AddInputToWorkload(descriptor, info, inputTensorInfo, inputHandle.get());
55 AddOutputToWorkload(descriptor, info, outputTensorInfo, outputHandle.get());
57 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateStridedSlice(descriptor, info);
59 inputHandle->Allocate();
60 outputHandle->Allocate();
64 ExecuteWorkload(*workload, memoryManager);
70 outputHandle->GetShape(),
74 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
83 unsigned int inputShape[] = {3, 2, 3, 1};
84 unsigned int outputShape[] = {1, 2, 3, 1};
94 std::vector<float> input = std::vector<float>(
96 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f,
98 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f,
100 5.0f, 5.0f, 5.0f, 6.0f, 6.0f, 6.0f
103 std::vector<float> outputExpected = std::vector<float>(
105 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f
108 return StridedSliceTestImpl<T, 4, 4>(
109 workloadFactory, memoryManager, tensorHandleFactory,
110 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
113 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
122 unsigned int inputShape[] = {3, 2, 3, 1};
123 unsigned int outputShape[] = {1, 2, 3, 1};
133 std::vector<float> input = std::vector<float>(
135 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f,
137 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f,
139 5.0f, 5.0f, 5.0f, 6.0f, 6.0f, 6.0f
142 std::vector<float> outputExpected = std::vector<float>(
144 4.0f, 4.0f, 4.0f, 3.0f, 3.0f, 3.0f
147 return StridedSliceTestImpl<T, 4, 4>(
148 workloadFactory, memoryManager, tensorHandleFactory,
149 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
152 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
161 unsigned int inputShape[] = {3, 2, 3, 1};
162 unsigned int outputShape[] = {2, 1, 2, 1};
172 std::vector<float> input = std::vector<float>(
174 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f,
176 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f,
178 5.0f, 5.0f, 5.0f, 6.0f, 6.0f, 6.0f
181 std::vector<float> outputExpected = std::vector<float>(
188 return StridedSliceTestImpl<T, 4, 4>(
189 workloadFactory, memoryManager, tensorHandleFactory,
190 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
193 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
202 unsigned int inputShape[] = {3, 2, 3, 1};
203 unsigned int outputShape[] = {3, 2, 3, 1};
215 std::vector<float> input = std::vector<float>(
217 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f,
219 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f,
221 5.0f, 5.0f, 5.0f, 6.0f, 6.0f, 6.0f
224 std::vector<float> outputExpected = std::vector<float>(
226 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f,
228 3.0f, 3.0f, 3.0f, 4.0f, 4.0f, 4.0f,
230 5.0f, 5.0f, 5.0f, 6.0f, 6.0f, 6.0f
233 return StridedSliceTestImpl<T, 4, 4>(
234 workloadFactory, memoryManager, tensorHandleFactory,
235 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
238 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
247 unsigned int inputShape[] = {3, 2, 3, 1};
248 unsigned int outputShape[] = {3, 1};
260 std::vector<float> input = std::vector<float>(
262 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
264 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
266 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
269 std::vector<float> outputExpected = std::vector<float>(
274 return StridedSliceTestImpl<T, 4, 2>(
275 workloadFactory, memoryManager, tensorHandleFactory,
276 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
279 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
288 unsigned int inputShape[] = {3, 2, 3, 1};
289 unsigned int outputShape[] = {2, 3, 1};
301 std::vector<float> input = std::vector<float>(
303 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
305 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
307 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
310 std::vector<float> outputExpected = std::vector<float>(
312 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f
315 return StridedSliceTestImpl<T, 4, 3>(
316 workloadFactory, memoryManager, tensorHandleFactory,
317 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
320 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
329 unsigned int inputShape[] = {3, 2, 3, 1};
330 unsigned int outputShape[] = {3, 3, 1};
342 std::vector<float> input = std::vector<float>(
344 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
346 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
348 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
351 std::vector<float> outputExpected = std::vector<float>(
353 1.0f, 2.0f, 3.0f, 7.0f, 8.0f, 9.0f, 13.0f, 14.0f, 15.0f
356 return StridedSliceTestImpl<T, 4, 3>(
357 workloadFactory, memoryManager, tensorHandleFactory,
358 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
361 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
370 unsigned int inputShape[] = {3, 2, 3, 1};
371 unsigned int outputShape[] = {3, 2, 1};
383 std::vector<float> input = std::vector<float>(
385 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
387 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
389 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
392 std::vector<float> outputExpected = std::vector<float>(
394 1.0f, 4.0f, 7.0f, 10.0f, 13.0f, 16.0f
397 return StridedSliceTestImpl<T, 4, 3>(
398 workloadFactory, memoryManager, tensorHandleFactory,
399 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
402 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
411 unsigned int inputShape[] = {3, 2, 3, 1};
412 unsigned int outputShape[] = {3, 2, 3};
424 std::vector<float> input = std::vector<float>(
426 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
428 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
430 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
433 std::vector<float> outputExpected = std::vector<float>(
435 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
437 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
439 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
442 return StridedSliceTestImpl<T, 4, 3>(
443 workloadFactory, memoryManager, tensorHandleFactory,
444 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
447 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
456 unsigned int inputShape[] = {3, 2, 3, 1};
457 unsigned int outputShape[] = {3, 1};
469 std::vector<float> input = std::vector<float>(
471 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
473 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
475 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
478 std::vector<float> outputExpected = std::vector<float>(
483 return StridedSliceTestImpl<T, 4, 2>(
484 workloadFactory, memoryManager, tensorHandleFactory,
485 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
488 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
497 unsigned int inputShape[] = {2, 3, 1};
498 unsigned int outputShape[] = {3, 1};
510 std::vector<float> input = std::vector<float>(
512 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f
515 std::vector<float> outputExpected = std::vector<float>(
520 return StridedSliceTestImpl<T, 3, 2>(
521 workloadFactory, memoryManager, tensorHandleFactory,
522 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
525 void FillVector(std::vector<float>& inputArray,
float start,
float step)
527 for (uint32_t i = 0; i < inputArray.size(); ++i)
529 inputArray[i] = start;
534 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
543 unsigned int inputShape[] = {1, 1, 8, 942};
544 unsigned int outputShape[] = {1, 1, 1, 279};
558 std::vector<float> input(7536);
559 FillVector(input, 1.0f, 1.0f);
562 std::vector<float> outputExpected(279);
563 FillVector(outputExpected, 1171.0, 2.0f);
565 return StridedSliceTestImpl<T, 4, 4>(
566 workloadFactory, memoryManager, tensorHandleFactory,
567 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
570 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
579 unsigned int inputShape[] = {3, 2, 3, 1};
580 unsigned int outputShape[] = {2, 1};
592 std::vector<float> input = std::vector<float>(
594 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
596 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
598 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
601 std::vector<float> outputExpected = std::vector<float>(
606 return StridedSliceTestImpl<T, 4, 2>(
607 workloadFactory, memoryManager, tensorHandleFactory,
608 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
611 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
620 unsigned int inputShape[] = {3, 2, 3, 1};
621 unsigned int outputShape[] = {2, 3};
633 std::vector<float> input = std::vector<float>(
635 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
637 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
639 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
642 std::vector<float> outputExpected = std::vector<float>(
644 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f
647 return StridedSliceTestImpl<T, 4, 2>(
648 workloadFactory, memoryManager, tensorHandleFactory,
649 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
652 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
661 unsigned int inputShape[] = {3, 2, 3, 1};
662 unsigned int outputShape[] = {3};
674 std::vector<float> input = std::vector<float>(
676 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f,
678 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f,
680 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f
683 std::vector<float> outputExpected = std::vector<float>(
688 return StridedSliceTestImpl<T, 4, 1>(
689 workloadFactory, memoryManager, tensorHandleFactory,
690 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
693 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
702 unsigned int inputShape[] = {3, 3, 3};
703 unsigned int outputShape[] = {2, 2, 2};
714 std::vector<float> input = std::vector<float>(
716 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f,
718 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f,
720 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f
723 std::vector<float> outputExpected = std::vector<float>(
725 1.0f, 3.0f, 7.0f, 9.0f,
727 19.0f, 21.0f, 25.0f, 27.0f
730 return StridedSliceTestImpl<T, 3, 3>(
731 workloadFactory, memoryManager, tensorHandleFactory,
732 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
735 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
744 unsigned int inputShape[] = {3, 3, 3};
745 unsigned int outputShape[] = {2, 2, 2};
755 std::vector<float> input = std::vector<float>(
757 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f,
759 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, 18.0f,
761 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f, 27.0f
764 std::vector<float> outputExpected = std::vector<float>(
766 27.0f, 25.0f, 21.0f, 19.0f,
768 9.0f, 7.0f, 3.0f, 1.0f
771 return StridedSliceTestImpl<T, 3, 3>(
772 workloadFactory, memoryManager, tensorHandleFactory,
773 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
776 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
785 unsigned int inputShape[] = {3, 3};
786 unsigned int outputShape[] = {2, 2};
797 std::vector<float> input = std::vector<float>(
806 std::vector<float> outputExpected = std::vector<float>(
813 return StridedSliceTestImpl<T, 2, 2>(
814 workloadFactory, memoryManager, tensorHandleFactory,
815 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
818 template<armnn::DataType ArmnnType,
typename T = armnn::ResolveType<ArmnnType>>
827 unsigned int inputShape[] = {3, 3};
828 unsigned int outputShape[] = {2, 2};
840 std::vector<float> input = std::vector<float>(
849 std::vector<float> outputExpected = std::vector<float>(
856 return StridedSliceTestImpl<T, 2, 2>(
857 workloadFactory, memoryManager, tensorHandleFactory,
858 inputTensorInfo, outputTensorInfo, input, outputExpected, desc);
868 return StridedSlice4dTest<armnn::DataType::Float32>(workloadFactory,
870 tensorHandleFactory);
878 return StridedSlice4dReverseTest<armnn::DataType::Float32>(workloadFactory,
880 tensorHandleFactory);
888 return StridedSliceSimpleStrideTest<armnn::DataType::Float32>(workloadFactory,
890 tensorHandleFactory);
898 return StridedSliceSimpleRangeMaskTest<armnn::DataType::Float32>(workloadFactory,
900 tensorHandleFactory);
908 return StridedSliceShrinkAxisMaskTest<armnn::DataType::Float32>(workloadFactory,
910 tensorHandleFactory);
918 return StridedSliceShrinkAxisMaskCTSTest<armnn::DataType::Float32>(workloadFactory,
920 tensorHandleFactory);
928 return StridedSliceShrinkAxisMaskBitPosition0Dim3Test<armnn::DataType::Float32>(workloadFactory,
930 tensorHandleFactory);
938 return StridedSliceShrinkAxisMaskBitPosition0Test<armnn::DataType::Float32>(workloadFactory,
940 tensorHandleFactory);
948 return StridedSliceShrinkAxisMaskBitPosition1Test<armnn::DataType::Float32>(workloadFactory,
950 tensorHandleFactory);
958 return StridedSliceShrinkAxisMaskBitPosition2Test<armnn::DataType::Float32>(workloadFactory,
960 tensorHandleFactory);
968 return StridedSliceShrinkAxisMaskBitPosition3Test<armnn::DataType::Float32>(workloadFactory,
970 tensorHandleFactory);
978 return StridedSliceShrinkAxisMaskBitPosition0And1Test<armnn::DataType::Float32>(workloadFactory,
980 tensorHandleFactory);
988 return StridedSliceShrinkAxisMaskBitPosition0And2Test<armnn::DataType::Float32>(workloadFactory,
990 tensorHandleFactory);
998 return StridedSliceShrinkAxisMaskBitPosition0And3Test<armnn::DataType::Float32>(workloadFactory,
1000 tensorHandleFactory);
1008 return StridedSliceShrinkAxisMaskBitPosition0And1And3Test<armnn::DataType::Float32>(workloadFactory,
1010 tensorHandleFactory);
1018 return StridedSlice3dTest<armnn::DataType::Float32>(workloadFactory,
1020 tensorHandleFactory);
1028 return StridedSlice3dReverseTest<armnn::DataType::Float32>(workloadFactory,
1030 tensorHandleFactory);
1038 return StridedSlice2dTest<armnn::DataType::Float32>(workloadFactory,
1040 tensorHandleFactory);
1048 return StridedSlice2dReverseTest<armnn::DataType::Float32>(workloadFactory,
1050 tensorHandleFactory);
1058 return StridedSlice4dTest<armnn::DataType::QAsymmU8>(workloadFactory,
1060 tensorHandleFactory);
1068 return StridedSlice4dReverseTest<armnn::DataType::QAsymmU8>(workloadFactory,
1070 tensorHandleFactory);
1078 return StridedSliceSimpleStrideTest<armnn::DataType::QAsymmU8>(workloadFactory,
1080 tensorHandleFactory);
1088 return StridedSliceSimpleRangeMaskTest<armnn::DataType::QAsymmU8>(workloadFactory,
1090 tensorHandleFactory);
1098 return StridedSliceShrinkAxisMaskTest<armnn::DataType::QAsymmU8>(workloadFactory,
1100 tensorHandleFactory);
1108 return StridedSliceShrinkAxisMaskBitPosition0Dim3Test<armnn::DataType::QAsymmU8>(workloadFactory,
1110 tensorHandleFactory);
1118 return StridedSliceShrinkAxisMaskBitPosition0Test<armnn::DataType::QAsymmU8>(workloadFactory,
1120 tensorHandleFactory);
1128 return StridedSliceShrinkAxisMaskBitPosition1Test<armnn::DataType::QAsymmU8>(workloadFactory,
1130 tensorHandleFactory);
1138 return StridedSliceShrinkAxisMaskBitPosition2Test<armnn::DataType::QAsymmU8>(workloadFactory,
1140 tensorHandleFactory);
1148 return StridedSliceShrinkAxisMaskBitPosition3Test<armnn::DataType::QAsymmU8>(workloadFactory,
1150 tensorHandleFactory);
1158 return StridedSliceShrinkAxisMaskBitPosition0And1Test<armnn::DataType::QAsymmU8>(workloadFactory,
1160 tensorHandleFactory);
1168 return StridedSliceShrinkAxisMaskBitPosition0And2Test<armnn::DataType::QAsymmU8>(workloadFactory,
1170 tensorHandleFactory);
1178 return StridedSliceShrinkAxisMaskBitPosition0And3Test<armnn::DataType::QAsymmU8>(workloadFactory,
1180 tensorHandleFactory);
1188 return StridedSliceShrinkAxisMaskBitPosition0And1And3Test<armnn::DataType::QAsymmU8>(workloadFactory,
1190 tensorHandleFactory);
1198 return StridedSlice3dTest<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager, tensorHandleFactory);
1206 return StridedSlice3dReverseTest<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager, tensorHandleFactory);
1214 return StridedSlice2dTest<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager, tensorHandleFactory);
1222 return StridedSlice2dReverseTest<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager, tensorHandleFactory);
1230 return StridedSlice4dTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory);
1238 return StridedSlice4dReverseTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory);
1246 return StridedSliceSimpleStrideTest<armnn::DataType::QSymmS16>(workloadFactory,
1248 tensorHandleFactory);
1256 return StridedSliceSimpleRangeMaskTest<armnn::DataType::QSymmS16>(workloadFactory,
1258 tensorHandleFactory);
1266 return StridedSliceShrinkAxisMaskTest<armnn::DataType::QSymmS16>(workloadFactory,
1268 tensorHandleFactory);
1276 return StridedSlice3dTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory);
1284 return StridedSlice3dReverseTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory);
1292 return StridedSlice2dTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory);
1300 return StridedSlice2dReverseTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager, tensorHandleFactory);
LayerTestResult< uint8_t, 3 > StridedSlice3dUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 4 > StridedSliceShrinkAxisMaskCTSFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 3 > StridedSliceShrinkAxisMaskBitPosition2Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSlice2dFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 3 > StridedSliceShrinkAxisMaskBitPosition3Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
const TensorShape & GetShape() const
LayerTestResult< float, 3 > StridedSliceShrinkAxisMaskBitPosition3Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
int32_t m_ShrinkAxisMask
Shrink axis mask value. If set, the nth specification shrinks the dimensionality by 1...
std::vector< int > m_Begin
Begin values for the input that will be sliced.
LayerTestResult< uint8_t, 2 > StridedSliceShrinkAxisMaskBitPosition0Dim3Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSlice2dReverseFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
virtual std::unique_ptr< IWorkload > CreateStridedSlice(const StridedSliceQueueDescriptor &descriptor, const WorkloadInfo &Info) const
LayerTestResult< float, 4 > StridedSliceSimpleRangeMaskFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 3 > StridedSliceShrinkAxisMaskBitPosition2Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSliceShrinkAxisMaskFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 2 > StridedSlice2dReverseUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 2 > StridedSliceShrinkAxisMaskInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
void IgnoreUnused(Ts &&...)
int32_t m_BeginMask
Begin mask value.
LayerTestResult< float, 3 > StridedSlice3dFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
int32_t m_EndMask
End mask value.
LayerTestResult< float, 1 > StridedSliceShrinkAxisMaskBitPosition0And1And3Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 2 > StridedSliceShrinkAxisMaskBitPosition0And3Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerDescriptor m_Parameters
LayerTestResult< float, 3 > StridedSliceShrinkAxisMaskBitPosition0Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > StridedSlice4dInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > StridedSlice4dReverseInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 2 > StridedSlice2dUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSliceShrinkAxisMaskBitPosition0And3Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 3 > StridedSlice3dReverseInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSliceShrinkAxisMaskBitPosition0And1Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< uint8_t, 3 > StridedSliceShrinkAxisMaskBitPosition0Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 4 > StridedSlice4dFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 1 > StridedSliceShrinkAxisMaskBitPosition0And1And3Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
void SetQuantizationScale(float scale)
LayerTestResult< uint8_t, 3 > StridedSliceShrinkAxisMaskBitPosition1Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 3 > StridedSlice3dReverseUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
std::vector< int > m_Stride
Stride values for the input that will be sliced.
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
LayerTestResult< int16_t, 2 > StridedSlice2dReverseInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSliceShrinkAxisMaskBitPosition0Dim3Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 3 > StridedSliceShrinkAxisMaskBitPosition1Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > StridedSliceSimpleStrideInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 3 > StridedSlice3dReverseFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 4 > StridedSliceSimpleRangeMaskInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
std::vector< int > m_End
End values for the input that will be sliced.
LayerTestResult< uint8_t, 4 > StridedSlice4dReverseUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 2 > StridedSliceShrinkAxisMaskBitPosition0And2Float32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 3 > StridedSlice3dInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 4 > StridedSlice4dUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 2 > StridedSliceShrinkAxisMaskBitPosition0And2Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< int16_t, 2 > StridedSlice2dInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
Contains information about TensorInfos of a layer.
LayerTestResult< uint8_t, 4 > StridedSliceSimpleStrideUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
void SetQuantizationOffset(int32_t offset)
LayerTestResult< float, 4 > StridedSliceSimpleStrideFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< uint8_t, 4 > StridedSliceSimpleRangeMaskUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< float, 4 > StridedSlice4dReverseFloat32Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo) const =0
LayerTestResult< uint8_t, 2 > StridedSliceShrinkAxisMaskBitPosition0And1Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
unsigned int GetNumElements() const
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
LayerTestResult< uint8_t, 2 > StridedSliceShrinkAxisMaskUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)