diff options
author | Cathal Corbett <cathal.corbett@arm.com> | 2022-01-21 16:55:13 +0000 |
---|---|---|
committer | Cathal Corbett <cathal.corbett@arm.com> | 2022-01-24 18:10:44 +0000 |
commit | 0fa5e6dda7e9e76d7ca5f77777c35374c768f28c (patch) | |
tree | fe4cdfe345398429328be5e5485cea5d3a0073be /1.3 | |
parent | e02562b0957b4c14739f608513d3c03050c19369 (diff) | |
download | android-nn-driver-0fa5e6dda7e9e76d7ca5f77777c35374c768f28c.tar.gz |
IVGCVSW-6269 Add support of Unidirectional Sequence Lstm fp32/fp16 to Android
* Unidirectional Sequence Lstm is supported in android-nn-driver.
* CTS and VTS pass for Unidirectional Sequence Lstm if there are
any without weights as inputs. If that isn't the case use the
tests implemented in the android driver for LSTM.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ie3a237b67f5101c4f9a2c7bea796e9c674bedba1
Diffstat (limited to '1.3')
-rw-r--r-- | 1.3/HalPolicy.cpp | 8 | ||||
-rw-r--r-- | 1.3/HalPolicy.hpp | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp index de487423..5563e806 100644 --- a/1.3/HalPolicy.cpp +++ b/1.3/HalPolicy.cpp @@ -171,6 +171,8 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, return ConvertTransposeConv2d(operation, model, data); case V1_3::OperationType::TANH: return ConvertTanH(operation, model, data); + case V1_3::OperationType::UNIDIRECTIONAL_SEQUENCE_LSTM: + return ConvertUnidirectionalSequenceLstm(operation, model, data); default: return Fail("%s: Operation type %s not supported in ArmnnDriver", __func__, toString(operation.type).c_str()); @@ -551,5 +553,11 @@ bool HalPolicy::ConvertTranspose(const Operation& operation, const Model& model, return ::ConvertTranspose<hal_1_3::HalPolicy>(operation, model, data); } +bool HalPolicy::ConvertUnidirectionalSequenceLstm(const Operation& operation, const Model& model, ConversionData& data) +{ + ALOGV("hal_1_3::HalPolicy::ConvertUnidirectionalSequenceLstm()"); + return ::ConvertUnidirectionalSequenceLstm<hal_1_3::HalPolicy>(operation, model, data); +} + } // namespace hal_1_3 } // namespace armnn_driver diff --git a/1.3/HalPolicy.hpp b/1.3/HalPolicy.hpp index dee391a7..7411b24b 100644 --- a/1.3/HalPolicy.hpp +++ b/1.3/HalPolicy.hpp @@ -171,6 +171,10 @@ private: static bool ConvertTranspose(const Operation& operation, const Model& model, ConversionData& data); static bool ConvertTransposeConv2d(const Operation& operation, const Model& model, ConversionData& data); + + static bool ConvertUnidirectionalSequenceLstm(const Operation& operation, + const Model& model, + ConversionData& data); }; } // namespace hal_1_3 |