aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2022-01-20 14:31:30 +0000
committerFrancis Murtagh <francis.murtagh@arm.com>2022-01-20 18:10:10 +0000
commitb03043e4b2ee988daead10307f082e85f26669cb (patch)
treefd94773b327d1ed8b423c3a3dd53b53c748cd419
parenta79c074602db6776ca1ddc3fbf13891bc4528d16 (diff)
downloadarmnn-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
-rw-r--r--include/armnn/backends/ILayerSupport.hpp358
-rw-r--r--src/armnn/ILayerSupport.cpp721
2 files changed, 936 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
diff --git a/src/armnn/ILayerSupport.cpp b/src/armnn/ILayerSupport.cpp
index 76926d9558..bf54223414 100644
--- a/src/armnn/ILayerSupport.cpp
+++ b/src/armnn/ILayerSupport.cpp
@@ -7,6 +7,7 @@
#include <armnn/utility/PolymorphicDowncast.hpp>
#include <armnn/Tensor.hpp>
#include <armnn/backends/ILayerSupport.hpp>
+#include <armnn/utility/IgnoreUnused.hpp>
namespace armnn
{
@@ -582,5 +583,725 @@ bool ILayerSupport::IsLayerSupported(const LayerType& type,
return false;
}
}
+
+bool ILayerSupport::IsActivationSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ActivationDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsAdditionSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsArgMinMaxSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ArgMinMaxDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::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) const
+{
+ IgnoreUnused(input, output, mean, var, beta, gamma, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsBatchToSpaceNdSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const BatchToSpaceNdDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsCastSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsChannelShuffleSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ChannelShuffleDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsComparisonSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ const ComparisonDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConcatSupported(const std::vector<const TensorInfo*> inputs,
+ const TensorInfo& output,
+ const OriginsDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(inputs, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConstantSupported(const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConvertBf16ToFp32Supported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConvertFp32ToBf16Supported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConvertFp16ToFp32Supported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConvertFp32ToFp16Supported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConvolution2dSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const Convolution2dDescriptor& descriptor,
+ const TensorInfo& weights,
+ const Optional<TensorInfo>& biases,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, weights, biases, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsConvolution3dSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const Convolution3dDescriptor& descriptor,
+ const TensorInfo& weights,
+ const Optional<TensorInfo>& biases,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, weights, biases, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsDebugSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsDepthToSpaceSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const DepthToSpaceDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsDepthwiseConvolutionSupported(
+ const TensorInfo& input,
+ const TensorInfo& output,
+ const DepthwiseConvolution2dDescriptor& descriptor,
+ const TensorInfo& weights,
+ const Optional<TensorInfo>& biases,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input,
+ output,
+ descriptor,
+ weights,
+ biases,
+ reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsDequantizeSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::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) const
+{
+ IgnoreUnused(boxEncodings,
+ scores,
+ anchors,
+ detectionBoxes,
+ detectionClasses,
+ detectionScores,
+ numDetections,
+ descriptor,
+ reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsDilatedDepthwiseConvolutionSupported(
+ const TensorInfo& input,
+ const TensorInfo& output,
+ const DepthwiseConvolution2dDescriptor& descriptor,
+ const TensorInfo& weights,
+ const Optional<TensorInfo>& biases,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, weights, biases, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsDivisionSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsElementwiseUnarySupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ElementwiseUnaryDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsFakeQuantizationSupported(const TensorInfo& input,
+ const FakeQuantizationDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsFillSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const FillDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsFloorSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsFullyConnectedSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const TensorInfo& weights,
+ const TensorInfo& biases,
+ const FullyConnectedDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, weights, biases, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsGatherSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ const GatherDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsInputSupported(const TensorInfo& input,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsInstanceNormalizationSupported(
+ const TensorInfo& input,
+ const TensorInfo& output,
+ const InstanceNormalizationDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsL2NormalizationSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const L2NormalizationDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsLogicalBinarySupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ const LogicalBinaryDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsLogicalUnarySupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ElementwiseUnaryDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsLogSoftmaxSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const LogSoftmaxDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::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& paramsInfo,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input,
+ outputStateIn,
+ cellStateIn,
+ scratchBuffer,
+ outputStateOut,
+ cellStateOut,
+ output,
+ descriptor,
+ paramsInfo,
+ reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMaximumSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMeanSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const MeanDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMemCopySupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMemImportSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMergeSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMinimumSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsMultiplicationSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsNormalizationSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const NormalizationDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsOutputSupported(const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsPadSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const PadDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsPermuteSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const PermuteDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsPooling2dSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const Pooling2dDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsPooling3dSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const Pooling3dDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsPreCompiledSupported(const TensorInfo& input,
+ const PreCompiledDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsPreluSupported(const TensorInfo& input,
+ const TensorInfo& alpha,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, alpha, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsQuantizeSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsQLstmSupported(const TensorInfo& input,
+ const TensorInfo& previousOutputIn,
+ const TensorInfo& previousCellStateIn,
+ const TensorInfo& outputStateOut,
+ const TensorInfo& cellStateOut,
+ const TensorInfo& output,
+ const QLstmDescriptor& descriptor,
+ const LstmInputParamsInfo& paramsInfo,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input,
+ previousOutputIn,
+ previousCellStateIn,
+ outputStateOut,
+ cellStateOut,
+ output,
+ descriptor,
+ paramsInfo,
+ reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsQuantizedLstmSupported(const TensorInfo& input,
+ const TensorInfo& previousCellStateIn,
+ const TensorInfo& previousOutputIn,
+ const TensorInfo& cellStateOut,
+ const TensorInfo& output,
+ const QuantizedLstmInputParamsInfo& paramsInfo,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input,
+ previousCellStateIn,
+ previousOutputIn,
+ cellStateOut,
+ output,
+ paramsInfo,
+ reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsRankSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsReduceSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ReduceDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsReshapeSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ReshapeDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsResizeSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const ResizeDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsShapeSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSliceSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const SliceDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSoftmaxSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const SoftmaxDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSpaceToBatchNdSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const SpaceToBatchNdDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSpaceToDepthSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const SpaceToDepthDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSplitterSupported(const TensorInfo& input,
+ const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
+ const ViewsDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, outputs, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsStackSupported(const std::vector<const TensorInfo*>& inputs,
+ const TensorInfo& output,
+ const StackDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(inputs, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsStandInSupported(const std::vector<const TensorInfo*>& inputs,
+ const std::vector<const TensorInfo*>& outputs,
+ const StandInDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(inputs, outputs, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsStridedSliceSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const StridedSliceDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSubtractionSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsSwitchSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output0,
+ const TensorInfo& output1,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input0, input1, output0, output1, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsTransposeConvolution2dSupported(
+ const TensorInfo& input,
+ const TensorInfo& output,
+ const TransposeConvolution2dDescriptor& descriptor,
+ const TensorInfo& weights,
+ const Optional<TensorInfo>& biases,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, weights, biases, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsTransposeSupported(const TensorInfo& input,
+ const TensorInfo& output,
+ const TransposeDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input, output, descriptor, reasonIfUnsupported);
+ return false;
+}
+
+bool ILayerSupport::IsUnidirectionalSequenceLstmSupported(
+ const TensorInfo& input,
+ const TensorInfo& outputStateIn,
+ const TensorInfo& cellStateIn,
+ const TensorInfo& output,
+ const Optional<TensorInfo>& hiddenStateOutput,
+ const Optional<TensorInfo>& cellStateOutput,
+ const LstmDescriptor& descriptor,
+ const LstmInputParamsInfo& paramsInfo,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ IgnoreUnused(input,
+ outputStateIn,
+ cellStateIn,
+ output,
+ hiddenStateOutput,
+ cellStateOutput,
+ descriptor,
+ paramsInfo,
+ reasonIfUnsupported);
+ return false;
+}
ARMNN_NO_DEPRECATE_WARN_END
}