From 0d7afd9d5194ca0c02f773ba499606e87eced45e Mon Sep 17 00:00:00 2001 From: Kainan Cha Date: Fri, 19 Mar 2021 11:12:12 +0800 Subject: [PATCH] Minor cleanup Signed-off-by: Kainan Cha --- include/tim/vx/ops/activations.h | 14 ++++----- include/tim/vx/ops/elementwise.h | 40 ++++++++++++++------------ include/tim/vx/ops/simple_operations.h | 2 +- src/tim/vx/ops/activations.cc | 10 +++---- src/tim/vx/ops/elementwise.cc | 37 ++++++++++++------------ src/tim/vx/ops/simple_operations.cc | 6 ++-- 6 files changed, 57 insertions(+), 52 deletions(-) diff --git a/include/tim/vx/ops/activations.h b/include/tim/vx/ops/activations.h index b45f446..3640e29 100644 --- a/include/tim/vx/ops/activations.h +++ b/include/tim/vx/ops/activations.h @@ -35,13 +35,13 @@ namespace ops { NAME(Graph* graph); \ }; -DECLARE_NO_PARAMETER_ACTIVATION(Relu); -DECLARE_NO_PARAMETER_ACTIVATION(Relu1); -DECLARE_NO_PARAMETER_ACTIVATION(Relu6); -DECLARE_NO_PARAMETER_ACTIVATION(Elu); -DECLARE_NO_PARAMETER_ACTIVATION(Tanh); -DECLARE_NO_PARAMETER_ACTIVATION(Sigmoid); -DECLARE_NO_PARAMETER_ACTIVATION(HardSwish); +DECLARE_NO_PARAMETER_ACTIVATION(Relu) +DECLARE_NO_PARAMETER_ACTIVATION(Relu1) +DECLARE_NO_PARAMETER_ACTIVATION(Relu6) +DECLARE_NO_PARAMETER_ACTIVATION(Elu) +DECLARE_NO_PARAMETER_ACTIVATION(Tanh) +DECLARE_NO_PARAMETER_ACTIVATION(Sigmoid) +DECLARE_NO_PARAMETER_ACTIVATION(HardSwish) #undef DEFINE_NO_PARAMETER_ACTIVATION diff --git a/include/tim/vx/ops/elementwise.h b/include/tim/vx/ops/elementwise.h index 21e2807..a60b0cd 100644 --- a/include/tim/vx/ops/elementwise.h +++ b/include/tim/vx/ops/elementwise.h @@ -35,24 +35,28 @@ namespace ops { NAME(Graph* graph); \ }; -DELCATE_ELEMENTWISE_OP(Abs); -DELCATE_ELEMENTWISE_OP(Sin); -// TODO(jiangbo): enable it when ovxlib supports `Cos` -//DELCATE_ELEMENTWISE_OP(Cos); -DELCATE_ELEMENTWISE_OP(Exp); -DELCATE_ELEMENTWISE_OP(Log); -DELCATE_ELEMENTWISE_OP(Sqrt); -DELCATE_ELEMENTWISE_OP(Rsqrt); -DELCATE_ELEMENTWISE_OP(Square); -DELCATE_ELEMENTWISE_OP(LogicalNot); +DELCATE_ELEMENTWISE_OP(Abs) +DELCATE_ELEMENTWISE_OP(Sin) +// TODO(jiangbo): enable it when internal ops supports `Cos` +//DELCATE_ELEMENTWISE_OP(Cos) +DELCATE_ELEMENTWISE_OP(Exp) +DELCATE_ELEMENTWISE_OP(Log) +DELCATE_ELEMENTWISE_OP(Sqrt) +DELCATE_ELEMENTWISE_OP(Rsqrt) +DELCATE_ELEMENTWISE_OP(Square) +DELCATE_ELEMENTWISE_OP(LogicalNot) -DELCATE_ELEMENTWISE_OP(Minimum); -DELCATE_ELEMENTWISE_OP(Maximum); -DELCATE_ELEMENTWISE_OP(Add); -DELCATE_ELEMENTWISE_OP(Sub); -DELCATE_ELEMENTWISE_OP(Div); -DELCATE_ELEMENTWISE_OP(Multiply); -DELCATE_ELEMENTWISE_OP(Pow); +DELCATE_ELEMENTWISE_OP(Minimum) +DELCATE_ELEMENTWISE_OP(Maximum) +DELCATE_ELEMENTWISE_OP(Add) +DELCATE_ELEMENTWISE_OP(Sub) +DELCATE_ELEMENTWISE_OP(Div) +DELCATE_ELEMENTWISE_OP(Pow) + +class Multiply : public Operation { + public: + Multiply(Graph* graph, float scale = 1.0f); +}; #undef DELCATE_ELEMENTWISE_OP @@ -60,4 +64,4 @@ DELCATE_ELEMENTWISE_OP(Pow); } // namespace vx } // namespace tim -#endif /* TIM_VX_OPS_ELEMENTWISE_H_ */ \ No newline at end of file +#endif /* TIM_VX_OPS_ELEMENTWISE_H_ */ diff --git a/include/tim/vx/ops/simple_operations.h b/include/tim/vx/ops/simple_operations.h index 2be9802..95a40da 100644 --- a/include/tim/vx/ops/simple_operations.h +++ b/include/tim/vx/ops/simple_operations.h @@ -44,4 +44,4 @@ DECLARE_SIMPLE_OP(Neg) } // namespace vx } // namespace tim -#endif /* TIM_VX_OPS_SIMPLE_OPERATIONS_H_ */ \ No newline at end of file +#endif /* TIM_VX_OPS_SIMPLE_OPERATIONS_H_ */ diff --git a/src/tim/vx/ops/activations.cc b/src/tim/vx/ops/activations.cc index 7de2273..24353f5 100644 --- a/src/tim/vx/ops/activations.cc +++ b/src/tim/vx/ops/activations.cc @@ -33,11 +33,11 @@ namespace ops { #define DEFINE_NO_PARAMETER_ACTIVATION(NAME, VSI_OP_CODE) \ NAME::NAME(Graph* graph) : Operation(graph, VSI_OP_CODE) {} -DEFINE_NO_PARAMETER_ACTIVATION(Relu, VSI_NN_OP_RELU); -DEFINE_NO_PARAMETER_ACTIVATION(Relu1, VSI_NN_OP_RELU1); -DEFINE_NO_PARAMETER_ACTIVATION(Relu6, VSI_NN_OP_RELU6); -DEFINE_NO_PARAMETER_ACTIVATION(Elu, VSI_NN_OP_ELU); -DEFINE_NO_PARAMETER_ACTIVATION(Sigmoid, VSI_NN_OP_SIGMOID); +DEFINE_NO_PARAMETER_ACTIVATION(Relu, VSI_NN_OP_RELU) +DEFINE_NO_PARAMETER_ACTIVATION(Relu1, VSI_NN_OP_RELU1) +DEFINE_NO_PARAMETER_ACTIVATION(Relu6, VSI_NN_OP_RELU6) +DEFINE_NO_PARAMETER_ACTIVATION(Elu, VSI_NN_OP_ELU) +DEFINE_NO_PARAMETER_ACTIVATION(Sigmoid, VSI_NN_OP_SIGMOID) #undef DEFINE_NO_PARAMETER_ACTIVATION diff --git a/src/tim/vx/ops/elementwise.cc b/src/tim/vx/ops/elementwise.cc index 73e5d4e..cf6f6bf 100644 --- a/src/tim/vx/ops/elementwise.cc +++ b/src/tim/vx/ops/elementwise.cc @@ -33,34 +33,35 @@ namespace ops { #define DEFINE_ELEMENTWISE_UNARY_OP(NAME, VSI_OP_CODE) \ NAME::NAME(Graph* graph) : Operation(graph, VSI_OP_CODE) {} -DEFINE_ELEMENTWISE_UNARY_OP(Abs, VSI_NN_OP_ABS); -DEFINE_ELEMENTWISE_UNARY_OP(Sin, VSI_NN_OP_SIN); +DEFINE_ELEMENTWISE_UNARY_OP(Abs, VSI_NN_OP_ABS) +DEFINE_ELEMENTWISE_UNARY_OP(Sin, VSI_NN_OP_SIN) // TODO(jiangbo): enable it when ovxlib supports `Cos` -//DEFINE_ELEMENTWISE_UNARY_OP(Cos, VSI_NN_OP_COS); -DEFINE_ELEMENTWISE_UNARY_OP(Exp, VSI_NN_OP_EXP); -DEFINE_ELEMENTWISE_UNARY_OP(Log, VSI_NN_OP_LOG); -DEFINE_ELEMENTWISE_UNARY_OP(Sqrt, VSI_NN_OP_SQRT); -DEFINE_ELEMENTWISE_UNARY_OP(Rsqrt, VSI_NN_OP_RSQRT); -DEFINE_ELEMENTWISE_UNARY_OP(Square, VSI_NN_OP_SQUARE); -DEFINE_ELEMENTWISE_UNARY_OP(LogicalNot, VSI_NN_OP_LOGICAL_NOT); +//DEFINE_ELEMENTWISE_UNARY_OP(Cos, VSI_NN_OP_COS) +DEFINE_ELEMENTWISE_UNARY_OP(Exp, VSI_NN_OP_EXP) +DEFINE_ELEMENTWISE_UNARY_OP(Log, VSI_NN_OP_LOG) +DEFINE_ELEMENTWISE_UNARY_OP(Sqrt, VSI_NN_OP_SQRT) +DEFINE_ELEMENTWISE_UNARY_OP(Rsqrt, VSI_NN_OP_RSQRT) +DEFINE_ELEMENTWISE_UNARY_OP(Square, VSI_NN_OP_SQUARE) +DEFINE_ELEMENTWISE_UNARY_OP(LogicalNot, VSI_NN_OP_LOGICAL_NOT) #undef DEFINE_ELEMENTWISE_UNARY_OP #define DEFINE_ELEMENTWISE_BINARY_OP(NAME, VSI_OP_CODE) \ NAME::NAME(Graph* graph) : Operation(graph, VSI_OP_CODE, 2, 1) {} -DEFINE_ELEMENTWISE_BINARY_OP(Minimum, VSI_NN_OP_MINIMUM); -DEFINE_ELEMENTWISE_BINARY_OP(Maximum, VSI_NN_OP_MAXIMUM); -DEFINE_ELEMENTWISE_BINARY_OP(Add, VSI_NN_OP_ADD); -DEFINE_ELEMENTWISE_BINARY_OP(Sub, VSI_NN_OP_SUBTRACT); -DEFINE_ELEMENTWISE_BINARY_OP(Div, VSI_NN_OP_DIVIDE); -DEFINE_ELEMENTWISE_BINARY_OP(Pow, VSI_NN_OP_POW); +DEFINE_ELEMENTWISE_BINARY_OP(Minimum, VSI_NN_OP_MINIMUM) +DEFINE_ELEMENTWISE_BINARY_OP(Maximum, VSI_NN_OP_MAXIMUM) +DEFINE_ELEMENTWISE_BINARY_OP(Add, VSI_NN_OP_ADD) +DEFINE_ELEMENTWISE_BINARY_OP(Sub, VSI_NN_OP_SUBTRACT) +DEFINE_ELEMENTWISE_BINARY_OP(Div, VSI_NN_OP_DIVIDE) +DEFINE_ELEMENTWISE_BINARY_OP(Pow, VSI_NN_OP_POW) #undef DEFINE_ELEMENTWISE_BINARY_OP -Multiply::Multiply(Graph* graph) : Operation(graph, VSI_NN_OP_MULTIPLY, 2, 1) { - this->impl()->node()->nn_param.multiply.scale = 1.0f; -}; +Multiply::Multiply(Graph* graph, float scale) + : Operation(graph, VSI_NN_OP_MULTIPLY, 2, 1) { + this->impl()->node()->nn_param.multiply.scale = scale; +} } // namespace ops } // namespace vx diff --git a/src/tim/vx/ops/simple_operations.cc b/src/tim/vx/ops/simple_operations.cc index 558dc33..235f20a 100644 --- a/src/tim/vx/ops/simple_operations.cc +++ b/src/tim/vx/ops/simple_operations.cc @@ -32,11 +32,11 @@ namespace ops { #define DEFINE_SIMPLE_OP(NAME, VSI_OP_CODE) \ NAME::NAME(Graph* graph) : Operation(graph, VSI_OP_CODE) {} -DEFINE_SIMPLE_OP(DataConvert, VSI_NN_OP_DATACONVERT); -DEFINE_SIMPLE_OP(Neg, VSI_NN_OP_NEG); +DEFINE_SIMPLE_OP(DataConvert, VSI_NN_OP_DATACONVERT) +DEFINE_SIMPLE_OP(Neg, VSI_NN_OP_NEG) #undef DEFINE_SIMPLE_OP } // namespace ops } // namespace vx -} // namespace tim \ No newline at end of file +} // namespace tim