24 #ifndef ARM_COMPUTE_GRAPH_BACKENDS_DETAIL_VALIDATE_HELPERS_H 25 #define ARM_COMPUTE_GRAPH_BACKENDS_DETAIL_VALIDATE_HELPERS_H 52 return ((tensor ==
nullptr) || (tensor->
handle() ==
nullptr)) ? nullptr : tensor->
handle()->
tensor().
info();
63 template <
typename ArgMinMaxLayer>
86 template <
typename BoundingBoxTransformLayer>
110 template <
typename ChannelShuffleLayer>
136 template <
typename ConvolutionLayer,
typename DirectConvolutionLayer,
typename GEMMConvolutionLayer,
typename WinogradConvolutionLayer>
161 switch(conv_algorithm)
194 template <
typename DepthwiseConvolutionLayer>
213 switch(dwc_algorithm)
233 template <
typename DepthToSpaceLayer>
254 template <
typename DequantizationLayer>
275 template <
typename DetectionOutputLayer>
299 template <
typename DetectionPostProcessLayer>
327 template <
typename GenerateProposalsLayer>
354 template <
typename L2NormalizeLayer>
364 int axis = node.
axis();
379 template <
typename NormalizePlanarYUVLayer>
404 template <
typename PadLayer>
427 template <
typename PermuteLayer>
450 template <
typename PReluLayer>
473 template <
typename PriorBoxLayer>
497 template <
typename QuantizationLayer>
520 template <
typename ReductionLayer>
544 template <
typename ReorgLayer>
567 template <
typename ReshapeLayer>
590 template <
typename ROIAlignLayer>
615 template <
typename SliceLayer>
639 template <
typename Str
idedSliceLayer>
663 template <
typename EltwiseLayerFunctions>
709 template <
typename UnaryEltwiseLayerFunctions>
std::string name() const
Returns node's name.
Status validate_generate_proposals_layer(GenerateProposalsLayerNode &node)
Validates a Generate Proposals layer node.
Status validate_bounding_box_transform_layer(BoundingBoxTransformLayerNode &node)
Validates a Bounding Box Transform layer node.
Generate Proposals Information class.
EltwiseOperation
Supported Element-wise operations.
int stride() const
Stride value to use for reorganizing the values in the output tensor.
RoundingPolicy rounding_policy() const
Rounding policy accessor.
const ROIPoolingLayerInfo & pooling_info() const
ROIPoolingLayerInfo accessor.
Status validate_permute_layer(PermuteLayerNode &node)
Validates a permute layer node.
std::vector< PaddingInfo > PaddingList
List of padding information.
ITensorHandle * handle()
Backend tensor handle accessor.
arm_compute::ITensorInfo * get_backing_tensor_info(arm_compute::graph::Tensor *tensor)
Returns backing tensor info of a given tensor.
FastMathHint fast_math_hint() const
Fast math hint accessor.
#define ARM_COMPUTE_ERROR(msg)
Print the given message then throw an std::runtime_error.
int depth_multiplier() const
Depth multiplier accessor.
unsigned int num_groups() const
Number of groups accessor.
size_t num_outputs() const
Returns number of outputs of the node.
virtual arm_compute::ITensor & tensor()=0
Backend tensor object accessor.
Batch Normalization Layer node.
Status validate_prelu_layer(PReluLayerNode &node)
Validates a PRelu layer node.
ReductionOperation op() const
op accessor
Status validate_detection_post_process_layer(DetectionPostProcessLayerNode &node)
Validates a detection post process layer node.
Status validate_l2_normalize_layer(L2NormalizeLayerNode &node)
Validates a L2Normalization layer node.
const PermutationVector & permutation_vector() const
Permutation vector accessor.
Fast math enabled for Convolution layer.
Store the tensor's metadata.
DepthwiseConvolutionMethod depthwise_convolution_method() const
Depthwise convolution layer method accessor.
EltwiseOperation eltwise_operation() const
Eltwise operation accessor.
#define ARM_COMPUTE_RETURN_ERROR_ON(cond)
If the condition is true, an error is returned.
Activation Layer Information class.
unsigned int num_groups() const
Number of groups in convolution accessor.
Copyright (c) 2017-2021 Arm Limited.
Status validate_slice_layer(SliceLayerNode &node)
Validates a Slice layer node.
descriptors::UnaryEltwiseLayerDescriptor eltwise_descriptor() const
Unary eltwise layer descriptor.
Convolution Layer Weights Information class.
1 channel, 1 S32 per channel
Status validate_reorg_layer(ReorgLayerNode &node)
Validates a Reorg layer node.
Quantization information.
Status validate_eltwise_Layer(EltwiseLayerNode &node)
Validates a element-wise layer node.
const PaddingList & padding() const
Padding list accessor.
float epsilon() const
epsilon accessors
Status validate_detection_output_layer(DetectionOutputLayerNode &node)
Validates a detection output layer node.
QuantizationInfo output_quant_info() const
Returns output quantization info.
unsigned int axis() const
axis accessor
bool keep_dims() const
keep_dims accessor
Status validate_roi_align_layer(ROIAlignLayerNode &node)
Validates a ROI Align layer node.
Coordinates ends() const
End coordinates accessor.
Tensor * output(size_t idx) const
Returns the tensor of a given output of the node.
ActivationLayerInfo fused_activation() const
Returns fused activation.
const unsigned int num_groups
DepthwiseConvolutionMethod
Supported Depthwise Convolution layer methods.
Coordinates starts() const
Start coordinates accessor.
DetectionPostProcessLayerInfo detection_post_process_info() const
DetectionPostProcess metadata accessor.
Coordinates ends() const
End coordinates accessor.
PadStrideInfo convolution_info() const
Convolution metadata accessor.
NodeID id() const
Returns node's ID.
RoundingPolicy
Rounding method.
Status validate_depth_to_space_layer(DepthToSpaceLayerNode &node)
Validates a depth to space layer node.
UnaryEltwiseOperation op
Unary element-wise operation to perform.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
Status validate_reshape_layer(ReshapeLayerNode &node)
Validates a Reshape layer node.
Channel Shuffle Layer node.
PadStrideInfo convolution_info() const
Convolution metadata accessor.
Padding and stride information class.
DetectionOutputLayerInfo detection_output_info() const
DetectionOutput metadata accessor.
Status validate_pad_layer(PadLayerNode &node)
Validates a pad layer node.
int axis() const
axis accessors
BiStrides strides() const
Strides vector accessor.
virtual ITensorInfo & set_data_type(DataType data_type)=0
Set the data type to the specified value.
Status validate_dequantization_layer(DequantizationLayerNode &node)
Validates a dequantize layer node.
Reduction Operation node.
bool is_data_type_quantized_asymmetric(DataType dt)
Check if a given data type is of asymmetric quantized type.
Strides of an item in bytes.
Status validate_reduction_operation_layer(ReductionLayerNode &node)
Validates a Reduction operation layer node.
ConvolutionMethod convolution_method() const
Convolution layer method accessor.
Detection Output layer info.
DetectionPostProcess Layer node.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
#define ARM_COMPUTE_RETURN_ERROR_MSG(...)
An error is returned with the given description.
DetectionOutput Layer node.
Status validate_priorbox_layer(PriorBoxLayerNode &node)
Validates a priorbox layer node.
Status validate_quantization_layer(QuantizationLayerNode &node)
Validates a Quantization layer node.
int32_t shrink_axis_mask() const
Status validate_strided_slice_layer(StridedSliceLayerNode &node)
Validates a Strided Slice layer node.
ROI Pooling Layer Information class.
Class for specifying the size of an image or rectangle.
Unary Eltwise Layer node.
Status validate_channel_shuffle_layer(ChannelShuffleLayerNode &node)
Validates a Channel Shuffle layer node.
#define ARM_COMPUTE_LOG_GRAPH_VERBOSE(x)
ConvolutionMethod
Supported Convolution layer methods.
Detection Output layer info.
size_t num_inputs() const
Returns number of inputs of the node.
ReductionOperation reduction_operation() const
Operator accessor.
StridedSliceLayerInfo strided_slice_info() const
const GenerateProposalsInfo & info() const
GenerateProposalsInfo accessor.
#define ARM_COMPUTE_RETURN_ERROR_ON_MSG(cond, msg)
If the condition is true, an error is returned.
Generate Proposals Layer node.
ConvertPolicy convert_policy() const
Convert policy accessor.
Default approach using internal heuristics.
Status validate_depthwise_convolution_layer(DepthwiseConvolutionLayerNode &node)
Validates a Depthwise Convolution layer node.
Depthwise Convolution Layer node.
Default approach using internal heuristics.
Status validate_convolution_layer(ConvolutionLayerNode &node)
Validates a Convolution layer node.
Winograd based convolution.
unsigned int axis() const
Axis accessor.
Arithmetic multiplication.
Optimized 3x3 direct depthwise convolution.
Tensor * input(size_t idx) const
Returns the tensor of a given input of the node.
int block_shape() const
Block shape policy accessor.
Coordinates starts() const
Start coordinates accessor.
int32_t begin_mask() const
ConvertPolicy
Policy to handle overflow.
Status validate_normalize_planar_yuv_layer(NormalizePlanarYUVLayerNode &node)
Validates a NormalizePlanarYUV layer node.
Status validate_unary_eltwise_layer(UnaryEltwiseLayerNode &node)
Validates a unary element-wise layer node.
PriorBoxLayerInfo priorbox_info() const
PriorBox metadata accessor.
Status validate(const ITensorInfo *scores_in, const ITensorInfo *boxes_in, const ITensorInfo *batch_splits_in, const ITensorInfo *scores_out, const ITensorInfo *boxes_out, const ITensorInfo *classes, const ITensorInfo *batch_splits_out, const ITensorInfo *keeps, const ITensorInfo *keeps_size, const BoxNMSLimitInfo info)
UnaryEltwiseOperation
Supported Unary Element-wise operations.
Status validate_arg_min_max_layer(ArgMinMaxLayerNode &node)
Validates a ArgMinMax layer node.