From 2d71002861e7c709b8f1a22edc023d4ca4e5d044 Mon Sep 17 00:00:00 2001 From: Teresa Charlin Date: Mon, 31 May 2021 19:35:58 +0100 Subject: IVGCVSW-6088 Add Sin and Log to ElementWiseUnary !armnn:5755 Signed-off-by: Teresa Charlin Change-Id: I82dc434ee9bfff452ec6c27527a5b3f91ebfe2ea --- 1.2/HalPolicy.cpp | 20 ++++++++++++-------- 1.3/HalPolicy.cpp | 20 ++++++++++++-------- NnapiSupport.txt | 2 ++ 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp index 77511311..3d573b18 100644 --- a/1.2/HalPolicy.cpp +++ b/1.2/HalPolicy.cpp @@ -77,6 +77,8 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, return ConvertComparison(operation, model, data, ComparisonOperation::LessOrEqual); case V1_2::OperationType::LOCAL_RESPONSE_NORMALIZATION: return ConvertLocalResponseNormalization(operation, model, data); + case V1_2::OperationType::LOG: + return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Log); case V1_2::OperationType::LOGISTIC: return ConvertLogistic(operation, model, data); case V1_2::OperationType::LOG_SOFTMAX: @@ -127,24 +129,26 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor); case V1_2::OperationType::RSQRT: return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt); + case V1_2::OperationType::SIN: + return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Sin); + case V1_2::OperationType::SOFTMAX: + return ConvertSoftmax(operation, model, data); + case V1_2::OperationType::SPACE_TO_BATCH_ND : + return ConvertSpaceToBatchNd(operation, model, data); + case V1_2::OperationType::SPACE_TO_DEPTH: + return ConvertSpaceToDepth(operation, model, data); case V1_2::OperationType::SQRT: return ConvertSqrt(operation, model, data); case V1_2::OperationType::SQUEEZE: return ConvertSqueeze(operation, model, data); case V1_2::OperationType::STRIDED_SLICE: return ConvertStridedSlice(operation, model, data); + case V1_2::OperationType::SUB: + return ConvertSub(operation, model, data); case V1_2::OperationType::TRANSPOSE: return ConvertTranspose(operation, model, data); case V1_2::OperationType::TRANSPOSE_CONV_2D: return ConvertTransposeConv2d(operation, model, data); - case V1_2::OperationType::SOFTMAX: - return ConvertSoftmax(operation, model, data); - case V1_2::OperationType::SPACE_TO_BATCH_ND : - return ConvertSpaceToBatchNd(operation, model, data); - case V1_2::OperationType::SPACE_TO_DEPTH: - return ConvertSpaceToDepth(operation, model, data); - case V1_2::OperationType::SUB: - return ConvertSub(operation, model, data); case V1_2::OperationType::TANH: return ConvertTanH(operation, model, data); default: diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp index bf80c81e..9ecae2f8 100644 --- a/1.3/HalPolicy.cpp +++ b/1.3/HalPolicy.cpp @@ -83,6 +83,8 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, return ConvertComparison(operation, model, data, ComparisonOperation::LessOrEqual); case V1_3::OperationType::LOCAL_RESPONSE_NORMALIZATION: return ConvertLocalResponseNormalization(operation, model, data); + case V1_3::OperationType::LOG: + return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Log); case V1_3::OperationType::LOGICAL_AND: return ConvertLogicalBinary(operation, model, data, LogicalBinaryOperation::LogicalAnd); case V1_3::OperationType::LOGICAL_NOT: @@ -143,24 +145,26 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor); case V1_3::OperationType::RSQRT: return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt); + case V1_3::OperationType::SIN: + return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Sin); + case V1_3::OperationType::SOFTMAX: + return ConvertSoftmax(operation, model, data); + case V1_3::OperationType::SPACE_TO_BATCH_ND : + return ConvertSpaceToBatchNd(operation, model, data); + case V1_3::OperationType::SPACE_TO_DEPTH: + return ConvertSpaceToDepth(operation, model, data); case V1_3::OperationType::SQRT: return ConvertSqrt(operation, model, data); case V1_3::OperationType::SQUEEZE: return ConvertSqueeze(operation, model, data); case V1_3::OperationType::STRIDED_SLICE: return ConvertStridedSlice(operation, model, data); + case V1_3::OperationType::SUB: + return ConvertSub(operation, model, data); case V1_3::OperationType::TRANSPOSE: return ConvertTranspose(operation, model, data); case V1_3::OperationType::TRANSPOSE_CONV_2D: return ConvertTransposeConv2d(operation, model, data); - case V1_3::OperationType::SOFTMAX: - return ConvertSoftmax(operation, model, data); - case V1_3::OperationType::SPACE_TO_BATCH_ND : - return ConvertSpaceToBatchNd(operation, model, data); - case V1_3::OperationType::SPACE_TO_DEPTH: - return ConvertSpaceToDepth(operation, model, data); - case V1_3::OperationType::SUB: - return ConvertSub(operation, model, data); case V1_3::OperationType::TANH: return ConvertTanH(operation, model, data); default: diff --git a/NnapiSupport.txt b/NnapiSupport.txt index 10837a27..df95a23d 100644 --- a/NnapiSupport.txt +++ b/NnapiSupport.txt @@ -44,6 +44,7 @@ L2_POOL_2D (FLOAT32, FLOAT16) LESS (BOOL8, FLOAT32, FLOAT16, INT32, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED) LESS_EQUAL (BOOL8, FLOAT32, FLOAT16, INT32, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED) LOCAL_RESPONSE_NORMALIZATION (FLOAT32) +LOG (FLOAT32, FLOAT16) LOGICAL_AND (BOOL8) LOGICAL_NOT (BOOL8) LOGICAL_OR (BOOL8) @@ -73,6 +74,7 @@ RESHAPE (FLOAT32, FLOAT16, QUANT8_ASYMM, QUANT8_ASYMM_SIGNE RESIZE_BILINEAR (FLOAT32, FLOAT16, QUANT8_ASYMM) RESIZE_NEAREST_NEIGHBOR (FLOAT32, FLOAT16, QUANT8_ASYMM) RSQRT (FLOAT32, FLOAT16) +SIN (FLOAT32, FLOAT16) SOFTMAX (FLOAT32, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED) SPACE_TO_BATCH_ND (FLOAT32, FLOAT16, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED) SPACE_TO_DEPTH (FLOAT32, FLOAT16, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED) -- cgit v1.2.1