aboutsummaryrefslogtreecommitdiff
path: root/delegate
diff options
context:
space:
mode:
Diffstat (limited to 'delegate')
-rw-r--r--delegate/src/DelegateUtils.hpp16
-rw-r--r--delegate/src/ElementwiseBinary.hpp4
2 files changed, 16 insertions, 4 deletions
diff --git a/delegate/src/DelegateUtils.hpp b/delegate/src/DelegateUtils.hpp
index 0537ba911b..fad07ff267 100644
--- a/delegate/src/DelegateUtils.hpp
+++ b/delegate/src/DelegateUtils.hpp
@@ -342,14 +342,26 @@ armnn::DataType GetDataType(const TfLiteTensor& tfLiteTensor)
case kTfLiteUInt8:
return armnn::DataType::QAsymmU8;
case kTfLiteInt8:
- if (tfLiteTensor.params.zero_point == 0)
+ {
+ auto quantizationInfo = tfLiteTensor.quantization;
+ if (quantizationInfo.type == kTfLiteAffineQuantization)
{
- return armnn::DataType::QSymmS8;
+ auto* quantization =
+ reinterpret_cast<TfLiteAffineQuantization*>(tfLiteTensor.quantization.params);
+ if (quantization->zero_point != nullptr && quantization->zero_point->size == 1)
+ {
+ return armnn::DataType::QAsymmS8;
+ }
+ else
+ {
+ return armnn::DataType::QSymmS8;
+ }
}
else
{
return armnn::DataType::QAsymmS8;
}
+ }
case kTfLiteInt16:
return armnn::DataType::QSymmS16;
case kTfLiteInt32:
diff --git a/delegate/src/ElementwiseBinary.hpp b/delegate/src/ElementwiseBinary.hpp
index e5270057f5..49a5dfb0d9 100644
--- a/delegate/src/ElementwiseBinary.hpp
+++ b/delegate/src/ElementwiseBinary.hpp
@@ -228,13 +228,13 @@ TfLiteStatus VisitElementwiseBinaryOperator(DelegateData& delegateData,
inputTensorInfo1,
outputTensorInfo);
case kTfLiteBuiltinMul:
- return ValidateDivOperator(delegateData,
+ return ValidateMulOperator(delegateData,
tfLiteContext,
inputTensorInfo0,
inputTensorInfo1,
outputTensorInfo);
case kTfLiteBuiltinSub:
- return ValidateDivOperator(delegateData,
+ return ValidateSubOperator(delegateData,
tfLiteContext,
inputTensorInfo0,
inputTensorInfo1,