diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2020-11-18 09:37:03 +0000 |
---|---|---|
committer | Sadik Armagan <sadik.armagan@arm.com> | 2020-11-18 09:37:03 +0000 |
commit | 15f7faef88357679064e0e9d3bd91dd18c7625d6 (patch) | |
tree | d8dcfc49dc67614feb5edf0dc1ff49b7ca2581d4 /delegate | |
parent | 5d03e31aaf4d82e9f9cdc03c41d2328bbb2a0dee (diff) | |
download | armnn-15f7faef88357679064e0e9d3bd91dd18c7625d6.tar.gz |
IVGCVSW-5377 'Add ArmNN TfLite delegate to ExecuteNetwork'
* Assign correct input values for the model
* Call the right Validate function for Mul and Sub operators
* Return the correct data type for kTfLiteInt8
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I6d23adf68d33d8be9a1fbf5d19dfe47939a6d3d6
Diffstat (limited to 'delegate')
-rw-r--r-- | delegate/src/DelegateUtils.hpp | 16 | ||||
-rw-r--r-- | delegate/src/ElementwiseBinary.hpp | 4 |
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, |