Minor clean up

Fix typos and move functions into appropriate files

Signed-off-by: Kainan Cha <kainan.zha@verisilicon.com>
This commit is contained in:
Kainan Cha 2021-04-07 13:03:56 +08:00
parent 07fc3b9914
commit 165b3fcf8f
6 changed files with 48 additions and 55 deletions

View File

@ -29,36 +29,25 @@ namespace tim {
namespace vx { namespace vx {
namespace ops { namespace ops {
#define DELCATE_ELEMENTWISE_OP(NAME) \ #define DECLARE_ELEMENTWISE_OP(NAME) \
class NAME : public Operation { \ class NAME : public Operation { \
public: \ public: \
NAME(Graph* graph); \ NAME(Graph* graph); \
}; };
DELCATE_ELEMENTWISE_OP(Abs) DECLARE_ELEMENTWISE_OP(Minimum)
DELCATE_ELEMENTWISE_OP(Sin) DECLARE_ELEMENTWISE_OP(Maximum)
// TODO(jiangbo): enable it when internal ops supports `Cos` DECLARE_ELEMENTWISE_OP(Add)
//DELCATE_ELEMENTWISE_OP(Cos) DECLARE_ELEMENTWISE_OP(Sub)
DELCATE_ELEMENTWISE_OP(Exp) DECLARE_ELEMENTWISE_OP(Div)
DELCATE_ELEMENTWISE_OP(Log) DECLARE_ELEMENTWISE_OP(Pow)
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(Pow)
class Multiply : public Operation { class Multiply : public Operation {
public: public:
Multiply(Graph* graph, float scale = 1.0f); Multiply(Graph* graph, float scale = 1.0f);
}; };
#undef DELCATE_ELEMENTWISE_OP #undef DECLARE_ELEMENTWISE_OP
} // namespace ops } // namespace ops
} // namespace vx } // namespace vx

View File

@ -29,16 +29,16 @@ namespace tim {
namespace vx { namespace vx {
namespace ops { namespace ops {
#define DELCATE_LOGICAL_OP(NAME) \ #define DECLARE_LOGICAL_OP(NAME) \
class Logical##NAME : public Operation { \ class Logical##NAME : public Operation { \
public: \ public: \
Logical##NAME(Graph* graph); \ Logical##NAME(Graph* graph); \
}; };
DELCATE_LOGICAL_OP(And); DECLARE_LOGICAL_OP(And);
DELCATE_LOGICAL_OP(Or); DECLARE_LOGICAL_OP(Or);
#undef DELCATE_LOGICAL_OP #undef DECLARE_LOGICAL_OP
} // namespace ops } // namespace ops
} // namespace vx } // namespace vx

View File

@ -29,7 +29,7 @@ namespace tim {
namespace vx { namespace vx {
namespace ops { namespace ops {
#define DELCATE_REDUCE_OP(NAME) \ #define DECLARE_REDUCE_OP(NAME) \
class Reduce##NAME : public Operation { \ class Reduce##NAME : public Operation { \
public: \ public: \
Reduce##NAME(Graph* graph, const std::vector<int32_t>& axis, \ Reduce##NAME(Graph* graph, const std::vector<int32_t>& axis, \
@ -40,13 +40,13 @@ namespace ops {
bool keep_dims_; \ bool keep_dims_; \
}; };
DELCATE_REDUCE_OP(Min); DECLARE_REDUCE_OP(Min);
DELCATE_REDUCE_OP(Max); DECLARE_REDUCE_OP(Max);
DELCATE_REDUCE_OP(Any); DECLARE_REDUCE_OP(Any);
DELCATE_REDUCE_OP(Prod); DECLARE_REDUCE_OP(Prod);
DELCATE_REDUCE_OP(Mean); DECLARE_REDUCE_OP(Mean);
#undef DELCATE_REDUCE_OP #undef DECLARE_REDUCE_OP
} // namespace ops } // namespace ops
} // namespace vx } // namespace vx

View File

@ -37,6 +37,16 @@ namespace ops {
DECLARE_SIMPLE_OP(DataConvert) DECLARE_SIMPLE_OP(DataConvert)
DECLARE_SIMPLE_OP(Neg) DECLARE_SIMPLE_OP(Neg)
DECLARE_SIMPLE_OP(Abs)
DECLARE_SIMPLE_OP(Sin)
// TODO(jiangbo): enable it when internal ops supports `Cos`
//DECLARE_SIMPLE_OP(Cos)
DECLARE_SIMPLE_OP(Exp)
DECLARE_SIMPLE_OP(Log)
DECLARE_SIMPLE_OP(Sqrt)
DECLARE_SIMPLE_OP(Rsqrt)
DECLARE_SIMPLE_OP(Square)
DECLARE_SIMPLE_OP(LogicalNot)
#undef DECLARE_SIMPLE_OP #undef DECLARE_SIMPLE_OP

View File

@ -30,33 +30,17 @@ namespace tim {
namespace vx { namespace vx {
namespace ops { namespace ops {
#define DEFINE_ELEMENTWISE_UNARY_OP(NAME, VSI_OP_CODE) \ #define DEFINE_ELEMENTWISE_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)
// 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)
#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) {} NAME::NAME(Graph* graph) : Operation(graph, VSI_OP_CODE, 2, 1) {}
DEFINE_ELEMENTWISE_BINARY_OP(Minimum, VSI_NN_OP_MINIMUM) DEFINE_ELEMENTWISE_OP(Minimum, VSI_NN_OP_MINIMUM)
DEFINE_ELEMENTWISE_BINARY_OP(Maximum, VSI_NN_OP_MAXIMUM) DEFINE_ELEMENTWISE_OP(Maximum, VSI_NN_OP_MAXIMUM)
DEFINE_ELEMENTWISE_BINARY_OP(Add, VSI_NN_OP_ADD) DEFINE_ELEMENTWISE_OP(Add, VSI_NN_OP_ADD)
DEFINE_ELEMENTWISE_BINARY_OP(Sub, VSI_NN_OP_SUBTRACT) DEFINE_ELEMENTWISE_OP(Sub, VSI_NN_OP_SUBTRACT)
DEFINE_ELEMENTWISE_BINARY_OP(Div, VSI_NN_OP_DIVIDE) DEFINE_ELEMENTWISE_OP(Div, VSI_NN_OP_DIVIDE)
DEFINE_ELEMENTWISE_BINARY_OP(Pow, VSI_NN_OP_POW) DEFINE_ELEMENTWISE_OP(Pow, VSI_NN_OP_POW)
#undef DEFINE_ELEMENTWISE_BINARY_OP #undef DEFINE_ELEMENTWISE_OP
Multiply::Multiply(Graph* graph, float scale) Multiply::Multiply(Graph* graph, float scale)
: Operation(graph, VSI_NN_OP_MULTIPLY, 2, 1) { : Operation(graph, VSI_NN_OP_MULTIPLY, 2, 1) {

View File

@ -34,6 +34,16 @@ namespace ops {
DEFINE_SIMPLE_OP(DataConvert, VSI_NN_OP_DATACONVERT) DEFINE_SIMPLE_OP(DataConvert, VSI_NN_OP_DATACONVERT)
DEFINE_SIMPLE_OP(Neg, VSI_NN_OP_NEG) DEFINE_SIMPLE_OP(Neg, VSI_NN_OP_NEG)
DEFINE_SIMPLE_OP(Abs, VSI_NN_OP_ABS)
DEFINE_SIMPLE_OP(Sin, VSI_NN_OP_SIN)
// TODO(jiangbo): enable it when ovxlib supports `Cos`
//DEFINE_SIMPLE_OP(Cos, VSI_NN_OP_COS)
DEFINE_SIMPLE_OP(Exp, VSI_NN_OP_EXP)
DEFINE_SIMPLE_OP(Log, VSI_NN_OP_LOG)
DEFINE_SIMPLE_OP(Sqrt, VSI_NN_OP_SQRT)
DEFINE_SIMPLE_OP(Rsqrt, VSI_NN_OP_RSQRT)
DEFINE_SIMPLE_OP(Square, VSI_NN_OP_SQUARE)
DEFINE_SIMPLE_OP(LogicalNot, VSI_NN_OP_LOGICAL_NOT)
#undef DEFINE_SIMPLE_OP #undef DEFINE_SIMPLE_OP