ArmNN
 20.05
ArgMinMaxTestImpl.cpp File Reference

Go to the source code of this file.

Functions

template<armnn::DataType ArmnnType, typename T >
LayerTestResult< int32_t, 3 > ArgMaxSimpleTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< int32_t, 3 > ArgMinSimpleTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< int32_t, 3 > ArgMinChannelTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< int32_t, 3 > ArgMaxChannelTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< int32_t, 3 > ArgMaxHeightTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template<armnn::DataType ArmnnType, typename T >
LayerTestResult< int32_t, 3 > ArgMinWidthTest (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxSimpleTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxSimpleTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxSimpleTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxSimpleTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxSimpleTest< armnn::DataType::Signed32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinSimpleTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinSimpleTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinSimpleTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinSimpleTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinSimpleTest< armnn::DataType::Signed32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinChannelTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinChannelTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinChannelTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinChannelTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinChannelTest< armnn::DataType::Signed32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxChannelTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxChannelTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxChannelTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxChannelTest< armnn::DataType::QSymmS16 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxChannelTest< armnn::DataType::Signed32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxHeightTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxHeightTest< armnn::DataType::Signed32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxHeightTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMaxHeightTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinWidthTest< armnn::DataType::Float32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinWidthTest< armnn::DataType::Signed32 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinWidthTest< armnn::DataType::QAsymmS8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 
template LayerTestResult< int32_t, 3 > ArgMinWidthTest< armnn::DataType::QAsymmU8 > (armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
 

Function Documentation

◆ ArgMaxChannelTest()

LayerTestResult<int32_t, 3> ArgMaxChannelTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager 
)

Definition at line 153 of file ArgMinMaxTestImpl.cpp.

References armnn::Max, TensorInfo::SetQuantizationOffset(), TensorInfo::SetQuantizationScale(), and armnn::Signed32.

156 {
157  const armnn::TensorShape inputShape{ 1, 3, 2, 4};
158  const armnn::TensorShape outputShape{ 1, 2, 4 };
159 
160  armnn::TensorInfo inputTensorInfo(inputShape, ArmnnType);
161 
162  if (armnn::IsQuantizedType<T>())
163  {
164  inputTensorInfo.SetQuantizationScale(1.0f);
165  inputTensorInfo.SetQuantizationOffset(0);
166  }
167 
168  armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Signed32);
169 
170  std::vector<float> inputValues({ 1.0f, 2.0f, 3.0f, 4.0f,
171  5.0f, 6.0f, 7.0f, 8.0f,
172 
173  10.0f, 20.0f, 30.0f, 40.0f,
174  50.0f, 60.0f, 70.0f, 80.0f,
175 
176  100.0f, 200.0f, 300.0f, 400.0f,
177  500.0f, 600.0f, 700.0f, 800.0f });
178  std::vector<int32_t> outputValues({ 2, 2, 2, 2,
179  2, 2, 2, 2 });
180 
181  return ArgMinMaxTestCommon<ArmnnType>(workloadFactory, memoryManager,
183  inputTensorInfo, outputTensorInfo,
184  inputValues, outputValues, 1);
185 }

◆ ArgMaxChannelTest< armnn::DataType::Float32 >()

◆ ArgMaxChannelTest< armnn::DataType::QAsymmS8 >()

◆ ArgMaxChannelTest< armnn::DataType::QAsymmU8 >()

◆ ArgMaxChannelTest< armnn::DataType::QSymmS16 >()

◆ ArgMaxChannelTest< armnn::DataType::Signed32 >()

◆ ArgMaxHeightTest()

LayerTestResult<int32_t, 3> ArgMaxHeightTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager 
)

Definition at line 188 of file ArgMinMaxTestImpl.cpp.

References armnn::Max, TensorInfo::SetQuantizationOffset(), TensorInfo::SetQuantizationScale(), and armnn::Signed32.

