diff options
-rw-r--r-- | include/armnn/BackendHelper.hpp | 13 | ||||
-rw-r--r-- | src/armnn/BackendHelper.cpp | 26 |
2 files changed, 39 insertions, 0 deletions
diff --git a/include/armnn/BackendHelper.hpp b/include/armnn/BackendHelper.hpp index 8bcdbc4d3c..87b99f03f0 100644 --- a/include/armnn/BackendHelper.hpp +++ b/include/armnn/BackendHelper.hpp @@ -411,6 +411,19 @@ public: const TransposeDescriptor& descriptor, Optional<std::string&> reasonIfUnsupported = EmptyOptional()); + ARMNN_DEPRECATED_MSG_REMOVAL_DATE("This function has been deprecated, please use function without " + "Optional TensorInfos", "23.02") + bool 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 = EmptyOptional()); + bool IsUnidirectionalSequenceLstmSupported( const TensorInfo& input, const TensorInfo& outputStateIn, diff --git a/src/armnn/BackendHelper.cpp b/src/armnn/BackendHelper.cpp index 9f97c26a75..2d70d7add0 100644 --- a/src/armnn/BackendHelper.cpp +++ b/src/armnn/BackendHelper.cpp @@ -1406,6 +1406,32 @@ bool LayerSupportHandle::IsTransposeSupported(const TensorInfo& input, reasonIfUnsupported); } +// Forwarding function to maintain ABI stability +bool LayerSupportHandle::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) +{ + TensorInfo hiddenStateOutputVal = hiddenStateOutput.has_value() ? hiddenStateOutput.value() : TensorInfo(); + TensorInfo cellStateOutputVal = cellStateOutput.has_value() ? cellStateOutput.value() : TensorInfo(); + TensorInfos infos{input, outputStateIn, cellStateIn, hiddenStateOutputVal, cellStateOutputVal, output}; + + return IsUnidirectionalSequenceLstmSupported(input, + outputStateIn, + cellStateIn, + hiddenStateOutputVal, + cellStateOutputVal, + output, + descriptor, + paramsInfo, + reasonIfUnsupported); +} + bool LayerSupportHandle::IsUnidirectionalSequenceLstmSupported(const TensorInfo& input, const TensorInfo& outputStateIn, const TensorInfo& cellStateIn, |