ArmNN
 20.08
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::Float16 > (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::Float16 > (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::Float16 > (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::Float16 > (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::Float16 > (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::Float16 > (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 155 of file ArgMinMaxTestImpl.cpp.

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

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

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

◆ 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 190 of file ArgMinMaxTestImpl.cpp.

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

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

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

◆ 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 66 of file ArgMinMaxTestImpl.cpp.

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

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

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

◆ 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 120 of file ArgMinMaxTestImpl.cpp.

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

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

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

◆ 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 93 of file ArgMinMaxTestImpl.cpp.

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

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

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

◆ 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 225 of file ArgMinMaxTestImpl.cpp.

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

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

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

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

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

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

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