diff --git a/tests/st/testcase/origin_models/caffe_add.caffemodel b/tests/st/testcase/origin_models/caffe_add.caffemodel new file mode 100644 index 0000000..34efbb3 Binary files /dev/null and b/tests/st/testcase/origin_models/caffe_add.caffemodel differ diff --git a/tests/st/testcase/origin_models/test.json b/tests/st/testcase/origin_models/test.json deleted file mode 100644 index d1dbcc4..0000000 --- a/tests/st/testcase/origin_models/test.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "node": [ - { - "attr": [ - { - "key": "dtype", - "value": { - "type": "DT_HALF" - } - }, - { - "key": "shape", - "value": { - "shape": { - "dim": [ - { - "size": 1 - } - ] - } - } - } - ], - "name": "Placeholder", - "op": "Placeholder" - }, - { - "attr": [ - { - "key": "dtype", - "value": { - "type": "DT_HALF" - } - }, - { - "key": "shape", - "value": { - "shape": { - "dim": [ - { - "size": 1 - } - ] - } - } - } - ], - "name": "Placeholder_1", - "op": "Placeholder" - }, - { - "attr": [ - { - "key": "T", - "value": { - "type": "DT_HALF" - } - } - ], - "input": [ - "Placeholder", - "Placeholder_1" - ], - "name": "add_test_1", - "op": "Add" - } - ], - "versions": { - "producer": 134 - } -} \ No newline at end of file diff --git a/tests/st/testcase/test_caffe_parser.cc b/tests/st/testcase/test_caffe_parser.cc index dc947e5..3f8dbb3 100644 --- a/tests/st/testcase/test_caffe_parser.cc +++ b/tests/st/testcase/test_caffe_parser.cc @@ -181,6 +181,14 @@ TEST_F(STestCaffeParser, caffe_parser_ParseParamsForDummyData_test) ret = caffe_parser.ParseParamsForInput(lay, op); EXPECT_EQ(ret, FAILED); + + domi::caffe::DummyDataParameter *dummyData = lay->mutable_dummy_data_param(); + ret = caffe_parser.ParseParamsForDummyData(lay, op); + EXPECT_EQ(ret, FAILED); + + domi::caffe::BlobShape* dummpShape = dummyData->add_shape(); + ret = caffe_parser.ParseParamsForDummyData(lay, op); + EXPECT_EQ(ret, SUCCESS); } TEST_F(STestCaffeParser, convertWeights_success) @@ -363,4 +371,117 @@ TEST_F(STestCaffeParser, CaffeWeightsParser_ParseOutputNodeTopInfo_test) EXPECT_EQ(ret, PARAM_INVALID); } +TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test) +{ + CaffeOpParser opParser; + 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); + + domi::caffe::LayerParameter *layer = new domi::caffe::LayerParameter(); + domi::caffe::BlobProto *blob = layer->add_blobs(); + blob->set_int8_data("10"); + std::string lay_name = "DATA"; + GeShape shape({1,1,3,4}); + Status ret = opParser.ParseWeightType(*blob, shape, 1, lay_name, weight); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test2) +{ + CaffeOpParser opParser; + 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); + + domi::caffe::LayerParameter *layer = new domi::caffe::LayerParameter(); + domi::caffe::BlobProto *blob = layer->add_blobs(); + blob->add_int32_data(10); + + std::string lay_name = "DATA"; + GeShape shape({1,1,3,4}); + Status ret = opParser.ParseWeightType(*blob, shape, 1, lay_name, weight); + EXPECT_EQ(ret, SUCCESS); + + ret = opParser.ParseWeightType(*blob, shape, 2, lay_name, weight); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test3) +{ + CaffeOpParser opParser; + 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); + + domi::caffe::LayerParameter *layer = new domi::caffe::LayerParameter(); + domi::caffe::BlobProto *blob = layer->add_blobs(); + double value = 2.0; + blob->add_double_data(value); + + std::string lay_name = "DATA"; + GeShape shape({1,1,3,4}); + Status ret = opParser.ParseWeightType(*blob, shape, 1, lay_name, weight); + EXPECT_EQ(ret, SUCCESS); + + ret = opParser.ParseWeightType(*blob, shape, 3, lay_name, weight); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test4) +{ + CaffeOpParser opParser; + 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); + + domi::caffe::LayerParameter *layer = new domi::caffe::LayerParameter(); + domi::caffe::BlobProto *blob = layer->add_blobs(); + blob->add_uint64_data(10); + + std::string lay_name = "DATA"; + GeShape shape({1,1,3,4}); + Status ret = opParser.ParseWeightType(*blob, shape, 1, lay_name, weight); + EXPECT_EQ(ret, SUCCESS); + + ret = opParser.ParseWeightType(*blob, shape, 2, lay_name, weight); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeOpParser_ParseWeightType_test5) +{ + CaffeOpParser opParser; + 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); + + domi::caffe::LayerParameter *layer = new domi::caffe::LayerParameter(); + domi::caffe::BlobProto *blob = layer->add_blobs(); + blob->add_data(10); + + std::string lay_name = "DATA"; + GeShape shape({1,1,3,4}); + Status ret = opParser.ParseWeightType(*blob, shape, 10, lay_name, weight); + EXPECT_EQ(ret, FAILED); +} + +TEST_F(STestCaffeParser, CaffeOpParser_ConvertShape_test) +{ + CaffeOpParser opParser; + domi::caffe::LayerParameter *layer = new domi::caffe::LayerParameter(); + domi::caffe::BlobProto *blob = layer->add_blobs(); + blob->set_num(1); + blob->set_channels(2); + blob->set_height(1); + blob->set_width(1); + std::vector shape; + + opParser.ConvertShape(*blob, shape); +} + } // namespace ge