18 bool DefaultLayerSupport(
const char* func,
24 if (reasonIfUnsupported)
26 std::stringstream message;
27 message << func <<
" is not implemented [" << file <<
":" << line <<
"]";
29 reasonIfUnsupported.
value() = message.str();
41 const std::vector<TensorInfo>& infos,
55 auto desc = *(PolymorphicDowncast<const StandInDescriptor*>(&
descriptor));
57 if (infos.size() != (desc.m_NumInputs + desc.m_NumOutputs))
60 "the combined number of input and output slots assigned " 61 "to the StandIn descriptor");
64 std::vector<const TensorInfo*> inputInfos;
65 for (uint32_t i = 0; i < desc.m_NumInputs; i++)
67 inputInfos.push_back(&infos[i]);
69 std::vector<const TensorInfo*> outputInfos;
70 for (uint32_t i = desc.m_NumInputs; i < infos.size(); i++)
72 outputInfos.push_back(&infos[i]);
81 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
90 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
98 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
106 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
118 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
126 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
133 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
141 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
150 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
158 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
164 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
171 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
178 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
185 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
193 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
203 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
213 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
220 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
228 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
238 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
245 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
258 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
268 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
276 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
284 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
291 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
299 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
306 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
316 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
325 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
331 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
339 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
347 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
356 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
364 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
372 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
386 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
394 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
402 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
424 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
432 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
440 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
448 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
454 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
462 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
470 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
478 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
486 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
493 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
501 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
508 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
521 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
532 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
539 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
547 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
555 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
563 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
570 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
578 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
586 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
594 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
602 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
606 const std::vector<std::reference_wrapper<TensorInfo>>&,
610 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
618 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
622 const std::vector<const TensorInfo*>&,
626 if (reasonIfUnsupported)
628 std::stringstream message;
629 message <<
"StandIn layer is not executable via backends";
631 reasonIfUnsupported.
value() = message.str();
642 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
650 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
659 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
669 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
677 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
690 return DefaultLayerSupport(__func__, __FILE__, __LINE__, reasonIfUnsupported);
bool IsSplitterSupported(const TensorInfo &input, const std::vector< std::reference_wrapper< TensorInfo >> &outputs, const ViewsDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsInputSupported(const TensorInfo &input, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A ViewsDescriptor for the SplitterLayer.
bool IsLayerSupported(const LayerType &type, const std::vector< TensorInfo > &infos, const BaseDescriptor &descriptor, const Optional< LstmInputParamsInfo > &lstmParamsInfo=EmptyOptional(), const Optional< QuantizedLstmInputParamsInfo > &quantizedLstmParamsInfo=EmptyOptional(), Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsQLstmSupported(const TensorInfo &input, const TensorInfo &previousOutputIn, const TensorInfo &previousCellStateIn, const TensorInfo &outputStateOut, const TensorInfo &cellStateOut, const TensorInfo &output, const QLstmDescriptor &descriptor, const LstmInputParamsInfo ¶msInfo, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
bool IsPreluSupported(const TensorInfo &input, const TensorInfo &alpha, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported) const override
A ReshapeDescriptor for the ReshapeLayer.
bool IsDetectionPostProcessSupported(const TensorInfo &boxEncodings, const TensorInfo &scores, const TensorInfo &anchors, const TensorInfo &detectionBoxes, const TensorInfo &detectionClasses, const TensorInfo &detectionScores, const TensorInfo &numDetections, const DetectionPostProcessDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsMemImportSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsLogSoftmaxSupported(const TensorInfo &input, const TensorInfo &output, const LogSoftmaxDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A ComparisonDescriptor for the ComparisonLayer.
bool IsTransposeSupported(const TensorInfo &input, const TensorInfo &output, const TransposeDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsCastSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsQuantizeSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsMultiplicationSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsQuantizedLstmSupported(const TensorInfo &input, const TensorInfo &previousCellStateIn, const TensorInfo &previousOutputIn, const TensorInfo &cellStateOut, const TensorInfo &output, const QuantizedLstmInputParamsInfo ¶msInfo, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsLogicalBinarySupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const LogicalBinaryDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A Convolution2dDescriptor for the Convolution2dLayer.
bool IsAdditionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsDebugSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsActivationSupported(const TensorInfo &input, const TensorInfo &output, const ActivationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsReduceSupported(const TensorInfo &input, const TensorInfo &output, const ReduceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsMeanSupported(const TensorInfo &input, const TensorInfo &output, const MeanDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsArgMinMaxSupported(const TensorInfo &input, const TensorInfo &output, const ArgMinMaxDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsShapeSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A LogicalBinaryDescriptor for the LogicalBinaryLayer.
bool IsSpaceToBatchNdSupported(const TensorInfo &input, const TensorInfo &output, const SpaceToBatchNdDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsSoftmaxSupported(const TensorInfo &input, const TensorInfo &output, const SoftmaxDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsComparisonSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const ComparisonDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
Copyright (c) 2021 ARM Limited and Contributors.
bool IsStandInSupported(const std::vector< const TensorInfo *> &inputs, const std::vector< const TensorInfo *> &outputs, const StandInDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
const TensorInfo const ActivationDescriptor & descriptor
bool IsDepthwiseConvolutionSupported(const TensorInfo &input, const TensorInfo &output, const DepthwiseConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsL2NormalizationSupported(const TensorInfo &input, const TensorInfo &output, const L2NormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A SpaceToDepthDescriptor for the SpaceToDepthLayer.
bool IsSliceSupported(const TensorInfo &input, const TensorInfo &output, const SliceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsFakeQuantizationSupported(const TensorInfo &input, const FakeQuantizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
virtual bool IsFillSupported(const TensorInfo &input, const TensorInfo &output, const FillDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsPreCompiledSupported(const TensorInfo &input, const PreCompiledDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsStridedSliceSupported(const TensorInfo &input, const TensorInfo &output, const StridedSliceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A ResizeBilinearDescriptor for the ResizeBilinearLayer.
Base class for all descriptors.
A StackDescriptor for the StackLayer.
A PadDescriptor for the PadLayer.
bool IsSwitchSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output0, const TensorInfo &output1, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsBatchToSpaceNdSupported(const TensorInfo &input, const TensorInfo &output, const BatchToSpaceNdDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsChannelShuffleSupported(const TensorInfo &input, const TensorInfo &output, const ChannelShuffleDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsDivisionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
An LstmDescriptor for the LstmLayer.
A L2NormalizationDescriptor for the L2NormalizationLayer.
An ArgMinMaxDescriptor for ArgMinMaxLayer.
An OriginsDescriptor for the ConcatLayer.
A ReduceDescriptor for the REDUCE operators.
bool IsPermuteSupported(const TensorInfo &input, const TensorInfo &output, const PermuteDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A FullyConnectedDescriptor for the FullyConnectedLayer.
bool IsLogicalUnarySupported(const TensorInfo &input, const TensorInfo &output, const ElementwiseUnaryDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A FakeQuantizationDescriptor for the FakeQuantizationLayer.
bool IsConvertFp32ToFp16Supported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsElementwiseUnarySupported(const TensorInfo &input, const TensorInfo &output, const ElementwiseUnaryDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsConvertFp16ToFp32Supported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A GatherDescriptor for the GatherLayer.
A StandInDescriptor for the StandIn layer.
bool IsReshapeSupported(const TensorInfo &input, const TensorInfo &output, const ReshapeDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A QLstmDescriptor for the QLstmLayer.
bool IsMergeSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsStackSupported(const std::vector< const TensorInfo *> &inputs, const TensorInfo &output, const StackDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsSpaceToDepthSupported(const TensorInfo &input, const TensorInfo &output, const SpaceToDepthDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
An ActivationDescriptor for the ActivationLayer.
bool IsMemCopySupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsInstanceNormalizationSupported(const TensorInfo &input, const TensorInfo &output, const InstanceNormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A SliceDescriptor for the SliceLayer.
bool IsRankSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported) const override
A Convolution3dDescriptor for the Convolution3dLayer.
bool IsTransposeConvolution2dSupported(const TensorInfo &input, const TensorInfo &output, const TransposeConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A Pooling3dDescriptor for the Pooling3dLayer.
A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
bool IsPadSupported(const TensorInfo &input, const TensorInfo &output, const PadDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsMinimumSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsConvertBf16ToFp32Supported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsConvolution3dSupported(const TensorInfo &input, const TensorInfo &output, const Convolution3dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer.
bool IsConvolution2dSupported(const TensorInfo &input, const TensorInfo &output, const Convolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsSubtractionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsLstmSupported(const TensorInfo &input, const TensorInfo &outputStateIn, const TensorInfo &cellStateIn, const TensorInfo &scratchBuffer, const TensorInfo &outputStateOut, const TensorInfo &cellStateOut, const TensorInfo &output, const LstmDescriptor &descriptor, const LstmInputParamsInfo ¶msInfo, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A MeanDescriptor for the MeanLayer.
bool IsFloorSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsConstantSupported(const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsNormalizationSupported(const TensorInfo &input, const TensorInfo &output, const NormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A TransposeDescriptor for the TransposeLayer.
A StridedSliceDescriptor for the StridedSliceLayer.
bool IsFullyConnectedSupported(const TensorInfo &input, const TensorInfo &output, const TensorInfo &weights, const TensorInfo &biases, const FullyConnectedDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsOutputSupported(const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsResizeSupported(const TensorInfo &input, const TensorInfo &output, const ResizeDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsPooling2dSupported(const TensorInfo &input, const TensorInfo &output, const Pooling2dDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A PreCompiledDescriptor for the PreCompiledLayer.
bool IsUnidirectionalSequenceLstmSupported(const TensorInfo &input, const TensorInfo &outputStateIn, const TensorInfo &cellStateIn, const TensorInfo &outputStateOut, const TensorInfo &cellStateOut, const TensorInfo &output, const LstmDescriptor &descriptor, const LstmInputParamsInfo ¶msInfo, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsGatherSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const GatherDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A Pooling2dDescriptor for the Pooling2dLayer.
A NormalizationDescriptor for the NormalizationLayer.
bool IsConvertFp32ToBf16Supported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsMaximumSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
An InstanceNormalizationDescriptor for InstanceNormalizationLayer.
bool IsPooling3dSupported(const TensorInfo &input, const TensorInfo &output, const Pooling3dDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A ChannelShuffleDescriptor for the ChannelShuffle operator.
bool IsDepthToSpaceSupported(const TensorInfo &input, const TensorInfo &output, const DepthToSpaceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A SoftmaxDescriptor for the SoftmaxLayer.
bool IsConcatSupported(const std::vector< const TensorInfo *> inputs, const TensorInfo &output, const OriginsDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsBatchNormalizationSupported(const TensorInfo &input, const TensorInfo &output, const TensorInfo &mean, const TensorInfo &var, const TensorInfo &beta, const TensorInfo &gamma, const BatchNormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
A FillDescriptor for the FillLayer.
A BatchNormalizationDescriptor for the BatchNormalizationLayer.
bool IsDequantizeSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
A PermuteDescriptor for the PermuteLayer.
bool IsDilatedDepthwiseConvolutionSupported(const TensorInfo &input, const TensorInfo &output, const DepthwiseConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below...