Browse Source

hide character

pull/232/head
shixingliang 4 years ago
parent
commit
6bc3b0ef31
41 changed files with 198 additions and 66 deletions
  1. +16
    -2
      inc/external/parser/caffe_parser.h
  2. +16
    -2
      inc/external/parser/onnx_parser.h
  3. +16
    -2
      inc/external/parser/tensorflow_parser.h
  4. +6
    -0
      parser/CMakeLists.txt
  5. +1
    -1
      parser/caffe/caffe_custom_parser_adapter.h
  6. +4
    -4
      parser/caffe/caffe_data_parser.cc
  7. +1
    -1
      parser/caffe/caffe_data_parser.h
  8. +15
    -1
      parser/caffe/caffe_op_parser.h
  9. +1
    -1
      parser/caffe/caffe_parser.cc
  10. +18
    -4
      parser/caffe/caffe_parser.h
  11. +1
    -1
      parser/caffe/caffe_reshape_parser.h
  12. +4
    -0
      parser/common/CMakeLists.txt
  13. +7
    -1
      parser/onnx/CMakeLists.txt
  14. +1
    -1
      parser/onnx/onnx_constant_parser.h
  15. +1
    -1
      parser/onnx/onnx_custom_parser_adapter.h
  16. +1
    -1
      parser/onnx/onnx_data_parser.cc
  17. +1
    -1
      parser/onnx/onnx_data_parser.h
  18. +15
    -1
      parser/onnx/onnx_op_parser.h
  19. +18
    -4
      parser/onnx/onnx_parser.h
  20. +4
    -0
      parser/proto/caffe/CMakeLists.txt
  21. +5
    -5
      parser/tensorflow/graph_functiondef.cc
  22. +1
    -1
      parser/tensorflow/graph_functiondef.h
  23. +1
    -1
      parser/tensorflow/tensorflow_auto_mapping_parser_adapter.h
  24. +1
    -1
      parser/tensorflow/tensorflow_constant_parser.h
  25. +1
    -1
      parser/tensorflow/tensorflow_custom_parser_adapter.h
  26. +1
    -1
      parser/tensorflow/tensorflow_data_parser.cc
  27. +1
    -1
      parser/tensorflow/tensorflow_data_parser.h
  28. +1
    -1
      parser/tensorflow/tensorflow_enter_parser.h
  29. +1
    -1
      parser/tensorflow/tensorflow_fusion_custom_parser_adapter.h
  30. +1
    -1
      parser/tensorflow/tensorflow_fusion_op_parser.h
  31. +1
    -1
      parser/tensorflow/tensorflow_identity_parser.h
  32. +1
    -1
      parser/tensorflow/tensorflow_merge_parser.h
  33. +1
    -1
      parser/tensorflow/tensorflow_no_op_parser.h
  34. +15
    -1
      parser/tensorflow/tensorflow_op_parser.h
  35. +2
    -2
      parser/tensorflow/tensorflow_parser.cc
  36. +8
    -8
      parser/tensorflow/tensorflow_parser.h
  37. +5
    -5
      parser/tensorflow/tensorflow_parser_register.h
  38. +1
    -1
      parser/tensorflow/tensorflow_ref_switch_parser.h
  39. +1
    -1
      parser/tensorflow/tensorflow_reshape_parser.h
  40. +1
    -1
      parser/tensorflow/tensorflow_shape_n_parser.h
  41. +1
    -1
      parser/tensorflow/tensorflow_squeeze_parser.h

+ 16
- 2
inc/external/parser/caffe_parser.h View File

@@ -17,6 +17,20 @@
#ifndef INC_EXTERNAL_ACL_GRAPH_CAFFE_H_
#define INC_EXTERNAL_ACL_GRAPH_CAFFE_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <memory>
#include <string>
#include <vector>
@@ -27,9 +41,9 @@
#include "graph/types.h"

