IVGCVSW-4453 Add Support for ANEURALNETWORKS_QLSTM to HAL 1.3 Driver
* Add QLSTM support for Android NN Driver
* Add overrideOutputInfo parameter to SetupAndTrackLayerOutputSlot
* Add optional condition to GetInputScalar
* Refactor Quantized 16 Bit LSTM impl
Change-Id: Ie8fa98ad5ee4a62174ef91ca80f1df62b7fde937
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp
index b2b8a86..1077b78 100644
--- a/1.3/HalPolicy.cpp
+++ b/1.3/HalPolicy.cpp
@@ -103,8 +103,10 @@
return ConvertPrelu(operation, model, data);
case V1_3::OperationType::QUANTIZE:
return ConvertQuantize(operation, model, data);
- case V1_3::OperationType::QUANTIZED_16BIT_LSTM:
+ case V1_3::OperationType::QUANTIZED_LSTM:
return ConvertQuantizedLstm(operation, model, data);
+ case V1_3::OperationType::QUANTIZED_16BIT_LSTM:
+ return ConvertQuantized16BitLstm(operation, model, data);
case V1_3::OperationType::RELU:
return ConvertReLu(operation, model, data);
case V1_3::OperationType::RELU1:
@@ -370,6 +372,12 @@
return ::ConvertQuantizedLstm<hal_1_3::HalPolicy>(operation, model, data);
}
+bool HalPolicy::ConvertQuantized16BitLstm(const Operation& operation, const Model& model, ConversionData& data)
+{
+ ALOGV("hal_1_3::HalPolicy::ConvertQuantized16BitLstm()");
+ return ::ConvertQuantized16BitLstm<hal_1_3::HalPolicy>(operation, model, data);
+}
+
bool HalPolicy::ConvertReLu(const Operation& operation, const Model& model, ConversionData& data)
{
ALOGV("hal_1_3::HalPolicy::ConvertReLu()");
diff --git a/1.3/HalPolicy.hpp b/1.3/HalPolicy.hpp
index c601942..b59710a 100644
--- a/1.3/HalPolicy.hpp
+++ b/1.3/HalPolicy.hpp
@@ -117,6 +117,8 @@
static bool ConvertQuantizedLstm(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertQuantized16BitLstm(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertReLu(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertReLu1(const Operation& operation, const Model& model, ConversionData& data);