aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2021-03-12 09:12:29 +0000
committerSadik Armagan <sadik.armagan@arm.com>2021-03-12 09:12:29 +0000
commit6a2845317f9f9e5161f3afab2b54dac494f57f89 (patch)
treefbaaae4f162b80adc5998d2b77641a80d0bed59e
parent89cbb3a914d76843630f3576108e309cf085ef80 (diff)
downloadandroid-nn-driver-6a2845317f9f9e5161f3afab2b54dac494f57f89.tar.gz
IVGCVSW-5767 'Regression on SqueezeNet v1.1'
* MEAN operator second input data type is different than Reduction operators * Use existing ConvertMean() function for MEAN operator Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I211cb77515d88e54ded9646eebe3e901d437827c
-rw-r--r--1.2/HalPolicy.cpp18
-rw-r--r--1.2/HalPolicy.hpp8
-rw-r--r--1.3/HalPolicy.cpp18
-rw-r--r--1.3/HalPolicy.hpp8
4 files changed, 38 insertions, 14 deletions
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 7d45688a..e96c4cb0 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -86,7 +86,7 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model,
case V1_2::OperationType::MAXIMUM:
return ConvertMaximum(operation, model, data);
case V1_2::OperationType::MEAN:
- return ConvertReduce(operation, model, data, ReduceOperation::Mean);
+ return ConvertMean(operation, model, data);
case V1_2::OperationType::MINIMUM:
return ConvertMinimum(operation, model, data);
case V1_2::OperationType::MUL:
@@ -312,11 +312,10 @@ bool HalPolicy::ConvertMaximum(const Operation& operation, const Model& model, C
return ::ConvertMaximum<hal_1_2::HalPolicy>(operation, model, data);
}
-bool HalPolicy::ConvertReduce(const Operation& operation, const Model& model, ConversionData& data,
- ReduceOperation reduceOperation)
+bool HalPolicy::ConvertMean(const Operation& operation, const Model& model, ConversionData& data)
{
- ALOGV("hal_1_2::HalPolicy::ConvertReduce()");
- return ::ConvertReduce<hal_1_2::HalPolicy>(operation, model, data, reduceOperation);
+ ALOGV("hal_1_2::HalPolicy::ConvertMean()");
+ return ::ConvertMean<hal_1_2::HalPolicy>(operation, model, data);
}
bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data)
@@ -361,6 +360,15 @@ bool HalPolicy::ConvertQuantized16BitLstm(const Operation& operation, const Mode
return ::ConvertQuantized16BitLstm<hal_1_2::HalPolicy>(operation, model, data);
}
+bool HalPolicy::ConvertReduce(const Operation& operation,
+ const Model& model,
+ ConversionData& data,
+ ReduceOperation reduceOperation)
+{
+ ALOGV("hal_1_2::HalPolicy::ConvertReduce()");
+ return ::ConvertReduce<hal_1_2::HalPolicy>(operation, model, data, reduceOperation);
+}
+
bool HalPolicy::ConvertReLu(const Operation& operation, const Model& model, ConversionData& data)
{
ALOGV("hal_1_2::HalPolicy::ConvertReLu()");
diff --git a/1.2/HalPolicy.hpp b/1.2/HalPolicy.hpp
index feb2ba20..abd60e72 100644
--- a/1.2/HalPolicy.hpp
+++ b/1.2/HalPolicy.hpp
@@ -98,8 +98,7 @@ private:
static bool ConvertMaximum(const Operation& operation, const Model& model, ConversionData& data);
- static bool ConvertReduce(const Operation& operation, const Model& model, ConversionData& data,
- ReduceOperation reduce_operation);
+ static bool ConvertMean(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data);
@@ -115,6 +114,11 @@ private:
static bool ConvertQuantized16BitLstm(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertReduce(const Operation& operation,
+ const Model& model,
+ ConversionData& data,
+ ReduceOperation reduce_operation);
+
static bool ConvertReLu(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertReLu1(const Operation& operation, const Model& model, ConversionData& data);
diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp
index 9a9f2ac0..d58ac6c6 100644
--- a/1.3/HalPolicy.cpp
+++ b/1.3/HalPolicy.cpp
@@ -98,7 +98,7 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model,
case V1_3::OperationType::MAXIMUM:
return ConvertMaximum(operation, model, data);
case V1_3::OperationType::MEAN:
- return ConvertReduce(operation, model, data, ReduceOperation::Mean);
+ return ConvertMean(operation, model, data);
case V1_3::OperationType::MINIMUM:
return ConvertMinimum(operation, model, data);
case V1_3::OperationType::MUL:
@@ -365,11 +365,10 @@ bool HalPolicy::ConvertMaximum(const Operation& operation, const Model& model, C
return ::ConvertMaximum<hal_1_3::HalPolicy>(operation, model, data);
}
-bool HalPolicy::ConvertReduce(const Operation& operation, const Model& model, ConversionData& data,
- ReduceOperation reduceOperation)
+bool HalPolicy::ConvertMean(const Operation& operation, const Model& model, ConversionData& data)
{
- ALOGV("hal_1_3::HalPolicy::ConvertReduce()");
- return ::ConvertReduce<hal_1_3::HalPolicy>(operation, model, data, reduceOperation);
+ ALOGV("hal_1_3::HalPolicy::ConvertMean()");
+ return ::ConvertMean<hal_1_3::HalPolicy>(operation, model, data);
}
bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data)
@@ -426,6 +425,15 @@ bool HalPolicy::ConvertRank(const Operation& operation, const Model& model, Conv
return ::ConvertRank<hal_1_3::HalPolicy>(operation, model, data);
}
+bool HalPolicy::ConvertReduce(const Operation& operation,
+ const Model& model,
+ ConversionData& data,
+ ReduceOperation reduceOperation)
+{
+ ALOGV("hal_1_3::HalPolicy::ConvertReduce()");
+ return ::ConvertReduce<hal_1_3::HalPolicy>(operation, model, data, reduceOperation);
+}
+
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 1337bf20..6dfb8856 100644
--- a/1.3/HalPolicy.hpp
+++ b/1.3/HalPolicy.hpp
@@ -110,8 +110,7 @@ private:
static bool ConvertMaximum(const Operation& operation, const Model& model, ConversionData& data);
- static bool ConvertReduce(const Operation& operation, const Model& model, ConversionData& data,
- ReduceOperation reduceOperation);
+ static bool ConvertMean(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data);
@@ -131,6 +130,11 @@ private:
static bool ConvertRank(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertReduce(const Operation& operation,
+ const Model& model,
+ ConversionData& data,
+ ReduceOperation reduceOperation);
+
static bool ConvertReLu(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertReLu1(const Operation& operation, const Model& model, ConversionData& data);