191 {
192  const armnn::TensorShape inputShape{ 1, 3, 2, 4};
193  const armnn::TensorShape outputShape{ 1, 3, 4 };
194 
195  armnn::TensorInfo inputTensorInfo(inputShape, ArmnnType);
196  armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Signed32);
197 
198  if (armnn::IsQuantizedType<T>())
199  {
200  inputTensorInfo.SetQuantizationScale(1.0f);
201  inputTensorInfo.SetQuantizationOffset(0);
202  }
203 
204  std::vector<float> inputValues({ 1.0f, 2.0f, 3.0f, 4.0f,
205  5.0f, 6.0f, 7.0f, 8.0f,
206 
207  10.0f, 20.0f, 30.0f, 40.0f,
208  50.0f, 60.0f, 70.0f, 80.0f,
209 
210  100.0f, 200.0f, 300.0f, 400.0f,
211  500.0f, 600.0f, 700.0f, 800.0f });
212  std::vector<int32_t> outputValues({ 1, 1, 1, 1,
213  1, 1, 1, 1,
214  1, 1, 1, 1 });
215 
216  return ArgMinMaxTestCommon<ArmnnType>(workloadFactory, memoryManager,
218  inputTensorInfo, outputTensorInfo,
219  inputValues, outputValues, 2);
220 }

◆ ArgMaxHeightTest< armnn::DataType::Float32 >()

◆ ArgMaxHeightTest< armnn::DataType::QAsymmS8 >()

◆ ArgMaxHeightTest< armnn::DataType::QAsymmU8 >()

◆ ArgMaxHeightTest< armnn::DataType::Signed32 >()

◆ ArgMaxSimpleTest()

LayerTestResult<int32_t, 3> ArgMaxSimpleTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager 
)

Definition at line 64 of file ArgMinMaxTestImpl.cpp.

References armnn::Max, TensorInfo::SetQuantizationOffset(), TensorInfo::SetQuantizationScale(), and armnn::Signed32.

67 {
68  const armnn::TensorShape inputShape{ 1, 1, 1, 5 };
69  const armnn::TensorShape outputShape{ 1, 1, 1 };
70 
71  armnn::TensorInfo inputTensorInfo(inputShape, ArmnnType);
72 
73  if (armnn::IsQuantizedType<T>())
74  {
75  inputTensorInfo.SetQuantizationScale(1.0f);
76  inputTensorInfo.SetQuantizationOffset(0);
77  }
78 
79  armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Signed32);
80 
81  std::vector<float> inputValues({ 5.0f, 2.0f, 8.0f, 10.0f, 9.0f });
82  std::vector<int32_t> outputValues({ 3 });
83 
84  return ArgMinMaxTestCommon<ArmnnType>(workloadFactory, memoryManager,
86  inputTensorInfo, outputTensorInfo,
87  inputValues, outputValues, -1); // axis -1 === 3
88 }

◆ ArgMaxSimpleTest< armnn::DataType::Float32 >()

◆ ArgMaxSimpleTest< armnn::DataType::QAsymmS8 >()

◆ ArgMaxSimpleTest< armnn::DataType::QAsymmU8 >()

◆ ArgMaxSimpleTest< armnn::DataType::QSymmS16 >()

◆ ArgMaxSimpleTest< armnn::DataType::Signed32 >()

◆ ArgMinChannelTest()

LayerTestResult<int32_t, 3> ArgMinChannelTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager 
)

Definition at line 118 of file ArgMinMaxTestImpl.cpp.

References armnn::Min, TensorInfo::SetQuantizationOffset(), TensorInfo::SetQuantizationScale(), and armnn::Signed32.

121 {
122  const armnn::TensorShape inputShape{ 1, 3, 2, 4};
123  const armnn::TensorShape outputShape{ 1, 2, 4 };
124 
125  armnn::TensorInfo inputTensorInfo(inputShape, ArmnnType);
126 
127  if (armnn::IsQuantizedType<T>())
128  {
129  inputTensorInfo.SetQuantizationScale(1.0f);
130  inputTensorInfo.SetQuantizationOffset(0);
131  }
132 
133  armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Signed32);
134 
135  std::vector<float> inputValues({ 1.0f, 2.0f, 3.0f, 4.0f,
136  5.0f, 6.0f, 7.0f, 8.0f,
137 
138  10.0f, 20.0f, 30.0f, 40.0f,
139  50.0f, 60.0f, 70.0f, 80.0f,
140 
141  100.0f, 200.0f, 300.0f, 400.0f,
142  500.0f, 600.0f, 700.0f, 800.0f });
143  std::vector<int32_t> outputValues({ 0, 0, 0, 0,
144  0, 0, 0, 0 });
145 
146  return ArgMinMaxTestCommon<ArmnnType>(workloadFactory, memoryManager,
148  inputTensorInfo, outputTensorInfo,
149  inputValues, outputValues, 1);
150 }

