Browse Source

!616 sync ge_dev to master 20220808

Merge pull request !616 from lipeiyang/ge_dev
pull/617/MERGE
lipeiyang Gitee 2 years ago
parent
commit
80876f158d
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 6 additions and 52 deletions
  1. +0
    -47
      cmake/external_libs/gflags.cmake
  2. +6
    -5
      parser/tensorflow/tensorflow_parser.cc

+ 0
- 47
cmake/external_libs/gflags.cmake View File

@@ -1,47 +0,0 @@
if (HAVE_GFLAGS)
return()
endif()

include(ExternalProject)

if ((${CMAKE_INSTALL_PREFIX} STREQUAL /usr/local) OR
(${CMAKE_INSTALL_PREFIX} STREQUAL "C:/Program Files (x86)/ascend"))
set(CMAKE_INSTALL_PREFIX ${PARSER_DIR}/output CACHE STRING "path for install()" FORCE)
message(STATUS "No install prefix selected, default to ${CMAKE_INSTALL_PREFIX}.")
endif()

set (gflags_CXXFLAGS "-D_GLIBCXX_USE_CXX11_ABI=0 -Dgoogle=ascend_private")
if (ENABLE_GITEE)
set(REQ_URL "https://gitee.com/mirrors/gflags/repository/archive/v2.2.2.tar.gz")
set(MD5 "")
else()
set(REQ_URL "https://github.com/gflags/gflags/archive/v2.2.2.tar.gz")
set(MD5 "")
endif ()

ExternalProject_Add(gflags_build
URL ${REQ_URL}
#URL /home/txd/workspace/linux_cmake/pkg/protobuf-3.8.0.tar.gz
#SOURCE_DIR ${METADEF_DIR}/../../third_party/gflags/src/gflags-2.2.2
CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_CXX_FLAGS=${gflags_CXXFLAGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/gflags <SOURCE_DIR>
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND $(MAKE) install
EXCLUDE_FROM_ALL TRUE
)

set(GFLAGS_PKG_DIR ${CMAKE_INSTALL_PREFIX}/gflags)

add_library(gflags_static STATIC IMPORTED)

set_target_properties(gflags_static PROPERTIES
IMPORTED_LOCATION ${GFLAGS_PKG_DIR}/lib/libgflags.a
)

add_library(gflags INTERFACE)
target_include_directories(gflags INTERFACE ${GFLAGS_PKG_DIR}/include)
target_link_libraries(gflags INTERFACE gflags_static)

add_dependencies(gflags gflags_build)

#set(HAVE_GFLAGS TRUE CACHE BOOL "gflags build add")
set(HAVE_GFLAGS TRUE)

+ 6
- 5
parser/tensorflow/tensorflow_parser.cc View File

@@ -3373,7 +3373,7 @@ Status TensorFlowModelParser::AddControlEdgeAfterRemoveInputs(domi::tensorflow::
return FAILED;
}
NodeDef *input_node_def = it->second;
if (input_node_def->op() == parser::SWITCH || input_node_def->op() == parser::REFSWITCH) {
if ((input_node_def->op() == parser::SWITCH) || (input_node_def->op() == parser::REFSWITCH)) {
NodeDef *identity_node_def = graph_def->add_node();
GE_CHECK_NOTNULL(identity_node_def);
std::string remove_input_name = remove_input;
@@ -3426,8 +3426,8 @@ Status TensorFlowModelParser::RemoveInputs(domi::tensorflow::GraphDef *graph_def
for (auto &remove_input : remove_inputs_map) {
string remove_input_name = remove_input.first;
vector<int> remove_input_indexs = remove_input.second;
if ((*input_it) == remove_input_name &&
std::find(remove_input_indexs.begin(), remove_input_indexs.end(), index) != remove_input_indexs.end()) {
if (((*input_it) == remove_input_name) &&
(std::find(remove_input_indexs.begin(), remove_input_indexs.end(), index) != remove_input_indexs.end())) {
GELOGD("Remove input:%s, index:%d", remove_input_name.c_str(), index);
flag = true;
removed_inputs_vec.emplace_back(remove_input_name);
@@ -3481,7 +3481,7 @@ void TensorFlowModelParser::RemoveInputAttr(domi::tensorflow::NodeDef *node_def,

if (flag) {
// 2.1 remove the input attr
if (!tmp_attr->empty() && attr_it != tmp_attr->end()) {
if (!tmp_attr->empty() && (attr_it != tmp_attr->end())) {
attr_it = tmp_attr->erase(attr_it);
} else {
++attr_it;
@@ -3990,7 +3990,7 @@ Status TensorFlowModelParser::UpdateOutputsInfo(const ParserUtils::OutputMapping
Status TensorFlowModelParser::AddExternalGraph(const ComputeGraphPtr &root_graph) {
GE_CHECK_NOTNULL(root_graph);
for (const NodePtr &node : root_graph->GetAllNodes()) {
if (node == nullptr || node->GetOpDesc() == nullptr) {
if ((node == nullptr) || (node->GetOpDesc() == nullptr)) {
continue;
}
std::string model_data;
@@ -4010,6 +4010,7 @@ Status TensorFlowModelParser::AddExternalGraph(const ComputeGraphPtr &root_graph
REPORT_CALL_ERROR("E19999", "Failed to map and add sub graph, node:%s.", node->GetName().c_str());
return INTERNAL_ERROR;
}
(void)node->GetOpDesc()->DelAttr(kExternalModel);
}
}
return SUCCESS;


Loading…
Cancel
Save