12 #include <arm_compute/core/Types.h> 17 inline arm_compute::NormalizationLayerInfo
22 const unsigned int depth = tensorInfo.
GetShape()[depthDimension];
35 const uint32_t normSize = depth * 2u + 1u;
39 const float alpha = 1.0f;
42 const float kappa = 0.0f;
45 const float beta = 0.5f;
47 return arm_compute::NormalizationLayerInfo(arm_compute::NormType::CROSS_MAP, normSize, alpha, beta, kappa,
false);
55 switch (armnnFunction)
74 inline arm_compute::ActivationLayerInfo
81 inline arm_compute::ActivationLayerInfo
84 if (activationDescPtr !=
nullptr)
89 return arm_compute::ActivationLayerInfo();
92 inline arm_compute::ActivationLayerInfo
97 if (activationDescPtr !=
nullptr)
100 *activationDescPtr));
102 return arm_compute::ActivationLayerInfo();
121 using arm_compute::PoolingType;
123 switch (poolingAlgorithm)
135 using arm_compute::DimensionRoundingType;
145 inline arm_compute::NormType
148 using arm_compute::NormType;
157 inline arm_compute::FullyConnectedLayerInfo
161 arm_compute::FullyConnectedLayerInfo fc_info;
167 inline arm_compute::FullyConnectedLayerInfo
169 arm_compute::ActivationLayerInfo activationLayerInfo)
171 arm_compute::FullyConnectedLayerInfo fc_info;
173 fc_info.activation_info = activationLayerInfo;
179 switch (resizeMethod)
182 return arm_compute::InterpolationPolicy::BILINEAR;
184 return arm_compute::InterpolationPolicy::NEAREST_NEIGHBOR;
194 if (softmaxDesc.
m_Axis == -1)
204 auto aclAxis = (
static_cast<T
>(dim) - 1);
205 aclAxis = aclAxis > 0 ? aclAxis -1 : aclAxis;
214 std::set<unsigned int> splitAxis;
216 for (
unsigned int i = 0; i < numSplit; ++i)
218 for (
unsigned int dimIdx = 0; dimIdx < numDimensions; ++dimIdx)
222 splitAxis.insert(dimIdx);
238 int sign = (armnnAxis < 0) ? -1 : 1;
239 int aclAxis = sign * rank - 1 - armnnAxis;
254 int positiveAxis = (axis < 0) ? rank + axis : axis;
255 return static_cast<unsigned int>(positiveAxis);
A ViewsDescriptor for the SplitterLayer.
arm_compute::InterpolationPolicy ConvertResizeMethodToAclInterpolationPolicy(ResizeMethod resizeMethod)
int ComputeAclAxis(const int &armnnAxis, const armnn::TensorInfo &tensor)
Function to convert ArmNN axis (left to right) to ACL axis (right to left) ranging from [-rank...
int m_Axis
Scalar, defaulted to the last index (-1), specifying the dimension the activation will be performed o...
const TensorShape & GetShape() const
arm_compute::PoolingType ConvertPoolingAlgorithmToAclPoolingType(PoolingAlgorithm poolingAlgorithm)
uint32_t GetNumDimensions() const
Get the number of dimensions.
A ComparisonDescriptor for the ComparisonLayer.
arm_compute::NormalizationLayerInfo CreateAclNormalizationLayerInfoForL2Normalization(const armnn::TensorInfo &tensorInfo, armnn::DataLayout dataLayout)
bool m_TransposeWeightMatrix
Enable/disable transpose weight matrix.
arm_compute::ActivationLayerInfo ConvertAdditionalInfoToAclActivationLayerInfo(const QueueDescriptor &queueDescriptor)
NormalizationAlgorithmChannel
arm_compute::NormType ConvertNormalizationAlgorithmChannelToAclNormType(NormalizationAlgorithmChannel channelType)
uint32_t GetNumViews() const
Get the number of views.
ReduceOperation m_ReduceOperation
Specifies the reduction operation to execute.
Copyright (c) 2021 ARM Limited and Contributors.
std::set< unsigned int > ComputeSplitAxis(const armnn::SplitterDescriptor &desc, const TensorShape &input)
unsigned int ComputePositiveAxis(const int &axis, const armnn::TensorInfo &tensor)
Function to convert axis to its positive equivalent value.
arm_compute::ActivationLayerInfo::ActivationFunction ConvertActivationFunctionToAclActivationFunction(ActivationFunction armnnFunction)
arm_compute::ReductionOperation ConvertReductionOperationToAcl(const ReduceDescriptor &descriptor)
arm_compute::DimensionRoundingType ConvertOutputShapeRoundingToAclDimensionRoundingType(OutputShapeRounding rounding)
A ReduceDescriptor for the REDUCE operators.
A FullyConnectedDescriptor for the FullyConnectedLayer.
arm_compute::FullyConnectedLayerInfo ConvertFullyConnectedDescriptorToAclFullyConnectedLayerInfo(const FullyConnectedDescriptor &fullyConnectedDesc, const ActivationDescriptor *activationDesc)
#define ARMNN_ASSERT(COND)
An ActivationDescriptor for the ActivationLayer.
min(a, max(b, input)) ReLu1 & ReLu6.
ComparisonOperation m_Operation
Specifies the comparison operation to execute.
const uint32_t * GetViewSizes(uint32_t idx) const
Get the view sizes at the int value idx.
float m_A
Alpha upper bound value used by the activation functions. (BoundedReLu, Linear, TanH, Elu).
const T * GetAdditionalInformation() const
arm_compute::ComparisonOperation ConvertComparisonOperationToAcl(const ComparisonDescriptor &descriptor)
unsigned int GetNumDimensions() const
T ComputeSoftmaxAclAxis(const SoftmaxDescriptor &softmaxDesc, const armnn::TensorInfo &tensor)
float m_B
Beta lower bound value used by the activation functions. (BoundedReLu, Linear, TanH).
A SoftmaxDescriptor for the SoftmaxLayer.
ActivationFunction m_Function
The activation function to use (Sigmoid, TanH, Linear, ReLu, BoundedReLu, SoftReLu, LeakyReLu, Abs, Sqrt, Square, Elu).
arm_compute::ActivationLayerInfo ConvertActivationDescriptorToAclActivationLayerInfo(const ActivationDescriptor &actDesc)