aboutsummaryrefslogtreecommitdiff
path: root/1.2
diff options
context:
space:
mode:
authorCathal Corbett <cathal.corbett@arm.com>2022-01-21 16:55:13 +0000
committerCathal Corbett <cathal.corbett@arm.com>2022-01-24 18:10:44 +0000
commit0fa5e6dda7e9e76d7ca5f77777c35374c768f28c (patch)
treefe4cdfe345398429328be5e5485cea5d3a0073be /1.2
parente02562b0957b4c14739f608513d3c03050c19369 (diff)
downloadandroid-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.2')
-rw-r--r--1.2/HalPolicy.cpp8
-rw-r--r--1.2/HalPolicy.hpp4
2 files changed, 12 insertions, 0 deletions
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 4cefd599..7dae6a1c 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -184,6 +184,8 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model,
return ConvertTransposeConv2d(operation, model, data);
case V1_2::OperationType::TANH:
return ConvertTanH(operation, model, data);
+ case V1_2::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());
@@ -522,5 +524,11 @@ bool HalPolicy::ConvertTransposeConv2d(const Operation& operation, const Model&
return ::ConvertTransposeConv2d<hal_1_2::HalPolicy>(operation, model, data);
}
+bool HalPolicy::ConvertUnidirectionalSequenceLstm(const Operation& operation, const Model& model, ConversionData& data)
+{
+ ALOGV("hal_1_2::HalPolicy::ConvertUnidirectionalSequenceLstm()");
+ return ::ConvertUnidirectionalSequenceLstm<hal_1_2::HalPolicy>(operation, model, data);
+}
+
} // namespace hal_1_2
} // namespace armnn_driver
diff --git a/1.2/HalPolicy.hpp b/1.2/HalPolicy.hpp
index 9fb74579..bf4540a6 100644
--- a/1.2/HalPolicy.hpp
+++ b/1.2/HalPolicy.hpp
@@ -159,6 +159,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_2