IVGCVSW-6088 Add Sin and Log to ElementWiseUnary
!armnn:5755
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I82dc434ee9bfff452ec6c27527a5b3f91ebfe2ea
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 7751131..3d573b1 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -77,6 +77,8 @@
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 @@
return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor);
case V1_2::OperationType::RSQRT:
return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt);
- 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::TRANSPOSE:
- return ConvertTranspose(operation, model, data);
- case V1_2::OperationType::TRANSPOSE_CONV_2D:
- return ConvertTransposeConv2d(operation, model, data);
+ 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::TANH:
return ConvertTanH(operation, model, data);
default:
diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp
index bf80c81..9ecae2f 100644
--- a/1.3/HalPolicy.cpp
+++ b/1.3/HalPolicy.cpp
@@ -83,6 +83,8 @@
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 @@
return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor);
case V1_3::OperationType::RSQRT:
return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt);
- 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::TRANSPOSE:
- return ConvertTranspose(operation, model, data);
- case V1_3::OperationType::TRANSPOSE_CONV_2D:
- return ConvertTransposeConv2d(operation, model, data);
+ 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::TANH:
return ConvertTanH(operation, model, data);
default:
diff --git a/NnapiSupport.txt b/NnapiSupport.txt
index 10837a2..df95a23 100644
--- a/NnapiSupport.txt
+++ b/NnapiSupport.txt
@@ -44,6 +44,7 @@
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 @@
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)