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:
parent
07fc3b9914
commit
165b3fcf8f
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue