From 8ca55d3cb9f7f9fd6ea03b2cba82831bc5d28450 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 11 Jan 2021 10:40:57 +0800 Subject: [PATCH 01/16] modified: ge/graph/load/new_model_manager/model_manager.cc modified: ge/graph/preprocess/graph_preprocess.cc --- ge/graph/load/new_model_manager/model_manager.cc | 1 + ge/graph/preprocess/graph_preprocess.cc | 15 --------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/ge/graph/load/new_model_manager/model_manager.cc b/ge/graph/load/new_model_manager/model_manager.cc index e73c0a36..e81e6430 100755 --- a/ge/graph/load/new_model_manager/model_manager.cc +++ b/ge/graph/load/new_model_manager/model_manager.cc @@ -527,6 +527,7 @@ Status ModelManager::DataInputTensor(uint32_t model_id, const std::vectorGetName().c_str(), dynamic_shape_size); - ge::TensorUtils::SetSize(desc, dynamic_shape_size); graphStatus graph_ret = op->UpdateInputDesc(0, desc); GE_CHK_STATUS_RET(graph_ret, "UpdateInputDesc fail, graph ret: %u", graph_ret); graph_ret = op->UpdateOutputDesc(0, desc); From fc022ea9be56387fba99aa38caa7a33d1fa271a1 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 11 Jan 2021 21:43:32 +0800 Subject: [PATCH 02/16] modified: ge/graph/preprocess/graph_preprocess.cc --- ge/graph/preprocess/graph_preprocess.cc | 26 +++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/ge/graph/preprocess/graph_preprocess.cc b/ge/graph/preprocess/graph_preprocess.cc index 95f67a2b..f0a8c1f3 100644 --- a/ge/graph/preprocess/graph_preprocess.cc +++ b/ge/graph/preprocess/graph_preprocess.cc @@ -935,7 +935,10 @@ Status ParseDynamicInputShapeRange(const std::string &shape_range, return PARAM_INVALID; } for (auto &shape_range_str : shape_range_set) { - if (shape_range_str.empty()) { + if (shape_range_str.size() < 3) { + // shape_range_str should be "[2~3,1" + // or ",[2~3,1". because we should trim '[' or ',[' + // so shape_range_str.size() < 3 is invalid continue; } // trim start bytes, after that, single input should be "1~20,3,3~6,-1" @@ -1017,16 +1020,27 @@ Status UpdateDynamicInputShapeRange(const ge::GeAttrValue::INT index, return PARAM_INVALID; } for (size_t i = 0; i < origin_shape.GetDimNum(); ++i) { - if (current_shape_range_vec.at(i).first == current_shape_range_vec.at(i).second) { + auto curr_dim = origin_shape.GetDim(i); + auto left_range = current_shape_range_vec.at(i).first; + auto right_range = current_shape_range_vec.at(i).second; + if (left_range == right_range) { // given shape_range is known dim, check is same as origin or not - if (origin_shape.GetDim(i) != current_shape_range_vec.at(i).first) { + if (curr_dim != left_range) { GELOGE(PARAM_INVALID, "Given shape range is %ld, current dim shape is %ld, not match.Pleace Check.", - current_shape_range_vec.at(i).first, origin_shape.GetDim(i)); + left_range, curr_dim); return PARAM_INVALID; } - origin_shape.SetDim(i, current_shape_range_vec.at(i).first); + origin_shape.SetDim(i, left_range); } else { - origin_shape.SetDim(i, -1); + // given shape_range is fix range, check input_shape is in this range or not + if (right_range != UNKNOWN_DIM) { + if ((curr_dim < left_range) || (curr_dim > right_range)) { + GELOGE(PARAM_INVALID, "Given shape range is [%ld~%ld], current dim shape is %ld, out of range.Pleace Check.", + left_range, right_range, curr_dim); + return PARAM_INVALID; + } + } + origin_shape.SetDim(i, UNKNOWN_DIM); } } desc.SetShape(origin_shape); From 51d703ba15930817529a84ef074e00546e9c2a9d Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 11 Jan 2021 22:16:13 +0800 Subject: [PATCH 03/16] modified: ge/graph/load/new_model_manager/model_manager.cc --- ge/graph/load/new_model_manager/model_manager.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ge/graph/load/new_model_manager/model_manager.cc b/ge/graph/load/new_model_manager/model_manager.cc index e81e6430..840ecae1 100755 --- a/ge/graph/load/new_model_manager/model_manager.cc +++ b/ge/graph/load/new_model_manager/model_manager.cc @@ -527,7 +527,7 @@ Status ModelManager::DataInputTensor(uint32_t model_id, const std::vector Date: Fri, 15 Jan 2021 14:20:48 +0800 Subject: [PATCH 04/16] modified: ge/graph/preprocess/graph_preprocess.cc --- ge/graph/preprocess/graph_preprocess.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ge/graph/preprocess/graph_preprocess.cc b/ge/graph/preprocess/graph_preprocess.cc index f0a8c1f3..19f5ef54 100644 --- a/ge/graph/preprocess/graph_preprocess.cc +++ b/ge/graph/preprocess/graph_preprocess.cc @@ -959,7 +959,7 @@ Status ParseDynamicInputShapeRange(const std::string &shape_range, // fix dim auto range_value = StringToLongNoThrow(range_pair_set.at(0).c_str()); if (range_value < 0) { - range_pair = std::make_pair(0, range_value); + range_pair = std::make_pair(1, range_value); } else { range_pair = std::make_pair(range_value, range_value); } From 78d1dc4e9c7968f9dc416b4a9b1960ba7fb07ac1 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 10:54:11 +0800 Subject: [PATCH 05/16] modified: tests/ut/ge/CMakeLists.txt new file: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/CMakeLists.txt | 3 +- .../preprocess/graph_preprocess_unittest.cc | 77 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc diff --git a/tests/ut/ge/CMakeLists.txt b/tests/ut/ge/CMakeLists.txt index 2ebe9fc9..8b9bb188 100755 --- a/tests/ut/ge/CMakeLists.txt +++ b/tests/ut/ge/CMakeLists.txt @@ -36,7 +36,7 @@ set(PROTO_LIST "${GE_CODE_DIR}/metadef/proto/proto_inner/ge_onnx.proto" ) -protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) +protobuf_generate((ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) # include directories include_directories(${CMAKE_CURRENT_LIST_DIR}) @@ -694,6 +694,7 @@ set(MULTI_PARTS_TEST_FILES "graph/variable_accelerate_ctrl_unittest.cc" "graph/build/logical_stream_allocator_unittest.cc" "graph/build/mem_assigner_unittest.cc" + "graph/preprocess/graph_preprocess_unittest.cc" "session/omg_omg_unittest.cc" ) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc new file mode 100644 index 00000000..dae20f89 --- /dev/null +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -0,0 +1,77 @@ +/** + * Copyright 2019-2020 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include "common/ge_inner_error_codes.h" +#include "common/types.h" +#include "common/util.h" +#include "passes/graph_builder_utils.h" + +#define private public +#define protected public +#include "graph/preprocess/graph_preprocess.h" +#include "ge/ge_api.h" +#undef private +#undef protected + +using namespace std; +namespace ge { +class UtestGraphPreproces : public testing::Test { + protected: + void SetUp() { + map options; + ge::Status ret = ge::GEInitialize(); + EXPECT_EQ(ret, ge::SUCCESS); + } + void TearDown() { + ge::Status ret = ge::GEFinalize(); + EXPECT_EQ(ret, ge::SUCCESS); + } +}; + +ComputeGraphPtr BuildGraph1(){ + auto builder = ut::GraphBuilder("g1"); + auto data1 = builder.AddNode("data1",DATA,0,1); + return builder.GetGraph(); +} + +TEST_F(UtestGraphPreproces, test_dynamic_input_shape_parse) { + ge::GraphPrepare graph_prepare; + graph_prepare.compute_graph_ = BuildGraph1(); + // prepare user_input & graph option + ge::GeTensorDesc tensor1; + tensor.SetFormat(ge::FORMAT_NCHW); + tensor.SetShape(ge::GeShape({3, 12, 5, 5})); + tensor.SetDataType(ge::DT_FLOAT); + GeTensor input1 = std::make_shared(tensor1); + std::vector user_input = {input1}; + std::map graph_option = {{"ge.exec.dynamicGraphExecuteMode","dynamic_execute"}, + {"ge.exec.dataInputsShapeRange","[3,1~20,2~10,5]"}}; + auto ret = graph_prepare.UpdateInput(input1, graph_option); + EXPECT_EQ(ret, ge::SUCCESS); + // check data node output shape_range and shape + auto data_node = graph_prepare.compute_graph_->FindNode("data1"); + auto data_output_desc = data_node->GetOpDesc()->GetOutputDescPtr(0); + vector expect_shape = {3,-1,-1,5}; + auto result_shape = data_output_desc->GetShape(); + EXPECT_EQ(result_shape.GetDimNum(), expect_shape.size()); + for(size_t i =0; i< expect_shape.size(); ++i){ + EXPECT_EQ(result_shape.GetDim(i), expect_shape.at(i)); + } +} +} \ No newline at end of file From 6e68533b57d6222346d6c5c8ec014dd73bf72f70 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 10:55:09 +0800 Subject: [PATCH 06/16] modified: tests/ut/ge/CMakeLists.txt --- tests/ut/ge/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/CMakeLists.txt b/tests/ut/ge/CMakeLists.txt index 8b9bb188..9d14461e 100755 --- a/tests/ut/ge/CMakeLists.txt +++ b/tests/ut/ge/CMakeLists.txt @@ -36,7 +36,7 @@ set(PROTO_LIST "${GE_CODE_DIR}/metadef/proto/proto_inner/ge_onnx.proto" ) -protobuf_generate((ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) +protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) # include directories include_directories(${CMAKE_CURRENT_LIST_DIR}) From c9e2fe439bcfaef9d458d17ab61df689dfdb1987 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 13:51:33 +0800 Subject: [PATCH 07/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index dae20f89..08e16612 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -20,7 +20,7 @@ #include "common/ge_inner_error_codes.h" #include "common/types.h" #include "common/util.h" -#include "passes/graph_builder_utils.h" +#include "graph/passes/graph_builder_utils.h" #define private public #define protected public From ddc9dc92d6ad78d3385c4dfb1b8af9371874e123 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 13:53:52 +0800 Subject: [PATCH 08/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- .../ge/graph/preprocess/graph_preprocess_unittest.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index 08e16612..c10c5c4d 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -35,7 +35,7 @@ class UtestGraphPreproces : public testing::Test { protected: void SetUp() { map options; - ge::Status ret = ge::GEInitialize(); + ge::Status ret = ge::GEInitialize(options); EXPECT_EQ(ret, ge::SUCCESS); } void TearDown() { @@ -55,14 +55,14 @@ TEST_F(UtestGraphPreproces, test_dynamic_input_shape_parse) { graph_prepare.compute_graph_ = BuildGraph1(); // prepare user_input & graph option ge::GeTensorDesc tensor1; - tensor.SetFormat(ge::FORMAT_NCHW); - tensor.SetShape(ge::GeShape({3, 12, 5, 5})); - tensor.SetDataType(ge::DT_FLOAT); + tensor1.SetFormat(ge::FORMAT_NCHW); + tensor1.SetShape(ge::GeShape({3, 12, 5, 5})); + tensor1.SetDataType(ge::DT_FLOAT); GeTensor input1 = std::make_shared(tensor1); std::vector user_input = {input1}; std::map graph_option = {{"ge.exec.dynamicGraphExecuteMode","dynamic_execute"}, {"ge.exec.dataInputsShapeRange","[3,1~20,2~10,5]"}}; - auto ret = graph_prepare.UpdateInput(input1, graph_option); + auto ret = graph_prepare.UpdateInput(user_input, graph_option); EXPECT_EQ(ret, ge::SUCCESS); // check data node output shape_range and shape auto data_node = graph_prepare.compute_graph_->FindNode("data1"); From 14406b7b362eae16f851fe6eccdc6d6528b9127c Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 13:55:19 +0800 Subject: [PATCH 09/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index c10c5c4d..7874fbe3 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -58,7 +58,7 @@ TEST_F(UtestGraphPreproces, test_dynamic_input_shape_parse) { tensor1.SetFormat(ge::FORMAT_NCHW); tensor1.SetShape(ge::GeShape({3, 12, 5, 5})); tensor1.SetDataType(ge::DT_FLOAT); - GeTensor input1 = std::make_shared(tensor1); + GeTensor input1 = new GeTensor(tensor1); std::vector user_input = {input1}; std::map graph_option = {{"ge.exec.dynamicGraphExecuteMode","dynamic_execute"}, {"ge.exec.dataInputsShapeRange","[3,1~20,2~10,5]"}}; From 1c5343501b0ee91273a50a6dcd8b4d24ce685e18 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 13:56:54 +0800 Subject: [PATCH 10/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index 7874fbe3..ba3ec63d 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -58,7 +58,7 @@ TEST_F(UtestGraphPreproces, test_dynamic_input_shape_parse) { tensor1.SetFormat(ge::FORMAT_NCHW); tensor1.SetShape(ge::GeShape({3, 12, 5, 5})); tensor1.SetDataType(ge::DT_FLOAT); - GeTensor input1 = new GeTensor(tensor1); + GeTensor input1(tensor1); std::vector user_input = {input1}; std::map graph_option = {{"ge.exec.dynamicGraphExecuteMode","dynamic_execute"}, {"ge.exec.dataInputsShapeRange","[3,1~20,2~10,5]"}}; From 5e07f9f0cb9f86c1936a2a3305a3d3679ccdafb0 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 13:57:57 +0800 Subject: [PATCH 11/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index ba3ec63d..e8175f39 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -34,7 +34,7 @@ namespace ge { class UtestGraphPreproces : public testing::Test { protected: void SetUp() { - map options; + map options; ge::Status ret = ge::GEInitialize(options); EXPECT_EQ(ret, ge::SUCCESS); } From 466bdc436a772070be91084f5c193b2b7a2d7c64 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 17:26:52 +0800 Subject: [PATCH 12/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- .../ge/graph/preprocess/graph_preprocess_unittest.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index e8175f39..068ef5f4 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -21,6 +21,7 @@ #include "common/types.h" #include "common/util.h" #include "graph/passes/graph_builder_utils.h" +#include "graph/utils/attr_utils.h" #define private public #define protected public @@ -34,19 +35,17 @@ namespace ge { class UtestGraphPreproces : public testing::Test { protected: void SetUp() { - map options; - ge::Status ret = ge::GEInitialize(options); - EXPECT_EQ(ret, ge::SUCCESS); } void TearDown() { - ge::Status ret = ge::GEFinalize(); - EXPECT_EQ(ret, ge::SUCCESS); } }; ComputeGraphPtr BuildGraph1(){ auto builder = ut::GraphBuilder("g1"); auto data1 = builder.AddNode("data1",DATA,0,1); + auto data_opdesc = data1->GetOpDesc(); + AttrUtils::SetInt(data_opdesc, ATTR_NAME_INDEX, 0); + data1->UpdateOpDesc(data_opdesc); return builder.GetGraph(); } @@ -66,6 +65,7 @@ TEST_F(UtestGraphPreproces, test_dynamic_input_shape_parse) { EXPECT_EQ(ret, ge::SUCCESS); // check data node output shape_range and shape auto data_node = graph_prepare.compute_graph_->FindNode("data1"); +) auto data_output_desc = data_node->GetOpDesc()->GetOutputDescPtr(0); vector expect_shape = {3,-1,-1,5}; auto result_shape = data_output_desc->GetShape(); From 1690fa5c70d17e404e2571bb62fa4a715fc92dba Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 17:29:31 +0800 Subject: [PATCH 13/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index 068ef5f4..d5229b2c 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -22,6 +22,7 @@ #include "common/util.h" #include "graph/passes/graph_builder_utils.h" #include "graph/utils/attr_utils.h" +#include "graph/debug/ge_attr_define.h" #define private public #define protected public @@ -65,7 +66,6 @@ TEST_F(UtestGraphPreproces, test_dynamic_input_shape_parse) { EXPECT_EQ(ret, ge::SUCCESS); // check data node output shape_range and shape auto data_node = graph_prepare.compute_graph_->FindNode("data1"); -) auto data_output_desc = data_node->GetOpDesc()->GetOutputDescPtr(0); vector expect_shape = {3,-1,-1,5}; auto result_shape = data_output_desc->GetShape(); From e90ddfe14ed6c5cf1f3775933996f9db92291d77 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Mon, 18 Jan 2021 20:08:11 +0800 Subject: [PATCH 14/16] modified: tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc --- tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc index d5229b2c..2f149761 100644 --- a/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc +++ b/tests/ut/ge/graph/preprocess/graph_preprocess_unittest.cc @@ -43,7 +43,7 @@ class UtestGraphPreproces : public testing::Test { ComputeGraphPtr BuildGraph1(){ auto builder = ut::GraphBuilder("g1"); - auto data1 = builder.AddNode("data1",DATA,0,1); + auto data1 = builder.AddNode("data1",DATA,1,1); auto data_opdesc = data1->GetOpDesc(); AttrUtils::SetInt(data_opdesc, ATTR_NAME_INDEX, 0); data1->UpdateOpDesc(data_opdesc); From 2b174a623141289db53e2d244c4297f369f9a9df Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Tue, 19 Jan 2021 15:35:13 +0800 Subject: [PATCH 15/16] modified: tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc --- .../new_model_manager_model_manager_unittest.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc b/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc index 1c6e5a10..4096afa5 100644 --- a/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc +++ b/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc @@ -348,5 +348,18 @@ TEST_F(UtestModelManagerModelManager, destroy_aicpu_session) { manager.sess_ids_.insert(0); manager.DestroyAicpuSession(0); } +// test DataInputTensor +TEST_F(UtestModelManagerModelManager, test_data_input_tensor) { + ModelManager mm; + mm.model_map_={{1,make_shared()}}; + mm.hybrid_model_map_={{1,make_shared()}}; + ge::ModelData data; + data.model_len = 10; + uint32_t model_id = 1; + InputTensorInfo input_tensor = new InputTensorInfo(); + std::vector inputs = {input_tensor}; + auto ret = mm.DataInputTensor(1,inputs); + EXPECT_EQ(ge::SUCCESS, ret); +} } // namespace ge From 730824040ce9a0a9e08b9b4890b4b59a943bd885 Mon Sep 17 00:00:00 2001 From: zhaoxinxin Date: Wed, 20 Jan 2021 10:33:38 +0800 Subject: [PATCH 16/16] modified: tests/ut/ge/CMakeLists.txt modified: tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc --- tests/ut/ge/CMakeLists.txt | 2 +- ...ew_model_manager_model_manager_unittest.cc | 40 ++++++++----------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/tests/ut/ge/CMakeLists.txt b/tests/ut/ge/CMakeLists.txt index 9d14461e..18614c16 100755 --- a/tests/ut/ge/CMakeLists.txt +++ b/tests/ut/ge/CMakeLists.txt @@ -572,7 +572,7 @@ set(DISTINCT_GRAPH_LOAD_TEST_FILES "graph/load/data_dumper_unittest.cc" #"graph/load/new_model_manager_data_inputer_unittest.cc" #"graph/load/new_model_manager_davinci_model_unittest.cc" - #"graph/load/new_model_manager_model_manager_unittest.cc" + "graph/load/new_model_manager_model_manager_unittest.cc" #"graph/load/new_model_manager_task_build_unittest.cc" "graph/load/new_model_manager_model_manager_aicpu_unittest.cc" "graph/load/end_graph_task_unittest.cc" diff --git a/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc b/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc index 4096afa5..29b6ae50 100644 --- a/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc +++ b/tests/ut/ge/graph/load/new_model_manager_model_manager_unittest.cc @@ -15,14 +15,10 @@ */ #include - -#include +#include #include "common/debug/log.h" -#include "common/model_parser/base.h" -#include "common/properties_manager.h" #include "common/types.h" -#include "common/l2_cache_optimize.h" - +#include "graph/utils/graph_utils.h" #define private public #define protected public #include "graph/load/new_model_manager/model_manager.h" @@ -32,7 +28,6 @@ #include "graph/load/graph_loader.h" #include "graph/load/new_model_manager/davinci_model.h" #include "graph/load/new_model_manager/davinci_model_parser.h" -#include "new_op_test_utils.h" #undef private #undef protected @@ -87,7 +82,6 @@ class UtestModelManagerModelManager : public testing::Test { data.model_data = new uint8_t[data.model_len]; uint8_t data_ori[model_len]; memset(data_ori, 10, model_len); - uint32_t out_len; ModelFileHeader *header = (ModelFileHeader *)data.model_data; header->magic = MODEL_FILE_MAGIC_NUM; header->version = MODEL_VERSION; @@ -97,7 +91,7 @@ class UtestModelManagerModelManager : public testing::Test { void LoadStandardModelData(ge::ModelData &data) { static const std::string STANDARD_MODEL_DATA_PATH = - "llt/framework/domi/ut/ome/test/data/standard_partition_model.txt"; + "llt/framework/domi/ut/ome/test/data/standard_partition_model.txt"; ge::proto::ModelDef model_def; ReadProtoFromText(STANDARD_MODEL_DATA_PATH.c_str(), &model_def); @@ -113,9 +107,8 @@ class DModelListener : public ge::ModelListener { uint32_t OnComputeDone(uint32_t model_id, uint32_t data_index, uint32_t resultCode) { return 0; } }; -shared_ptr UTEST_CALL_BACK_FUN(new DModelListener()); -TEST_F(UtestModelManagerModelManager, case_load_incorrect_param) { +/*TEST_F(UtestModelManagerModelManager, case_load_incorrect_param) { ModelManager mm; uint32_t model_id = 0; ge::ModelData model; @@ -307,7 +300,7 @@ TEST_F(UtestModelManagerModelManager, get_input_output_desc_info_fail) { } -/* +*//* // test GetInputOutputDescInfo fail TEST_F(UtestModelManagerModelManager, get_input_output_desc_info_zero_copy_fail) { ModelManager manager; @@ -316,7 +309,7 @@ TEST_F(UtestModelManagerModelManager, get_input_output_desc_info_zero_copy_fail) vector output_shape; EXPECT_EQ(ge::PARAM_INVALID, manager.GetInputOutputDescInfoForZeroCopy(2, input_shape, output_shape)); } -*/ +*//* // test Stop TEST_F(UtestModelManagerModelManager, stop_fail) { @@ -347,19 +340,20 @@ TEST_F(UtestModelManagerModelManager, destroy_aicpu_session) { manager.sess_ids_.insert(0); manager.DestroyAicpuSession(0); -} +}*/ // test DataInputTensor TEST_F(UtestModelManagerModelManager, test_data_input_tensor) { + shared_ptr g_label_call_back(nullptr); + auto model = std::make_shared(0, g_label_call_back); ModelManager mm; - mm.model_map_={{1,make_shared()}}; - mm.hybrid_model_map_={{1,make_shared()}}; - ge::ModelData data; - data.model_len = 10; uint32_t model_id = 1; - InputTensorInfo input_tensor = new InputTensorInfo(); - std::vector inputs = {input_tensor}; - auto ret = mm.DataInputTensor(1,inputs); - EXPECT_EQ(ge::SUCCESS, ret); + mm.model_map_[1] = model; + mm.hybrid_model_map_[1] = std::make_shared(); + + auto input_tensor = InputTensorInfo(); + vector inputs; + inputs.emplace_back(input_tensor); + auto ret = mm.DataInputTensor(model_id,inputs); + EXPECT_EQ(ge::UNSUPPORTED, ret); } - } // namespace ge