• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include "LayerTestResult.hpp"
9 
10 #include <ResolveType.hpp>
11 
12 #include <armnn/Types.hpp>
13 
14 #include <armnn/backends/IBackendInternal.hpp>
15 #include <backendsCommon/WorkloadFactory.hpp>
16 
17 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
18 LayerTestResult<T, 2> Pad2dTestCommon(
19     armnn::IWorkloadFactory& workloadFactory,
20     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21     const armnn::ITensorHandleFactory& tensorHandleFactory,
22     float qScale,
23     int32_t qOffset,
24     const float customPaddingValue = 0.0f);
25 
26 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
27 LayerTestResult<T, 3> Pad3dTestCommon(
28     armnn::IWorkloadFactory& workloadFactory,
29     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
30     const armnn::ITensorHandleFactory& tensorHandleFactory,
31     float qScale,
32     int32_t qOffset);
33 
34 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
35 LayerTestResult<T, 4> Pad4dTestCommon(
36     armnn::IWorkloadFactory& workloadFactory,
37     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
38     const armnn::ITensorHandleFactory& tensorHandleFactory,
39     float qScale,
40     int32_t qOffset);
41 
42 LayerTestResult<uint8_t, 2> PadUint82dTest(
43     armnn::IWorkloadFactory& workloadFactory,
44     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
45     const armnn::ITensorHandleFactory& tensorHandleFactory);
46 
47 LayerTestResult<uint8_t, 2> PadUint82dCustomPaddingTest(
48     armnn::IWorkloadFactory& workloadFactory,
49     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
50     const armnn::ITensorHandleFactory& tensorHandleFactory);
51 
52 LayerTestResult<uint8_t, 3> PadUint83dTest(
53     armnn::IWorkloadFactory& workloadFactory,
54     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
55     const armnn::ITensorHandleFactory& tensorHandleFactory);
56 
57 LayerTestResult<uint8_t, 4> PadUint84dTest(
58     armnn::IWorkloadFactory& workloadFactory,
59     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
60     const armnn::ITensorHandleFactory& tensorHandleFactory);
61 
62 LayerTestResult<float, 2> PadFloat322dTest(
63     armnn::IWorkloadFactory& workloadFactory,
64     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
65     const armnn::ITensorHandleFactory& tensorHandleFactory);
66 
67 LayerTestResult<float, 2> PadFloat322dCustomPaddingTest(
68     armnn::IWorkloadFactory& workloadFactory,
69     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
70     const armnn::ITensorHandleFactory& tensorHandleFactory);
71 
72 LayerTestResult<float, 3> PadFloat323dTest(
73     armnn::IWorkloadFactory& workloadFactory,
74     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
75     const armnn::ITensorHandleFactory& tensorHandleFactory);
76 
77 LayerTestResult<float, 4> PadFloat324dTest(
78     armnn::IWorkloadFactory& workloadFactory,
79     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
80     const armnn::ITensorHandleFactory& tensorHandleFactory);
81 
82 LayerTestResult<armnn::BFloat16, 2> PadBFloat162dTest(
83     armnn::IWorkloadFactory& workloadFactory,
84     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
85     const armnn::ITensorHandleFactory& tensorHandleFactory);
86 
87 LayerTestResult<armnn::BFloat16, 2> PadBFloat162dCustomPaddingTest(
88     armnn::IWorkloadFactory& workloadFactory,
89     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
90     const armnn::ITensorHandleFactory& tensorHandleFactory);
91 
92 LayerTestResult<armnn::BFloat16, 3> PadBFloat163dTest(
93     armnn::IWorkloadFactory& workloadFactory,
94     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
95     const armnn::ITensorHandleFactory& tensorHandleFactory);
96 
97 LayerTestResult<armnn::BFloat16, 4> PadBFloat164dTest(
98     armnn::IWorkloadFactory& workloadFactory,
99     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
100     const armnn::ITensorHandleFactory& tensorHandleFactory);
101 
102 LayerTestResult<int8_t, 2> PadInt82dTest(
103     armnn::IWorkloadFactory& workloadFactory,
104     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
105     const armnn::ITensorHandleFactory& tensorHandleFactory);
106 
107 LayerTestResult<int8_t, 2> PadInt82dCustomPaddingTest(
108     armnn::IWorkloadFactory& workloadFactory,
109     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
110     const armnn::ITensorHandleFactory& tensorHandleFactory);
111 
112 LayerTestResult<int8_t, 3> PadInt83dTest(
113     armnn::IWorkloadFactory& workloadFactory,
114     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
115     const armnn::ITensorHandleFactory& tensorHandleFactory);
116 
117 LayerTestResult<int8_t, 4> PadInt84dTest(
118     armnn::IWorkloadFactory& workloadFactory,
119     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
120     const armnn::ITensorHandleFactory& tensorHandleFactory);