namespace ge {
graphStatus aclgrphParseCaffe(const char *model_file, const char *weights_file, ge::Graph &graph);
PARSER_FUNC_VISIBILITY graphStatus aclgrphParseCaffe(const char *model_file, const char *weights_file, ge::Graph &graph);

graphStatus aclgrphParseCaffe(const char *model_file, const char *weights_file,
PARSER_FUNC_VISIBILITY graphStatus aclgrphParseCaffe(const char *model_file, const char *weights_file,
const std::map<ge::AscendString, ge::AscendString> &parser_params, ge::Graph &graph);
} // namespace ge



+ 16
- 2
inc/external/parser/onnx_parser.h View File

@@ -17,16 +17,30 @@
#ifndef INC_EXTERNAL_PARSER_ONNX_PARSER_H_
#define INC_EXTERNAL_PARSER_ONNX_PARSER_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include "graph/ascend_string.h"
#include "graph/ge_error_codes.h"
#include "graph/graph.h"
#include "graph/types.h"

namespace ge {
graphStatus aclgrphParseONNX(const char *model_file,
PARSER_FUNC_VISIBILITY graphStatus aclgrphParseONNX(const char *model_file,
const std::map<ge::AscendString, ge::AscendString> &parser_params, ge::Graph &graph);

graphStatus aclgrphParseONNXFromMem(const char *buffer, size_t size,
PARSER_FUNC_VISIBILITY graphStatus aclgrphParseONNXFromMem(const char *buffer, size_t size,
const std::map<ge::AscendString, ge::AscendString> &parser_params,
ge::Graph &graph);
} // namespace ge


+ 16
- 2
inc/external/parser/tensorflow_parser.h View File

@@ -17,6 +17,20 @@
#ifndef INC_EXTERNAL_ACL_PARSER_TENSORFLOW_H_
#define INC_EXTERNAL_ACL_PARSER_TENSORFLOW_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <atomic>
#include <memory>
#include <string>
@@ -28,8 +42,8 @@
#include "graph/types.h"

namespace ge {
graphStatus aclgrphParseTensorFlow(const char *model_file, ge::Graph &graph);
graphStatus aclgrphParseTensorFlow(const char *model_file,
PARSER_FUNC_VISIBILITY graphStatus aclgrphParseTensorFlow(const char *model_file, ge::Graph &graph);
PARSER_FUNC_VISIBILITY graphStatus aclgrphParseTensorFlow(const char *model_file,
const std::map<ge::AscendString, ge::AscendString> &parser_params, ge::Graph &graph);
} // namespace ge


+ 6
- 0
parser/CMakeLists.txt View File

@@ -50,12 +50,14 @@ target_compile_options(fmk_parser PRIVATE
-Werror
-Wno-deprecated-declarations
-fno-common
-fvisibility=hidden
)

target_compile_definitions(fmk_parser PRIVATE
PROTOBUF_INLINE_NOT_IN_HEADERS=0
google=ascend_private
$<$<STREQUAL:${ENABLE_OPEN_SRC},True>:ONLY_COMPILE_OPEN_SRC>
FUNC_VISIBILITY
)

target_include_directories(fmk_parser PRIVATE
@@ -92,6 +94,10 @@ target_include_directories(fmk_parser PRIVATE
${METADEF_DIR}/third_party/fwkacllib/inc
)

target_link_options(fmk_parser PRIVATE
-Wl,-Bsymbolic
)

target_link_libraries(fmk_parser
$<BUILD_INTERFACE:intf_pub>
static_mmpa


+ 1
- 1
parser/caffe/caffe_custom_parser_adapter.h View File

@@ -20,7 +20,7 @@
#include "parser/caffe/caffe_op_parser.h"

namespace ge {
class CaffeCustomParserAdapter : public CaffeOpParser {
class PARSER_FUNC_VISIBILITY CaffeCustomParserAdapter : public CaffeOpParser {
public:
/**
* @ingroup domi_omg


+ 4
- 4
parser/caffe/caffe_data_parser.cc View File

@@ -78,7 +78,7 @@ Status CaffeDataParser::ParseParamsForInput(const domi::caffe::LayerParameter *l
for (int i = 0; i < input_param.shape_size(); i++) {
const domi::caffe::BlobShape &blob_shape = input_param.shape(i);
vector<int64_t> shape;
unordered_map<string, vector<int64_t>> &shape_map = GetParserContext().input_dims;
std::map<string, vector<int64_t>> &shape_map = GetParserContext().input_dims;
std::vector<int64_t> model_dims;
for (auto &blob_shape_dim_temp : blob_shape.dim()) {
model_dims.push_back(blob_shape_dim_temp);
@@ -91,7 +91,7 @@ Status CaffeDataParser::ParseParamsForInput(const domi::caffe::LayerParameter *l
} else {
// Get from external input
const ge::ParserContext &ctx = GetParserContext();
std::unordered_map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
string name = layer->name();
auto search = input_dims.find(name);
if (search == input_dims.end()) {
@@ -124,7 +124,7 @@ Status CaffeDataParser::ParseParamsForDummyData(const domi::caffe::LayerParamete
const domi::caffe::BlobShape &blob_shape = dummy_data_param.shape(i);

vector<int64_t> shape;
unordered_map<string, vector<int64_t>> &shape_map = GetParserContext().input_dims;
std::map<string, vector<int64_t>> &shape_map = GetParserContext().input_dims;
std::vector<int64_t> model_dims;
for (auto &blob_shape_dim_temp : blob_shape.dim()) {
model_dims.push_back(blob_shape_dim_temp);
@@ -138,7 +138,7 @@ Status CaffeDataParser::ParseParamsForDummyData(const domi::caffe::LayerParamete
} else {
// Get from external input
const ge::ParserContext &ctx = GetParserContext();
std::unordered_map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
string name = layer->name();
auto search = input_dims.find(name);
if (search == input_dims.end()) {


+ 1
- 1
parser/caffe/caffe_data_parser.h View File

@@ -23,7 +23,7 @@
#include "parser/common/data_op_parser.h"

namespace ge {
class CaffeDataParser : public CaffeOpParser, public DataOpParser {
class PARSER_FUNC_VISIBILITY CaffeDataParser : public CaffeOpParser, public DataOpParser {
public:
/**
* @ingroup domi_omg


+ 15
- 1
parser/caffe/caffe_op_parser.h View File

@@ -17,6 +17,20 @@
#ifndef PARSER_CAFFE_CAFFE_OP_PARSER_H_
#define PARSER_CAFFE_CAFFE_OP_PARSER_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <vector>
#include "graph/debug/ge_attr_define.h"
#include "common/util.h"
@@ -54,7 +68,7 @@ namespace ge {
* @ingroup ge_omg
* @brief Used to parse Caffe operator information
*/
class CaffeOpParser : public OpParser {
class PARSER_FUNC_VISIBILITY CaffeOpParser : public OpParser {
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_dest) override;



+ 1
- 1
parser/caffe/caffe_parser.cc View File

@@ -330,7 +330,7 @@ Status CaffeModelParser::ParseInput(domi::caffe::NetParameter &proto_message, bo
}
} else {
const ge::ParserContext &ctx = ge::GetParserContext();
std::unordered_map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
for (int i = 0; i < proto_message.input_size(); i++) {
string name = proto_message.input(i);
if (input_dims.count(name) == 0) { // Input defined by model does not exist in input of external input


+ 18
- 4
parser/caffe/caffe_parser.h View File

@@ -17,6 +17,20 @@
#ifndef PARSER_CAFFE_CAFFE_PARSER_H_
#define PARSER_CAFFE_CAFFE_PARSER_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <map>
#include <set>
#include <string>
@@ -39,7 +53,7 @@ using std::unordered_map;
using std::vector;
static std::map<std::vector<std::string>, std::vector<std::string>> params_share_map;

class CaffeModelParser : public domi::ModelParser {
class PARSER_FUNC_VISIBILITY CaffeModelParser : public domi::ModelParser {
public:
CaffeModelParser() {}
virtual ~CaffeModelParser() {}
@@ -362,10 +376,10 @@ class CaffeModelParser : public domi::ModelParser {
std::map<std::string, ge::NodePtr> node_map;

// key: blob name, value: layer name and index
std::unordered_map<std::string, std::vector<std::pair<std::string, int32_t>>> bottom_blobs_map_;
std::map<std::string, std::vector<std::pair<std::string, int32_t>>> bottom_blobs_map_;

// key: blob name, value: layer name and index
std::unordered_map<std::string, std::vector<std::pair<std::string, int32_t>>> top_blobs_map_;
std::map<std::string, std::vector<std::pair<std::string, int32_t>>> top_blobs_map_;

std::vector<ge::Operator> custom_operator_;
std::map<std::string, std::vector<std::string>> layer_tops_map_;
@@ -375,7 +389,7 @@ class CaffeModelParser : public domi::ModelParser {
* @ingroup domi_omg
* @brief Caffe weight parser
*/
class CaffeWeightsParser : public domi::WeightsParser {
class PARSER_FUNC_VISIBILITY CaffeWeightsParser : public domi::WeightsParser {
public:
/**
* @ingroup domi_omg


+ 1
- 1
parser/caffe/caffe_reshape_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/caffe/caffe_op_parser.h"

namespace ge {
class CaffeReshapeParser : public CaffeOpParser {
class PARSER_FUNC_VISIBILITY CaffeReshapeParser : public CaffeOpParser {
public:
/**
* @ingroup domi_omg


+ 4
- 0
parser/common/CMakeLists.txt View File

@@ -74,6 +74,10 @@ target_include_directories(parser_common PRIVATE
${METADEF_DIR}/third_party/fwkacllib/inc
)

target_link_options(parser_common PRIVATE
-Wl,-Bsymbolic
)

target_link_libraries(parser_common PRIVATE
$<BUILD_INTERFACE:intf_pub>
static_mmpa


+ 7
- 1
parser/onnx/CMakeLists.txt View File

@@ -20,11 +20,13 @@ target_compile_options(fmk_onnx_parser PRIVATE
-Werror
-Wno-deprecated-declarations
-fno-common
-fvisibility=hidden
)

target_compile_definitions(fmk_onnx_parser PRIVATE
PROTOBUF_INLINE_NOT_IN_HEADERS=0
google=ascend_private
FUNC_VISIBILITY
)

target_include_directories(fmk_onnx_parser PRIVATE
@@ -62,6 +64,10 @@ target_include_directories(fmk_onnx_parser PRIVATE
${METADEF_DIR}/third_party/fwkacllib/inc
)

target_link_options(fmk_onnx_parser PRIVATE
-Wl,-Bsymbolic
)

target_link_libraries(fmk_onnx_parser PRIVATE
$<BUILD_INTERFACE:intf_pub>
static_mmpa
@@ -69,7 +75,7 @@ target_link_libraries(fmk_onnx_parser PRIVATE
ascend_protobuf
register
c_sec
parser_common
parser_common
graph
slog
-Wl,--as-needed


+ 1
- 1
parser/onnx/onnx_constant_parser.h View File

@@ -24,7 +24,7 @@
using ge::onnx::NodeProto;

namespace ge {
class OnnxConstantParser : public OnnxOpParser {
class PARSER_FUNC_VISIBILITY OnnxConstantParser : public OnnxOpParser {
public:
Status ParseParams(const Message *op_src, ge::Operator &op_def) override;



+ 1
- 1
parser/onnx/onnx_custom_parser_adapter.h View File

@@ -20,7 +20,7 @@
#include "parser/onnx/onnx_op_parser.h"

namespace ge {
class OnnxCustomParserAdapter : public OnnxOpParser {
class PARSER_FUNC_VISIBILITY OnnxCustomParserAdapter : public OnnxOpParser {
public:
/// @brief Parsing model file information
/// @param [in] op_src model data to be parsed


+ 1
- 1
parser/onnx/onnx_data_parser.cc View File

@@ -94,7 +94,7 @@ Status OnnxDataParser::ParseInputFromModel(const Message *op_src, ge::Operator &
}

Status OnnxDataParser::ParseInputFromUser(const ge::Operator &op_def) {
std::unordered_map<std::string, std::vector<int64_t>> input_dims = GetParserContext().input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = GetParserContext().input_dims;
// User not designate the input_shape
std::string name = op_def.GetName();
if (input_dims.count(name) == 0) {


+ 1
- 1
parser/onnx/onnx_data_parser.h View File

@@ -23,7 +23,7 @@
#include "parser/onnx/onnx_op_parser.h"

namespace ge {
class OnnxDataParser : public OnnxOpParser {
class PARSER_FUNC_VISIBILITY OnnxDataParser : public OnnxOpParser {
public:
Status ParseParams(const Message *op_src, ge::Operator &op_def) override;



+ 15
- 1
parser/onnx/onnx_op_parser.h View File

@@ -17,6 +17,20 @@
#ifndef GE_PARSER_ONNX_ONNX_OP_PARSER_H_
#define GE_PARSER_ONNX_ONNX_OP_PARSER_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <string>
#include <vector>
#include "framework/common/op/attr_value_util.h"
@@ -28,7 +42,7 @@
using Status = domi::Status;

namespace ge {
class OnnxOpParser : public OpParser {
class PARSER_FUNC_VISIBILITY OnnxOpParser : public OpParser {
public:
/// @brief parse params
/// @param [in] op_src op to be parsed


+ 18
- 4
parser/onnx/onnx_parser.h View File

@@ -17,6 +17,20 @@
#ifndef PARSER_ONNX_ONNX_PARSER_H_
#define PARSER_ONNX_ONNX_PARSER_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <map>
#include <string>
#include <vector>
@@ -27,7 +41,7 @@
#include "proto/onnx/ge_onnx.pb.h"

namespace ge {
class OnnxModelParser : public domi::ModelParser {
class PARSER_FUNC_VISIBILITY OnnxModelParser : public domi::ModelParser {
public:
OnnxModelParser() {}
virtual ~OnnxModelParser() {}
@@ -96,12 +110,12 @@ class OnnxModelParser : public domi::ModelParser {

std::vector<std::string> input_node_names_;

std::unordered_map<std::string, std::vector<std::pair<std::string, int>>> inputs_map_;
std::map<std::string, std::vector<std::pair<std::string, int>>> inputs_map_;

std::unordered_map<std::string, std::vector<std::pair<std::string, int>>> outputs_map_;
std::map<std::string, std::vector<std::pair<std::string, int>>> outputs_map_;
};

class OnnxWeightsParser : public domi::WeightsParser {
class PARSER_FUNC_VISIBILITY OnnxWeightsParser : public domi::WeightsParser {
public:
Status Parse(const char *file, ge::Graph &graph) override { return domi::SUCCESS; }



+ 4
- 0
parser/proto/caffe/CMakeLists.txt View File

@@ -15,6 +15,10 @@ target_include_directories(_caffe_parser PRIVATE
${CMAKE_CURRENT_LIST_DIR}
)

target_link_options(_caffe_parser PRIVATE
-Wl,-Bsymbolic
)

target_link_libraries(_caffe_parser PRIVATE
$<BUILD_INTERFACE:intf_pub>
-Wl,--no-as-needed


+ 5
- 5
parser/tensorflow/graph_functiondef.cc View File

@@ -112,7 +112,7 @@ domi::Status ComputeArgRange(const domi::tensorflow::NodeDef &node_def, const do
return SUCCESS;
}

using NameRangeMap = std::unordered_map<string, std::pair<int, int>>;
using NameRangeMap = std::map<string, std::pair<int, int>>;

domi::Status NameRangesHelper(const domi::tensorflow::NodeDef &node_def,
const google::protobuf::RepeatedPtrField<domi::tensorflow::OpDef_ArgDef> &args,
@@ -136,8 +136,8 @@ domi::Status NameRangesForNode(const domi::tensorflow::NodeDef &node_def, const
}

domi::Status RemapFunctionDef(FunctionDef *fdef, const string &name, NameMapHelper &node_names,
std::unordered_map<string, string> &tensor_renaming,
std::unordered_map<string, string> &return_values) {
std::map<string, string> &tensor_renaming,
std::map<string, string> &return_values) {
GE_CHECK_NOTNULL(fdef);
// Detect missing function inputs..
for (int i = 0; i < fdef->signature().input_arg_size(); ++i) {
@@ -324,8 +324,8 @@ domi::Status GraphToFunctionDef::DavGraphToFunctionDef(ge::ComputeGraphPtr graph
GE_CHECK_NOTNULL(fdef);
fdef->mutable_signature()->set_name(name);

std::unordered_map<string, string> tensor_renaming;
std::unordered_map<string, string> return_values;
std::map<string, string> tensor_renaming;
std::map<string, string> return_values;
NameMapHelper node_names;

for (const ge::NodePtr &node : graph->GetDirectNode()) {


+ 1
- 1
parser/tensorflow/graph_functiondef.h View File

@@ -83,7 +83,7 @@ class NameMapHelper {
string GetUniqueName(const string &name);

std::set<string> used_names_;
std::unordered_map<string, string> name_mapping_;
std::map<string, string> name_mapping_;
};
} // namespace ge



+ 1
- 1
parser/tensorflow/tensorflow_auto_mapping_parser_adapter.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowAutoMappingParserAdapter : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowAutoMappingParserAdapter : public TensorFlowOpParser {
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_dest) override;
};


+ 1
- 1
parser/tensorflow/tensorflow_constant_parser.h View File

@@ -25,7 +25,7 @@
using domi::tensorflow::NodeDef;

namespace ge {
class TensorFlowConstantParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowConstantParser : public TensorFlowOpParser {
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_dest) override;



+ 1
- 1
parser/tensorflow/tensorflow_custom_parser_adapter.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowCustomParserAdapter : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowCustomParserAdapter : public TensorFlowOpParser {
public:
/**
* @ingroup domi_omg


+ 1
- 1
parser/tensorflow/tensorflow_data_parser.cc View File

@@ -102,7 +102,7 @@ Status TensorFlowDataParser::ParseInputFromUser(const Message *op_src, const ge:
GE_CHECK_NOTNULL(op_def);
(void)op_src;
const ge::ParserContext &ctx = GetParserContext();
std::unordered_map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
// User not designate the input_shape
std::string name = op_def->GetName();
if (input_dims.count(name) == 0) {


+ 1
- 1
parser/tensorflow/tensorflow_data_parser.h View File

@@ -23,7 +23,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowDataParser : public TensorFlowOpParser, public DataOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowDataParser : public TensorFlowOpParser, public DataOpParser {
public:
/**
* @ingroup domi_omg


+ 1
- 1
parser/tensorflow/tensorflow_enter_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowEnterParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowEnterParser : public TensorFlowOpParser {
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_desc) override;
};


+ 1
- 1
parser/tensorflow/tensorflow_fusion_custom_parser_adapter.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_fusion_op_parser.h"

namespace ge {
class TensorFlowFusionCustomParserAdapter : public TensorFlowFusionOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowFusionCustomParserAdapter : public TensorFlowFusionOpParser {
public:
/**
* @ingroup domi_parser


+ 1
- 1
parser/tensorflow/tensorflow_fusion_op_parser.h View File

@@ -37,7 +37,7 @@ namespace ge {
* @ingroup domi_omg
* @brief Used to parse TensorFlow operator information
*/
class TensorFlowFusionOpParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowFusionOpParser : public TensorFlowOpParser {
public:
/**
* @ingroup domi_omg


+ 1
- 1
parser/tensorflow/tensorflow_identity_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowIdentityParser : public TensorFlowOpParser {};
class PARSER_FUNC_VISIBILITY TensorFlowIdentityParser : public TensorFlowOpParser {};
} // namespace ge

#endif // GE_PARSER_TENSORFLOW_TENSORFLOW_IDENTITY_H_

+ 1
- 1
parser/tensorflow/tensorflow_merge_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowMergeParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowMergeParser : public TensorFlowOpParser {
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_desc) override;
};


+ 1
- 1
parser/tensorflow/tensorflow_no_op_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowNoOpParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowNoOpParser : public TensorFlowOpParser {
// AUTO GEN PLEASE DO NOT MODIFY IT
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_dest) override;


+ 15
- 1
parser/tensorflow/tensorflow_op_parser.h View File

@@ -17,6 +17,20 @@
#ifndef OMG_PARSER_TENSORFLOW_TENSORFLOW_OP_PARSER_H_
#define OMG_PARSER_TENSORFLOW_TENSORFLOW_OP_PARSER_H_

#if defined(_MSC_VER)
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY _declspec(dllexport)
#else
#define PARSER_FUNC_VISIBILITY
#endif
#else
#ifdef FUNC_VISIBILITY
#define PARSER_FUNC_VISIBILITY __attribute__((visibility("default")))
#else
#define PARSER_FUNC_VISIBILITY
#endif
#endif

#include <string>
#include <vector>
#include "framework/common/op/attr_value_util.h"
@@ -52,7 +66,7 @@ namespace ge {
* @ingroup domi_omg
* @brief used to parse TensorFlow operator information
*/
class TensorFlowOpParser : public OpParser {
class PARSER_FUNC_VISIBILITY TensorFlowOpParser : public OpParser {
public:

/**


+ 2
- 2
parser/tensorflow/tensorflow_parser.cc View File

@@ -2962,7 +2962,7 @@ Status TensorFlowModelParser::TrimGraphByInput(const domi::tensorflow::GraphDef
TensorShapeProto *data_shape = attr_value.mutable_shape();
GE_CHECK_NOTNULL(data_shape);
const ge::ParserContext &ctx = ge::GetParserContext();
std::unordered_map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::vector<int64_t> designated_dims = input_dims.at(node.name());
for (int32_t i = 0; i < (int32_t)designated_dims.size(); i++) {
data_shape->add_dim()->set_size(designated_dims[i]);
@@ -3035,7 +3035,7 @@ Status TensorFlowModelParser::TrimGraphByOutput(const domi::tensorflow::GraphDef
TensorShapeProto *data_shape = attr_value.mutable_shape();
GE_CHECK_NOTNULL(data_shape);
const ge::ParserContext &ctx = ge::GetParserContext();
std::unordered_map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::map<std::string, std::vector<int64_t>> input_dims = ctx.input_dims;
std::vector<int64_t> designated_dims = input_dims.at(node.name());
for (int32_t i = 0; i < (int32_t)designated_dims.size(); i++) {
data_shape->add_dim()->set_size(designated_dims[i]);


+ 8
- 8
parser/tensorflow/tensorflow_parser.h View File

@@ -74,7 +74,7 @@ struct OpNodeContext {
};

struct DelTransposeInfo;
class TensorFlowModelParser : public domi::ModelParser {
class PARSER_FUNC_VISIBILITY TensorFlowModelParser : public domi::ModelParser {
public:
TensorFlowModelParser() {}
virtual ~TensorFlowModelParser() {}
@@ -649,15 +649,15 @@ class TensorFlowModelParser : public domi::ModelParser {
/**
* save <node_name, nodeDefList>
*/
unordered_map<string, vector<const NodeDef *>> fusion_op_nodedef_map_;
map<string, vector<const NodeDef *>> fusion_op_nodedef_map_;
// Policy types of fusion operators,true:scope_pass match,false:prefix match
unordered_map<string, bool> fusion_op_policy_;
map<string, bool> fusion_op_policy_;
// The names of all children operators and the description of fusion operators
unordered_map<string, ge::ScopeFusionOpInfo> fusion_op_children_;
/**
* save <node_name, {fusionOpName,description}>
*/
unordered_map<string, vector<string>> fusion_op_type_map_;
map<string, vector<string>> fusion_op_type_map_;
/**
* save nodedef of the fusion operator
*/
@@ -665,17 +665,17 @@ class TensorFlowModelParser : public domi::ModelParser {
/**
* control edge,{Key=NodeName,Value=index}
*/
unordered_map<string, vector<int32_t>> edges_control_map;
map<string, vector<int32_t>> edges_control_map;

unordered_map<string, const domi::tensorflow::NodeDef *> framework_ops_;

/**
* save <node_name, op_type>
*/
unordered_map<string, string> adaptedOpTypeMap_;
map<string, string> adaptedOpTypeMap_;

// { node_name <{input_node_name}, {output_node_name}> }
unordered_map<string, std::pair<set<string>, set<string>>> node_inputs_outputs_map_;
map<string, std::pair<set<string>, set<string>>> node_inputs_outputs_map_;

unordered_map<string, const ge::Operator *> scope_inner_node_map_;
};
@@ -684,7 +684,7 @@ class TensorFlowModelParser : public domi::ModelParser {
* @ingroup domi_omg
* @brief Tensorflow weight parse
*/
class TensorFlowWeightsParser : public domi::WeightsParser {
class PARSER_FUNC_VISIBILITY TensorFlowWeightsParser : public domi::WeightsParser {
public:
/**
* @ingroup domi_omg


+ 5
- 5
parser/tensorflow/tensorflow_parser_register.h View File

@@ -33,13 +33,13 @@
using domi::tensorflow::NodeDef;

namespace ge {
class TensorflowFinalizeable {
class PARSER_FUNC_VISIBILITY TensorflowFinalizeable {
public:
virtual bool Finalize() = 0;
virtual ~TensorflowFinalizeable() {}
};

class TensorflowReceiver {
class PARSER_FUNC_VISIBILITY TensorflowReceiver {
public:
TensorflowReceiver(TensorflowFinalizeable &f) { f.Finalize(); }
~TensorflowReceiver() {}
@@ -49,7 +49,7 @@ namespace tensorflow_parser {
template <typename Param>
class TensorflowParserBuilder;

class TensorflowWeightParserBuilder : public TensorflowFinalizeable {
class PARSER_FUNC_VISIBILITY TensorflowWeightParserBuilder : public TensorflowFinalizeable {
public:
virtual ~TensorflowWeightParserBuilder() {}
};
@@ -58,7 +58,7 @@ template <typename Param>
class TensorflowOpParserAdapter;

template <typename Param>
class TensorflowParserBuilder : public TensorflowWeightParserBuilder {
class PARSER_FUNC_VISIBILITY TensorflowParserBuilder : public TensorflowWeightParserBuilder {
public:
using ParseParamsFn = std::function<domi::Status(const domi::tensorflow::NodeDef *, Param *)>;

@@ -91,7 +91,7 @@ class TensorflowParserBuilder : public TensorflowWeightParserBuilder {
};

template <typename Param>
class TensorflowOpParserAdapter : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorflowOpParserAdapter : public TensorFlowOpParser {
using ParseParamsFn = std::function<domi::Status(const domi::tensorflow::NodeDef *, Param *)>;

public:


+ 1
- 1
parser/tensorflow/tensorflow_ref_switch_parser.h View File

@@ -23,7 +23,7 @@
using domi::tensorflow::NodeDef;

namespace ge {
class TensorFlowRefSwitchParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowRefSwitchParser : public TensorFlowOpParser {
// AUTO GEN PLEASE DO NOT MODIFY IT
public:
/**


+ 1
- 1
parser/tensorflow/tensorflow_reshape_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowReshapeParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowReshapeParser : public TensorFlowOpParser {
private:
Status ParseDesc(const domi::tensorflow::AttrValue &attr_value, ge::GeTensorDesc &ge_desc);



+ 1
- 1
parser/tensorflow/tensorflow_shape_n_parser.h View File

@@ -23,7 +23,7 @@
using domi::tensorflow::NodeDef;

namespace ge {
class TensorFlowShapeNParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowShapeNParser : public TensorFlowOpParser {
// AUTO GEN PLEASE DO NOT MODIFY IT
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_dest) override;


+ 1
- 1
parser/tensorflow/tensorflow_squeeze_parser.h View File

@@ -20,7 +20,7 @@
#include "parser/tensorflow/tensorflow_op_parser.h"

namespace ge {
class TensorFlowSqueezeParser : public TensorFlowOpParser {
class PARSER_FUNC_VISIBILITY TensorFlowSqueezeParser : public TensorFlowOpParser {
public:
Status ParseParams(const Message *op_src, ge::OpDescPtr &op_dest) override;



Loading…
Cancel
Save