ArmNN
 23.02
Descriptors.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017,2022 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include "Deprecated.hpp"
8 #include "DescriptorsFwd.hpp" // Required for class equivalence declarations.
9 #include "Tensor.hpp"
10 #include "Types.hpp"
11 #include <armnn/Exceptions.hpp>
12 
13 #include <cstdint>
14 #include <iterator>
15 #include <utility>
16 #include <vector>
17 
18 namespace armnn
19 {
20 
21 /// Base class for all descriptors.
23 {
24  virtual bool IsNull() const { return false; }
25  virtual ~BaseDescriptor() = default;
26 };
27 
28 /// Null Descriptor used as a return value from the IConnectableLayer GetParameters method
29 /// by layers which do not have a descriptor
31 {
32  bool IsNull() const override { return true; }
33 };
34 
35 /// An ActivationDescriptor for the ActivationLayer.
37 {
40  , m_A(0)
41  , m_B(0)
42  {}
43 
45  float a = 0,
46  float b = 0)
47  : m_Function(activation)
48  , m_A(a)
49  , m_B(b)
50  {}
51 
52  bool operator ==(const ActivationDescriptor &rhs) const
53  {
54  return m_Function == rhs.m_Function && m_A == rhs.m_B && m_B == rhs.m_B;
55  }
56 
57  /// @brief The activation function to use
58  /// (Sigmoid, TanH, Linear, ReLu, BoundedReLu, SoftReLu, LeakyReLu, Abs, Sqrt, Square, Elu).
60  /// Alpha upper bound value used by the activation functions. (BoundedReLu, Linear, TanH, Elu).
61  float m_A;
62  /// Beta lower bound value used by the activation functions. (BoundedReLu, Linear, TanH).
63  float m_B;
64 };
65 
66 /// An ArgMinMaxDescriptor for ArgMinMaxLayer
68 {
71  , m_Axis(-1)
73  {}
74 
75  bool operator ==(const ArgMinMaxDescriptor &rhs) const
76  {
77  return m_Function == rhs.m_Function && m_Axis == rhs.m_Axis && m_Output_Type == rhs.m_Output_Type;
78  }
79 
80  /// Specify if the function is to find Min or Max.
82  /// Axis to reduce across the input tensor.
83  int m_Axis;
84  /// Deprecated and will be removed in future release.
86 };
87 
88 /// A ComparisonDescriptor for the ComparisonLayer
90 {
93  {}
94 
96  : m_Operation(operation)
97  {}
98 
99  bool operator ==(const ComparisonDescriptor &rhs) const
100  {
101  return m_Operation == rhs.m_Operation;
102  }
103 
104  /// Specifies the comparison operation to execute
106 };
107 
108 /// A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer
110 {
113  {}
114 
116  : m_Operation(operation)
117  {}
118 
120  {
121  return m_Operation == rhs.m_Operation;
122  }
123 
124  /// Specifies the elementwiseUnary operation to execute
126 };
127 
128 /// A PermuteDescriptor for the PermuteLayer.
130 {
132  : m_DimMappings{}
133  {}
134 
136  : m_DimMappings(dimMappings)
137  {}
138 
139  bool operator ==(const PermuteDescriptor &rhs) const
140  {
141  return m_DimMappings.IsEqual(rhs.m_DimMappings);
142  }
143 
144  /// @brief Indicates how to translate tensor elements from a given source into the target destination, when
145  /// source and target potentially have different memory layouts e.g.
146  /// Input Shape {1, 1, 4, 4}
147  /// Permutation Vector {0, 2, 3, 1}
148  /// Output Shape {1, 4, 1, 4}
149  /// dim "0" goes into index 0 ([ 1, X, X, X ])
150  /// dim "1" goes into index 2 ([ 1, X, 1, X ])
151  /// dim "2" goes into index 3 ([ 1, X, 1, 4 ])
152  /// dim "3" goes into index 1 ([ 1, 4, 1, 4 ])
154 };
155 
156 /// A SoftmaxDescriptor for the SoftmaxLayer.
158 {
160  : m_Beta(1.0f)
161  , m_Axis(-1)
162  {}
163 
164  bool operator ==(const SoftmaxDescriptor& rhs) const
165  {
166  return m_Beta == rhs.m_Beta && m_Axis == rhs.m_Axis;
167  }
168 
169  /// Exponentiation value.
170  float m_Beta;
171  /// Scalar, defaulted to the last index (-1), specifying the dimension the activation will be performed on.
172  int m_Axis;
173 };
174 
175 /// A LogSoftmaxDescriptor for the LogSoftmaxLayer
177 
178 /// @brief An OriginsDescriptor for the ConcatLayer.
179 /// Descriptor to configure the concatenation process. Number of views must be equal to the number of inputs, and
180 /// their order must match - e.g. first view corresponds to the first input, second view to the second input, etc.
182 {
184  OriginsDescriptor(uint32_t numViews, uint32_t numDimensions = 4);
185  OriginsDescriptor(const OriginsDescriptor& other);
187 
189 
191 
192  bool operator ==(const OriginsDescriptor& rhs) const;
193 
194  /// @Brief Set the view origin coordinates. The arguments are: view, dimension, value.
195  /// If the view is greater than or equal to GetNumViews(), then the view argument is out of range.
196  /// If the coord is greater than or equal to GetNumDimensions(), then the coord argument is out of range.
197  Status SetViewOriginCoord(uint32_t view, uint32_t coord, uint32_t value);
198  /// Get the number of views.
199  uint32_t GetNumViews() const;
200  /// Get the number of dimensions.
201  uint32_t GetNumDimensions() const;
202  /// Return the view origin at the int value idx.
203  const uint32_t* GetViewOrigin(uint32_t idx) const;
204  /// @brief Reorders the viewOrigins in accordance with the indices presented in newOrdering array.
205  /// The number of views must match number of elements in the new ordering array.
206  void ReorderOrigins(unsigned int* newOrdering, unsigned int numNewOrdering);
207  /// Swap the ViewsDescriptor values first and second.
208  friend void swap(OriginsDescriptor& first, OriginsDescriptor& second);
209  /// Set the concatenation axis value.
210  void SetConcatAxis(unsigned int concatAxis);
211  /// Get the concatenation axis value.
212  unsigned int GetConcatAxis() const;
213 
214 private:
215  unsigned int m_ConcatAxis;
216  uint32_t m_NumViews;
217  uint32_t m_NumDimensions;
218  uint32_t** m_ViewOrigins;
219 };
220 
221 /// @brief A ViewsDescriptor for the SplitterLayer.
222 /// Descriptor to configure the splitting process. Number of Views must be equal to the number of outputs, and
223 /// their order must match - e.g. first view corresponds to the first output, second view to the second output, etc.
225 {
226  ViewsDescriptor(uint32_t numViews, uint32_t numDimensions = 4);
227  ViewsDescriptor(const ViewsDescriptor& other);
228  ViewsDescriptor();
230 
232 
234 
235  bool operator ==(const ViewsDescriptor& rhs) const;
236 
237  /// @Brief Set the view origin coordinates. The arguments are: view, dimension, value.
238  /// If the view is greater than or equal to GetNumViews(), then the view argument is out of range.
239  /// If the coord is greater than or equal to GetNumDimensions(), then the coord argument is out of range.
240  Status SetViewOriginCoord(uint32_t view, uint32_t coord, uint32_t value);
241  /// @brief Set the size of the views. The arguments are: view, dimension, value.
242  /// If the view is greater than or equal to GetNumViews(), then the view argument is out of range.
243  /// If the coord is greater than or equal to GetNumDimensions(), then the coord argument is out of range.
244  Status SetViewSize(uint32_t view, uint32_t coord, uint32_t value);
245 
246  /// Get the number of views.
247  uint32_t GetNumViews() const;
248  /// Get the number of dimensions.
249  uint32_t GetNumDimensions() const;
250  /// Get the view origin at the int value idx.
251  const uint32_t* GetViewOrigin(uint32_t idx) const;
252  /// Get the view sizes at the int value idx.
253  const uint32_t* GetViewSizes(uint32_t idx) const;
254  /// Get the View Origins
255  const OriginsDescriptor& GetOrigins() const;
256 
257  /// Swap the ViewsDescriptor value first and second.
258  friend void swap(ViewsDescriptor& first, ViewsDescriptor& second);
259 private:
260  OriginsDescriptor m_Origins;
261  uint32_t** m_ViewSizes;
262 };
263 
264 
265 /// @brief Convenience template to create an OriginsDescriptor to use when creating a ConcatLayer for performing
266 /// concatenation of a number of input tensors.
267 template <typename TensorShapeIt>
269  TensorShapeIt last,
270  unsigned int concatenationDimension)
271 {
272  auto numInputs = std::distance(first, last);
273 
274  if (numInputs < 2)
275  {
276  throw InvalidArgumentException("Concatenation requires at least 2 inputs");
277  }
278 
279  const auto& firstInputShape = *first;
280 
281  const unsigned int numDimensions = firstInputShape.GetNumDimensions();
282  for (auto it = first + 1; it != last; ++it)
283  {
284  if (it->GetNumDimensions() != numDimensions)
285  {
286  throw InvalidArgumentException("All inputs to concatenation must have the same number of dimensions");
287  }
288  }
289 
290  if (concatenationDimension >= numDimensions)
291  {
292  throw InvalidArgumentException("concatenationDimension must be between 0 and the number of dimensions.");
293  }
294 
295  for (auto it = first; it != last; ++it)
296  {
297  for (unsigned int d = 0; d < numDimensions; ++d)
298  {
299  const bool dimSizeOk = (d == concatenationDimension) || (firstInputShape[d] == (*it)[d]);
300  if (!dimSizeOk)
301  {
302  throw InvalidArgumentException("All inputs to concatenation must be the same size along all dimensions "
303  " except the concatenation dimension");
304  }
305  }
306  }
307 
308  OriginsDescriptor viewsDescriptor(static_cast<uint32_t>(numInputs), numDimensions);
309  viewsDescriptor.SetConcatAxis(concatenationDimension);
310 
311  uint32_t viewIndex = 0u;
312  uint32_t coordAlongConcatDim = 0u;
313  for (auto it = first; it != last; ++it)
314  {
315  const auto& inputShape = *it;
316 
317  for (unsigned int i = 0; i < concatenationDimension; ++i)
318  {
319  viewsDescriptor.SetViewOriginCoord(viewIndex, i, 0);
320  }
321 
322  viewsDescriptor.SetViewOriginCoord(viewIndex, concatenationDimension, coordAlongConcatDim);
323  unsigned int dimSize = inputShape[concatenationDimension];
324  coordAlongConcatDim += dimSize;
325 
326 
327  for (unsigned int i = concatenationDimension + 1; i < numDimensions; ++i)
328  {
329  viewsDescriptor.SetViewOriginCoord(viewIndex, i, 0);
330  }
331 
332  ++viewIndex;
333  }
334 
335  return viewsDescriptor;
336 }
337 
338 /// A Pooling2dDescriptor for the Pooling2dLayer.
340 {
343  , m_PadLeft(0)
344  , m_PadRight(0)
345  , m_PadTop(0)
346  , m_PadBottom(0)
347  , m_PoolWidth(0)
348  , m_PoolHeight(0)
349  , m_StrideX(0)
350  , m_StrideY(0)
354  {}
355 
356  bool operator ==(const Pooling2dDescriptor& rhs) const
357  {
358  return m_PoolType == rhs.m_PoolType &&
359  m_PadLeft == rhs.m_PadLeft &&
360  m_PadRight == rhs.m_PadRight &&
361  m_PadTop == rhs.m_PadTop &&
362  m_PadBottom == rhs.m_PadBottom &&
363  m_PoolWidth == rhs.m_PoolWidth &&
364  m_PoolHeight == rhs.m_PoolHeight &&
365  m_StrideX == rhs.m_StrideX &&
366  m_StrideY == rhs.m_StrideY &&
369  m_DataLayout == rhs.m_DataLayout;
370  }
371 
372  /// The pooling algorithm to use (Max. Average, L2).
374  /// Padding left value in the width dimension.
375  uint32_t m_PadLeft;
376  /// Padding right value in the width dimension.
377  uint32_t m_PadRight;
378  /// Padding top value in the height dimension.
379  uint32_t m_PadTop;
380  /// Padding bottom value in the height dimension.
381  uint32_t m_PadBottom;
382  /// Pooling width value.
383  uint32_t m_PoolWidth;
384  /// Pooling height value.
385  uint32_t m_PoolHeight;
386  /// Stride value when proceeding through input for the width dimension.
387  uint32_t m_StrideX;
388  /// Stride value when proceeding through input for the height dimension.
389  uint32_t m_StrideY;
390  /// The rounding method for the output shape. (Floor, Ceiling).
392  /// The padding method to be used. (Exclude, IgnoreValue).
394  /// The data layout to be used (NCHW, NHWC).
396 };
397 
398 /// A Pooling3dDescriptor for the Pooling3dLayer.
400 {
403  , m_PadLeft(0)
404  , m_PadRight(0)
405  , m_PadTop(0)
406  , m_PadBottom(0)
407  , m_PadFront(0)
408  , m_PadBack(0)
409  , m_PoolWidth(0)
410  , m_PoolHeight(0)
411  , m_PoolDepth(0)
412  , m_StrideX(0)
413  , m_StrideY(0)
414  , m_StrideZ(0)
418  {}
419 
420  bool operator ==(const Pooling3dDescriptor& rhs) const
421  {
422  return m_PoolType == rhs.m_PoolType &&
423  m_PadLeft == rhs.m_PadLeft &&
424  m_PadRight == rhs.m_PadRight &&
425  m_PadTop == rhs.m_PadTop &&
426  m_PadBottom == rhs.m_PadBottom &&
427  m_PadFront == rhs.m_PadFront &&
428  m_PadBack == rhs.m_PadBack &&
429  m_PoolWidth == rhs.m_PoolWidth &&
430  m_PoolHeight == rhs.m_PoolHeight &&
431  m_PoolDepth == rhs.m_PoolDepth &&
432  m_StrideX == rhs.m_StrideX &&
433  m_StrideY == rhs.m_StrideY &&
434  m_StrideZ == rhs.m_StrideZ &&
437  m_DataLayout == rhs.m_DataLayout;
438  }
439 
440  /// The pooling algorithm to use (Max. Average, L2).
442  /// Padding left value in the width dimension.
443  uint32_t m_PadLeft;
444  /// Padding right value in the width dimension.
445  uint32_t m_PadRight;
446  /// Padding top value in the height dimension.
447  uint32_t m_PadTop;
448  /// Padding bottom value in the height dimension.
449  uint32_t m_PadBottom;
450  /// Padding front value in the depth dimension.
451  uint32_t m_PadFront;
452  /// Padding back value in the depth dimension.
453  uint32_t m_PadBack;
454  /// Pooling width value.
455  uint32_t m_PoolWidth;
456  /// Pooling height value.
457  uint32_t m_PoolHeight;
458  /// Pooling depth value.
459  uint32_t m_PoolDepth;
460  /// Stride value when proceeding through input for the width dimension.
461  uint32_t m_StrideX;
462  /// Stride value when proceeding through input for the height dimension.
463  uint32_t m_StrideY;
464  /// Stride value when proceeding through input for the depth dimension.
465  uint32_t m_StrideZ;
466  /// The rounding method for the output shape. (Floor, Ceiling).
468  /// The padding method to be used. (Exclude, IgnoreValue).
470  /// The data layout to be used (NCDHW, NDHWC).
472 };
473 
474 /// A FullyConnectedDescriptor for the FullyConnectedLayer.
476 {
478  : m_BiasEnabled(false)
479  , m_TransposeWeightMatrix(false)
480  , m_ConstantWeights(true)
481  {}
482 
483  bool operator ==(const FullyConnectedDescriptor& rhs) const
484  {
485  return m_BiasEnabled == rhs.m_BiasEnabled
488  }
489 
490  /// Get the number of inputs.
491  uint32_t GetNumInputs() const;
492 
493  /// Enable/disable bias.
495  /// Enable/disable transpose weight matrix.
497  /// Enable/disable constant weights and biases.
499 };
500 
501 /// A Convolution2dDescriptor for the Convolution2dLayer.
503 {
505  : m_PadLeft(0)
506  , m_PadRight(0)
507  , m_PadTop(0)
508  , m_PadBottom(0)
509  , m_StrideX(1)
510  , m_StrideY(1)
511  , m_DilationX(1)
512  , m_DilationY(1)
513  , m_BiasEnabled(false)
515  {}
516 
517  bool operator ==(const Convolution2dDescriptor& rhs) const
518  {
519  return m_PadLeft == rhs.m_PadLeft &&
520  m_PadRight == rhs.m_PadRight &&
521  m_PadTop == rhs.m_PadTop &&
522  m_PadBottom == rhs.m_PadBottom &&
523  m_StrideX == rhs.m_StrideX &&
524  m_StrideY == rhs.m_StrideY &&
525  m_DilationX == rhs.m_DilationX &&
526  m_DilationY == rhs.m_DilationY &&
527  m_BiasEnabled == rhs.m_BiasEnabled &&
528  m_DataLayout == rhs.m_DataLayout;
529  }
530  uint32_t GetNumInputs() const;
531 
532 
533  /// Padding left value in the width dimension.
534  uint32_t m_PadLeft;
535  /// Padding right value in the width dimension.
536  uint32_t m_PadRight;
537  /// Padding top value in the height dimension.
538  uint32_t m_PadTop;
539  /// Padding bottom value in the height dimension.
540  uint32_t m_PadBottom;
541  /// Stride value when proceeding through input for the width dimension.
542  uint32_t m_StrideX;
543  /// Stride value when proceeding through input for the height dimension.
544  uint32_t m_StrideY;
545  /// Dilation along x axis
546  uint32_t m_DilationX;
547  /// Dilation along y axis
548  uint32_t m_DilationY;
549  /// Enable/disable bias.
551  /// The data layout to be used (NCHW, NHWC).
553 };
554 
555 /// A Convolution3dDescriptor for the Convolution3dLayer.
557 {
559  : m_PadLeft(0)
560  , m_PadRight(0)
561  , m_PadTop(0)
562  , m_PadBottom(0)
563  , m_PadFront(0)
564  , m_PadBack(0)
565  , m_StrideX(1)
566  , m_StrideY(1)
567  , m_StrideZ(1)
568  , m_DilationX(1)
569  , m_DilationY(1)
570  , m_DilationZ(1)
571  , m_BiasEnabled(false)
573  {}
574 
575  bool operator ==(const Convolution3dDescriptor& rhs) const
576  {
577  return m_PadLeft == rhs.m_PadLeft &&
578  m_PadRight == rhs.m_PadRight &&
579  m_PadTop == rhs.m_PadTop &&
580  m_PadBottom == rhs.m_PadBottom &&
581  m_PadFront == rhs.m_PadFront &&
582  m_PadBack == rhs.m_PadBack &&
583  m_StrideX == rhs.m_StrideX &&
584  m_StrideY == rhs.m_StrideY &&
585  m_StrideZ == rhs.m_StrideZ &&
586  m_DilationX == rhs.m_DilationX &&
587  m_DilationY == rhs.m_DilationY &&
588  m_DilationZ == rhs.m_DilationZ &&
589  m_BiasEnabled == rhs.m_BiasEnabled &&
590  m_DataLayout == rhs.m_DataLayout;
591  }
592 
593  /// Get the number of views/inputs.
594  uint32_t GetNumInputs() const;
595 
596  /// Padding left value in the width dimension.
597  uint32_t m_PadLeft;
598  /// Padding right value in the width dimension.
599  uint32_t m_PadRight;
600  /// Padding top value in the height dimension.
601  uint32_t m_PadTop;
602  /// Padding bottom value in the height dimension.
603  uint32_t m_PadBottom;
604  /// Padding front value in the depth dimension.
605  uint32_t m_PadFront;
606  /// Padding back value in the depth dimension.
607  uint32_t m_PadBack;
608  /// Stride value when proceeding through input for the width dimension.
609  uint32_t m_StrideX;
610  /// Stride value when proceeding through input for the height dimension.
611  uint32_t m_StrideY;
612  /// Stride value when proceeding through input for the depth dimension.
613  uint32_t m_StrideZ;
614  /// Dilation along x axis
615  uint32_t m_DilationX;
616  /// Dilation along y axis
617  uint32_t m_DilationY;
618  /// Dilation along z axis
619  uint32_t m_DilationZ;
620  /// Enable/disable bias.
622  /// The data layout to be used (NDHWC, NCDHW).
624 };
625 
626 /// A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
628 {
630  : m_PadLeft(0)
631  , m_PadRight(0)
632  , m_PadTop(0)
633  , m_PadBottom(0)
634  , m_StrideX(1)
635  , m_StrideY(1)
636  , m_DilationX(1)
637  , m_DilationY(1)
638  , m_BiasEnabled(false)
640  {}
641 
643  {
644  return m_PadLeft == rhs.m_PadLeft &&
645  m_PadRight == rhs.m_PadRight &&
646  m_PadTop == rhs.m_PadTop &&
647  m_PadBottom == rhs.m_PadBottom &&
648  m_StrideX == rhs.m_StrideX &&
649  m_StrideY == rhs.m_StrideY &&
650  m_DilationX == rhs.m_DilationX &&
651  m_DilationY == rhs.m_DilationY &&
652  m_BiasEnabled == rhs.m_BiasEnabled &&
653  m_DataLayout == rhs.m_DataLayout;
654  }
655 
656  /// Get the number of views/inputs.
657  uint32_t GetNumInputs() const;
658 
659  /// Padding left value in the width dimension.
660  uint32_t m_PadLeft;
661  /// Padding right value in the width dimension.
662  uint32_t m_PadRight;
663  /// Padding top value in the height dimension.
664  uint32_t m_PadTop;
665  /// Padding bottom value in the height dimension.
666  uint32_t m_PadBottom;
667  /// Stride value when proceeding through input for the width dimension.
668  uint32_t m_StrideX;
669  /// Stride value when proceeding through input for the height dimension.
670  uint32_t m_StrideY;
671  /// Dilation factor value for width dimension.
672  uint32_t m_DilationX;
673  /// Dilation factor value for height dimension.
674  uint32_t m_DilationY;
675  /// Enable/disable bias.
677  /// The data layout to be used (NCHW, NHWC).
679 };
680 
682 {
684  : m_MaxDetections(0)
688  , m_NmsIouThreshold(0)
689  , m_NumClasses(0)
690  , m_UseRegularNms(false)
691  , m_ScaleX(0)
692  , m_ScaleY(0)
693  , m_ScaleW(0)
694  , m_ScaleH(0)
695  {}
696 
698  {
699  return m_MaxDetections == rhs.m_MaxDetections &&
704  m_NumClasses == rhs.m_NumClasses &&
706  m_ScaleX == rhs.m_ScaleX &&
707  m_ScaleY == rhs.m_ScaleY &&
708  m_ScaleW == rhs.m_ScaleW &&
709  m_ScaleH == rhs.m_ScaleH;
710  }
711 
712  /// Maximum numbers of detections.
713  uint32_t m_MaxDetections;
714  /// Maximum numbers of classes per detection, used in Fast NMS.
716  /// Detections per classes, used in Regular NMS.
718  /// NMS score threshold.
720  /// Intersection over union threshold.
722  /// Number of classes.
723  uint32_t m_NumClasses;
724  /// Use Regular NMS.
726  /// Center size encoding scale x.
727  float m_ScaleX;
728  /// Center size encoding scale y.
729  float m_ScaleY;
730  /// Center size encoding scale weight.
731  float m_ScaleW;
732  /// Center size encoding scale height.
733  float m_ScaleH;
734 };
735 
736 /// A NormalizationDescriptor for the NormalizationLayer.
738 {
742  , m_NormSize(0)
743  , m_Alpha(0.f)
744  , m_Beta(0.f)
745  , m_K(0.f)
747  {}
748 
749  bool operator ==(const NormalizationDescriptor& rhs) const
750  {
751  return m_NormChannelType == rhs.m_NormChannelType &&
753  m_NormSize == rhs.m_NormSize &&
754  m_Alpha == rhs.m_Alpha &&
755  m_Beta == rhs.m_Beta &&
756  m_K == rhs.m_K &&
757  m_DataLayout == rhs.m_DataLayout;
758  }
759 
760  /// Normalization channel algorithm to use (Across, Within).
762  /// Normalization method algorithm to use (LocalBrightness, LocalContrast).
764  /// Depth radius value.
765  uint32_t m_NormSize;
766  /// Alpha value for the normalization equation.
767  float m_Alpha;
768  /// Beta value for the normalization equation.
769  float m_Beta;
770  /// Kappa value used for the across channel normalization equation.
771  float m_K;
772  /// The data layout to be used (NCHW, NHWC).
774 };
775 
776 /// A L2NormalizationDescriptor for the L2NormalizationLayer.
778 {
780  : m_Eps(1e-12f)
782  {}
783 
784  bool operator ==(const L2NormalizationDescriptor& rhs) const
785  {
786  return m_Eps == rhs.m_Eps && m_DataLayout == rhs.m_DataLayout;
787  }
788 
789  /// Used to avoid dividing by zero.
790  float m_Eps;
791  /// The data layout to be used (NCHW, NHWC).
793 };
794 
795 /// A BatchNormalizationDescriptor for the BatchNormalizationLayer.
797 {
799  : m_Eps(0.0001f)
801  {}
802 
804  {
805  return m_Eps == rhs.m_Eps && m_DataLayout == rhs.m_DataLayout;
806  }
807 
808  /// Value to add to the variance. Used to avoid dividing by zero.
809  float m_Eps;
810  /// The data layout to be used (NCHW, NHWC).
812 };
813 
814 /// An InstanceNormalizationDescriptor for InstanceNormalizationLayer
816 {
818  : m_Gamma(1.0f)
819  , m_Beta(0.0f)
820  , m_Eps(1e-12f)
822  {}
823 
825  {
826  return m_Gamma == rhs.m_Gamma &&
827  m_Beta == rhs.m_Beta &&
828  m_Eps == rhs.m_Eps &&
829  m_DataLayout == rhs.m_DataLayout;
830  }
831 
832  /// Gamma, the scale scalar value applied for the normalized tensor. Defaults to 1.0.
833  float m_Gamma;
834  /// Beta, the offset scalar value applied for the normalized tensor. Defaults to 1.0.
835  float m_Beta;
836  /// Epsilon, small scalar value added to variance to avoid dividing by zero. Defaults to 1e-12f.
837  float m_Eps;
838  /// The data layout to be used (NCHW, NHWC).
840 };
841 
842 /// A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
844 {
846  : m_BlockShape({1, 1})
847  , m_Crops({{0, 0}, {0, 0}})
849  {}
850 
851  BatchToSpaceNdDescriptor(std::vector<unsigned int> blockShape,
852  std::vector<std::pair<unsigned int, unsigned int>> crops)
853  : m_BlockShape(blockShape)
854  , m_Crops(crops)
856  {}
857 
858  bool operator ==(const BatchToSpaceNdDescriptor& rhs) const
859  {
860  return m_BlockShape == rhs.m_BlockShape &&
861  m_Crops == rhs.m_Crops &&
862  m_DataLayout == rhs.m_DataLayout;
863  }
864 
865  /// Block shape values.
866  std::vector<unsigned int> m_BlockShape;
867  /// The values to crop from the input dimension.
868  std::vector<std::pair<unsigned int, unsigned int>> m_Crops;
869  /// The data layout to be used (NCHW, NHWC).
871 };
872 
873 /// A FakeQuantizationDescriptor for the FakeQuantizationLayer.
875 {
877  : m_Min(-6.0f)
878  , m_Max(6.0f)
879  {}
880 
882  {
883  return m_Min == rhs.m_Min && m_Max == rhs.m_Max;
884  }
885 
886  /// Minimum value.
887  float m_Min;
888  /// Maximum value.
889  float m_Max;
890 };
891 
892 /// A FillDescriptor for the FillLayer
894 {
896  : m_Value(0)
897  {}
898 
899  FillDescriptor(const float& value)
900  : m_Value(value)
901  {}
902 
903  bool operator ==(const FillDescriptor& rhs) const
904  {
905  return m_Value == rhs.m_Value;
906  }
907 
908  float m_Value;
909 };
910 
911 /// A GatherDescriptor for the GatherLayer.
913 {
915  : m_Axis(0)
916  {}
917 
918  GatherDescriptor(int32_t axis)
919  : m_Axis(axis)
920  {}
921 
922  bool operator ==(const GatherDescriptor& rhs) const
923  {
924  return m_Axis == rhs.m_Axis;
925  }
926 
927  /// The axis in params to gather indices from
928  int32_t m_Axis;
929 };
930 
931 /// A ResizeDescriptor for the ResizeLayer.
933 {
935  : m_TargetWidth(0)
936  , m_TargetHeight(0)
939  , m_AlignCorners(false)
940  , m_HalfPixelCenters(false)
941  {}
942 
943  bool operator ==(const ResizeDescriptor& rhs) const
944  {
945  return m_TargetWidth == rhs.m_TargetWidth &&
947  m_Method == rhs.m_Method &&
948  m_DataLayout == rhs.m_DataLayout &&
951  }
952 
953  /// Target width value.
954  uint32_t m_TargetWidth;
955  /// Target height value.
956  uint32_t m_TargetHeight;
957  /// The Interpolation method to use
958  /// (Bilinear, NearestNeighbor).
960  /// The data layout to be used (NCHW, NHWC).
962  /// Aligned corners
964  /// Half Pixel Centers
966 };
967 
968 
969 /// A ReshapeDescriptor for the ReshapeLayer.
971 {
973  : m_TargetShape()
974  {}
975 
977  : m_TargetShape(shape)
978  {}
979 
980  bool operator ==(const ReshapeDescriptor& rhs) const
981  {
982  return m_TargetShape == rhs.m_TargetShape;
983  }
984 
985  /// Target shape value.
987 };
988 
989 /// A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
991 {
993  : m_BlockShape({1, 1})
994  , m_PadList({{0, 0}, {0, 0}})
996  {}
997 
998  SpaceToBatchNdDescriptor(const std::vector<unsigned int>& blockShape,
999  const std::vector<std::pair<unsigned int, unsigned int>>& padList)
1000  : m_BlockShape(blockShape)
1001  , m_PadList(padList)
1003  {}
1004 
1005  bool operator ==(const SpaceToBatchNdDescriptor& rhs) const
1006  {
1007  return m_BlockShape == rhs.m_BlockShape &&
1008  m_PadList == rhs.m_PadList &&
1009  m_DataLayout == rhs.m_DataLayout;
1010  }
1011 
1012  /// Block shape value.
1013  std::vector<unsigned int> m_BlockShape;
1014  /// @brief Specifies the padding values for the input dimension:
1015  /// heightPad{top, bottom} widthPad{left, right}.
1016  std::vector<std::pair<unsigned int, unsigned int>> m_PadList;
1017  /// The data layout to be used (NCHW, NHWC).
1019 };
1020 
1021 /// A SpaceToDepthDescriptor for the SpaceToDepthLayer
1023 {
1026  {}
1027 
1028  SpaceToDepthDescriptor(unsigned int blockSize, DataLayout dataLayout)
1029  : m_BlockSize(blockSize)
1030  , m_DataLayout(dataLayout)
1031  {}
1032 
1033  bool operator ==(const SpaceToDepthDescriptor& rhs) const
1034  {
1035  return m_BlockSize == rhs.m_BlockSize && m_DataLayout == rhs.m_DataLayout;
1036  }
1037 
1038  /// Scalar specifying the input block size. It must be >= 1
1039  unsigned int m_BlockSize;
1040 
1041  /// The data layout to be used (NCHW, NHWC).
1043 };
1044 
1045 /// A DepthToSpaceDescriptor for the DepthToSpaceLayer
1047 
1048 /// An LstmDescriptor for the LstmLayer.
1050 {
1052  : m_ActivationFunc(1) // 0: None, 1: Relu, 3: Relu6, 4: Tanh, 6: Sigmoid
1053  , m_ClippingThresCell(0.0)
1054  , m_ClippingThresProj(0.0)
1055  , m_CifgEnabled(true)
1056  , m_PeepholeEnabled(false)
1057  , m_ProjectionEnabled(false)
1058  , m_LayerNormEnabled(false)
1059  , m_TimeMajor(false)
1065  , m_HiddenStateScale(0.0)
1066  {}
1067 
1068  bool operator ==(const LstmDescriptor& rhs) const
1069  {
1070  return m_ActivationFunc == rhs.m_ActivationFunc &&
1073  m_CifgEnabled == rhs.m_CifgEnabled &&
1076  m_TimeMajor == rhs.m_TimeMajor &&
1083  }
1084 
1085  /// @brief The activation function to use.
1086  /// 0: None, 1: Relu, 3: Relu6, 4: Tanh, 6: Sigmoid.
1088  /// Clipping threshold value for the cell state.
1090  /// Clipping threshold value for the projection.
1092  /// Enable/disable cifg (coupled input & forget gate).
1094  /// Enable/disable peephole.
1096  /// Enable/disable the projection layer.
1098  /// Enable/disable layer normalization
1100  /// Enable/disable time major
1102  /// Input intermediate quantization scale
1104  /// Forget intermediate quantization scale
1106  /// Cell intermediate quantization scale
1108  /// Output intermediate quantization scale
1110  /// Hidden State zero point
1112  /// Hidden State quantization scale
1114 };
1115 
1117 
1118 /// A MeanDescriptor for the MeanLayer.
1120 {
1122  : m_Axis()
1123  , m_KeepDims(false)
1124  {}
1125 
1126  MeanDescriptor(const std::vector<unsigned int>& axis, bool keepDims)
1127  : m_Axis(axis)
1128  , m_KeepDims(keepDims)
1129  {}
1130 
1131  bool operator ==(const MeanDescriptor& rhs) const
1132  {
1133  return m_Axis == rhs.m_Axis && m_KeepDims == rhs.m_KeepDims;
1134  }
1135 
1136  /// Values for the dimensions to reduce.
1137  std::vector<unsigned int> m_Axis;
1138  /// Enable/disable keep dimensions. If true, then the reduced dimensions that are of length 1 are kept.
1140 };
1141 
1142 /// A PadDescriptor for the PadLayer.
1144 {
1146  {}
1147 
1148  PadDescriptor(const std::vector<std::pair<unsigned int, unsigned int>>& padList,
1149  const float& padValue = 0,
1150  const PaddingMode& paddingMode = PaddingMode::Constant)
1151  : m_PadList(padList)
1152  , m_PadValue(padValue)
1153  , m_PaddingMode(paddingMode)
1154  {}
1155 
1156  bool operator ==(const PadDescriptor& rhs) const
1157  {
1158  return m_PadList == rhs.m_PadList && m_PadValue == rhs.m_PadValue && m_PaddingMode == rhs.m_PaddingMode;
1159  }
1160 
1161  /// @brief Specifies the padding for input dimension.
1162  /// First is the number of values to add before the tensor in the dimension.
1163  /// Second is the number of values to add after the tensor in the dimension.
1164  /// The number of pairs should match the number of dimensions in the input tensor.
1165  std::vector<std::pair<unsigned int, unsigned int>> m_PadList;
1166 
1167  /// Optional value to use for padding, defaults to 0
1168  float m_PadValue;
1169 
1170  /// Specifies the Padding mode (Constant, Reflect or Symmetric)
1172 };
1173 
1174 /// A SliceDescriptor for the SliceLayer.
1176 {
1177  SliceDescriptor(const std::vector<unsigned int>& begin, const std::vector<unsigned int>& size)
1178  : m_Begin(begin)
1179  , m_Size(size)
1180  {}
1181 
1183  {}
1184 
1185  bool operator ==(const SliceDescriptor& rhs) const
1186  {
1187  return m_Begin == rhs.m_Begin && m_Size == rhs.m_Size;
1188  }
1189 
1190  /// Beginning indices of the slice in each dimension.
1191  std::vector<unsigned int> m_Begin;
1192 
1193  /// Size of the slice in each dimension.
1194  std::vector<unsigned int> m_Size;
1195 };
1196 
1197 /// A StackDescriptor for the StackLayer.
1199 {
1201  : m_Axis(0)
1202  , m_NumInputs(0)
1203  , m_InputShape()
1204  {}
1205 
1206  StackDescriptor(uint32_t axis, uint32_t numInputs, const TensorShape& inputShape)
1207  : m_Axis(axis)
1208  , m_NumInputs(numInputs)
1209  , m_InputShape(inputShape)
1210  {}
1211 
1212  bool operator ==(const StackDescriptor& rhs) const
1213  {
1214  return m_Axis == rhs.m_Axis &&
1215  m_NumInputs == rhs.m_NumInputs &&
1216  m_InputShape == rhs.m_InputShape;
1217  }
1218 
1219  /// 0-based axis along which to stack the input tensors.
1220  uint32_t m_Axis;
1221  /// Number of input tensors.
1222  uint32_t m_NumInputs;
1223  /// Required shape of all input tensors.
1225 };
1226 
1227 /// A StandInDescriptor for the StandIn layer
1229 {
1231 
1232  StandInDescriptor(uint32_t numInputs, uint32_t numOutputs)
1233  : m_NumInputs(numInputs)
1234  , m_NumOutputs(numOutputs)
1235  {}
1236 
1237  bool operator ==(const StandInDescriptor& rhs) const
1238  {
1239  return m_NumInputs == rhs.m_NumInputs &&
1240  m_NumOutputs == rhs.m_NumOutputs;
1241  }
1242 
1243  /// Number of input tensors
1244  uint32_t m_NumInputs = 0;
1245  /// Number of output tensors
1246  uint32_t m_NumOutputs = 0;
1247 };
1248 
1249 /// A StridedSliceDescriptor for the StridedSliceLayer.
1251 {
1252  StridedSliceDescriptor(const std::vector<int>& begin,
1253  const std::vector<int>& end,
1254  const std::vector<int>& stride)
1255  : m_Begin(begin)
1256  , m_End(end)
1257  , m_Stride(stride)
1258  , m_BeginMask(0)
1259  , m_EndMask(0)
1260  , m_ShrinkAxisMask(0)
1261  , m_EllipsisMask(0)
1262  , m_NewAxisMask(0)
1264  {}
1265 
1267  : StridedSliceDescriptor({}, {}, {})
1268  {}
1269 
1270  bool operator ==(const StridedSliceDescriptor& rhs) const
1271  {
1272  return m_Begin == rhs.m_Begin &&
1273  m_End == rhs.m_End &&
1274  m_Stride == rhs.m_Stride &&
1275  m_BeginMask == rhs.m_BeginMask &&
1276  m_EndMask == rhs.m_EndMask &&
1278  m_EllipsisMask == rhs.m_EllipsisMask &&
1279  m_NewAxisMask == rhs.m_NewAxisMask &&
1280  m_DataLayout == rhs.m_DataLayout;
1281  }
1282 
1283  int GetStartForAxis(const TensorShape& inputShape, unsigned int axis) const;
1284  int GetStopForAxis(const TensorShape& inputShape,
1285  unsigned int axis,
1286  int startForAxis) const;
1287 
1288  /// Begin values for the input that will be sliced.
1289  std::vector<int> m_Begin;
1290  /// End values for the input that will be sliced.
1291  std::vector<int> m_End;
1292  /// Stride values for the input that will be sliced.
1293  std::vector<int> m_Stride;
1294 
1295  /// @brief Begin mask value. If set, then the begin is disregarded and the fullest
1296  /// range is used for the dimension.
1297  int32_t m_BeginMask;
1298  /// @brief End mask value. If set, then the end is disregarded and the fullest range
1299  /// is used for the dimension.
1300  int32_t m_EndMask;
1301  /// Shrink axis mask value. If set, the nth specification shrinks the dimensionality by 1.
1303  /// Ellipsis mask value.
1305  /// @brief New axis mask value. If set, the begin, end and stride is disregarded and
1306  /// a new 1 dimension is inserted to this location of the output tensor.
1307  int32_t m_NewAxisMask;
1308 
1309  /// The data layout to be used (NCHW, NHWC).
1311 };
1312 
1313 /// A PreCompiledDescriptor for the PreCompiledLayer.
1315 {
1316  PreCompiledDescriptor(unsigned int numInputSlots = 1u, unsigned int numOutputSlots = 1u)
1317  : m_NumInputSlots(numInputSlots), m_NumOutputSlots(numOutputSlots)
1318  {}
1319 
1320  ~PreCompiledDescriptor() = default;
1321 
1322  unsigned int m_NumInputSlots;
1323  unsigned int m_NumOutputSlots;
1324 };
1325 
1326 /// A QLstmDescriptor for the QLstmLayer.
1328 {
1330  : m_CellClip(0.0)
1331  , m_ProjectionClip(0.0)
1332  , m_CifgEnabled(true)
1333  , m_PeepholeEnabled(false)
1334  , m_ProjectionEnabled(false)
1335  , m_LayerNormEnabled(false)
1341  , m_HiddenStateScale(0.0)
1342  {}
1343 
1344  bool operator ==(const QLstmDescriptor& rhs) const
1345  {
1346  return m_CellClip == rhs.m_CellClip &&
1348  m_CifgEnabled == rhs.m_CifgEnabled &&
1358  }
1359 
1360  /// Clipping threshold value for the cell state
1361  float m_CellClip;
1362  /// Clipping threshold value for the projection
1364  /// Enable/disable CIFG (coupled input & forget gate).
1366  /// Enable/disable peephole
1368  /// Enable/disable the projection layer
1370  /// Enable/disable layer normalization
1372  /// Input intermediate quantization scale
1374  /// Forget intermediate quantization scale
1376  /// Cell intermediate quantization scale
1378  /// Output intermediate quantization scale
1380  /// Hidden State zero point
1382  /// Hidden State quantization scale
1384 };
1385 
1386 /// A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
1388 {
1390  m_PadLeft(0),
1391  m_PadRight(0),
1392  m_PadTop(0),
1393  m_PadBottom(0),
1394  m_StrideX(0),
1395  m_StrideY(0),
1396  m_BiasEnabled(false),
1398  m_OutputShapeEnabled(false)
1399  {}
1400 
1402  {
1403  return m_PadLeft == rhs.m_PadLeft &&
1404  m_PadRight == rhs.m_PadRight &&
1405  m_PadTop == rhs.m_PadTop &&
1406  m_PadBottom == rhs.m_PadBottom &&
1407  m_StrideX == rhs.m_StrideX &&
1408  m_StrideY == rhs.m_StrideY &&
1409  m_BiasEnabled == rhs.m_BiasEnabled &&
1410  m_DataLayout == rhs.m_DataLayout &&
1413  }
1414 
1415  /// Padding left value in the width dimension.
1416  uint32_t m_PadLeft;
1417  /// Padding right value in the width dimension.
1418  uint32_t m_PadRight;
1419  /// Padding top value in the height dimension.
1420  uint32_t m_PadTop;
1421  /// Padding bottom value in the height dimension.
1422  uint32_t m_PadBottom;
1423  /// Stride value when proceeding through input for the width dimension.
1424  uint32_t m_StrideX;
1425  /// Stride value when proceeding through input for the height dimension.
1426  uint32_t m_StrideY;
1427  /// Enable/disable bias.
1429  /// The data layout to be used (NCHW, NHWC).
1431  /// Output shape if it has been specified.
1433  std::vector<unsigned int> m_OutputShape;
1434 };
1435 
1436 /// A TransposeDescriptor for the TransposeLayer.
1438 {
1440  : m_DimMappings{}
1441  {}
1442 
1444  : m_DimMappings(dimMappings)
1445  {}
1446 
1447  bool operator ==(const TransposeDescriptor &rhs) const
1448  {
1449  return m_DimMappings.IsEqual(rhs.m_DimMappings);
1450  }
1451 
1452  /// @brief Indicates how to translate tensor elements from a given source into the target destination, when
1453  /// source and target potentially have different memory layouts e.g.
1454  /// Input Shape {1, 1, 4, 4}
1455  /// Permutation Vector {0, 2, 3, 1}
1456  /// Output Shape {1, 4, 4, 1}
1457  /// dim "0" of input goes into index 0 ([ 1, X, X, X])
1458  /// dim "2" of input goes into index 1 ([ 1, 4, X, X ])
1459  /// dim "3" of input goes into index 2 ([ 1, 4, 4, X ])
1460  /// dim "1" of input goes into index 3 ([ 1, 4, 4, 1 ])
1462 };
1463 
1464 /// A LogicalBinaryDescriptor for the LogicalBinaryLayer
1466 {
1469  {}
1470 
1472  : m_Operation(operation)
1473  {}
1474 
1475  bool operator ==(const LogicalBinaryDescriptor &rhs) const
1476  {
1477  return m_Operation == rhs.m_Operation;
1478  }
1479 
1480  /// Specifies the logical operation to execute
1482 };
1483 
1484 /// A ReduceDescriptor for the REDUCE operators.
1486 {
1488  : m_KeepDims(false)
1489  , m_vAxis()
1491  {}
1492 
1493  bool operator ==(const ReduceDescriptor& rhs) const
1494  {
1495  return m_KeepDims == rhs.m_KeepDims &&
1496  m_vAxis == rhs.m_vAxis &&
1498  }
1499 
1500  /// if true then output shape has no change.
1502  /// The indices of the dimensions to reduce.
1503  std::vector<uint32_t> m_vAxis;
1504  /// Specifies the reduction operation to execute
1506 };
1507 
1508 /// A ChannelShuffleDescriptor for the ChannelShuffle operator
1510 {
1512  : m_NumGroups(0), m_Axis(0)
1513  {}
1514 
1515  ChannelShuffleDescriptor(const uint32_t& numGroups, const uint32_t& axis)
1516  : m_NumGroups(numGroups), m_Axis(axis)
1517  {}
1518 
1519  bool operator ==(const ChannelShuffleDescriptor& rhs) const
1520  {
1521  return m_NumGroups == rhs.m_NumGroups;
1522  }
1523 
1524  /// Number of groups for the channel shuffle operation
1525  uint32_t m_NumGroups;
1526  /// Axis to apply channel shuffle operation on
1527  uint32_t m_Axis;
1528 };
1529 
1530 /// A BatchMatMulDescriptor for the BatchMatMul operator
1532 {
1533  BatchMatMulDescriptor(bool transposeX = false,
1534  bool transposeY = false,
1535  bool adjointX = false,
1536  bool adjointY = false,
1537  DataLayout dataLayoutX = DataLayout::NCHW,
1538  DataLayout dataLayoutY = DataLayout::NCHW)
1539  : m_TransposeX(transposeX)
1540  , m_TransposeY(transposeY)
1541  , m_AdjointX(adjointX)
1542  , m_AdjointY(adjointY)
1543  , m_DataLayoutX(dataLayoutX)
1544  , m_DataLayoutY(dataLayoutY)
1545  {}
1546 
1547  bool operator ==(const BatchMatMulDescriptor &rhs) const
1548  {
1549  return m_TransposeX == rhs.m_TransposeX &&
1550  m_TransposeY == rhs.m_TransposeY &&
1551  m_AdjointX == rhs.m_AdjointX &&
1552  m_AdjointY == rhs.m_AdjointY &&
1553  m_DataLayoutX == rhs.m_DataLayoutX &&
1555  }
1556 
1557  /// Transpose the slices of each input tensor
1558  /// Transpose and Adjoint can not both be set to true for the same tensor at the same time
1561 
1562  /// Adjoint the slices of each input tensor
1563  /// Transpose and Adjoint can not both be set to true for the same tensor at the same time
1566 
1567  /// Data layout of each input tensor, such as NHWC/NDHWC (leave as default for arbitrary layout)
1570 
1571  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use ABI Stable "
1572  "GetAxesToMul(DataLayout dataLayout, const TensorShape& tensorShape) instead.",
1573  "23.05")
1574  static std::pair<std::pair<unsigned int, unsigned int>, std::pair<unsigned int, unsigned int>> GetAxesToMul(
1575  const BatchMatMulDescriptor& desc,
1576  const TensorShape& tensorXShape,
1577  const TensorShape& tensorYShape);
1578 
1579  ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use ABI Stable "
1580  "GetAxesNotMul(DataLayout dataLayout, const TensorShape& tensorShape) instead.",
1581  "23.05")
1582  static std::pair<std::vector<unsigned int>, std::vector<unsigned int>> GetAxesNotMul(
1583  const BatchMatMulDescriptor& desc,
1584  const TensorShape& inputXShape,
1585  const TensorShape& inputYShape);
1586 
1587  /// Static helper to get the two axes (for each input) for multiplication
1588  static std::pair<unsigned int, unsigned int> GetAxesToMul(
1589  DataLayout dataLayout,
1590  const TensorShape& tensorShape);
1591 
1592  /// Static helper to get the axes (for each input) that will not be multiplied together
1593  static std::vector<unsigned int> GetAxesNotMul(
1594  DataLayout dataLayout,
1595  const TensorShape& tensorShape);
1596 
1597  /// Static helper to get the axes which will be transposed
1599  DataLayout dataLayout,
1600  const TensorShape& tensorShape);
1601 };
1602 
1603 } // namespace armnn
armnn::ViewsDescriptor::operator=
ViewsDescriptor & operator=(ViewsDescriptor rhs)
Definition: Descriptors.cpp:268
armnn::QLstmDescriptor::m_CellClip
float m_CellClip
Clipping threshold value for the cell state.
Definition: Descriptors.hpp:1361
armnn::QLstmDescriptor::m_LayerNormEnabled
bool m_LayerNormEnabled
Enable/disable layer normalization.
Definition: Descriptors.hpp:1371
armnn::ActivationFunction::Abs
@ Abs
armnn::TransposeConvolution2dDescriptor::m_OutputShapeEnabled
bool m_OutputShapeEnabled
Output shape if it has been specified.
Definition: Descriptors.hpp:1432
armnn::ElementwiseUnaryDescriptor::ElementwiseUnaryDescriptor
ElementwiseUnaryDescriptor()
Definition: Descriptors.hpp:111
armnn::LogicalBinaryDescriptor::LogicalBinaryDescriptor
LogicalBinaryDescriptor(LogicalBinaryOperation operation)
Definition: Descriptors.hpp:1471
armnn::Pooling3dDescriptor::m_PadTop
uint32_t m_PadTop
Padding top value in the height dimension.
Definition: Descriptors.hpp:447
armnn::ChannelShuffleDescriptor::ChannelShuffleDescriptor
ChannelShuffleDescriptor(const uint32_t &numGroups, const uint32_t &axis)
Definition: Descriptors.hpp:1515
armnn::InstanceNormalizationDescriptor::m_Eps
float m_Eps
Epsilon, small scalar value added to variance to avoid dividing by zero. Defaults to 1e-12f.
Definition: Descriptors.hpp:837
armnn::Pooling2dDescriptor::m_StrideY
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
Definition: Descriptors.hpp:389
armnn::ComparisonDescriptor::ComparisonDescriptor
ComparisonDescriptor(ComparisonOperation operation)
Definition: Descriptors.hpp:95
armnn::NullDescriptor
Null Descriptor used as a return value from the IConnectableLayer GetParameters method by layers whic...
Definition: Descriptors.hpp:30
armnn::StackDescriptor::StackDescriptor
StackDescriptor()
Definition: Descriptors.hpp:1200
armnn::L2NormalizationDescriptor::m_Eps
float m_Eps
Used to avoid dividing by zero.
Definition: Descriptors.hpp:790
armnn::StandInDescriptor::operator==
bool operator==(const StandInDescriptor &rhs) const
Definition: Descriptors.hpp:1237
armnn::Convolution2dDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:552
armnn::NormalizationAlgorithmMethod
NormalizationAlgorithmMethod
Definition: Types.hpp:199
armnn::LstmDescriptor::m_TimeMajor
bool m_TimeMajor
Enable/disable time major.
Definition: Descriptors.hpp:1101
armnn::StackDescriptor::m_InputShape
TensorShape m_InputShape
Required shape of all input tensors.
Definition: Descriptors.hpp:1224
armnn::OutputShapeRounding
OutputShapeRounding
Definition: Types.hpp:207
armnn::BatchMatMulDescriptor::m_TransposeX
bool m_TransposeX
Transpose the slices of each input tensor Transpose and Adjoint can not both be set to true for the s...
Definition: Descriptors.hpp:1559
armnn::TransposeConvolution2dDescriptor::m_PadBottom
uint32_t m_PadBottom
Padding bottom value in the height dimension.
Definition: Descriptors.hpp:1422
armnn::Convolution2dDescriptor::GetNumInputs
uint32_t GetNumInputs() const
Definition: Descriptors.cpp:443
armnn::Convolution2dDescriptor::m_BiasEnabled
bool m_BiasEnabled
Enable/disable bias.
Definition: Descriptors.hpp:550
armnn::PadDescriptor::operator==
bool operator==(const PadDescriptor &rhs) const
Definition: Descriptors.hpp:1156
armnn::FakeQuantizationDescriptor::operator==
bool operator==(const FakeQuantizationDescriptor &rhs) const
Definition: Descriptors.hpp:881
armnn::ViewsDescriptor::GetNumViews
uint32_t GetNumViews() const
Get the number of views.
Definition: Descriptors.cpp:295
armnn::ReshapeDescriptor::ReshapeDescriptor
ReshapeDescriptor()
Definition: Descriptors.hpp:972
armnn::QLstmDescriptor::m_ProjectionClip
float m_ProjectionClip
Clipping threshold value for the projection.
Definition: Descriptors.hpp:1363
armnn::Pooling3dDescriptor::m_StrideX
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
Definition: Descriptors.hpp:461
armnn::ViewsDescriptor::GetViewOrigin
const uint32_t * GetViewOrigin(uint32_t idx) const
Get the view origin at the int value idx.
Definition: Descriptors.cpp:305
armnn::TransposeConvolution2dDescriptor::m_PadLeft
uint32_t m_PadLeft
Padding left value in the width dimension.
Definition: Descriptors.hpp:1416
armnn::QLstmDescriptor::QLstmDescriptor
QLstmDescriptor()
Definition: Descriptors.hpp:1329
armnn::FullyConnectedDescriptor::m_BiasEnabled
bool m_BiasEnabled
Enable/disable bias.
Definition: Descriptors.hpp:494
armnn::NormalizationAlgorithmChannel
NormalizationAlgorithmChannel
Definition: Types.hpp:193
armnn::GatherDescriptor
A GatherDescriptor for the GatherLayer.
Definition: Descriptors.hpp:912
armnn::NormalizationDescriptor
A NormalizationDescriptor for the NormalizationLayer.
Definition: Descriptors.hpp:737
armnn::ComparisonOperation::Equal
@ Equal
armnn::TransposeDescriptor
A TransposeDescriptor for the TransposeLayer.
Definition: Descriptors.hpp:1437
armnn::QLstmDescriptor::m_ForgetIntermediateScale
float m_ForgetIntermediateScale
Forget intermediate quantization scale.
Definition: Descriptors.hpp:1375
armnn::BatchNormalizationDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:811
armnn::SliceDescriptor::operator==
bool operator==(const SliceDescriptor &rhs) const
Definition: Descriptors.hpp:1185
armnn::TransposeConvolution2dDescriptor::m_PadTop
uint32_t m_PadTop
Padding top value in the height dimension.
Definition: Descriptors.hpp:1420
armnn::ElementwiseUnaryDescriptor
A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer.
Definition: Descriptors.hpp:109
armnn::StandInDescriptor::StandInDescriptor
StandInDescriptor(uint32_t numInputs, uint32_t numOutputs)
Definition: Descriptors.hpp:1232
armnn::PadDescriptor
A PadDescriptor for the PadLayer.
Definition: Descriptors.hpp:1143
armnn::StackDescriptor::StackDescriptor
StackDescriptor(uint32_t axis, uint32_t numInputs, const TensorShape &inputShape)
Definition: Descriptors.hpp:1206
armnn::SliceDescriptor::SliceDescriptor
SliceDescriptor()
Definition: Descriptors.hpp:1182
armnn::DataLayout
DataLayout
Definition: Types.hpp:62
armnn::SoftmaxDescriptor
A SoftmaxDescriptor for the SoftmaxLayer.
Definition: Descriptors.hpp:157
armnn::OriginsDescriptor::GetNumViews
uint32_t GetNumViews() const
Get the number of views.
Definition: Descriptors.cpp:187
armnn::Convolution2dDescriptor::Convolution2dDescriptor
Convolution2dDescriptor()
Definition: Descriptors.hpp:504
armnn::ArgMinMaxDescriptor::ArgMinMaxDescriptor
ArgMinMaxDescriptor()
Definition: Descriptors.hpp:69
armnn::Convolution2dDescriptor::m_DilationY
uint32_t m_DilationY
Dilation along y axis.
Definition: Descriptors.hpp:548
armnn::LogicalBinaryOperation::LogicalAnd
@ LogicalAnd
armnn::ComparisonDescriptor::m_Operation
ComparisonOperation m_Operation
Specifies the comparison operation to execute.
Definition: Descriptors.hpp:105
armnn::Convolution2dDescriptor::m_PadBottom
uint32_t m_PadBottom
Padding bottom value in the height dimension.
Definition: Descriptors.hpp:540
armnn::StackDescriptor
A StackDescriptor for the StackLayer.
Definition: Descriptors.hpp:1198
armnn::SliceDescriptor
A SliceDescriptor for the SliceLayer.
Definition: Descriptors.hpp:1175
armnn::OriginsDescriptor::GetNumDimensions
uint32_t GetNumDimensions() const
Get the number of dimensions.
Definition: Descriptors.cpp:192
armnn::ActivationDescriptor::ActivationDescriptor
ActivationDescriptor(armnn::ActivationFunction activation, float a=0, float b=0)
Definition: Descriptors.hpp:44
armnn::BatchToSpaceNdDescriptor::m_Crops
std::vector< std::pair< unsigned int, unsigned int > > m_Crops
The values to crop from the input dimension.
Definition: Descriptors.hpp:868
armnn::Convolution3dDescriptor::m_PadLeft
uint32_t m_PadLeft
Padding left value in the width dimension.
Definition: Descriptors.hpp:597
armnn::ResizeDescriptor::ResizeDescriptor
ResizeDescriptor()
Definition: Descriptors.hpp:934
armnn::OutputShapeRounding::Floor
@ Floor
armnn::ActivationDescriptor
An ActivationDescriptor for the ActivationLayer.
Definition: Descriptors.hpp:36
armnn::ReduceDescriptor::m_ReduceOperation
ReduceOperation m_ReduceOperation
Specifies the reduction operation to execute.
Definition: Descriptors.hpp:1505
armnn::ReshapeDescriptor::operator==
bool operator==(const ReshapeDescriptor &rhs) const
Definition: Descriptors.hpp:980
armnn::Pooling3dDescriptor::m_PadRight
uint32_t m_PadRight
Padding right value in the width dimension.
Definition: Descriptors.hpp:445
armnn::FillDescriptor::FillDescriptor
FillDescriptor()
Definition: Descriptors.hpp:895
armnn::StridedSliceDescriptor::StridedSliceDescriptor
StridedSliceDescriptor(const std::vector< int > &begin, const std::vector< int > &end, const std::vector< int > &stride)
Definition: Descriptors.hpp:1252
armnn::LstmDescriptor
An LstmDescriptor for the LstmLayer.
Definition: Descriptors.hpp:1049
armnn::FullyConnectedDescriptor
A FullyConnectedDescriptor for the FullyConnectedLayer.
Definition: Descriptors.hpp:475
armnn::ViewsDescriptor::operator==
bool operator==(const ViewsDescriptor &rhs) const
Definition: Descriptors.cpp:274
armnn::StridedSliceDescriptor::m_BeginMask
int32_t m_BeginMask
Begin mask value.
Definition: Descriptors.hpp:1297
armnn::BatchMatMulDescriptor::BatchMatMulDescriptor
BatchMatMulDescriptor(bool transposeX=false, bool transposeY=false, bool adjointX=false, bool adjointY=false, DataLayout dataLayoutX=DataLayout::NCHW, DataLayout dataLayoutY=DataLayout::NCHW)
Definition: Descriptors.hpp:1533
armnn::ChannelShuffleDescriptor::m_NumGroups
uint32_t m_NumGroups
Number of groups for the channel shuffle operation.
Definition: Descriptors.hpp:1525
armnn::StandInDescriptor::m_NumInputs
uint32_t m_NumInputs
Number of input tensors.
Definition: Descriptors.hpp:1244
armnn::Convolution3dDescriptor::m_DilationY
uint32_t m_DilationY
Dilation along y axis.
Definition: Descriptors.hpp:617
armnn::OriginsDescriptor::ReorderOrigins
void ReorderOrigins(unsigned int *newOrdering, unsigned int numNewOrdering)
Reorders the viewOrigins in accordance with the indices presented in newOrdering array.
Definition: Descriptors.cpp:204
armnn::TransposeConvolution2dDescriptor::m_OutputShape
std::vector< unsigned int > m_OutputShape
Definition: Descriptors.hpp:1433
armnn::ArgMinMaxDescriptor::m_Axis
int m_Axis
Axis to reduce across the input tensor.
Definition: Descriptors.hpp:83
armnn::SpaceToBatchNdDescriptor::m_PadList
std::vector< std::pair< unsigned int, unsigned int > > m_PadList
Specifies the padding values for the input dimension: heightPad{top, bottom} widthPad{left,...
Definition: Descriptors.hpp:1016
armnn::TransposeDescriptor::TransposeDescriptor
TransposeDescriptor()
Definition: Descriptors.hpp:1439
armnn::BatchMatMulDescriptor
A BatchMatMulDescriptor for the BatchMatMul operator.
Definition: Descriptors.hpp:1531
armnn::ComparisonDescriptor::operator==
bool operator==(const ComparisonDescriptor &rhs) const
Definition: Descriptors.hpp:99
armnn::PermuteDescriptor::m_DimMappings
PermutationVector m_DimMappings
Indicates how to translate tensor elements from a given source into the target destination,...
Definition: Descriptors.hpp:153
armnn::DepthwiseConvolution2dDescriptor::GetNumInputs
uint32_t GetNumInputs() const
Get the number of views/inputs.
Definition: Descriptors.cpp:453
armnn::ResizeDescriptor
A ResizeDescriptor for the ResizeLayer.
Definition: Descriptors.hpp:932
armnn::ArgMinMaxDescriptor::m_Output_Type
armnn::DataType m_Output_Type
Deprecated and will be removed in future release.
Definition: Descriptors.hpp:85
armnn::FullyConnectedDescriptor::m_ConstantWeights
bool m_ConstantWeights
Enable/disable constant weights and biases.
Definition: Descriptors.hpp:498
armnn::StridedSliceDescriptor
A StridedSliceDescriptor for the StridedSliceLayer.
Definition: Descriptors.hpp:1250
armnn::Pooling2dDescriptor::m_PoolHeight
uint32_t m_PoolHeight
Pooling height value.
Definition: Descriptors.hpp:385
armnn::StridedSliceDescriptor::m_Begin
std::vector< int > m_Begin
Begin values for the input that will be sliced.
Definition: Descriptors.hpp:1289
armnn::SpaceToDepthDescriptor::operator==
bool operator==(const SpaceToDepthDescriptor &rhs) const
Definition: Descriptors.hpp:1033
armnn::ReduceDescriptor::m_vAxis
std::vector< uint32_t > m_vAxis
The indices of the dimensions to reduce.
Definition: Descriptors.hpp:1503
armnn::Pooling3dDescriptor
A Pooling3dDescriptor for the Pooling3dLayer.
Definition: Descriptors.hpp:399
armnn::ReduceDescriptor
A ReduceDescriptor for the REDUCE operators.
Definition: Descriptors.hpp:1485
armnn::TransposeConvolution2dDescriptor::m_BiasEnabled
bool m_BiasEnabled
Enable/disable bias.
Definition: Descriptors.hpp:1428
armnn::OriginsDescriptor::GetViewOrigin
const uint32_t * GetViewOrigin(uint32_t idx) const
Return the view origin at the int value idx.
Definition: Descriptors.cpp:197
armnn::OriginsDescriptor::OriginsDescriptor
OriginsDescriptor()
Definition: Descriptors.cpp:82
armnn::OriginsDescriptor::SetConcatAxis
void SetConcatAxis(unsigned int concatAxis)
Set the concatenation axis value.
Definition: Descriptors.cpp:158
armnn::Convolution2dDescriptor::m_DilationX
uint32_t m_DilationX
Dilation along x axis.
Definition: Descriptors.hpp:546
armnn::DetectionPostProcessDescriptor::m_MaxDetections
uint32_t m_MaxDetections
Maximum numbers of detections.
Definition: Descriptors.hpp:713
armnn::OriginsDescriptor::swap
friend void swap(OriginsDescriptor &first, OriginsDescriptor &second)
Swap the ViewsDescriptor values first and second.
Definition: Descriptors.cpp:350
armnn::Pooling3dDescriptor::m_PoolWidth
uint32_t m_PoolWidth
Pooling width value.
Definition: Descriptors.hpp:455
armnn::ComparisonDescriptor
A ComparisonDescriptor for the ComparisonLayer.
Definition: Descriptors.hpp:89
armnn::LstmDescriptor::operator==
bool operator==(const LstmDescriptor &rhs) const
Definition: Descriptors.hpp:1068
armnn::OriginsDescriptor::operator==
bool operator==(const OriginsDescriptor &rhs) const
Definition: Descriptors.cpp:135
armnn::DataType::Signed32
@ Signed32
armnn::StandInDescriptor
A StandInDescriptor for the StandIn layer.
Definition: Descriptors.hpp:1228
armnn::Pooling3dDescriptor::m_OutputShapeRounding
OutputShapeRounding m_OutputShapeRounding
The rounding method for the output shape. (Floor, Ceiling).
Definition: Descriptors.hpp:467
armnn::StridedSliceDescriptor::operator==
bool operator==(const StridedSliceDescriptor &rhs) const
Definition: Descriptors.hpp:1270
armnn::LstmDescriptor::m_CifgEnabled
bool m_CifgEnabled
Enable/disable cifg (coupled input & forget gate).
Definition: Descriptors.hpp:1093
armnn::Pooling2dDescriptor::m_PoolType
PoolingAlgorithm m_PoolType
The pooling algorithm to use (Max. Average, L2).
Definition: Descriptors.hpp:373
ARMNN_DEPRECATED_MSG_REMOVAL_DATE
#define ARMNN_DEPRECATED_MSG_REMOVAL_DATE(message, removed_in_release)
Definition: Deprecated.hpp:44
armnn::LstmDescriptor::m_LayerNormEnabled
bool m_LayerNormEnabled
Enable/disable layer normalization.
Definition: Descriptors.hpp:1099
armnn::LogicalBinaryDescriptor::m_Operation
LogicalBinaryOperation m_Operation
Specifies the logical operation to execute.
Definition: Descriptors.hpp:1481
armnn::LogicalBinaryDescriptor::operator==
bool operator==(const LogicalBinaryDescriptor &rhs) const
Definition: Descriptors.hpp:1475
armnn::ViewsDescriptor
A ViewsDescriptor for the SplitterLayer.
Definition: Descriptors.hpp:224
armnn::SpaceToDepthDescriptor::SpaceToDepthDescriptor
SpaceToDepthDescriptor(unsigned int blockSize, DataLayout dataLayout)
Definition: Descriptors.hpp:1028
armnn::DepthwiseConvolution2dDescriptor::m_BiasEnabled
bool m_BiasEnabled
Enable/disable bias.
Definition: Descriptors.hpp:676
armnn::MeanDescriptor::m_Axis
std::vector< unsigned int > m_Axis
Values for the dimensions to reduce.
Definition: Descriptors.hpp:1137
armnn::DetectionPostProcessDescriptor::m_ScaleX
float m_ScaleX
Center size encoding scale x.
Definition: Descriptors.hpp:727
armnn::Pooling3dDescriptor::m_PadLeft
uint32_t m_PadLeft
Padding left value in the width dimension.
Definition: Descriptors.hpp:443
armnn::Convolution2dDescriptor::m_PadTop
uint32_t m_PadTop
Padding top value in the height dimension.
Definition: Descriptors.hpp:538
armnn::Pooling2dDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:395
armnn::StridedSliceDescriptor::StridedSliceDescriptor
StridedSliceDescriptor()
Definition: Descriptors.hpp:1266
armnn::StridedSliceDescriptor::m_NewAxisMask
int32_t m_NewAxisMask
New axis mask value.
Definition: Descriptors.hpp:1307
armnn::Convolution2dDescriptor::m_PadRight
uint32_t m_PadRight
Padding right value in the width dimension.
Definition: Descriptors.hpp:536
armnn::Convolution3dDescriptor::m_DilationX
uint32_t m_DilationX
Dilation along x axis.
Definition: Descriptors.hpp:615
armnn::OriginsDescriptor::GetConcatAxis
unsigned int GetConcatAxis() const
Get the concatenation axis value.
Definition: Descriptors.cpp:162
armnn::InstanceNormalizationDescriptor::InstanceNormalizationDescriptor
InstanceNormalizationDescriptor()
Definition: Descriptors.hpp:817
armnn::PreCompiledDescriptor
A PreCompiledDescriptor for the PreCompiledLayer.
Definition: Descriptors.hpp:1314
armnn::Convolution3dDescriptor::m_DilationZ
uint32_t m_DilationZ
Dilation along z axis.
Definition: Descriptors.hpp:619
armnn::SpaceToBatchNdDescriptor::operator==
bool operator==(const SpaceToBatchNdDescriptor &rhs) const
Definition: Descriptors.hpp:1005
armnn::FullyConnectedDescriptor::operator==
bool operator==(const FullyConnectedDescriptor &rhs) const
Definition: Descriptors.hpp:483
armnn::Pooling2dDescriptor::m_StrideX
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
Definition: Descriptors.hpp:387
armnn::InstanceNormalizationDescriptor::operator==
bool operator==(const InstanceNormalizationDescriptor &rhs) const
Definition: Descriptors.hpp:824
armnn::DepthwiseConvolution2dDescriptor::m_StrideX
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
Definition: Descriptors.hpp:668
armnn::ArgMinMaxFunction
ArgMinMaxFunction
Definition: Types.hpp:102
armnn::DepthwiseConvolution2dDescriptor::m_DilationX
uint32_t m_DilationX
Dilation factor value for width dimension.
Definition: Descriptors.hpp:672
armnn::LogicalBinaryDescriptor::LogicalBinaryDescriptor
LogicalBinaryDescriptor()
Definition: Descriptors.hpp:1467
armnn::DetectionPostProcessDescriptor::m_NmsScoreThreshold
float m_NmsScoreThreshold
NMS score threshold.
Definition: Descriptors.hpp:719
armnn::QLstmDescriptor::operator==
bool operator==(const QLstmDescriptor &rhs) const
Definition: Descriptors.hpp:1344
armnn::LstmDescriptor::LstmDescriptor
LstmDescriptor()
Definition: Descriptors.hpp:1051
armnn::PaddingMode::Constant
@ Constant
armnn::L2NormalizationDescriptor::operator==
bool operator==(const L2NormalizationDescriptor &rhs) const
Definition: Descriptors.hpp:784
armnn::LstmDescriptor::m_InputIntermediateScale
float m_InputIntermediateScale
Input intermediate quantization scale.
Definition: Descriptors.hpp:1103
armnn::ViewsDescriptor::GetNumDimensions
uint32_t GetNumDimensions() const
Get the number of dimensions.
Definition: Descriptors.cpp:300
armnn::NormalizationDescriptor::m_NormMethodType
NormalizationAlgorithmMethod m_NormMethodType
Normalization method algorithm to use (LocalBrightness, LocalContrast).
Definition: Descriptors.hpp:763
armnn::QLstmDescriptor::m_CellIntermediateScale
float m_CellIntermediateScale
Cell intermediate quantization scale.
Definition: Descriptors.hpp:1377
armnn::DepthwiseConvolution2dDescriptor::m_PadLeft
uint32_t m_PadLeft
Padding left value in the width dimension.
Definition: Descriptors.hpp:660
armnn
Copyright (c) 2021 ARM Limited and Contributors.
Definition: 01_00_quick_start.dox:6
armnn::StridedSliceDescriptor::GetStopForAxis
int GetStopForAxis(const TensorShape &inputShape, unsigned int axis, int startForAxis) const
Definition: Descriptors.cpp:393
armnn::Convolution3dDescriptor::m_PadTop
uint32_t m_PadTop
Padding top value in the height dimension.
Definition: Descriptors.hpp:601
armnn::StandInDescriptor::m_NumOutputs
uint32_t m_NumOutputs
Number of output tensors.
Definition: Descriptors.hpp:1246
armnn::FillDescriptor::m_Value
float m_Value
Definition: Descriptors.hpp:908
armnn::QLstmDescriptor::m_OutputIntermediateScale
float m_OutputIntermediateScale
Output intermediate quantization scale.
Definition: Descriptors.hpp:1379
armnn::DetectionPostProcessDescriptor::m_DetectionsPerClass
uint32_t m_DetectionsPerClass
Detections per classes, used in Regular NMS.
Definition: Descriptors.hpp:717
armnn::PreCompiledDescriptor::m_NumOutputSlots
unsigned int m_NumOutputSlots
Definition: Descriptors.hpp:1323
armnn::ReshapeDescriptor::ReshapeDescriptor
ReshapeDescriptor(const TensorShape &shape)
Definition: Descriptors.hpp:976
armnn::DetectionPostProcessDescriptor::m_ScaleH
float m_ScaleH
Center size encoding scale height.
Definition: Descriptors.hpp:733
armnn::ViewsDescriptor::SetViewOriginCoord
Status SetViewOriginCoord(uint32_t view, uint32_t coord, uint32_t value)
@Brief Set the view origin coordinates.
Definition: Descriptors.cpp:310
armnn::NormalizationDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:773
armnn::DepthwiseConvolution2dDescriptor::m_PadTop
uint32_t m_PadTop
Padding top value in the height dimension.
Definition: Descriptors.hpp:664
armnn::BatchToSpaceNdDescriptor
A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
Definition: Descriptors.hpp:843
armnn::OriginsDescriptor::~OriginsDescriptor
~OriginsDescriptor()
Definition: Descriptors.cpp:120
armnn::Convolution3dDescriptor::m_PadFront
uint32_t m_PadFront
Padding front value in the depth dimension.
Definition: Descriptors.hpp:605
armnn::SpaceToDepthDescriptor
A SpaceToDepthDescriptor for the SpaceToDepthLayer.
Definition: Descriptors.hpp:1022
armnn::StridedSliceDescriptor::m_End
std::vector< int > m_End
End values for the input that will be sliced.
Definition: Descriptors.hpp:1291
armnn::ComparisonDescriptor::ComparisonDescriptor
ComparisonDescriptor()
Definition: Descriptors.hpp:91
armnn::LstmDescriptor::m_CellIntermediateScale
float m_CellIntermediateScale
Cell intermediate quantization scale.
Definition: Descriptors.hpp:1107
armnn::Pooling2dDescriptor::Pooling2dDescriptor
Pooling2dDescriptor()
Definition: Descriptors.hpp:341
armnn::DetectionPostProcessDescriptor::m_ScaleW
float m_ScaleW
Center size encoding scale weight.
Definition: Descriptors.hpp:731
armnn::ResizeDescriptor::m_AlignCorners
bool m_AlignCorners
Aligned corners.
Definition: Descriptors.hpp:963
armnn::PadDescriptor::PadDescriptor
PadDescriptor(const std::vector< std::pair< unsigned int, unsigned int >> &padList, const float &padValue=0, const PaddingMode &paddingMode=PaddingMode::Constant)
Definition: Descriptors.hpp:1148
armnn::LogicalBinaryOperation
LogicalBinaryOperation
Definition: Types.hpp:118
armnn::DetectionPostProcessDescriptor
Definition: Descriptors.hpp:681
armnn::ElementwiseUnaryDescriptor::m_Operation
UnaryOperation m_Operation
Specifies the elementwiseUnary operation to execute.
Definition: Descriptors.hpp:125
armnn::ViewsDescriptor::swap
friend void swap(ViewsDescriptor &first, ViewsDescriptor &second)
Swap the ViewsDescriptor value first and second.
Definition: Descriptors.cpp:359
armnn::ResizeMethod::NearestNeighbor
@ NearestNeighbor
armnn::BatchToSpaceNdDescriptor::operator==
bool operator==(const BatchToSpaceNdDescriptor &rhs) const
Definition: Descriptors.hpp:858
armnn::TensorShape
Definition: Tensor.hpp:20
armnn::FillDescriptor
A FillDescriptor for the FillLayer.
Definition: Descriptors.hpp:893
armnn::Convolution3dDescriptor::m_StrideZ
uint32_t m_StrideZ
Stride value when proceeding through input for the depth dimension.
Definition: Descriptors.hpp:613
armnn::ActivationDescriptor::operator==
bool operator==(const ActivationDescriptor &rhs) const
Definition: Descriptors.hpp:52
armnn::PoolingAlgorithm
PoolingAlgorithm
Definition: Types.hpp:136
armnn::ResizeMethod
ResizeMethod
Definition: Types.hpp:152
armnn::ReduceOperation::Sum
@ Sum
armnn::PadDescriptor::m_PaddingMode
PaddingMode m_PaddingMode
Specifies the Padding mode (Constant, Reflect or Symmetric)
Definition: Descriptors.hpp:1171
armnn::ResizeDescriptor::m_TargetHeight
uint32_t m_TargetHeight
Target height value.
Definition: Descriptors.hpp:956
armnn::SpaceToDepthDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:1042
armnn::DepthwiseConvolution2dDescriptor::m_DilationY
uint32_t m_DilationY
Dilation factor value for height dimension.
Definition: Descriptors.hpp:674
armnn::GatherDescriptor::m_Axis
int32_t m_Axis
The axis in params to gather indices from.
Definition: Descriptors.hpp:928
armnn::DataLayout::NCHW
@ NCHW
armnn::Pooling3dDescriptor::m_PadFront
uint32_t m_PadFront
Padding front value in the depth dimension.
Definition: Descriptors.hpp:451
armnn::ReduceOperation
ReduceOperation
Definition: Types.hpp:143
armnn::BatchMatMulDescriptor::operator==
bool operator==(const BatchMatMulDescriptor &rhs) const
Definition: Descriptors.hpp:1547
armnn::ArgMinMaxDescriptor::m_Function
ArgMinMaxFunction m_Function
Specify if the function is to find Min or Max.
Definition: Descriptors.hpp:81
armnn::FakeQuantizationDescriptor::m_Max
float m_Max
Maximum value.
Definition: Descriptors.hpp:889
armnn::DepthwiseConvolution2dDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:678
armnn::SoftmaxDescriptor::m_Axis
int m_Axis
Scalar, defaulted to the last index (-1), specifying the dimension the activation will be performed o...
Definition: Descriptors.hpp:172
armnn::LstmDescriptor::m_HiddenStateScale
float m_HiddenStateScale
Hidden State quantization scale.
Definition: Descriptors.hpp:1113
armnn::PadDescriptor::m_PadList
std::vector< std::pair< unsigned int, unsigned int > > m_PadList
Specifies the padding for input dimension.
Definition: Descriptors.hpp:1165
armnn::NormalizationAlgorithmChannel::Across
@ Across
armnn::Convolution2dDescriptor::m_PadLeft
uint32_t m_PadLeft
Padding left value in the width dimension.
Definition: Descriptors.hpp:534
armnn::BatchMatMulDescriptor::m_DataLayoutX
DataLayout m_DataLayoutX
Data layout of each input tensor, such as NHWC/NDHWC (leave as default for arbitrary layout)
Definition: Descriptors.hpp:1568
armnn::DepthwiseConvolution2dDescriptor
A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
Definition: Descriptors.hpp:627
armnn::PadDescriptor::PadDescriptor
PadDescriptor()
Definition: Descriptors.hpp:1145
armnn::MeanDescriptor
A MeanDescriptor for the MeanLayer.
Definition: Descriptors.hpp:1119
armnn::NormalizationAlgorithmMethod::LocalBrightness
@ LocalBrightness
Krichevsky 2012: Local Brightness Normalization.
armnn::ActivationFunction::Sigmoid
@ Sigmoid
armnn::BatchNormalizationDescriptor::operator==
bool operator==(const BatchNormalizationDescriptor &rhs) const
Definition: Descriptors.hpp:803
armnn::LstmDescriptor::m_HiddenStateZeroPoint
int32_t m_HiddenStateZeroPoint
Hidden State zero point.
Definition: Descriptors.hpp:1111
armnn::FillDescriptor::operator==
bool operator==(const FillDescriptor &rhs) const
Definition: Descriptors.hpp:903
armnn::NormalizationDescriptor::m_NormSize
uint32_t m_NormSize
Depth radius value.
Definition: Descriptors.hpp:765
armnn::L2NormalizationDescriptor::L2NormalizationDescriptor
L2NormalizationDescriptor()
Definition: Descriptors.hpp:779
armnn::Pooling3dDescriptor::m_PadBack
uint32_t m_PadBack
Padding back value in the depth dimension.
Definition: Descriptors.hpp:453
armnn::DataLayout::NCDHW
@ NCDHW
armnn::ViewsDescriptor::ViewsDescriptor
ViewsDescriptor()
Definition: Descriptors.cpp:216
armnn::BatchToSpaceNdDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:870
armnn::Pooling2dDescriptor::m_PadBottom
uint32_t m_PadBottom
Padding bottom value in the height dimension.
Definition: Descriptors.hpp:381
armnn::Pooling3dDescriptor::m_StrideZ
uint32_t m_StrideZ
Stride value when proceeding through input for the depth dimension.
Definition: Descriptors.hpp:465
armnn::SoftmaxDescriptor::SoftmaxDescriptor
SoftmaxDescriptor()
Definition: Descriptors.hpp:159
armnn::Convolution2dDescriptor::operator==
bool operator==(const Convolution2dDescriptor &rhs) const
Definition: Descriptors.hpp:517
armnn::StandInDescriptor::StandInDescriptor
StandInDescriptor()
Definition: Descriptors.hpp:1230
armnn::ChannelShuffleDescriptor::m_Axis
uint32_t m_Axis
Axis to apply channel shuffle operation on.
Definition: Descriptors.hpp:1527
armnn::Pooling2dDescriptor::operator==
bool operator==(const Pooling2dDescriptor &rhs) const
Definition: Descriptors.hpp:356
armnn::MeanDescriptor::MeanDescriptor
MeanDescriptor(const std::vector< unsigned int > &axis, bool keepDims)
Definition: Descriptors.hpp:1126
armnn::L2NormalizationDescriptor
A L2NormalizationDescriptor for the L2NormalizationLayer.
Definition: Descriptors.hpp:777
armnn::PermuteDescriptor::PermuteDescriptor
PermuteDescriptor()
Definition: Descriptors.hpp:131
armnn::TransposeConvolution2dDescriptor::TransposeConvolution2dDescriptor
TransposeConvolution2dDescriptor()
Definition: Descriptors.hpp:1389
armnn::BaseDescriptor::~BaseDescriptor
virtual ~BaseDescriptor()=default
armnn::PermuteDescriptor::PermuteDescriptor
PermuteDescriptor(const PermutationVector &dimMappings)
Definition: Descriptors.hpp:135
armnn::ChannelShuffleDescriptor
A ChannelShuffleDescriptor for the ChannelShuffle operator.
Definition: Descriptors.hpp:1509
armnn::Convolution3dDescriptor
A Convolution3dDescriptor for the Convolution3dLayer.
Definition: Descriptors.hpp:556
armnn::LstmDescriptor::m_PeepholeEnabled
bool m_PeepholeEnabled
Enable/disable peephole.
Definition: Descriptors.hpp:1095
armnn::ArgMinMaxFunction::Min
@ Min
armnn::ComparisonOperation
ComparisonOperation
Definition: Types.hpp:108
armnn::BatchMatMulDescriptor::m_TransposeY
bool m_TransposeY
Definition: Descriptors.hpp:1560
armnn::PaddingMode
PaddingMode
The padding mode controls whether the padding should be filled with constant values (Constant),...
Definition: Types.hpp:186
armnn::SpaceToBatchNdDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:1018
armnn::ChannelShuffleDescriptor::ChannelShuffleDescriptor
ChannelShuffleDescriptor()
Definition: Descriptors.hpp:1511
armnn::ResizeDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:961
armnn::SpaceToDepthDescriptor::m_BlockSize
unsigned int m_BlockSize
Scalar specifying the input block size. It must be >= 1.
Definition: Descriptors.hpp:1039
armnn::Convolution2dDescriptor
A Convolution2dDescriptor for the Convolution2dLayer.
Definition: Descriptors.hpp:502
armnn::UnaryOperation
UnaryOperation
Definition: Types.hpp:124
armnn::NormalizationDescriptor::operator==
bool operator==(const NormalizationDescriptor &rhs) const
Definition: Descriptors.hpp:749
armnn::StackDescriptor::m_NumInputs
uint32_t m_NumInputs
Number of input tensors.
Definition: Descriptors.hpp:1222
armnn::Pooling2dDescriptor::m_PoolWidth
uint32_t m_PoolWidth
Pooling width value.
Definition: Descriptors.hpp:383
armnn::TransposeConvolution2dDescriptor::m_PadRight
uint32_t m_PadRight
Padding right value in the width dimension.
Definition: Descriptors.hpp:1418
armnn::BatchNormalizationDescriptor
A BatchNormalizationDescriptor for the BatchNormalizationLayer.
Definition: Descriptors.hpp:796
armnn::GatherDescriptor::GatherDescriptor
GatherDescriptor(int32_t axis)
Definition: Descriptors.hpp:918
armnn::FillDescriptor::FillDescriptor
FillDescriptor(const float &value)
Definition: Descriptors.hpp:899
armnn::FakeQuantizationDescriptor::FakeQuantizationDescriptor
FakeQuantizationDescriptor()
Definition: Descriptors.hpp:876
armnn::Pooling3dDescriptor::m_PoolType
PoolingAlgorithm m_PoolType
The pooling algorithm to use (Max. Average, L2).
Definition: Descriptors.hpp:441
Tensor.hpp
armnn::QLstmDescriptor
A QLstmDescriptor for the QLstmLayer.
Definition: Descriptors.hpp:1327
armnn::ActivationDescriptor::m_A
float m_A
Alpha upper bound value used by the activation functions. (BoundedReLu, Linear, TanH,...
Definition: Descriptors.hpp:61
armnn::MeanDescriptor::operator==
bool operator==(const MeanDescriptor &rhs) const
Definition: Descriptors.hpp:1131
armnn::Pooling3dDescriptor::m_PoolDepth
uint32_t m_PoolDepth
Pooling depth value.
Definition: Descriptors.hpp:459
armnn::InstanceNormalizationDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:839
armnn::Convolution3dDescriptor::m_StrideX
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
Definition: Descriptors.hpp:609
armnn::Pooling3dDescriptor::m_PaddingMethod
PaddingMethod m_PaddingMethod
The padding method to be used. (Exclude, IgnoreValue).
Definition: Descriptors.hpp:469
armnn::BatchToSpaceNdDescriptor::BatchToSpaceNdDescriptor
BatchToSpaceNdDescriptor(std::vector< unsigned int > blockShape, std::vector< std::pair< unsigned int, unsigned int >> crops)
Definition: Descriptors.hpp:851
armnn::ArgMinMaxFunction::Max
@ Max
armnn::Status
Status
Definition: Types.hpp:42
armnn::SoftmaxDescriptor::m_Beta
float m_Beta
Exponentiation value.
Definition: Descriptors.hpp:170
armnn::StridedSliceDescriptor::GetStartForAxis
int GetStartForAxis(const TensorShape &inputShape, unsigned int axis) const
Definition: Descriptors.cpp:366
armnn::ActivationDescriptor::ActivationDescriptor
ActivationDescriptor()
Definition: Descriptors.hpp:38
DescriptorsFwd.hpp
armnn::LstmDescriptor::m_OutputIntermediateScale
float m_OutputIntermediateScale
Output intermediate quantization scale.
Definition: Descriptors.hpp:1109
armnn::ResizeDescriptor::m_Method
ResizeMethod m_Method
The Interpolation method to use (Bilinear, NearestNeighbor).
Definition: Descriptors.hpp:959
armnn::ElementwiseUnaryDescriptor::ElementwiseUnaryDescriptor
ElementwiseUnaryDescriptor(UnaryOperation operation)
Definition: Descriptors.hpp:115
armnn::Convolution3dDescriptor::m_StrideY
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
Definition: Descriptors.hpp:611
armnn::Pooling2dDescriptor::m_PadLeft
uint32_t m_PadLeft
Padding left value in the width dimension.
Definition: Descriptors.hpp:375
armnn::QLstmDescriptor::m_HiddenStateScale
float m_HiddenStateScale
Hidden State quantization scale.
Definition: Descriptors.hpp:1383
armnn::TransposeDescriptor::m_DimMappings
PermutationVector m_DimMappings
Indicates how to translate tensor elements from a given source into the target destination,...
Definition: Descriptors.hpp:1461
armnn::Convolution3dDescriptor::m_PadRight
uint32_t m_PadRight
Padding right value in the width dimension.
Definition: Descriptors.hpp:599
armnn::PaddingMethod
PaddingMethod
The padding method modifies the output of pooling layers.
Definition: Types.hpp:174
armnn::QLstmDescriptor::m_HiddenStateZeroPoint
int32_t m_HiddenStateZeroPoint
Hidden State zero point.
Definition: Descriptors.hpp:1381
armnn::SpaceToBatchNdDescriptor::SpaceToBatchNdDescriptor
SpaceToBatchNdDescriptor()
Definition: Descriptors.hpp:992
armnn::StridedSliceDescriptor::m_Stride
std::vector< int > m_Stride
Stride values for the input that will be sliced.
Definition: Descriptors.hpp:1293
armnn::DataLayout::NHWC
@ NHWC
armnn::LstmDescriptor::m_ForgetIntermediateScale
float m_ForgetIntermediateScale
Forget intermediate quantization scale.
Definition: Descriptors.hpp:1105
armnn::ReduceDescriptor::operator==
bool operator==(const ReduceDescriptor &rhs) const
Definition: Descriptors.hpp:1493
armnn::SliceDescriptor::SliceDescriptor
SliceDescriptor(const std::vector< unsigned int > &begin, const std::vector< unsigned int > &size)
Definition: Descriptors.hpp:1177
armnn::DetectionPostProcessDescriptor::m_NumClasses
uint32_t m_NumClasses
Number of classes.
Definition: Descriptors.hpp:723
armnn::Pooling2dDescriptor::m_PadTop
uint32_t m_PadTop
Padding top value in the height dimension.
Definition: Descriptors.hpp:379
armnn::ActivationDescriptor::m_Function
ActivationFunction m_Function
The activation function to use (Sigmoid, TanH, Linear, ReLu, BoundedReLu, SoftReLu,...
Definition: Descriptors.hpp:59
armnn::Convolution2dDescriptor::m_StrideX
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
Definition: Descriptors.hpp:542
armnn::NormalizationDescriptor::m_K
float m_K
Kappa value used for the across channel normalization equation.
Definition: Descriptors.hpp:771
armnn::Convolution3dDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NDHWC, NCDHW).
Definition: Descriptors.hpp:623
armnn::TransposeConvolution2dDescriptor::operator==
bool operator==(const TransposeConvolution2dDescriptor &rhs) const
Definition: Descriptors.hpp:1401
armnn::PreCompiledDescriptor::~PreCompiledDescriptor
~PreCompiledDescriptor()=default
armnn::PadDescriptor::m_PadValue
float m_PadValue
Optional value to use for padding, defaults to 0.
Definition: Descriptors.hpp:1168
armnn::PermutationVector
Definition: Types.hpp:295
armnn::BatchToSpaceNdDescriptor::m_BlockShape
std::vector< unsigned int > m_BlockShape
Block shape values.
Definition: Descriptors.hpp:866
armnn::StridedSliceDescriptor::m_ShrinkAxisMask
int32_t m_ShrinkAxisMask
Shrink axis mask value. If set, the nth specification shrinks the dimensionality by 1.
Definition: Descriptors.hpp:1302
armnn::SpaceToBatchNdDescriptor::m_BlockShape
std::vector< unsigned int > m_BlockShape
Block shape value.
Definition: Descriptors.hpp:1013
armnn::NormalizationDescriptor::m_Beta
float m_Beta
Beta value for the normalization equation.
Definition: Descriptors.hpp:769
armnn::FullyConnectedDescriptor::FullyConnectedDescriptor
FullyConnectedDescriptor()
Definition: Descriptors.hpp:477
armnn::SliceDescriptor::m_Size
std::vector< unsigned int > m_Size
Size of the slice in each dimension.
Definition: Descriptors.hpp:1194
armnn::LstmDescriptor::m_ClippingThresCell
float m_ClippingThresCell
Clipping threshold value for the cell state.
Definition: Descriptors.hpp:1089
armnn::BaseDescriptor
Base class for all descriptors.
Definition: Descriptors.hpp:22
armnn::OriginsDescriptor
An OriginsDescriptor for the ConcatLayer.
Definition: Descriptors.hpp:181
armnn::ReshapeDescriptor
A ReshapeDescriptor for the ReshapeLayer.
Definition: Descriptors.hpp:970
armnn::SoftmaxDescriptor::operator==
bool operator==(const SoftmaxDescriptor &rhs) const
Definition: Descriptors.hpp:164
armnn::TransposeConvolution2dDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:1430
armnn::ViewsDescriptor::SetViewSize
Status SetViewSize(uint32_t view, uint32_t coord, uint32_t value)
Set the size of the views.
Definition: Descriptors.cpp:315
armnn::BaseDescriptor::IsNull
virtual bool IsNull() const
Definition: Descriptors.hpp:24
armnn::DataType
DataType
Definition: Types.hpp:48
armnn::PermuteDescriptor
A PermuteDescriptor for the PermuteLayer.
Definition: Descriptors.hpp:129
armnn::BatchToSpaceNdDescriptor::BatchToSpaceNdDescriptor
BatchToSpaceNdDescriptor()
Definition: Descriptors.hpp:845
armnn::ReduceDescriptor::ReduceDescriptor
ReduceDescriptor()
Definition: Descriptors.hpp:1487
armnn::TransposeConvolution2dDescriptor
A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
Definition: Descriptors.hpp:1387
armnn::FullyConnectedDescriptor::m_TransposeWeightMatrix
bool m_TransposeWeightMatrix
Enable/disable transpose weight matrix.
Definition: Descriptors.hpp:496
armnn::SpaceToDepthDescriptor::SpaceToDepthDescriptor
SpaceToDepthDescriptor()
Definition: Descriptors.hpp:1024
armnn::L2NormalizationDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:792
armnn::PermutationVector::IsEqual
bool IsEqual(const PermutationVector &other) const
Definition: Types.hpp:347
armnn::SliceDescriptor::m_Begin
std::vector< unsigned int > m_Begin
Beginning indices of the slice in each dimension.
Definition: Descriptors.hpp:1191
armnn::TransposeDescriptor::operator==
bool operator==(const TransposeDescriptor &rhs) const
Definition: Descriptors.hpp:1447
armnn::DepthwiseConvolution2dDescriptor::m_PadRight
uint32_t m_PadRight
Padding right value in the width dimension.
Definition: Descriptors.hpp:662
armnn::GatherDescriptor::GatherDescriptor
GatherDescriptor()
Definition: Descriptors.hpp:914
armnn::Pooling2dDescriptor
A Pooling2dDescriptor for the Pooling2dLayer.
Definition: Descriptors.hpp:339
armnn::FakeQuantizationDescriptor::m_Min
float m_Min
Minimum value.
Definition: Descriptors.hpp:887
armnn::Pooling3dDescriptor::m_StrideY
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
Definition: Descriptors.hpp:463
armnn::Pooling3dDescriptor::m_PadBottom
uint32_t m_PadBottom
Padding bottom value in the height dimension.
Definition: Descriptors.hpp:449
armnn::LogicalBinaryDescriptor
A LogicalBinaryDescriptor for the LogicalBinaryLayer.
Definition: Descriptors.hpp:1465
armnn::LstmDescriptor::m_ProjectionEnabled
bool m_ProjectionEnabled
Enable/disable the projection layer.
Definition: Descriptors.hpp:1097
armnn::BatchMatMulDescriptor::m_DataLayoutY
DataLayout m_DataLayoutY
Definition: Descriptors.hpp:1569
Exceptions.hpp
armnn::QLstmDescriptor::m_InputIntermediateScale
float m_InputIntermediateScale
Input intermediate quantization scale.
Definition: Descriptors.hpp:1373
armnn::StridedSliceDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
Definition: Descriptors.hpp:1310
armnn::MeanDescriptor::m_KeepDims
bool m_KeepDims
Enable/disable keep dimensions. If true, then the reduced dimensions that are of length 1 are kept.
Definition: Descriptors.hpp:1139
armnn::ViewsDescriptor::GetOrigins
const OriginsDescriptor & GetOrigins() const
Get the View Origins.
Definition: Descriptors.cpp:345
armnn::Pooling2dDescriptor::m_PadRight
uint32_t m_PadRight
Padding right value in the width dimension.
Definition: Descriptors.hpp:377
armnn::TransposeConvolution2dDescriptor::m_StrideX
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
Definition: Descriptors.hpp:1424
armnn::TransposeDescriptor::TransposeDescriptor
TransposeDescriptor(const PermutationVector &dimMappings)
Definition: Descriptors.hpp:1443
armnn::DetectionPostProcessDescriptor::m_ScaleY
float m_ScaleY
Center size encoding scale y.
Definition: Descriptors.hpp:729
armnn::QLstmDescriptor::m_CifgEnabled
bool m_CifgEnabled
Enable/disable CIFG (coupled input & forget gate).
Definition: Descriptors.hpp:1365
armnn::BatchNormalizationDescriptor::BatchNormalizationDescriptor
BatchNormalizationDescriptor()
Definition: Descriptors.hpp:798
armnn::SpaceToBatchNdDescriptor::SpaceToBatchNdDescriptor
SpaceToBatchNdDescriptor(const std::vector< unsigned int > &blockShape, const std::vector< std::pair< unsigned int, unsigned int >> &padList)
Definition: Descriptors.hpp:998
armnn::DetectionPostProcessDescriptor::m_MaxClassesPerDetection
uint32_t m_MaxClassesPerDetection
Maximum numbers of classes per detection, used in Fast NMS.
Definition: Descriptors.hpp:715
armnn::Convolution3dDescriptor::Convolution3dDescriptor
Convolution3dDescriptor()
Definition: Descriptors.hpp:558
armnn::StridedSliceDescriptor::m_EndMask
int32_t m_EndMask
End mask value.
Definition: Descriptors.hpp:1300
armnn::DepthwiseConvolution2dDescriptor::m_PadBottom
uint32_t m_PadBottom
Padding bottom value in the height dimension.
Definition: Descriptors.hpp:666
armnn::InstanceNormalizationDescriptor::m_Gamma
float m_Gamma
Gamma, the scale scalar value applied for the normalized tensor. Defaults to 1.0.
Definition: Descriptors.hpp:833
armnn::DepthwiseConvolution2dDescriptor::operator==
bool operator==(const DepthwiseConvolution2dDescriptor &rhs) const
Definition: Descriptors.hpp:642
armnn::NormalizationDescriptor::m_NormChannelType
NormalizationAlgorithmChannel m_NormChannelType
Normalization channel algorithm to use (Across, Within).
Definition: Descriptors.hpp:761
armnn::Convolution3dDescriptor::m_BiasEnabled
bool m_BiasEnabled
Enable/disable bias.
Definition: Descriptors.hpp:621
armnn::LstmDescriptor::m_ActivationFunc
uint32_t m_ActivationFunc
The activation function to use.
Definition: Descriptors.hpp:1087
armnn::CreateDescriptorForConcatenation
OriginsDescriptor CreateDescriptorForConcatenation(TensorShapeIt first, TensorShapeIt last, unsigned int concatenationDimension)
Convenience template to create an OriginsDescriptor to use when creating a ConcatLayer for performing...
Definition: Descriptors.hpp:268
armnn::LstmDescriptor::m_ClippingThresProj
float m_ClippingThresProj
Clipping threshold value for the projection.
Definition: Descriptors.hpp:1091
armnn::ArgMinMaxDescriptor
An ArgMinMaxDescriptor for ArgMinMaxLayer.
Definition: Descriptors.hpp:67
armnn::ChannelShuffleDescriptor::operator==
bool operator==(const ChannelShuffleDescriptor &rhs) const
Definition: Descriptors.hpp:1519
armnn::QLstmDescriptor::m_PeepholeEnabled
bool m_PeepholeEnabled
Enable/disable peephole.
Definition: Descriptors.hpp:1367
armnn::BatchNormalizationDescriptor::m_Eps
float m_Eps
Value to add to the variance. Used to avoid dividing by zero.
Definition: Descriptors.hpp:809
armnn::FakeQuantizationDescriptor
A FakeQuantizationDescriptor for the FakeQuantizationLayer.
Definition: Descriptors.hpp:874
armnn::ViewsDescriptor::~ViewsDescriptor
~ViewsDescriptor()
Definition: Descriptors.cpp:256
armnn::Pooling3dDescriptor::m_PoolHeight
uint32_t m_PoolHeight
Pooling height value.
Definition: Descriptors.hpp:457
armnn::ActivationDescriptor::m_B
float m_B
Beta lower bound value used by the activation functions. (BoundedReLu, Linear, TanH).
Definition: Descriptors.hpp:63
armnn::StackDescriptor::operator==
bool operator==(const StackDescriptor &rhs) const
Definition: Descriptors.hpp:1212
armnn::DepthwiseConvolution2dDescriptor::m_StrideY
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
Definition: Descriptors.hpp:670
armnn::GatherDescriptor::operator==
bool operator==(const GatherDescriptor &rhs) const
Definition: Descriptors.hpp:922
armnn::TransposeConvolution2dDescriptor::m_StrideY
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
Definition: Descriptors.hpp:1426
armnn::Convolution3dDescriptor::m_PadBack
uint32_t m_PadBack
Padding back value in the depth dimension.
Definition: Descriptors.hpp:607
armnn::Pooling2dDescriptor::m_PaddingMethod
PaddingMethod m_PaddingMethod
The padding method to be used. (Exclude, IgnoreValue).
Definition: Descriptors.hpp:393
armnn::PreCompiledDescriptor::m_NumInputSlots
unsigned int m_NumInputSlots
Definition: Descriptors.hpp:1322
armnn::ReduceDescriptor::m_KeepDims
bool m_KeepDims
if true then output shape has no change.
Definition: Descriptors.hpp:1501
armnn::DepthwiseConvolution2dDescriptor::DepthwiseConvolution2dDescriptor
DepthwiseConvolution2dDescriptor()
Definition: Descriptors.hpp:629
std
Definition: BackendId.hpp:149
armnn::Convolution2dDescriptor::m_StrideY
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
Definition: Descriptors.hpp:544
Types.hpp
armnn::ResizeDescriptor::m_HalfPixelCenters
bool m_HalfPixelCenters
Half Pixel Centers.
Definition: Descriptors.hpp:965
armnn::PaddingMethod::Exclude
@ Exclude
The padding fields don't count and are ignored.
armnn::DetectionPostProcessDescriptor::m_NmsIouThreshold
float m_NmsIouThreshold
Intersection over union threshold.
Definition: Descriptors.hpp:721
armnn::ReshapeDescriptor::m_TargetShape
TensorShape m_TargetShape
Target shape value.
Definition: Descriptors.hpp:986
armnn::DataLayout::NDHWC
@ NDHWC
armnn::Pooling3dDescriptor::operator==
bool operator==(const Pooling3dDescriptor &rhs) const
Definition: Descriptors.hpp:420
armnn::Convolution3dDescriptor::operator==
bool operator==(const Convolution3dDescriptor &rhs) const
Definition: Descriptors.hpp:575
armnn::BatchMatMulDescriptor::GetPermuteVec
static PermutationVector GetPermuteVec(DataLayout dataLayout, const TensorShape &tensorShape)
Static helper to get the axes which will be transposed.
Definition: Descriptors.cpp:514
armnn::BatchMatMulDescriptor::m_AdjointY
bool m_AdjointY
Definition: Descriptors.hpp:1565
armnn::InvalidArgumentException
Definition: Exceptions.hpp:80
armnn::BatchMatMulDescriptor::m_AdjointX
bool m_AdjointX
Adjoint the slices of each input tensor Transpose and Adjoint can not both be set to true for the sam...
Definition: Descriptors.hpp:1564
armnn::Pooling3dDescriptor::m_DataLayout
DataLayout m_DataLayout
The data layout to be used (NCDHW, NDHWC).
Definition: Descriptors.hpp:471
armnn::StackDescriptor::m_Axis
uint32_t m_Axis
0-based axis along which to stack the input tensors.
Definition: Descriptors.hpp:1220
armnn::Convolution3dDescriptor::GetNumInputs
uint32_t GetNumInputs() const
Get the number of views/inputs.
Definition: Descriptors.cpp:438
armnn::QLstmDescriptor::m_ProjectionEnabled
bool m_ProjectionEnabled
Enable/disable the projection layer.
Definition: Descriptors.hpp:1369
armnn::InstanceNormalizationDescriptor
An InstanceNormalizationDescriptor for InstanceNormalizationLayer.
Definition: Descriptors.hpp:815
armnn::NormalizationDescriptor::m_Alpha
float m_Alpha
Alpha value for the normalization equation.
Definition: Descriptors.hpp:767
armnn::DetectionPostProcessDescriptor::DetectionPostProcessDescriptor
DetectionPostProcessDescriptor()
Definition: Descriptors.hpp:683
armnn::DetectionPostProcessDescriptor::m_UseRegularNms
bool m_UseRegularNms
Use Regular NMS.
Definition: Descriptors.hpp:725
armnn::ArgMinMaxDescriptor::operator==
bool operator==(const ArgMinMaxDescriptor &rhs) const
Definition: Descriptors.hpp:75
armnn::NullDescriptor::IsNull
bool IsNull() const override
Definition: Descriptors.hpp:32
armnn::PermuteDescriptor::operator==
bool operator==(const PermuteDescriptor &rhs) const
Definition: Descriptors.hpp:139
armnn::DetectionPostProcessDescriptor::operator==
bool operator==(const DetectionPostProcessDescriptor &rhs) const
Definition: Descriptors.hpp:697
armnn::ResizeDescriptor::operator==
bool operator==(const ResizeDescriptor &rhs) const
Definition: Descriptors.hpp:943
armnn::Convolution3dDescriptor::m_PadBottom
uint32_t m_PadBottom
Padding bottom value in the height dimension.
Definition: Descriptors.hpp:603
armnn::BatchMatMulDescriptor::GetAxesToMul
static std::pair< std::pair< unsigned int, unsigned int >, std::pair< unsigned int, unsigned int > > GetAxesToMul(const BatchMatMulDescriptor &desc, const TensorShape &tensorXShape, const TensorShape &tensorYShape)
Definition: Descriptors.cpp:459
armnn::OriginsDescriptor::SetViewOriginCoord
Status SetViewOriginCoord(uint32_t view, uint32_t coord, uint32_t value)
@Brief Set the view origin coordinates.
Definition: Descriptors.cpp:167
armnn::OriginsDescriptor::operator=
OriginsDescriptor & operator=(OriginsDescriptor rhs)
Definition: Descriptors.cpp:129
armnn::StridedSliceDescriptor::m_EllipsisMask
int32_t m_EllipsisMask
Ellipsis mask value.
Definition: Descriptors.hpp:1304
armnn::MeanDescriptor::MeanDescriptor
MeanDescriptor()
Definition: Descriptors.hpp:1121
armnn::FullyConnectedDescriptor::GetNumInputs
uint32_t GetNumInputs() const
Get the number of inputs.
Definition: Descriptors.cpp:448
armnn::Pooling3dDescriptor::Pooling3dDescriptor
Pooling3dDescriptor()
Definition: Descriptors.hpp:401
armnn::NormalizationDescriptor::NormalizationDescriptor
NormalizationDescriptor()
Definition: Descriptors.hpp:739
armnn::PreCompiledDescriptor::PreCompiledDescriptor
PreCompiledDescriptor(unsigned int numInputSlots=1u, unsigned int numOutputSlots=1u)
Definition: Descriptors.hpp:1316
armnn::ViewsDescriptor::GetViewSizes
const uint32_t * GetViewSizes(uint32_t idx) const
Get the view sizes at the int value idx.
Definition: Descriptors.cpp:340
armnn::BatchMatMulDescriptor::GetAxesNotMul
static std::pair< std::vector< unsigned int >, std::vector< unsigned int > > GetAxesNotMul(const BatchMatMulDescriptor &desc, const TensorShape &inputXShape, const TensorShape &inputYShape)
Definition: Descriptors.cpp:467
armnn::InstanceNormalizationDescriptor::m_Beta
float m_Beta
Beta, the offset scalar value applied for the normalized tensor. Defaults to 1.0.
Definition: Descriptors.hpp:835
armnn::ResizeDescriptor::m_TargetWidth
uint32_t m_TargetWidth
Target width value.
Definition: Descriptors.hpp:954
Deprecated.hpp
armnn::SpaceToBatchNdDescriptor
A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
Definition: Descriptors.hpp:990
armnn::ElementwiseUnaryDescriptor::operator==
bool operator==(const ElementwiseUnaryDescriptor &rhs) const
Definition: Descriptors.hpp:119
armnn::Pooling2dDescriptor::m_OutputShapeRounding
OutputShapeRounding m_OutputShapeRounding
The rounding method for the output shape. (Floor, Ceiling).
Definition: Descriptors.hpp:391
armnn::ActivationFunction
ActivationFunction
Definition: Types.hpp:86