1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #pragma once 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker #include <armnn/backends/ILayerSupport.hpp> 9*89c4ff92SAndroid Build Coastguard Worker 10*89c4ff92SAndroid Build Coastguard Worker namespace armnn 11*89c4ff92SAndroid Build Coastguard Worker { 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Worker class LayerSupportBase : public ILayerSupport 14*89c4ff92SAndroid Build Coastguard Worker { 15*89c4ff92SAndroid Build Coastguard Worker public: 16*89c4ff92SAndroid Build Coastguard Worker 17*89c4ff92SAndroid Build Coastguard Worker bool IsLayerSupported(const LayerType& type, 18*89c4ff92SAndroid Build Coastguard Worker const std::vector<TensorInfo>& infos, 19*89c4ff92SAndroid Build Coastguard Worker const BaseDescriptor& descriptor, 20*89c4ff92SAndroid Build Coastguard Worker const Optional<LstmInputParamsInfo>& lstmParamsInfo = EmptyOptional(), 21*89c4ff92SAndroid Build Coastguard Worker const Optional<QuantizedLstmInputParamsInfo>& quantizedLstmParamsInfo = EmptyOptional(), 22*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 23*89c4ff92SAndroid Build Coastguard Worker 24*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 25*89c4ff92SAndroid Build Coastguard Worker bool IsActivationSupported(const TensorInfo& input, 26*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 27*89c4ff92SAndroid Build Coastguard Worker const ActivationDescriptor& descriptor, 28*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 29*89c4ff92SAndroid Build Coastguard Worker 30*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 31*89c4ff92SAndroid Build Coastguard Worker bool IsAdditionSupported(const TensorInfo& input0, 32*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 33*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 34*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 35*89c4ff92SAndroid Build Coastguard Worker 36*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 37*89c4ff92SAndroid Build Coastguard Worker bool IsArgMinMaxSupported(const TensorInfo& input, 38*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 39*89c4ff92SAndroid Build Coastguard Worker const ArgMinMaxDescriptor& descriptor, 40*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 41*89c4ff92SAndroid Build Coastguard Worker 42*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 43*89c4ff92SAndroid Build Coastguard Worker bool IsBatchNormalizationSupported(const TensorInfo& input, 44*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 45*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& mean, 46*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& var, 47*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& beta, 48*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& gamma, 49*89c4ff92SAndroid Build Coastguard Worker const BatchNormalizationDescriptor& descriptor, 50*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 51*89c4ff92SAndroid Build Coastguard Worker 52*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 53*89c4ff92SAndroid Build Coastguard Worker bool IsBatchToSpaceNdSupported(const TensorInfo& input, 54*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 55*89c4ff92SAndroid Build Coastguard Worker const BatchToSpaceNdDescriptor& descriptor, 56*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 57*89c4ff92SAndroid Build Coastguard Worker 58*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 59*89c4ff92SAndroid Build Coastguard Worker bool IsCastSupported(const TensorInfo& input, 60*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 61*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 62*89c4ff92SAndroid Build Coastguard Worker 63*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 64*89c4ff92SAndroid Build Coastguard Worker bool IsChannelShuffleSupported(const TensorInfo& input, 65*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 66*89c4ff92SAndroid Build Coastguard Worker const ChannelShuffleDescriptor& descriptor, 67*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 68*89c4ff92SAndroid Build Coastguard Worker 69*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 70*89c4ff92SAndroid Build Coastguard Worker bool IsComparisonSupported(const TensorInfo& input0, 71*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 72*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 73*89c4ff92SAndroid Build Coastguard Worker const ComparisonDescriptor& descriptor, 74*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 75*89c4ff92SAndroid Build Coastguard Worker 76*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 77*89c4ff92SAndroid Build Coastguard Worker bool IsConcatSupported(const std::vector<const TensorInfo*> inputs, 78*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 79*89c4ff92SAndroid Build Coastguard Worker const OriginsDescriptor& descriptor, 80*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 81*89c4ff92SAndroid Build Coastguard Worker 82*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 83*89c4ff92SAndroid Build Coastguard Worker bool IsConstantSupported(const TensorInfo& output, 84*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 85*89c4ff92SAndroid Build Coastguard Worker 86*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 87*89c4ff92SAndroid Build Coastguard Worker bool IsConvertFp16ToFp32Supported(const TensorInfo& input, 88*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 89*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 90*89c4ff92SAndroid Build Coastguard Worker 91*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 92*89c4ff92SAndroid Build Coastguard Worker bool IsConvertFp32ToFp16Supported( 93*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 94*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 95*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 96*89c4ff92SAndroid Build Coastguard Worker 97*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 98*89c4ff92SAndroid Build Coastguard Worker bool IsConvolution2dSupported(const TensorInfo& input, 99*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 100*89c4ff92SAndroid Build Coastguard Worker const Convolution2dDescriptor& descriptor, 101*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 102*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 103*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 104*89c4ff92SAndroid Build Coastguard Worker 105*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 106*89c4ff92SAndroid Build Coastguard Worker bool IsConvolution3dSupported(const TensorInfo& input, 107*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 108*89c4ff92SAndroid Build Coastguard Worker const Convolution3dDescriptor& descriptor, 109*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 110*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 111*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 112*89c4ff92SAndroid Build Coastguard Worker 113*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 114*89c4ff92SAndroid Build Coastguard Worker bool IsDebugSupported(const TensorInfo& input, 115*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 116*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 117*89c4ff92SAndroid Build Coastguard Worker 118*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 119*89c4ff92SAndroid Build Coastguard Worker bool IsDepthToSpaceSupported(const TensorInfo& input, 120*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 121*89c4ff92SAndroid Build Coastguard Worker const DepthToSpaceDescriptor& descriptor, 122*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 123*89c4ff92SAndroid Build Coastguard Worker 124*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 125*89c4ff92SAndroid Build Coastguard Worker bool IsDepthwiseConvolutionSupported(const TensorInfo& input, 126*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 127*89c4ff92SAndroid Build Coastguard Worker const DepthwiseConvolution2dDescriptor& descriptor, 128*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 129*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 130*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 131*89c4ff92SAndroid Build Coastguard Worker 132*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 133*89c4ff92SAndroid Build Coastguard Worker bool IsDequantizeSupported(const TensorInfo& input, 134*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 135*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 136*89c4ff92SAndroid Build Coastguard Worker 137*89c4ff92SAndroid Build Coastguard Worker bool IsDetectionPostProcessSupported(const TensorInfo& boxEncodings, 138*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& scores, 139*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& anchors, 140*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& detectionBoxes, 141*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& detectionClasses, 142*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& detectionScores, 143*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& numDetections, 144*89c4ff92SAndroid Build Coastguard Worker const DetectionPostProcessDescriptor& descriptor, 145*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 146*89c4ff92SAndroid Build Coastguard Worker 147*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 148*89c4ff92SAndroid Build Coastguard Worker bool IsDilatedDepthwiseConvolutionSupported(const TensorInfo& input, 149*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 150*89c4ff92SAndroid Build Coastguard Worker const DepthwiseConvolution2dDescriptor& descriptor, 151*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 152*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 153*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = 154*89c4ff92SAndroid Build Coastguard Worker EmptyOptional()) const override; 155*89c4ff92SAndroid Build Coastguard Worker 156*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 157*89c4ff92SAndroid Build Coastguard Worker bool IsDivisionSupported(const TensorInfo& input0, 158*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 159*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 160*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 161*89c4ff92SAndroid Build Coastguard Worker 162*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 163*89c4ff92SAndroid Build Coastguard Worker bool IsElementwiseUnarySupported(const TensorInfo& input, 164*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 165*89c4ff92SAndroid Build Coastguard Worker const ElementwiseUnaryDescriptor& descriptor, 166*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 167*89c4ff92SAndroid Build Coastguard Worker 168*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 169*89c4ff92SAndroid Build Coastguard Worker bool IsFakeQuantizationSupported(const TensorInfo& input, 170*89c4ff92SAndroid Build Coastguard Worker const FakeQuantizationDescriptor& descriptor, 171*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 172*89c4ff92SAndroid Build Coastguard Worker 173*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 174*89c4ff92SAndroid Build Coastguard Worker virtual bool IsFillSupported(const TensorInfo& input, 175*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 176*89c4ff92SAndroid Build Coastguard Worker const FillDescriptor& descriptor, 177*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 178*89c4ff92SAndroid Build Coastguard Worker 179*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 180*89c4ff92SAndroid Build Coastguard Worker bool IsFloorSupported(const TensorInfo& input, 181*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 182*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 183*89c4ff92SAndroid Build Coastguard Worker 184*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 185*89c4ff92SAndroid Build Coastguard Worker bool IsFullyConnectedSupported(const TensorInfo& input, 186*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 187*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 188*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& biases, 189*89c4ff92SAndroid Build Coastguard Worker const FullyConnectedDescriptor& descriptor, 190*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 191*89c4ff92SAndroid Build Coastguard Worker 192*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 193*89c4ff92SAndroid Build Coastguard Worker bool IsGatherSupported(const TensorInfo& input0, 194*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 195*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 196*89c4ff92SAndroid Build Coastguard Worker const GatherDescriptor& descriptor, 197*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 198*89c4ff92SAndroid Build Coastguard Worker 199*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 200*89c4ff92SAndroid Build Coastguard Worker bool IsInputSupported(const TensorInfo& input, 201*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 202*89c4ff92SAndroid Build Coastguard Worker 203*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 204*89c4ff92SAndroid Build Coastguard Worker bool IsInstanceNormalizationSupported( 205*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 206*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 207*89c4ff92SAndroid Build Coastguard Worker const InstanceNormalizationDescriptor& descriptor, 208*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 209*89c4ff92SAndroid Build Coastguard Worker 210*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 211*89c4ff92SAndroid Build Coastguard Worker bool IsL2NormalizationSupported(const TensorInfo& input, 212*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 213*89c4ff92SAndroid Build Coastguard Worker const L2NormalizationDescriptor& descriptor, 214*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 215*89c4ff92SAndroid Build Coastguard Worker 216*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 217*89c4ff92SAndroid Build Coastguard Worker bool IsLogicalBinarySupported(const TensorInfo& input0, 218*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 219*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 220*89c4ff92SAndroid Build Coastguard Worker const LogicalBinaryDescriptor& descriptor, 221*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 222*89c4ff92SAndroid Build Coastguard Worker 223*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 224*89c4ff92SAndroid Build Coastguard Worker bool IsLogicalUnarySupported(const TensorInfo& input, 225*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 226*89c4ff92SAndroid Build Coastguard Worker const ElementwiseUnaryDescriptor& descriptor, 227*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 228*89c4ff92SAndroid Build Coastguard Worker 229*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 230*89c4ff92SAndroid Build Coastguard Worker bool IsLogSoftmaxSupported(const TensorInfo& input, 231*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 232*89c4ff92SAndroid Build Coastguard Worker const LogSoftmaxDescriptor& descriptor, 233*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 234*89c4ff92SAndroid Build Coastguard Worker 235*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 236*89c4ff92SAndroid Build Coastguard Worker bool IsLstmSupported(const TensorInfo& input, 237*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& outputStateIn, 238*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateIn, 239*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& scratchBuffer, 240*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& outputStateOut, 241*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateOut, 242*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 243*89c4ff92SAndroid Build Coastguard Worker const LstmDescriptor& descriptor, 244*89c4ff92SAndroid Build Coastguard Worker const LstmInputParamsInfo& paramsInfo, 245*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 246*89c4ff92SAndroid Build Coastguard Worker 247*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 248*89c4ff92SAndroid Build Coastguard Worker bool IsMaximumSupported(const TensorInfo& input0, 249*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 250*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 251*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 252*89c4ff92SAndroid Build Coastguard Worker 253*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 254*89c4ff92SAndroid Build Coastguard Worker bool IsMeanSupported(const TensorInfo& input, 255*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 256*89c4ff92SAndroid Build Coastguard Worker const MeanDescriptor& descriptor, 257*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 258*89c4ff92SAndroid Build Coastguard Worker 259*89c4ff92SAndroid Build Coastguard Worker bool IsMemCopySupported(const TensorInfo& input, 260*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 261*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 262*89c4ff92SAndroid Build Coastguard Worker 263*89c4ff92SAndroid Build Coastguard Worker bool IsMemImportSupported(const TensorInfo& input, 264*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 265*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 266*89c4ff92SAndroid Build Coastguard Worker 267*89c4ff92SAndroid Build Coastguard Worker bool IsMergeSupported(const TensorInfo& input0, 268*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 269*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 270*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 271*89c4ff92SAndroid Build Coastguard Worker 272*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 273*89c4ff92SAndroid Build Coastguard Worker bool IsMinimumSupported(const TensorInfo& input0, 274*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 275*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 276*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 277*89c4ff92SAndroid Build Coastguard Worker 278*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 279*89c4ff92SAndroid Build Coastguard Worker bool IsMultiplicationSupported(const TensorInfo& input0, 280*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 281*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 282*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 283*89c4ff92SAndroid Build Coastguard Worker 284*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 285*89c4ff92SAndroid Build Coastguard Worker bool IsNormalizationSupported(const TensorInfo& input, 286*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 287*89c4ff92SAndroid Build Coastguard Worker const NormalizationDescriptor& descriptor, 288*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 289*89c4ff92SAndroid Build Coastguard Worker 290*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 291*89c4ff92SAndroid Build Coastguard Worker bool IsOutputSupported(const TensorInfo& output, 292*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 293*89c4ff92SAndroid Build Coastguard Worker 294*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 295*89c4ff92SAndroid Build Coastguard Worker bool IsPadSupported(const TensorInfo& input, 296*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 297*89c4ff92SAndroid Build Coastguard Worker const PadDescriptor& descriptor, 298*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 299*89c4ff92SAndroid Build Coastguard Worker 300*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 301*89c4ff92SAndroid Build Coastguard Worker bool IsPermuteSupported(const TensorInfo& input, 302*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 303*89c4ff92SAndroid Build Coastguard Worker const PermuteDescriptor& descriptor, 304*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 305*89c4ff92SAndroid Build Coastguard Worker 306*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 307*89c4ff92SAndroid Build Coastguard Worker bool IsPooling2dSupported(const TensorInfo& input, 308*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 309*89c4ff92SAndroid Build Coastguard Worker const Pooling2dDescriptor& descriptor, 310*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 311*89c4ff92SAndroid Build Coastguard Worker 312*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 313*89c4ff92SAndroid Build Coastguard Worker bool IsPooling3dSupported(const TensorInfo& input, 314*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 315*89c4ff92SAndroid Build Coastguard Worker const Pooling3dDescriptor& descriptor, 316*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 317*89c4ff92SAndroid Build Coastguard Worker 318*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 319*89c4ff92SAndroid Build Coastguard Worker bool IsPreCompiledSupported(const TensorInfo& input, 320*89c4ff92SAndroid Build Coastguard Worker const PreCompiledDescriptor& descriptor, 321*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 322*89c4ff92SAndroid Build Coastguard Worker 323*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 324*89c4ff92SAndroid Build Coastguard Worker bool IsPreluSupported(const TensorInfo& input, 325*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& alpha, 326*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 327*89c4ff92SAndroid Build Coastguard Worker Optional<std::string &> reasonIfUnsupported) const override; 328*89c4ff92SAndroid Build Coastguard Worker 329*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 330*89c4ff92SAndroid Build Coastguard Worker bool IsQuantizeSupported(const TensorInfo& input, 331*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 332*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 333*89c4ff92SAndroid Build Coastguard Worker 334*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 335*89c4ff92SAndroid Build Coastguard Worker bool IsQLstmSupported(const TensorInfo& input, 336*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& previousOutputIn, 337*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& previousCellStateIn, 338*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& outputStateOut, 339*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateOut, 340*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 341*89c4ff92SAndroid Build Coastguard Worker const QLstmDescriptor& descriptor, 342*89c4ff92SAndroid Build Coastguard Worker const LstmInputParamsInfo& paramsInfo, 343*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 344*89c4ff92SAndroid Build Coastguard Worker 345*89c4ff92SAndroid Build Coastguard Worker bool IsQuantizedLstmSupported(const TensorInfo& input, 346*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& previousCellStateIn, 347*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& previousOutputIn, 348*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateOut, 349*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 350*89c4ff92SAndroid Build Coastguard Worker const QuantizedLstmInputParamsInfo& paramsInfo, 351*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 352*89c4ff92SAndroid Build Coastguard Worker 353*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 354*89c4ff92SAndroid Build Coastguard Worker bool IsRankSupported(const TensorInfo& input, 355*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 356*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported) const override; 357*89c4ff92SAndroid Build Coastguard Worker 358*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 359*89c4ff92SAndroid Build Coastguard Worker bool IsReduceSupported(const TensorInfo& input, 360*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 361*89c4ff92SAndroid Build Coastguard Worker const ReduceDescriptor& descriptor, 362*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 363*89c4ff92SAndroid Build Coastguard Worker 364*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 365*89c4ff92SAndroid Build Coastguard Worker bool IsReshapeSupported(const TensorInfo& input, 366*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 367*89c4ff92SAndroid Build Coastguard Worker const ReshapeDescriptor& descriptor, 368*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 369*89c4ff92SAndroid Build Coastguard Worker 370*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 371*89c4ff92SAndroid Build Coastguard Worker bool IsResizeSupported(const TensorInfo& input, 372*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 373*89c4ff92SAndroid Build Coastguard Worker const ResizeDescriptor& descriptor, 374*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 375*89c4ff92SAndroid Build Coastguard Worker 376*89c4ff92SAndroid Build Coastguard Worker bool IsShapeSupported(const TensorInfo& input, 377*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 378*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 379*89c4ff92SAndroid Build Coastguard Worker 380*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 381*89c4ff92SAndroid Build Coastguard Worker bool IsSliceSupported(const TensorInfo& input, 382*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 383*89c4ff92SAndroid Build Coastguard Worker const SliceDescriptor& descriptor, 384*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 385*89c4ff92SAndroid Build Coastguard Worker 386*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 387*89c4ff92SAndroid Build Coastguard Worker bool IsSoftmaxSupported(const TensorInfo& input, 388*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 389*89c4ff92SAndroid Build Coastguard Worker const SoftmaxDescriptor& descriptor, 390*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 391*89c4ff92SAndroid Build Coastguard Worker 392*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 393*89c4ff92SAndroid Build Coastguard Worker bool IsSpaceToBatchNdSupported(const TensorInfo& input, 394*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 395*89c4ff92SAndroid Build Coastguard Worker const SpaceToBatchNdDescriptor& descriptor, 396*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 397*89c4ff92SAndroid Build Coastguard Worker 398*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 399*89c4ff92SAndroid Build Coastguard Worker bool IsSpaceToDepthSupported(const TensorInfo& input, 400*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 401*89c4ff92SAndroid Build Coastguard Worker const SpaceToDepthDescriptor& descriptor, 402*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 403*89c4ff92SAndroid Build Coastguard Worker 404*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 405*89c4ff92SAndroid Build Coastguard Worker bool IsSplitterSupported(const TensorInfo& input, 406*89c4ff92SAndroid Build Coastguard Worker const std::vector<std::reference_wrapper<TensorInfo>>& outputs, 407*89c4ff92SAndroid Build Coastguard Worker const ViewsDescriptor& descriptor, 408*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 409*89c4ff92SAndroid Build Coastguard Worker 410*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 411*89c4ff92SAndroid Build Coastguard Worker bool IsStackSupported(const std::vector<const TensorInfo*>& inputs, 412*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 413*89c4ff92SAndroid Build Coastguard Worker const StackDescriptor& descriptor, 414*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 415*89c4ff92SAndroid Build Coastguard Worker 416*89c4ff92SAndroid Build Coastguard Worker bool IsStandInSupported(const std::vector<const TensorInfo*>& inputs, 417*89c4ff92SAndroid Build Coastguard Worker const std::vector<const TensorInfo*>& outputs, 418*89c4ff92SAndroid Build Coastguard Worker const StandInDescriptor& descriptor, 419*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 420*89c4ff92SAndroid Build Coastguard Worker 421*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 422*89c4ff92SAndroid Build Coastguard Worker bool IsStridedSliceSupported(const TensorInfo& input, 423*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 424*89c4ff92SAndroid Build Coastguard Worker const StridedSliceDescriptor& descriptor, 425*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 426*89c4ff92SAndroid Build Coastguard Worker 427*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 428*89c4ff92SAndroid Build Coastguard Worker bool IsSubtractionSupported(const TensorInfo& input0, 429*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 430*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 431*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 432*89c4ff92SAndroid Build Coastguard Worker 433*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 434*89c4ff92SAndroid Build Coastguard Worker bool IsSwitchSupported(const TensorInfo& input0, 435*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 436*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output0, 437*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output1, 438*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 439*89c4ff92SAndroid Build Coastguard Worker 440*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 441*89c4ff92SAndroid Build Coastguard Worker bool IsTransposeConvolution2dSupported( 442*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 443*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 444*89c4ff92SAndroid Build Coastguard Worker const TransposeConvolution2dDescriptor& descriptor, 445*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 446*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 447*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 448*89c4ff92SAndroid Build Coastguard Worker 449*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 450*89c4ff92SAndroid Build Coastguard Worker bool IsTransposeSupported(const TensorInfo& input, 451*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 452*89c4ff92SAndroid Build Coastguard Worker const TransposeDescriptor& descriptor, 453*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 454*89c4ff92SAndroid Build Coastguard Worker 455*89c4ff92SAndroid Build Coastguard Worker ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This method is deprecated. Use IsLayerSupported instead.", "23.08") 456*89c4ff92SAndroid Build Coastguard Worker bool IsUnidirectionalSequenceLstmSupported( 457*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 458*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& outputStateIn, 459*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateIn, 460*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& outputStateOut, 461*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateOut, 462*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 463*89c4ff92SAndroid Build Coastguard Worker const LstmDescriptor& descriptor, 464*89c4ff92SAndroid Build Coastguard Worker const LstmInputParamsInfo& paramsInfo, 465*89c4ff92SAndroid Build Coastguard Worker Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; 466*89c4ff92SAndroid Build Coastguard Worker 467*89c4ff92SAndroid Build Coastguard Worker }; 468*89c4ff92SAndroid Build Coastguard Worker 469*89c4ff92SAndroid Build Coastguard Worker } // namespace armnn 470