Browse Source

remove while and if

tags/v1.2.0-rc1
liuyu 4 years ago
parent
commit
a2f684ea99
4 changed files with 40 additions and 2 deletions
  1. +8
    -0
      mindspore/lite/src/ops/ops_def.cc
  2. +29
    -0
      mindspore/lite/src/ops/ops_def.h
  3. +1
    -1
      mindspore/lite/src/ops/ops_utils.cc
  4. +2
    -1
      mindspore/lite/tools/optimizer/graph/infershape_pass.cc

+ 8
- 0
mindspore/lite/src/ops/ops_def.cc View File

@@ -1006,6 +1006,11 @@ OP_SCHEMA_DEF(Unstack)
OP_ATTR_WITH_VALUE(axis, long, 0) OP_ATTR_WITH_VALUE(axis, long, 0)
OP_SCHEMA_DEF_END(Unstack) OP_SCHEMA_DEF_END(Unstack)


OP_SCHEMA_DEF_ONLY(While)
OP_ATTR_ONLY(cond_subgraph_index, long)
OP_ATTR_ONLY(body_subgraph_index, long)
OP_SCHEMA_DEF_ONLY_END(While)

OP_SCHEMA_DEF(Where) OP_SCHEMA_DEF(Where)
OP_SCHEMA_DEF_END(Where) OP_SCHEMA_DEF_END(Where)


@@ -1015,6 +1020,9 @@ OP_SCHEMA_DEF_END(ZerosLike)
OP_SCHEMA_DEF(Select) OP_SCHEMA_DEF(Select)
OP_SCHEMA_DEF_END(Select) OP_SCHEMA_DEF_END(Select)


OP_SCHEMA_DEF_ONLY(If)
OP_SCHEMA_DEF_ONLY_END(If)

OP_SCHEMA_DEF(GRU) OP_SCHEMA_DEF(GRU)
OP_ATTR_WITH_VALUE(bidirectional, bool, false) OP_ATTR_WITH_VALUE(bidirectional, bool, false)
OP_SCHEMA_DEF_END(GRU) OP_SCHEMA_DEF_END(GRU)


+ 29
- 0
mindspore/lite/src/ops/ops_def.h View File

@@ -154,4 +154,33 @@
#else #else
#define OP_SCHEMA_DEF_END(OP) #define OP_SCHEMA_DEF_END(OP)
#endif #endif

#ifdef GEN_SCHEMA_DEF
#define OP_SCHEMA_DEF_ONLY(OP) \
namespace mindspore::lite::ops { \
std::string Gen##OP##Def() { \
std::string op_def = "table "; \
op_def.append(#OP); \
op_def.append(" {\n");
#else
#define OP_SCHEMA_DEF_ONLY(OP)
#endif

#ifdef GEN_SCHEMA_DEF
#define OP_ATTR_ONLY(key, type) op_def.append(" ").append(#key).append(": ").append(#type).append(";\n");
#else
#define OP_ATTR_ONLY(key, type)
#endif

#ifdef GEN_SCHEMA_DEF
#define OP_SCHEMA_DEF_ONLY_END(OP) \
op_def.append("}\n\n"); \
return op_def; \
} \
SchemaOpRegister g_schema_op_##OP(Gen##OP##Def); \
} // namespace mindspore::lite::ops
#else
#define OP_SCHEMA_DEF_ONLY_END(OP)
#endif

#endif // MINDSPORE_LITE_SRC_OPS_OPS_DEF_H_ #endif // MINDSPORE_LITE_SRC_OPS_OPS_DEF_H_

+ 1
- 1
mindspore/lite/src/ops/ops_utils.cc View File

@@ -39,7 +39,7 @@ schema::PrimitiveT *GetPrimitiveT(const AnfNodePtr &node) {
if (creator != nullptr) { if (creator != nullptr) {
return creator(node); return creator(node);
} else { } else {
MS_LOG(ERROR) << "can not find MSOpsRegistry for op: " << prim->name();
MS_LOG(WARNING) << "can not find MSOpsRegistry for op: " << prim->name();
return nullptr; return nullptr;
} }
} }


+ 2
- 1
mindspore/lite/tools/optimizer/graph/infershape_pass.cc View File

@@ -42,7 +42,8 @@ ParamValueLitePtr NewParamValueLitePtr(lite::Tensor *tensor) {
bool IsSpecialType(const CNodePtr &cnode) { bool IsSpecialType(const CNodePtr &cnode) {
if (CheckPrimitiveType(cnode, prim::kPrimTupleGetItem) || CheckPrimitiveType(cnode, prim::kPrimDepend) || if (CheckPrimitiveType(cnode, prim::kPrimTupleGetItem) || CheckPrimitiveType(cnode, prim::kPrimDepend) ||
CheckPrimitiveType(cnode, prim::kPrimControlDepend) || CheckPrimitiveType(cnode, kPrimMakeTuple) || CheckPrimitiveType(cnode, prim::kPrimControlDepend) || CheckPrimitiveType(cnode, kPrimMakeTuple) ||
CheckPrimitiveType(cnode, kPrimReturn)) {
CheckPrimitiveType(cnode, kPrimReturn) || CheckPrimitiveType(cnode, std::make_shared<Primitive>("While")) ||
CheckPrimitiveType(cnode, std::make_shared<Primitive>("If"))) {
return true; return true;
} }
return false; return false;


Loading…
Cancel
Save