| @@ -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::GeTensor>(ge_tensor_desc); | |||
| ge::OpDescPtr opDef = std::make_shared<ge::OpDesc>("",""); | |||
| 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<int64_t> 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<ge::Operator> operators; | |||
| ge::OpDescPtr op_desc_src = std::make_shared<ge::OpDesc>("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<ge::ComputeGraph>("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<ComputeGraph>("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<ge::OpDesc>("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<ge::Operator> operators; | |||
| ge::OpDescPtr op_desc_src = std::make_shared<ge::OpDesc>("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<ge::OpDesc>("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<ge::ComputeGraph>("tmp_graph"); | |||
| domi::caffe::NetParameter net; | |||
| ge::OpDescPtr op_desc_src = std::make_shared<ge::OpDesc>("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 | |||