diff options
author | Francis Murtagh <francis.murtagh@arm.com> | 2022-01-20 14:31:30 +0000 |
---|---|---|
committer | Francis Murtagh <francis.murtagh@arm.com> | 2022-01-20 18:10:10 +0000 |
commit | b03043e4b2ee988daead10307f082e85f26669cb (patch) | |
tree | fd94773b327d1ed8b423c3a3dd53b53c748cd419 /include/armnn/backends | |
parent | a79c074602db6776ca1ddc3fbf13891bc4528d16 (diff) | |
download | armnn-b03043e4b2ee988daead10307f082e85f26669cb.tar.gz |
Bugfix: Add default Implementation for ILayerSupport deprecated API
* This saves new backend implementing old and new pure virtual functions
only to have to remove their implementations of our old api when we
remove in 22.08.
* Make deprecation warnings more descriptive.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I36c34c3c85f1c359e0b6974866e70edf0bbb4227
Diffstat (limited to 'include/armnn/backends')
-rw-r--r-- | include/armnn/backends/ILayerSupport.hpp | 358 |
1 files changed, 215 insertions, 143 deletions
diff --git a/include/armnn/backends/ILayerSupport.hpp b/include/armnn/backends/ILayerSupport.hpp index 29d08f539e..4b969a32d6 100644 --- a/include/armnn/backends/ILayerSupport.hpp +++ b/include/armnn/backends/ILayerSupport.hpp @@ -35,25 +35,29 @@ public: EmptyOptional(), Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsActivationSupported(const TensorInfo& input, const TensorInfo& output, const ActivationDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsAdditionSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsArgMinMaxSupported(const TensorInfo& input, const TensorInfo& output, const ArgMinMaxDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsBatchNormalizationSupported(const TensorInfo& input, const TensorInfo& output, const TensorInfo& mean, @@ -61,104 +65,121 @@ public: const TensorInfo& beta, const TensorInfo& gamma, const BatchNormalizationDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsBatchToSpaceNdSupported(const TensorInfo& input, const TensorInfo& output, const BatchToSpaceNdDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsCastSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsChannelShuffleSupported(const TensorInfo& input, const TensorInfo& output, const ChannelShuffleDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsComparisonSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, const ComparisonDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConcatSupported(const std::vector<const TensorInfo*> inputs, const TensorInfo& output, const OriginsDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConstantSupported(const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConvertBf16ToFp32Supported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConvertFp32ToBf16Supported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConvertFp16ToFp32Supported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConvertFp32ToFp16Supported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConvolution2dSupported(const TensorInfo& input, const TensorInfo& output, const Convolution2dDescriptor& descriptor, const TensorInfo& weights, const Optional<TensorInfo>& biases, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsConvolution3dSupported(const TensorInfo& input, const TensorInfo& output, const Convolution3dDescriptor& descriptor, const TensorInfo& weights, const Optional<TensorInfo>& biases, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDebugSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDepthToSpaceSupported(const TensorInfo& input, const TensorInfo& output, const DepthToSpaceDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDepthwiseConvolutionSupported( const TensorInfo& input, const TensorInfo& output, const DepthwiseConvolution2dDescriptor& descriptor, const TensorInfo& weights, const Optional<TensorInfo>& biases, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDequantizeSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDetectionPostProcessSupported(const TensorInfo& boxEncodings, const TensorInfo& scores, const TensorInfo& anchors, @@ -169,95 +190,110 @@ public: const DetectionPostProcessDescriptor& descriptor, Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const =0; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDilatedDepthwiseConvolutionSupported( const TensorInfo& input, const TensorInfo& output, const DepthwiseConvolution2dDescriptor& descriptor, const TensorInfo& weights, const Optional<TensorInfo>& biases, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsDivisionSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsElementwiseUnarySupported(const TensorInfo& input, const TensorInfo& output, const ElementwiseUnaryDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsFakeQuantizationSupported(const TensorInfo& input, const FakeQuantizationDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsFillSupported(const TensorInfo& input, const TensorInfo& output, const FillDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsFloorSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsFullyConnectedSupported(const TensorInfo& input, const TensorInfo& output, const TensorInfo& weights, const TensorInfo& biases, const FullyConnectedDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsGatherSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, const GatherDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsInputSupported(const TensorInfo& input, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsInstanceNormalizationSupported( const TensorInfo& input, const TensorInfo& output, const InstanceNormalizationDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsL2NormalizationSupported(const TensorInfo& input, const TensorInfo& output, const L2NormalizationDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsLogicalBinarySupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, const LogicalBinaryDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsLogicalUnarySupported(const TensorInfo& input, const TensorInfo& output, const ElementwiseUnaryDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsLogSoftmaxSupported(const TensorInfo& input, const TensorInfo& output, const LogSoftmaxDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsLstmSupported(const TensorInfo& input, const TensorInfo& outputStateIn, const TensorInfo& cellStateIn, @@ -267,99 +303,116 @@ public: const TensorInfo& output, const LstmDescriptor& descriptor, const LstmInputParamsInfo& paramsInfo, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMaximumSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMeanSupported(const TensorInfo& input, const TensorInfo& output, const MeanDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMemCopySupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMemImportSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMergeSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMinimumSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& ouput, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsMultiplicationSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsNormalizationSupported(const TensorInfo& input, const TensorInfo& output, const NormalizationDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsOutputSupported(const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsPadSupported(const TensorInfo& input, const TensorInfo& output, const PadDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsPermuteSupported(const TensorInfo& input, const TensorInfo& output, const PermuteDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsPooling2dSupported(const TensorInfo& input, const TensorInfo& output, const Pooling2dDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsPooling3dSupported(const TensorInfo& input, const TensorInfo& output, const Pooling3dDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsPreCompiledSupported(const TensorInfo& input, const PreCompiledDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsPreluSupported(const TensorInfo& input, const TensorInfo& alpha, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsQuantizeSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsQLstmSupported(const TensorInfo& input, const TensorInfo& previousOutputIn, const TensorInfo& previousCellStateIn, @@ -368,122 +421,141 @@ public: const TensorInfo& output, const QLstmDescriptor& descriptor, const LstmInputParamsInfo& paramsInfo, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsQuantizedLstmSupported(const TensorInfo& input, const TensorInfo& previousCellStateIn, const TensorInfo& previousOutputIn, const TensorInfo& cellStateOut, const TensorInfo& output, const QuantizedLstmInputParamsInfo& paramsInfo, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsRankSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsReduceSupported(const TensorInfo& input, const TensorInfo& output, const ReduceDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsReshapeSupported(const TensorInfo& input, const TensorInfo& output, const ReshapeDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsResizeSupported(const TensorInfo& input, const TensorInfo& output, const ResizeDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsShapeSupported(const TensorInfo& input, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSliceSupported(const TensorInfo& input, const TensorInfo& output, const SliceDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSoftmaxSupported(const TensorInfo& input, const TensorInfo& output, const SoftmaxDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSpaceToBatchNdSupported(const TensorInfo& input, const TensorInfo& output, const SpaceToBatchNdDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSpaceToDepthSupported(const TensorInfo& input, const TensorInfo& output, const SpaceToDepthDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSplitterSupported(const TensorInfo& input, const std::vector<std::reference_wrapper<TensorInfo>>& outputs, const ViewsDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsStackSupported(const std::vector<const TensorInfo*>& inputs, const TensorInfo& output, const StackDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsStandInSupported(const std::vector<const TensorInfo*>& inputs, const std::vector<const TensorInfo*>& outputs, const StandInDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsStridedSliceSupported(const TensorInfo& input, const TensorInfo& output, const StridedSliceDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSubtractionSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsSwitchSupported(const TensorInfo& input0, const TensorInfo& input1, const TensorInfo& output0, const TensorInfo& output1, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsTransposeConvolution2dSupported( const TensorInfo& input, const TensorInfo& output, const TransposeConvolution2dDescriptor& descriptor, const TensorInfo& weights, const Optional<TensorInfo>& biases, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsTransposeSupported(const TensorInfo& input, const TensorInfo& output, const TransposeDescriptor& descriptor, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; - ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "22.08") + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. " + "Use ABI Stable IsLayerSupported accepting LayerType argument instead.", "22.08") virtual bool IsUnidirectionalSequenceLstmSupported( const TensorInfo& input, const TensorInfo& outputStateIn, @@ -493,7 +565,7 @@ public: const Optional<TensorInfo>& cellStateOutput, const LstmDescriptor& descriptor, const LstmInputParamsInfo& paramsInfo, - Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const = 0; + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const; }; // class ILayerSupport |