!10212 [MSLITE][Develop] integrate addn ir

From: @sunsuodong
Reviewed-by: @hangangqiang,@zhang_xue_tong
Signed-off-by: @zhang_xue_tong
pull/10212/MERGE
mindspore-ci-bot 4 years ago committed by Gitee
commit 723a56f474

@ -869,7 +869,7 @@ table BatchToSpaceND {
}
table AddN {
N: int;
N: int; // DEPRECATED
}

@ -23,10 +23,6 @@
namespace mindspore {
namespace lite {
#ifdef PRIMITIVE_WRITEABLE
int AddN::GetN() const { return this->primitive_->value.AsAddN()->N; }
void AddN::SetN(int n) { this->primitive_->value.AsAddN()->N = n; }
int AddN::UnPackAttr(const Primitive &prim, const std::vector<AnfNodePtr> &inputs) {
if (this->primitive_ == nullptr) {
this->primitive_ = new (std::nothrow) schema::PrimitiveT;
@ -54,17 +50,11 @@ int AddN::UnPackAttr(const Primitive &prim, const std::vector<AnfNodePtr> &input
int AddN::UnPackToFlatBuilder(const schema::Primitive *primitive, flatbuffers::FlatBufferBuilder *fbb) {
MS_ASSERT(nullptr != primitive);
MS_ASSERT(nullptr != fbb);
auto attr = primitive->value_as_AddN();
if (attr == nullptr) {
MS_LOG(ERROR) << "value_as_AddN return nullptr";
return RET_ERROR;
}
auto val_offset = schema::CreateAddN(*fbb, attr->N());
auto val_offset = schema::CreateAddN(*fbb, 0);
auto prim_offset = schema::CreatePrimitive(*fbb, schema::PrimitiveType_AddN, val_offset.o);
fbb->Finish(prim_offset);
return RET_OK;
}
int AddN::GetN() const { return this->primitive_->value_as_AddN()->N(); }
PrimitiveC *AddNCreator(const schema::Primitive *primitive) { return PrimitiveC::NewPrimitiveC<AddN>(primitive); }
Registry AddNRegistry(schema::PrimitiveType_AddN, AddNCreator);

@ -31,13 +31,11 @@ class AddN : public PrimitiveC {
#ifdef PRIMITIVE_WRITEABLE
MS_DECLARE_PARENT(AddN, PrimitiveC);
explicit AddN(schema::PrimitiveT *primitive) : PrimitiveC(primitive) {}
void SetN(int n);
int UnPackAttr(const Primitive &prim, const std::vector<AnfNodePtr> &inputs) override;
#else
int UnPackToFlatBuilder(const schema::Primitive *primitive, flatbuffers::FlatBufferBuilder *fbb) override;
#endif
int InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite::Tensor *> outputs_) override;
int GetN() const;
};
} // namespace lite
} // namespace mindspore

@ -31,10 +31,4 @@ TEST_F(TestTfliteParserAddN, OpType) {
ASSERT_NE(meta_graph->nodes.front()->primitive.get(), nullptr);
ASSERT_EQ(meta_graph->nodes.front()->primitive->value.type, schema::PrimitiveType_AddN) << "wrong Op Type";
}
TEST_F(TestTfliteParserAddN, AttrValue) {
ASSERT_NE(meta_graph->nodes.front()->primitive->value.AsAddN(), nullptr);
auto val = meta_graph->nodes.front()->primitive->value.AsAddN();
ASSERT_EQ(val->N, 4);
}
} // namespace mindspore

Loading…
Cancel
Save