◆ ArgMinChannelTest< armnn::DataType::Float32 >()

◆ ArgMinChannelTest< armnn::DataType::QAsymmS8 >()

◆ ArgMinChannelTest< armnn::DataType::QAsymmU8 >()

◆ ArgMinChannelTest< armnn::DataType::QSymmS16 >()

◆ ArgMinChannelTest< armnn::DataType::Signed32 >()

◆ ArgMinSimpleTest()

LayerTestResult<int32_t, 3> ArgMinSimpleTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager 
)

Definition at line 91 of file ArgMinMaxTestImpl.cpp.

References armnn::Min, TensorInfo::SetQuantizationOffset(), TensorInfo::SetQuantizationScale(), and armnn::Signed32.

94 {
95  const armnn::TensorShape inputShape{ 1, 1, 1, 5 };
96  const armnn::TensorShape outputShape{ 1, 1, 1 };
97 
98  armnn::TensorInfo inputTensorInfo(inputShape, ArmnnType);
99 
100  if (armnn::IsQuantizedType<T>())
101  {
102  inputTensorInfo.SetQuantizationScale(1.0f);
103  inputTensorInfo.SetQuantizationOffset(0);
104  }
105 
106  armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Signed32);
107 
108  std::vector<float> inputValues({ 5.0f, 2.0f, 8.0f, 10.0f, 9.0f });
109  std::vector<int32_t> outputValues({ 1 });
110 
111  return ArgMinMaxTestCommon<ArmnnType>(workloadFactory, memoryManager,
113  inputTensorInfo, outputTensorInfo,
114  inputValues, outputValues, 3);
115 }

◆ ArgMinSimpleTest< armnn::DataType::Float32 >()

◆ ArgMinSimpleTest< armnn::DataType::QAsymmS8 >()

◆ ArgMinSimpleTest< armnn::DataType::QAsymmU8 >()

◆ ArgMinSimpleTest< armnn::DataType::QSymmS16 >()

◆ ArgMinSimpleTest< armnn::DataType::Signed32 >()

◆ ArgMinWidthTest()

LayerTestResult<int32_t, 3> ArgMinWidthTest ( armnn::IWorkloadFactory workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr memoryManager 
)

Definition at line 223 of file ArgMinMaxTestImpl.cpp.

References armnn::Min, TensorInfo::SetQuantizationOffset(), TensorInfo::SetQuantizationScale(), and armnn::Signed32.

226 {
227  const armnn::TensorShape inputShape{ 1, 3, 2, 4};
228  const armnn::TensorShape outputShape{ 1, 3, 2 };
229 
230  armnn::TensorInfo inputTensorInfo(inputShape, ArmnnType);
231  armnn::TensorInfo outputTensorInfo(outputShape, armnn::DataType::Signed32);
232 
233  if (armnn::IsQuantizedType<T>())
234  {
235  inputTensorInfo.SetQuantizationScale(1.0f);
236  inputTensorInfo.SetQuantizationOffset(0);
237  }
238 
239  std::vector<float> inputValues({ 1.0f, 2.0f, 3.0f, 4.0f,
240  5.0f, 6.0f, 7.0f, 8.0f,
241 
242  10.0f, 20.0f, 30.0f, 40.0f,
243  50.0f, 60.0f, 70.0f, 80.0f,
244 
245  100.0f, 200.0f, 300.0f, 400.0f,
246  500.0f, 600.0f, 700.0f, 800.0f });
247  std::vector<int32_t> outputValues({ 0, 0,
248  0, 0,
249  0, 0 });
250 
251  return ArgMinMaxTestCommon<ArmnnType>(workloadFactory, memoryManager,
253  inputTensorInfo, outputTensorInfo,
254  inputValues, outputValues, 3);
255 }

◆ ArgMinWidthTest< armnn::DataType::Float32 >()

◆ ArgMinWidthTest< armnn::DataType::QAsymmS8 >()

◆ ArgMinWidthTest< armnn::DataType::QAsymmU8 >()

◆ ArgMinWidthTest< armnn::DataType::Signed32 >()