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