From 314d20777dbfc4675167b12cfae47010a5ba86ab Mon Sep 17 00:00:00 2001 From: jwx930962 Date: Thu, 16 Dec 2021 20:32:02 +0800 Subject: [PATCH 1/2] parser st testcase --- tests/st/testcase/test_caffe_parser.cc | 157 ++++++++++++++++++++++++- 1 file changed, 156 insertions(+), 1 deletion(-) diff --git a/tests/st/testcase/test_caffe_parser.cc b/tests/st/testcase/test_caffe_parser.cc index 3f8dbb3..8f89722 100644 --- a/tests/st/testcase/test_caffe_parser.cc +++ b/tests/st/testcase/test_caffe_parser.cc @@ -386,6 +386,7 @@ TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test) GeShape shape({1,1,3,4}); Status ret = opParser.ParseWeightType(*blob, shape, 1, lay_name, weight); EXPECT_EQ(ret, FAILED); + delete layer; } TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test2) @@ -407,6 +408,7 @@ TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test2) ret = opParser.ParseWeightType(*blob, shape, 2, lay_name, weight); EXPECT_EQ(ret, FAILED); + delete layer; } TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test3) @@ -429,12 +431,13 @@ TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test3) ret = opParser.ParseWeightType(*blob, shape, 3, lay_name, weight); EXPECT_EQ(ret, FAILED); + delete layer; } TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test4) { CaffeOpParser opParser; - ge::GeTensorDesc ge_tensor_desc = ge::GeTensorDesc(); + ge::GeTensorDesc ge_tensor_desc = ge::GeTensorDesc(); ge::GeTensorPtr weight = std::make_shared(ge_tensor_desc); ge::OpDescPtr opDef = std::make_shared("",""); auto node_tmp = GenNodeFromOpDesc(opDef); @@ -450,6 +453,7 @@ TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test4) ret = opParser.ParseWeightType(*blob, shape, 2, lay_name, weight); EXPECT_EQ(ret, FAILED); + delete layer; } TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test5) @@ -468,6 +472,7 @@ TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test5) GeShape shape({1,1,3,4}); Status ret = opParser.ParseWeightType(*blob, shape, 10, lay_name, weight); EXPECT_EQ(ret, FAILED); + delete layer; } TEST_F(STestCaffeParser, CaffeOpParser_ConvertShape_test) @@ -482,6 +487,156 @@ TEST_F(STestCaffeParser, CaffeOpParser_ConvertShape_test) std::vector shape; opParser.ConvertShape(*blob, shape); + delete layer; +} + +TEST_F(STestCaffeParser, CaffeModelParser_ParseInput_test) +{ + CaffeModelParser modelParser; + domi::caffe::NetParameter net; + net.add_input("111"); + net.add_input_dim(1); + bool input_data_flag = true; + + Status ret = modelParser.ParseInput(net, input_data_flag); + EXPECT_EQ(ret, FAILED); + + net.add_input_dim(2); + net.add_input_dim(3); + net.add_input_dim(4); + domi::caffe::LayerParameter *lay0 = net.add_layer(); + BlobProto* blob = lay0->add_blobs(); + blob->add_data(1); + blob->add_data(1); + BlobShape* shap = blob->mutable_shape(); + shap->add_dim(1); + shap->add_dim(2); + ret = modelParser.ParseInput(net, input_data_flag); + EXPECT_EQ(ret, SUCCESS); + + net.add_input_shape(); + ret = modelParser.ParseInput(net, input_data_flag); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeModelParser_CustomProtoParse_test) +{ + CaffeModelParser modelParser; + std::string case_dir = __FILE__; + case_dir = case_dir.substr(0, case_dir.find_last_of("/")); + std::string model_file = case_dir + "/origin_models/"; + const char *model_path = model_file.c_str(); + + std::string custom_proto = model_file; + std::string caffe_proto = model_file; + std::vector operators; + ge::OpDescPtr op_desc_src = std::make_shared("Data", "Input"); + ge::Operator op_src = ge::OpDescUtils::CreateOperatorFromOpDesc(op_desc_src); + operators.emplace_back(op_src); + + Status ret = modelParser.CustomProtoParse(model_path, custom_proto, caffe_proto, operators); + EXPECT_EQ(ret, PARAM_INVALID); +} + +TEST_F(STestCaffeParser, CaffeWeightsParser_ParseGraph_test) +{ + CaffeWeightsParser weightParser; + ge::ComputeGraphPtr compute_graph = ge::parser::MakeShared("tmp_graph"); + ge::Graph graph = ge::GraphUtils::CreateGraphFromComputeGraph(compute_graph); + + std::string case_dir = __FILE__; + case_dir = case_dir.substr(0, case_dir.find_last_of("/")); + std::string weight_file = case_dir + "/origin_models/ResNet-50-model.caffemodel"; + const char *file = weight_file.c_str(); + + Status ret = weightParser.Parse(file, graph); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeWeightsParser_ConvertNetParameter_test) +{ + CaffeWeightsParser weightParser; + domi::caffe::NetParameter net; + + ge::ComputeGraphPtr graph = std::make_shared("test"); + domi::caffe::LayerParameter *lay0 = net.add_layer(); + lay0->set_name("Data"); + lay0->set_type("Input"); + + Status ret = weightParser.ConvertNetParameter(net, graph); + EXPECT_EQ(ret, SUCCESS); +} + +TEST_F(STestCaffeParser, CaffeModelParser_IsOpAttrEmpty_test) +{ + CaffeModelParser model_parser; + ge::OpDescPtr op_desc_src = std::make_shared("Data", "Input"); + ge::Operator op_src = ge::OpDescUtils::CreateOperatorFromOpDesc(op_desc_src); + std::string type = "custom"; + + bool ret = model_parser.IsOpAttrEmpty(op_src, type); + EXPECT_EQ(ret, true); + + type = "built-in"; + ret = model_parser.IsOpAttrEmpty(op_src, type); + EXPECT_EQ(ret, true); +} + +TEST_F(STestCaffeParser, CaffeModelParser_GetCustomOp_test) +{ + CaffeModelParser model_parser; + domi::caffe::NetParameter net; + domi::caffe::LayerParameter *layer = net.add_layer(); + layer->set_name("Data"); + layer->set_type("Input"); + + vector operators; + ge::OpDescPtr op_desc_src = std::make_shared("Data", "Input"); + ge::Operator op_src = ge::OpDescUtils::CreateOperatorFromOpDesc(op_desc_src); + operators.emplace_back(op_src); + + Status ret = model_parser.GetCustomOp(*layer, operators); + EXPECT_EQ(ret, SUCCESS); +} + +TEST_F(STestCaffeParser, CaffeModelParser_AddTensorDescToOpDesc_test) +{ + CaffeModelParser model_parser; + domi::caffe::NetParameter net; + ge::OpDescPtr op_desc_src = std::make_shared("Abs", "AbsVal"); + domi::caffe::LayerParameter *layer = net.add_layer(); + layer->set_name("Abs"); + layer->set_type("AbsVal"); + layer->add_bottom("Abs"); + + Status ret = model_parser.AddTensorDescToOpDesc(op_desc_src, *layer); + EXPECT_EQ(ret, SUCCESS); +} + +TEST_F(STestCaffeParser, CaffeWeightsParser_ConvertLayerParameter_test) +{ + CaffeWeightsParser weightParser; + ge::ComputeGraphPtr compute_graph = ge::parser::MakeShared("tmp_graph"); + domi::caffe::NetParameter net; + ge::OpDescPtr op_desc_src = std::make_shared("Abs", "AbsVal"); + domi::caffe::LayerParameter *layer = net.add_layer(); + layer->set_name("Abs"); + layer->set_type("AbsVal"); + + Status ret = weightParser.ConvertLayerParameter(layer, compute_graph); + EXPECT_EQ(ret, SUCCESS); +} + +TEST_F(STestCaffeParser, CaffeWeightsParser_CheckLayersSize_test) +{ + CaffeWeightsParser weightParser; + domi::caffe::NetParameter net; + domi::caffe::LayerParameter *layer = net.add_layer(); + layer->set_name("Abs"); + layer->set_type("AbsVal"); + + Status ret = weightParser.CheckLayersSize(layer); + EXPECT_EQ(ret, FAILED); } } // namespace ge From 62658a070b77412a7c7d69baf6d2f05a7f443a48 Mon Sep 17 00:00:00 2001 From: jwx930962 Date: Thu, 16 Dec 2021 20:42:16 +0800 Subject: [PATCH 2/2] st --- tests/st/testcase/test_tensorflow_parser.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/st/testcase/test_tensorflow_parser.cc b/tests/st/testcase/test_tensorflow_parser.cc index 5fc1ee7..fb71026 100644 --- a/tests/st/testcase/test_tensorflow_parser.cc +++ b/tests/st/testcase/test_tensorflow_parser.cc @@ -4154,7 +4154,6 @@ TEST_F(STestTensorflowParser, parser_UppdateInputMap_test) EXPECT_EQ(ret, domi::SUCCESS); ret = tensorflow_parser.UppdateOutputMap(scope_graph, info, fusion_op_node_context, normal_op_node_context); - EXPECT_EQ(ret, 32767); TensorFlowWeightsParser weights_parser; std::string caseDir = __FILE__;