You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

ge_attr_define.cc 47 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124
  1. /**
  2. * Copyright 2019-2020 Huawei Technologies Co., Ltd
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <graph/debug/ge_attr_define.h>
  17. namespace ge {
  18. // Public attribute
  19. const std::string ATTR_NAME_FORCE_UNKNOWN_SHAPE = "_force_unknown_shape";
  20. const std::string ATTR_NAME_IS_UNKNOWN_SHAPE = "_is_unknown_shape";
  21. const std::string ATTR_NAME_DYNAMIC_SHAPE_PARTITIONED = "_dynamic_shape_partitioned";
  22. const std::string ATTR_NAME_UNKNOWN_SHAPE_TYPE = "_unknown_shape_type";
  23. const std::string ATTR_NAME_NAME = "name";
  24. const std::string ATTR_NAME_TYPE = "type";
  25. const std::string ATTR_NAME_WEIGHT_NAME = "weight_name";
  26. const std::string ATTR_NAME_IS_QUANTIZE_FACTOR = "quantize_factor";
  27. const std::string ATTR_NAME_ALPHA = "alpha";
  28. const std::string ATTR_NAME_BETA = "beta";
  29. const std::string ATTR_NAME_PADMODE = "pad_mode";
  30. const std::string ATTR_NAME_PADMODES = "padding";
  31. const std::string ATTR_NAME_MODE = "mode";
  32. const std::string ATTR_NAME_FILTER = "filter";
  33. const std::string ATTR_NAME_BIAS = "bias";
  34. const std::string ATTR_NAME_BIAS_TERM = "bias_term";
  35. const std::string ATTR_NAME_HAS_BIAS_VALUE = "has_bias_value";
  36. const std::string ATTR_NAME_PAD = "pad";
  37. const std::string ATTR_NAME_PADS = "pad";
  38. const std::string ATTR_NAME_PAD_SIZE = "pad size";
  39. const std::string ATTR_NAME_PAD_MODE = "pad mode";
  40. const std::string ATTR_NAME_SCALE = "scale";
  41. const std::string ATTR_NAME_WINDOWS = "windows";
  42. const std::string ATTR_NAME_GLOBAL_POOLING = "global_pooling";
  43. const std::string ATTR_NAME_CEIL_MODE = "ceil_mode";
  44. const std::string ATTR_NAME_RELUMODE = "relu_mode";
  45. const std::string ATTR_NAME_STRIDE_SIZE = "stride size";
  46. const std::string ATTR_NAME_RELU_FLAG = "relu_flag";
  47. const std::string ATTR_NAME_ALGO = "algo";
  48. const std::string ATTR_NAME_FORMAT = "format";
  49. const std::string ATTR_NAME_STORAGE_FORMAT = "storage_format";
  50. const std::string ATTR_NAME_STORAGE_SHAPE = "storage_shape";
  51. const std::string ATTR_NAME_FILTER_FORMAT = "filter_format";
  52. const std::string ATTR_NAME_LRN_K = "lrn_k";
  53. const std::string ATTR_NAME_LRN_NORM_REGION = "lrn_normregion";
  54. const std::string ATTR_NAME_LRN_LOCAL_SIZE = "lrn_localsize";
  55. const std::string ATTR_NAME_LRN_ALPHA = "lrn_alpha";
  56. const std::string ATTR_NAME_LRN_BETA = "lrn_beta";
  57. const std::string ATTR_NAME_AXIS = "axis";
  58. const std::string ATTR_NAME_BROADCAST = "broadcast";
  59. const std::string ATTR_NAME_OUTPUT = "output";
  60. const std::string ATTR_NAME_OUTPUT_NUM = "output_num";
  61. const std::string ATTR_NAME_TIDX = "t_idx";
  62. const std::string ATTR_NAME_TPADDINGS = "t_paddings";
  63. const std::string ATTR_IMG_H = "img_h";
  64. const std::string ATTR_IMG_W = "img_w";
  65. const std::string ATTR_NET_H = "net_h";
  66. const std::string ATTR_NET_W = "net_w";
  67. const std::string ATTR_NAME_TMULTIPLES = "t_multiples";
  68. const std::string ATTR_NAME_MULTIPLES = "multiples";
  69. const std::string ATTR_NAME_T = "T";
  70. const std::string ATTR_NAME_N = "N";
  71. const std::string ATTR_NAME_TSHAPE = "Tshape";
  72. const std::string ATTR_NAME_NAN_OPT = "nan_opt";
  73. const std::string ATTR_NAME_AIPP = "aipp";
  74. const std::string NEW_AIPP_CONV_OP = "new_conv_op_for_aipp";
  75. const std::string ATTR_NAME_AIPP_INPUTS = "_aipp_inputs";
  76. const std::string ATTR_NAME_AIPP_OUTPUTS = "_aipp_outputs";
  77. const std::string ATTR_NAME_INPUT_DIMS = "input_dims";
  78. const std::string ATTR_DYNAMIC_AIPP_INPUT_DIMS = "_dynamic_aipp_input_dims";
  79. const std::string ATTR_DATA_RELATED_AIPP_MODE = "_data_related_aipp_mode";
  80. const std::string ATTR_DATA_AIPP_DATA_NAME_MAP = "_data_aipp_data_name_map";
  81. const std::string ATTR_NAME_GRAPH_HAS_BEEN_ADDED = "_graph_has_been_added";
  82. const std::string ATTR_NAME_SESSION_GRAPH_ID = "_session_graph_id";
  83. const std::string ATTR_NAME_PARENT_GRAPH_NAME = "_parent_graph_name";
  84. const std::string ATTR_NAME_MULTISHAPE_BATCHLIST = "multi_shape_batchlist";
  85. const std::string ATTR_NAME_MULTISHAPE_BATCHLIST_SIZE = "multi_shape_batchlist_size";
  86. const std::string ATTR_MODEL_BATCH_NUM = "batch_num";
  87. const std::string ATTR_NAME_INPUT_FORMAT = "input_format";
  88. const std::string ATTR_NAME_OUTPUT_FORMAT = "output_format";
  89. const std::string ATTR_NAME_FRAMEWORK_NODE_DEF = "node_def";
  90. const std::string ATTR_NAME_FRAMEWORK_OP_DEF = "op_def";
  91. const std::string ATTR_NAME_FRAMEWORK_FWK_TYPE = "framework_type";
  92. const std::string ATTR_NAME_FRAMEWORK_FUNC_DEF = "func_def";
  93. const std::string ATTR_NAME_FRAMEWORK_ORIGINAL_TYPE = "original_type";
  94. const std::string ATTR_NAME_INPUT_TENSOR_DESC = "input_tensor_desc";
  95. const std::string ATTR_NAME_OUTPUT_TENSOR_DESC = "output_tensor_desc";
  96. const std::string ATTR_NAME_INFERRED_FORMAT = "inferred_format";
  97. const std::string ATTR_NAME_PRED_PERMUTE_DELETED = "pred_permute_deleted";
  98. const std::string ATTR_NAME_IGNORE_PRED_FORMAT = "ignore_pred_format";
  99. const std::string ATTR_NAME_WEIGHTS = "value";
  100. const std::string ATTR_NAME_WEIGHTS_DATA = "weights_data";
  101. const std::string ATTR_NAME_BROACAST_REAL_DIM_CNT = "broacast_real_dim_cnt";
  102. const std::string ATTR_NAME_DIM_ALIGN = "dim_align";
  103. const std::string ATTR_NAME_STREAM_LABEL = "_stream_label";
  104. const std::string ATTR_NAME_RTS_LABEL_NODE = "_rts_label_node";
  105. const std::string ATTR_NAME_CONTINUOUS_STREAM_LABEL = "_continuous_stream_label";
  106. const std::string ATTR_NAME_STREAM_CYCLE_EVENT_FLAG = "need_stream_cycle_event";
  107. const std::string ATTR_NAME_RTSWITCH_RECV_EVENT_ID = "rtswitch_event_id";
  108. const std::string ATTR_NAME_AUTOMIC_ADD_START = "automic_add_addr_start";
  109. const std::string ATTR_NAME_AUTOMIC_ADD_MEM_SIZE = "automic_add_mem_size";
  110. const std::string ATTR_NAME_DYNAMIC_OUTPUT_DIMS = "_dynamic_output_dims";
  111. const std::string ATTR_NAME_INPUT_ORIGIN_SIZE = "input_origin_size";
  112. const std::string ATTR_NAME_ROOT_GRAPH_ID = "_root_graph_id";
  113. const std::string ATTR_NAME_ROOT_GRAPH_NAME = "_root_graph_name";
  114. // Identify node connecting to input and output
  115. const std::string ATTR_NAME_NODE_CONNECT_INPUT = "_is_connected_to_data";
  116. const std::string ATTR_NAME_NODE_CONNECT_OUTPUT = "_is_connected_to_netoutput";
  117. // To be deleted
  118. const std::string ATTR_TO_BE_DELETED = "to_be_deleted";
  119. const std::string PERMUTE_RESHAPE_FUSION = "permute_reshape_fusion";
  120. const std::string PERMUTE_RESHAPE_FUSION_CONV_PROPOSAL = "fusion_conv_proposal";
  121. const std::string PERMUTE_RESHAPE_FUSION_CONV_DECODEBBOX = "fusion_conv_decodebbox";
  122. const std::string PERMUTE_RESHAPE_FUSION_BOX_TYPE_NUM = "box_type_num";
  123. const std::string SSD_MBOX_LOC_FUSION = "permute_flatten_fusion";
  124. const std::string SSD_MBOX_CONF_FUSION = "permute_flatten_reshape_flatten_fusion";
  125. const std::string SSD_MBOX_OCR_FUSION = "permute_flatten_ocr_fusion";
  126. const std::string SSD_MBOX_FUSION_BOX_TYPE_NUM = "ssd_mbox_fusion_box_type_num";
  127. const std::string SSD_RESHAPE_SLICE_CONCAT_FUSION = "reshape_slice_concat_fusion";
  128. // Refinedet
  129. const std::string REFINEDET_MBOX_LOC_FUSION = "permute_flatten_fusion";
  130. const std::string REFINEDET_MBOX_CONF_FUSION = "permute_flatten_reshape_flatten_fusion";
  131. const std::string REFINEDET_MBOX_FUSION_BOX_TYPE_NUM = "ssd_mbox_fusion_box_type_num";
  132. const std::string REFINEDET_RESHAPE_SLICE_CONCAT_FUSION = "reshape_slice_concat_fusion";
  133. const std::string SSD_PRIORBOX_CONCAT = "ssd_mbox_conf_priorbox_concat_flag";
  134. // _Arg
  135. const std::string ATTR_NAME_INDEX = "index";
  136. // _RetVal
  137. const std::string RETVAL_ATTR_NAME_INDEX = "retval_index";
  138. // Data
  139. const std::string DATA_ATTR_NAME_DATA_TYPE = "data_type";
  140. // Send
  141. const std::string SEND_ATTR_EVENT_ID = "event_id";
  142. // Recv
  143. const std::string RECV_ATTR_EVENT_ID = "event_id";
  144. // convolution
  145. const std::string ATTR_NAME_COEF = "coef";
  146. const std::string ATTR_NAME_STRIDE = "stride";
  147. const std::string ATTR_NAME_STRIDES = "stride";
  148. const std::string ATTR_NAME_DILATION = "dilation";
  149. const std::string ATTR_NAME_DILATIONS = "dilation";
  150. const std::string CONV_ATTR_NAME_MODE = "mode";
  151. const std::string CONV_ATTR_NAME_ALGO = "algo";
  152. const std::string CONV_ATTR_NAME_GROUP = "group";
  153. const std::string CONV_ATTR_NAME_PAD_MODE = "pad_mode";
  154. const std::string CONV_ATTR_NAME_PAD = "pad";
  155. const std::string CONV_ATTR_NAME_STRIDE = "stride";
  156. const std::string CONV_ATTR_NAME_DILATION = "dilation";
  157. const std::string CONV_ATTR_NAME_NUM_OUTPUT = "num_output";
  158. const std::string CONV_ATTR_NAME_KERNEL = "kernel";
  159. const std::string CONV_ATTR_NAME_FILTER = "filter";
  160. const std::string CONV_ATTR_NAME_BIAS = "bias";
  161. const std::string CONV_ATTR_NAME_RELU_FLAG = "relu_flag";
  162. const std::string CONV_ATTR_NAME_ADJ = "adj";
  163. const std::string CONV_ATTR_NAME_TARGET_SHAPE = "target_shape";
  164. const std::string CONV_ATTR_NAME_BEFORE_PAD = "before_pad";
  165. const std::string CONV_ATTR_NAME_HAS_BIAS = "has_bias";
  166. const std::string NEED_INFER = "isNeedInfer";
  167. // Pooling
  168. const std::string POOLING_ATTR_MODE = "mode";
  169. const std::string POOLING_ATTR_NAN_OPT = "nan_opt";
  170. const std::string POOLING_ATTR_PAD_MODE = "pad_mode";
  171. const std::string POOLING_ATTR_GLOBAL_POOLING = "global_pooling";
  172. const std::string POOLING_ATTR_WINDOW = "window";
  173. const std::string POOLING_ATTR_PAD = "pad";
  174. const std::string POOLING_ATTR_STRIDE = "stride";
  175. const std::string POOLING_ATTR_CEIL_MODE = "ceil_mode";
  176. const std::string POOLING_ATTR_DATA_MODE = "data_mode";
  177. const std::string POOLING_ATTR_BEFORE_PAD = "before_pad";
  178. const std::string POOLING_ATTR_NAME_ALGO = "algo";
  179. // Eltwise
  180. const std::string ELTWISE_ATTR_MODE = "mode";
  181. const std::string ELTWISE_ATTR_COEFF = "coeff";
  182. const std::string ELTWISE_ATTR_WEIGHT = "weight";
  183. const std::string ELTWISE_ATTR_RELU_FLAG = "relu_flag";
  184. const std::string ELTWISE_ATTR_ALPHA = "alpha";
  185. const std::string ELTWISE_ATTR_BETA = "beta";
  186. // BatchNorm
  187. const std::string BATCHNORM_ATTR_MODE = "mode";
  188. const std::string BATCHNORM_ATTR_EPSILON = "epsilon";
  189. const std::string BATCHNORM_ATTR_USE_GLOBAL_STATS = "use_global_stats";
  190. const std::string BATCHNORM_ATTR_MOVING_AVERAGE_FRACTION = "moving_average_fraction";
  191. const std::string BATCHNORM_ATTR_ESTIMATED_MEAN = "estimated_mean";
  192. const std::string BATCHNORM_ATTR_ESTIMATED_VARIANCE = "estimated_variance";
  193. const std::string BATCHNORM_ATTR_SCALE = "scale";
  194. const std::string BATCHNORM_ATTR_BIAS = "bias";
  195. const std::string BATCHNORM_ATTR_DATA_FORMAT = "data_format";
  196. const std::string BATCHNORM_ATTR_IS_TRAINING = "is_training";
  197. const std::string BATCHNORM_ATTR_IS_TRAINING_FUSION = "is_training_fusion";
  198. // huberloss
  199. const std::string HUBER_LOSS_ATTR_DELTA = "delta";
  200. // SSDRealDivTileMul
  201. const std::string SSD_REAL_DIV_TILE_MUL_ATTR_TILE_PARA = "tilepara";
  202. // SSDSumMulRealDivMean
  203. const std::string SSD_SUM_MUL_REALDIV_MEAN_ATTR_REDUCTION_INDICES = "reduction_indices";
  204. const std::string SSD_SUM_MUL_REALDIV_MEAN_ATTR_AXIS = "axis";
  205. const std::string SSD_SUM_MUL_REALDIV_MEAN_ATTR_MEAN_PARA = "mean_para";
  206. const std::string SSD_SUM_MUL_REALDIV_MEAN_ATTR_HAS_SUM = "has_sum";
  207. // ConcatFive2Four
  208. // ConcatFour2Five
  209. const std::string SSD_BOX_TYPE_NUM = "box_type_num";
  210. const std::string SSD_CLASS_NUM = "class_num";
  211. const std::string TRANS_FOR_LOSS_MODE = "trans_for_loss_mode";
  212. const std::string SSD_FEATURE_MAP_SIZE = "feature_map_size";
  213. const std::string SSD_FEATURE_MAP_HIGH = "feature_map_high";
  214. const std::string SSD_FEATURE_MAP_WIDTH = "feature_map_width";
  215. // Scale
  216. const std::string SCALE_ATTR_SCALE = "scale";
  217. const std::string SCALE_ATTR_BIAS = "bias";
  218. // FullConnection
  219. const std::string FULL_CONNECTION_ATTR_FILTER = "filter";
  220. const std::string FULL_CONNECTION_ATTR_BIAS = "bias";
  221. const std::string FULL_CONNECTION_ATTR_NUM_OUTPUT = "num_output";
  222. const std::string FULL_CONNECTION_ATTR_RELU_FLAG = "relu_flag";
  223. const std::string FULL_ATTR_NAME_ALGO = "algo";
  224. // SoftmaxOpParams
  225. const std::string SOFTMAX_ATTR_ALGO = "algo";
  226. const std::string SOFTMAX_ATTR_MODE = "mode";
  227. // SparseSoftmaxCrossEntropy
  228. const std::string SPARSE_SOFTMAX_CROSS_ENTROPY_ATTR_MODE = "cross_entropy_mode";
  229. const std::string SPARSE_SOFTMAX_CROSS_ENTROPY_IS_GRAD = "cross_entropy_is_grad";
  230. // Attr labelSmoothing
  231. const std::string SOFTMAX_CROSS_ENTROPY_LABELSMOOTHING = "labelSmoothing";
  232. // ApplyMomentum
  233. const std::string APPLYMENTUM_ATTR_IS_GRAPH_FUSION = "applymomentum_is_graph_fusion";
  234. // Activation
  235. const std::string ACTIVATION_ATTR_MODE = "mode";
  236. const std::string ACTIVATION_ATTR_COEF = "coef";
  237. // Concat
  238. const std::string CONCAT_ATTR_NAME_AXIS = "axis";
  239. // Const
  240. const std::string CONST_ATTR_NAME_DATA_TRANSTYPE = "data_transtype";
  241. const std::string CONST_ATTR_NAME_OUTPUT_FORMAT = "output_format";
  242. const std::string CONST_ATTR_NAME_OUTPUT_TYPE = "output_type";
  243. const std::string CONST_ATTR_NAME_INPUT = "is_const";
  244. // Roipooling
  245. const std::string ROIPOOLING_ATTR_NAME_POOLED_H = "pooled_h";
  246. const std::string ROIPOOLING_ATTR_NAME_POOLED_W = "pooled_w";
  247. const std::string ROIPOOLING_ATTR_NAME_SPATIAL_SCALE = "spatial_scale";
  248. const std::string ROIPOOLING_ATTR_NAME_RIO_POOLING_MODE = "rio_pooling_mode";
  249. const std::string ROIPOOLING_ATTR_NAME_POOLING_MODE = "pooling_mode";
  250. const std::string ROIPOOLING_ATTR_NAME_SAMPLING_RATIO = "sampling_ratio";
  251. // DetectionOutput
  252. const std::string DETECTIONOUTPUT_ATTR_NUM_CLASSES = "num_classes";
  253. const std::string DETECTIONOUTPUT_ATTR_OCR_NUM_CLASSES = "ocr_num_classes";
  254. const std::string DETECTIONOUTPUT_ATTR_NMS_THRESHOLD = "nms_threshold";
  255. const std::string DETECTIONOUTPUT_ATTR_TOP_K = "top_k";
  256. const std::string DETECTIONOUTPUT_ATTR_CONFIDENCE_THRESHOLD = "confidence_threshold";
  257. const std::string DETECTIONOUTPUT_ATTR_IMG_H = "img_h";
  258. const std::string DETECTIONOUTPUT_ATTR_IMG_W = "img_w";
  259. const std::string DETECTIONOUTPUT_ATTR_BATCH_SIZE = "batch_size";
  260. // Ssd DetectionOutput
  261. const std::string DETECTIONOUTPUT_ATTR_ETA = "eta";
  262. const std::string DETECTIONOUTPUT_ATTR_SHARED_LOCATION = "shared_location";
  263. const std::string DETECTIONOUTPUT_ATTR_BACKGROUND_LABEL_ID = "background_label_id";
  264. const std::string DETECTIONOUTPUT_ATTR_CODE_TYPE = "code_type";
  265. const std::string DETECTIONOUTPUT_ATTR_VARIANCE_ENCODED_IN_TARGET = "variance_encoded_in_target";
  266. const std::string DETECTIONOUTPUT_ATTR_KEEP_TOP_K = "keep_top_k";
  267. // Refinedet DetectionOutput
  268. const std::string DETECTIONOUTPUT_ATTR_OBJECTNESS_SCORE = "objectness_score";
  269. // yolo DetectionOutput
  270. const std::string DETECTIONOUTPUT_ATTR_ClASSES = "classes";
  271. const std::string DETECTIONOUTPUT_ATTR_BIASES = "biases";
  272. const std::string DETECTIONOUTPUT_ATTR_RELATIVE = "relative";
  273. const std::string DETECTIONOUTPUT_ATTR_OBJECTNESS_THRESHOLD = "objectness_threshold";
  274. const std::string DETECTIONOUTPUT_ATTR_CLASS_THRESHOLD = "class_threshold";
  275. const std::string DETECTIONOUTPUT_ATTR_POST_TOP_K = "post_top_k";
  276. const std::string DETECTIONOUTPUT_ATTR_IOU_THRESHOLD_DECAY = "iou_threshold_decay";
  277. const std::string DETECTIONOUTPUT_ATTR_COOR_SCALE_FACTOR = "coor_scale_factor";
  278. const std::string DETECTIONOUTPUT_ATTR_YOLO_VERSION = "yolo_version";
  279. // DetectionPostprocess
  280. const std::string POSTPROCESS_ATTR_NAME_CLS_NUM = "cls_num";
  281. const std::string POSTPROCESS_ATTR_NAME_CONF_THRESH = "conf_thresh";
  282. const std::string POSTPROCESS_ATTR_NAME_NMS_THRESH = "nms_thresh";
  283. const std::string POSTPROCESS_ATTR_POST_NMS_TOPN = "post_nms_topn";
  284. const std::string POSTPROCESS_ATTR_NAME_BBOX_REG_WEIGHT = "bbox_reg_weights";
  285. // Spatialtransfrom
  286. const std::string SPTIALTF_ATTR_NAME_OUTPUT_H = "output_h";
  287. const std::string SPTIALTF_ATTR_NAME_OUTPUT_W = "output_w";
  288. const std::string SPTIALTF_ATTR_NAME_BORDER_VALUE = "border_value";
  289. const std::string SPTIALTF_ATTR_NAME_AFFINE_TRANSFORM = "affine_transform";
  290. // Proposa
  291. const std::string PROPOSAL_ATTR_NAME_FEAT_STRIDE = "feat_stride";
  292. const std::string PROPOSAL_ATTR_NAME_BASE_SIZE = "base_size";
  293. const std::string PROPOSAL_ATTR_NAME_MIN_SIZE = "min_size";
  294. const std::string PROPOSAL_ATTR_NAME_RATIO = "ratio";
  295. const std::string PROPOSAL_ATTR_NAME_SCALE = "scale";
  296. const std::string PROPOSAL_ATTR_NAME_PRE_NMS_TOPN = "pre_nms_topn";
  297. const std::string PROPOSAL_ATTR_NAME_POST_NMS_TOPN = "post_nms_topn";
  298. const std::string PROPOSAL_ATTR_NAME_NMS_THRESH = "nms_thresh";
  299. const std::string PROPOSAL_ATTR_NAME_TOP_SIZE = "top_size";
  300. const std::string PROPOSAL_ATTR_IMG_H = "img_h";
  301. const std::string PROPOSAL_ATTR_IMG_W = "img_w";
  302. // Softmax
  303. const std::string SOFTMAX_ATTR_AXIS = "axis";
  304. // Permute
  305. const std::string PERMUTE_ATTR_ORDER = "order";
  306. const std::string PERMUTE_ATTR_PERM = "perm";
  307. // SSD Normalize
  308. const std::string SSDNORMALIZE_ATTR_ACCROSS_SPATIAL = "across_spatial";
  309. const std::string SSDNORMALIZE_ATTR_CHANNEL_SHARED = "channel_shared";
  310. const std::string SSDNORMALIZE_ATTR_EPS = "eps";
  311. // Flatten
  312. const std::string FLATTEN_ATTR_AXIS = "axis";
  313. const std::string FLATTEN_ATTR_END_AXIS = "end_axis";
  314. // SsdPRIORBOX
  315. const std::string SSD_PRIOR_BOX_ATTR_FLIP = "flip";
  316. const std::string SSD_PRIOR_BOX_ATTR_CLIP = "clip";
  317. const std::string SSD_PRIOR_BOX_ATTR_IMG_H = "img_h";
  318. const std::string SSD_PRIOR_BOX_ATTR_IMG_W = "img_w";
  319. const std::string SSD_PRIOR_BOX_ATTR_STEP_H = "step_h";
  320. const std::string SSD_PRIOR_BOX_ATTR_STEP_W = "step_w";
  321. const std::string SSD_PRIOR_BOX_ATTR_OFFSET = "offset";
  322. const std::string SSD_PRIOR_BOX_ATTR_MIN_SIZE = "min_size";
  323. const std::string SSD_PRIOR_BOX_ATTR_MAX_SIZE = "max_size";
  324. const std::string SSD_PRIOR_BOX_ATTR_MIN_SIZE_NUM = "min_size_num";
  325. const std::string SSD_PRIOR_BOX_ATTR_MAX_SIZE_NUM = "max_size_num";
  326. const std::string SSD_PRIOR_BOX_ATTR_ASPECT_RATIO = "aspect_ratio";
  327. const std::string SSD_PRIOR_BOX_ATTR_ASPECT_RATIO_NUM = "aspect_ratio_num";
  328. const std::string SSD_PRIOR_BOX_ATTR_VARIANCE = "variance";
  329. const std::string SSD_PRIOR_BOX_ATTR_VARIANCE_NUM = "variance_num";
  330. // RefinedetDetectionOutput
  331. const std::string REFINEDET_PRIOR_BOX_ATTR_VARIANCE_NUM = "variance_num";
  332. const std::string REFINEDET_PRIOR_BOX_ATTR_VARIANCE = "variance";
  333. // PRelu
  334. const std::string PRELU_ATTR_CHANNEL_SHARED = "channel_shared";
  335. // Psroi pooling
  336. const std::string PSROIPOOLING_ATTR_SPATIAL_SCALE = "spatial_scale";
  337. const std::string PSROIPOOLING_ATTR_OUTPUT_DIM = "output_dim";
  338. const std::string PSROIPOOLING_ATTR_GROUP_SIZE = "group_size";
  339. // Power
  340. const std::string POWER_ATTR_NAME_POWER = "power";
  341. const std::string POWER_ATTR_NAME_SCALE = "scale";
  342. const std::string POWER_ATTR_NAME_SHIFT = "shift";
  343. // log
  344. const std::string LOG_ATTR_NAME_SCALE = "scale";
  345. const std::string LOG_ATTR_NAME_SHIFT = "shift";
  346. const std::string LOG_ATTR_NAME_BASE = "base";
  347. // Pack
  348. const std::string PACK_ATTR_NAME_NUM = "N";
  349. // Unpack
  350. const std::string UNPACK_ATTR_NAME_NUM = "num";
  351. const std::string DYNAMIC_STITCH_ATTR_NAME_NUM = "DynamicStitchN_";
  352. // Gathernd
  353. const std::string GATHERND_ATTR_NAME_TINDICES = "Tindices";
  354. const std::string GATHERND_ATTR_NAME_TPARAMS = "Tparams";
  355. // Argmax
  356. const std::string ARGMAX_ATTR_NAME_TOPK = "topk";
  357. const std::string ARGMAX_ATTR_NAME_REDUCESIZE = "reduce_size";
  358. const std::string ARGMAX_ATTR_NAME_REDUCESTRIDE = "reduce_stride";
  359. const std::string ARGMAX_ATTR_NAME_OUTMAX = "outmaxval";
  360. const std::string ARGMAX_ATTR_NAME_AXIS = "axis";
  361. const std::string ARGMAX_ATTR_NAME_AXISTYPE = "axis_type";
  362. const std::string ARGMAX_ATTR_NAME_KEEPDIMS = "keep_dims";
  363. // upsample
  364. const std::string UPSAMPLE_ATTR_NAME_SCALE_H = "scale_h";
  365. const std::string UPSAMPLE_ATTR_NAME_SCALE_W = "scale_w";
  366. // Relu
  367. const std::string ATTR_NAME_NEGATIVE_SLOPE = "negative_slope";
  368. // FreeSpaceExtract
  369. const std::string FREESPACEEXTRACT_ATTR_NAME_ORG_HEIGHT = "org_height";
  370. // Split
  371. const std::string SPLIT_ATTR_NAME_SLICE_POINT = "slice_point";
  372. const std::string SPLIT_ATTR_NAME_SIZE_SPLIT = "size_split";
  373. const std::string SPLIT_ATTR_NAME_NUM_SPLIT = "num_split";
  374. // Tvm
  375. const std::string TVM_ATTR_NAME_MAGIC = "tvm_magic";
  376. const std::string TVM_ATTR_NAME_BLOCKDIM = "tvm_blockdim";
  377. const std::string TVM_ATTR_NAME_METADATA = "tvm_metadata";
  378. const std::string TVM_ATTR_NAME_WORKSPACE_TYPE = "tvm_workspace_type";
  379. // Squeeze
  380. const std::string SQUEEZE_ATTR_AXIS = "axis";
  381. const std::string SQUEEZE_ATTR_DIMS = "squeeze_dims";
  382. const std::string SQUEEZE_OP_NAME = "Squeeze";
  383. // Stride slice
  384. const std::string STRIDE_SLICE_ATTR_BEGIN_MASK = "begin_mask";
  385. const std::string STRIDE_SLICE_ATTR_END_MASK = "end_mask";
  386. const std::string STRIDE_SLICE_ATTR_ELLIPSIS_MASK = "ellipsis_mask";
  387. const std::string STRIDE_SLICE_ATTR_NEW_AXIS_MASK = "new_axis_mask";
  388. const std::string STRIDE_SLICE_ATTR_SHRINK_AXIS_MASK = "shrink_axis_mask";
  389. // Slice
  390. const std::string SLICE_ATTR_NAME_BEGINS = "begins";
  391. const std::string SLICE_ATTR_NAME_SIZES = "sizes";
  392. // Roialign
  393. const std::string ROIALIGN_ATTR_SPATIAL_SCALE = "spatial_scale";
  394. const std::string ROIALIGN_ATTR_SAMPLING_RATIO = "sampling_ratio";
  395. const std::string ROIALIGN_ATTR_NAME_POOLED_H = "pooled_h";
  396. const std::string ROIALIGN_ATTR_NAME_POOLED_W = "pooled_w";
  397. // Generate_rpn_proposal
  398. const std::string GENERATE_RPN_PROPOSAL_ATTR_PRE_NMS_TOPK = "pre_nms_topk";
  399. const std::string GENERATE_RPN_PROPOSAL_ATTR_POST_NMS_TOPK = "post_nms_topk";
  400. const std::string GENERATE_RPN_PROPOSAL_ATTR_RPN_MINI_SIZE = "rpn_mini_size";
  401. const std::string GENERATE_RPN_PROPOSAL_ATTR_RPN_PROPOSAL_NMS_THRESH = "rpn_proposal_nms_thresh";
  402. const std::string GENERATE_RPN_PROPOSAL_ATTR_RPN_PROPOSAL_FILTER_THRESH = "rpn_proposal_filter_thresh";
  403. // Decode_bbox
  404. const std::string DECODE_BBOX_ATTR_DECODECLIP = "decodeClip";
  405. // Cast
  406. const std::string CAST_ATTR_DSTT = "DstT";
  407. const std::string CAST_ATTR_SRCT = "SrcT";
  408. const std::string CAST_ATTR_DST_TYPE = "dst_type";
  409. const std::string CAST_ATTR_TRUNCATE = "truncate";
  410. // Fastrcnnn predications
  411. const std::string FASTRCNN_PREDICTIONS_ATTR_TOPK = "fsr_topk";
  412. const std::string FASTRCNN_PREDICTIONS_ATTR_SCORE_THRESHOLD = "fsr_score_thres";
  413. const std::string FASTRCNN_PREDICTIONS_ATTR_NMS_THRESHOLD = "fsr_nms_thres";
  414. const std::string FASTRCNN_PREDICTIONS_ATTR_NUM_CLASSES = "fsr_num_classes";
  415. // REORG
  416. const std::string REORG_ATTR_STRIDE = "stride";
  417. const std::string REORG_ATTR_REVERSE = "reverse";
  418. // MERGE
  419. const std::string MERGE_DEAD_INDEX = "merge_dead_index";
  420. const std::string MERGE_PRENODE_FLAG = "merge_prenode_flag";
  421. const std::string TO_BE_OUTPUT = "to_be_output";
  422. // ENTER
  423. const std::string ENTER_ATTR_FRAME_NAME = "frame_name";
  424. const std::string ENTER_ATTR_CONSTANT_FLAG = "is_constant";
  425. // Concatv2
  426. const std::string CONCAT_V2_ATTR_TIDX = "Tidx";
  427. const std::string CONCAT_V2_ATTR_N = "N";
  428. // SUM
  429. const std::string SUM_ATTR_TIDX = "Tidx";
  430. const std::string SUM_ATTR_AXIS = "axis";
  431. const std::string SUM_ATTR_KEEP_DIMS = "keep_dims";
  432. // ResizeBilinear
  433. const std::string RESIZE_BILINEAR_ATTR_MODE = "mode";
  434. const std::string RESIZE_BILINEAR_ATTR_ALIGN_CORNERS = "align_corners";
  435. const std::string RESIZE_BILINEAR_ATTR_HEIGHT = "height";
  436. const std::string RESIZE_BILINEAR_ATTR_WIDTH = "width";
  437. const std::string RESIZE_BILINEAR_ATTR_ZOOM_FACTOR = "zoom_factor";
  438. const std::string RESIZE_BILINEAR_ATTR_SHRINK_FACTOR = "shrink_factor";
  439. const std::string RESIZE_BILINEAR_ATTR_PAD_BEGIN = "pad_begin";
  440. const std::string RESIZE_BILINEAR_ATTR_PAD_END = "pad_end";
  441. const std::string RESIZE_BILINEAR_ATTR_ALPHA = "alpha";
  442. const std::string RESIZE_BILINEAR_ATTR_BETA = "beta";
  443. // RetinaNet
  444. const std::string RETINANET_FILTER_BACKGROUND_TRUE = "retina_conv_filter_background";
  445. const std::string RETINANET_ANCHOR_FUSION = "retina_anchor_fusion";
  446. // MatMul
  447. const std::string MATMUL_TRANSPOSE_X = "transposeX";
  448. const std::string MATMUL_TRANSPOSE_W = "transposeW";
  449. const std::string MATMUL_HAS_BIAS = "has_bias";
  450. const std::string MATMUL_ATTR_IS_TRAINING = "matmul_is_training";
  451. // Flatten
  452. const std::string FLATTEN_START_AXIS = "start_axis";
  453. const std::string FLATTEN_END_AXIS = "end_axis";
  454. // Reshape
  455. const std::string RESHAPE_ATTR_AXIS = "axis";
  456. const std::string RESHAPE_ATTR_NUM_AXES = "num_axes";
  457. const std::string RESHAPE_ATTR_FORMAT = "format";
  458. const std::string RESHAPE_ATTR_SHAPE = "shape";
  459. const std::string RESHAPE_ATTR_ALPHA = "alpha";
  460. const std::string RESHAPE_ATTR_BETA = "beta";
  461. // Frameoworkop
  462. const std::string T_IN_DATATYPE = "t_in_datatype";
  463. const std::string T_OUT_DATATYPE = "t_out_datatype";
  464. const std::string ATTR_NAME_OUT_N = "out_n";
  465. const std::string ATTR_NAME_OUT_C = "out_c";
  466. const std::string ATTR_NAME_OUT_H = "out_h";
  467. const std::string ATTR_NAME_OUT_W = "out_w";
  468. const std::string ATTR_PAD_DEPTH_CONV = "pad_depth_conv";
  469. const std::string ATTR_PAD_CONV = "pad_conv";
  470. const std::string ATTR_NAME_BEFORE_PAD = "before_pad";
  471. const std::string ANN_MEAN_KEEPDIMS = "AnnMeanKeepDims";
  472. const std::string PAD_ATTR_PADDINGDS = "paddings";
  473. const std::string PAD_ATTR_CONSTANT_VALUE = "padvalue";
  474. // ConvGradFilter
  475. const std::string CONV_GRAD_FILTER_OUTPUT_SHAPE = "conv_grad_filter_output_shape";
  476. // ConvGradInput
  477. const std::string CONV_GRAD_INPUT_OUTPUT_SHAPE = "conv_grad_input_output_shape";
  478. // Rnn
  479. const std::string RNN_MODE_STATIC = "rnn_static";
  480. const std::string MUTI_RNN = "multi_rnn";
  481. const std::string CNN_RNN = "cnn_rnn";
  482. const std::string RNN_MODE_ = "rnn_";
  483. const std::string CELL_MODE = "mode";
  484. const std::string LSTM_CELL = "lstm_cell";
  485. const std::string GRU_CELL = "gru_cell";
  486. const std::string RNN_HT = "ht";
  487. const std::string RNN_XT_HT = "xt_ht";
  488. const std::string RNN_BATCH_SIZE = "batch_size";
  489. const std::string LSTM_CELL_CLIP = "lstm_cell_clip";
  490. const std::string LSTM_PROJ_CLIP = "lstm_proj_clip";
  491. const std::string LSTM_ACTIVATE = "lstm_activate";
  492. const std::string LSTM_OUT_MAP = "lstm_out_map";
  493. const std::string LSTM_OUT_MODE = "lstm_out_mode";
  494. const std::string LSTM_STATE_OUT_MODE = "lstm_state_out_mode";
  495. const std::string LSTM_TIME_MAJOR = "lstm_time_major";
  496. const std::string LSTM_IS_INPUT_PRE_PROCESS = "lstm_is_input_pre_process";
  497. // Upsample
  498. const std::string UPSAMPLE_ATTR_NAME_SCALE = "scale";
  499. // PadV2
  500. const std::string PADV2_ATTR_NAME_MODE = "mode";
  501. const std::string PADV2_ATTR_NAME_PADS = "paddings";
  502. const std::string PADV2_ATTR_NAME_T = "T";
  503. const std::string PADV2_ATTR_NAME_PAD_FORMAT = "pad_format";
  504. const std::string PADV2_ATTR_NAME_CONST_VALUE = "const_value";
  505. // MirrorPad
  506. const std::string MIRRORPAD_ATTR_NAME_MODE = "mode";
  507. const std::string MIRRORPAD_ATTR_NAME_PADS = "paddings";
  508. const std::string MIRRORPAD_ATTR_NAME_PAD_FORMAT = "pad_format";
  509. const std::string MIRRORPAD_ATTR_NAME_CONST_VALUE = "const_value";
  510. // Filler
  511. const std::string FILLER_TYPE = "filler_type";
  512. const std::string FILLER_VALUE = "filler_value";
  513. // Shufflechannel
  514. const std::string SHUFFLE_CHANNEL_GROUP = "group";
  515. // TopKV2
  516. const std::string TOPKV2_ATTR_K = "k";
  517. // Calibaration
  518. const std::string STRIDE_H_INDEX = "STRIDE_H_INDEX";
  519. const std::string STRIDE_W_INDEX = "STRIDE_W_INDEX";
  520. const std::string PAD_TOP_INDEX = "PAD_TOP_INDEX";
  521. const std::string PAD_BOTTOM_INDEX = "PAD_BOTTOM_INDEX";
  522. const std::string PAD_RIGHT_INDEX = "PAD_RIGHT_INDEX";
  523. const std::string PAD_LEFT_INDEX = "PAD_LEFT_INDEX";
  524. const std::string QUANTIZE_ALGO_ATTR = "quantize_algo";
  525. const std::string SCALE_TYPE_ATTR = "scale_type";
  526. const std::string QUANTIZE_SCALE_MODE = "quantize_scale_mode";
  527. const std::string QUANTIZE_SCALE_VALUE = "quantize_scale_value";
  528. const std::string QUANTIZE_SCALE_OFFSET = "quantize_scale_offset";
  529. const std::string QUANTIZE_OFFSET_DATA_VALUE = "quantize_offset_data_value";
  530. const std::string QUANTIZE_OFFSET_DATA_OFFSET = "quantize_offset_data_offset";
  531. const std::string QUANTIZE_OFFSET_WEIGHT_VALUE = "quantize_offset_weight_value";
  532. const std::string QUANTIZE_OFFSET_WEIGHT_OFFSET = "quantize_offset_weight_offset";
  533. const std::string QUANTIZE_OFFSET_PAD_VALUE = "quantize_offset_pad_value";
  534. const std::string QUANTIZE_OFFSET_PAD_OFFSET = "quantize_offset_pad_offset";
  535. const std::string DEQUANTIZE_SCALE_MODE = "dequantize_scale_mode";
  536. const std::string DEQUANTIZE_SCALE_VALUE = "dequantize_scale_value";
  537. const std::string DEQUANTIZE_SCALE_OFFSET = "dequantize_scale_offset";
  538. const std::string DEQUANTIZE_OFFSET_DATA_TYPE = "dequantize_offset_data_value";
  539. const std::string DEQUANTIZE_OFFSET_DATA_OFFSET = "dequantize_offset_data_offset";
  540. const std::string DEQUANTIZE_OFFSET_WEIGHT_VALUE = "dequantize_offset_weight_value";
  541. const std::string DEQUANTIZE_OFFSET_WEIGHT_OFFSET = "dequantize_offset_weight_offset";
  542. const std::string DEQUANTIZE_OFFSET_PAD_VALUE = "dequantize_offset_pad_value";
  543. const std::string DEQUANTIZE_OFFSET_PAD_OFFSET = "dequantize_offset_pad_offset";
  544. const std::string REQUANTIZE_SCALE_MODE = "requantize_scale_mode";
  545. const std::string REQUANTIZE_SCALE_VALUE = "requantize_scale_value";
  546. const std::string REQUANTIZE_SCALE_OFFSET = "requantize_scale_offset";
  547. const std::string REQUANTIZE_OFFSET_DATA_VALUE = "requantize_offset_data_value";
  548. const std::string REQUANTIZE_OFFSET_DATA_OFFSET = "requantize_offset_data_offset";
  549. const std::string REQUANTIZE_OFFSET_WEIGHT_VALUE = "requantize_offset_weight_value";
  550. const std::string REQUANTIZE_OFFSET_WEIGHT_OFFSET = "requantize_offset_weight_offset";
  551. const std::string REQUANTIZE_OFFSET_PAD_VALUE = "requantize_offset_pad_value";
  552. const std::string REQUANTIZE_OFFSET_PAD_OFFSET = "requantize_offset_pad_offset";
  553. const std::string ATTR_NAME_IS_CONST = "attr_name_is_const";
  554. const std::string ATTR_NAME_GROUP = "group";
  555. const std::string ATTR_NAME_DILATION_SIZE = "dilation_size";
  556. const std::string ATTR_NAME_EPSILON = "epsilon";
  557. const std::string ATTR_NAME_POOLING_MODE = "mode";
  558. const std::string ATTR_NAME_CLASS_NUM = "class_num";
  559. // model
  560. const std::string ATTR_MODEL_TARGET_TYPE = "target_type";
  561. const std::string ATTR_MODEL_STREAM_NUM = "stream_num";
  562. const std::string ATTR_MODEL_EVENT_NUM = "event_num";
  563. const std::string ATTR_MODEL_HUGE_STREAM_LIST = "huge_stream_list";
  564. const std::string ATTR_MODEL_LABEL_NUM = "label_num";
  565. const std::string ATTR_MODEL_MEMORY_SIZE = "memory_size";
  566. const std::string ATTR_MODEL_ZERO_COPY_MEMORY_SIZE = "zero_copy_memory_size";
  567. const std::string ATTR_MODEL_P2P_MEMORY_SIZE = "p2p_memory_size";
  568. const std::string ATTR_MODEL_OUT_NODES_NAME = "attr_model_out_nodes_name";
  569. const std::string ATTR_MODEL_WEIGHT_SIZE = "weight_size";
  570. const std::string ATTR_MODEL_TASK_GEN_BASE_ADDR = "task_gen_base_addr";
  571. const std::string ATTR_MODEL_TASK_GEN_WEIGHT_ADDR = "task_gen_weight_addr";
  572. const std::string ATTR_MODEL_TASK_GEN_VAR_ADDR = "task_gen_variable_addr";
  573. const std::string ATTR_MODEL_VAR_SIZE = "variable_size";
  574. const std::string ATTR_MODEL_TASK_INDEX_OP_NAME = "task_index_op_name";
  575. const std::string ATTR_MODEL_CORE_TYPE = "core_type";
  576. const std::string ATTR_MODEL_ATC_VERSION = "atc_version";
  577. const std::string ATTR_MODEL_OPP_VERSION = "opp_version";
  578. // Public attribute
  579. const std::string ATTR_NAME_IMPLY_TYPE = "imply_type";
  580. const std::string ATTR_NAME_BYTE_SIZE = "op_byte_size";
  581. const std::string ATTR_NAME_FUSION_INFERENCE_ID = "fusion_inference_id";
  582. const std::string ATTR_NAME_FUSION_OPDEF = "fusion_opdef";
  583. const std::string ATTR_NAME_IO_OP = "io_op";
  584. const std::string ATTR_NAME_FUSION_SCOPE = "fusion_scope";
  585. const std::string ATTR_NAME_OPATTR = "opattr";
  586. const std::string ATTR_NAME_RELUFLAG = "relu_flag";
  587. const std::string ATTR_NAME_SEQLEN_INDEX = "seqlen_index";
  588. const std::string ATTR_NAME_X_INDEX = "x_index";
  589. const std::string ATTR_NAME_CONT_INDEX = "cont_index";
  590. const std::string ATTR_NAME_XSTATIC_INDEX = "xstatic_index";
  591. const std::string TARGET_TYPE_MINI = "MINI";
  592. const std::string TARGET_TYPE_TINY = "TINY";
  593. const std::string TARGET_TYPE_LITE = "LITE";
  594. // l2_normalize
  595. const std::string L2_NORMALIZE_ATTR_AXIS = "axis";
  596. const std::string L2_NORMALIZE_ATTR_EPS = "eps";
  597. const std::string POOL_PARAMA_ATTR_WINDOW = "window";
  598. const std::string POOL_PARAMA_ATTR_CEIL_MODE = "ceil_mode";
  599. const std::string POOL_PARAMA_ATTR_DATA_MODE = "data_mode";
  600. const std::string POOL_PARAMA_ATTR_GLOBAL_POOLING = "global_pooling";
  601. const std::string POOL_PARAMA_ATTR_NAN_OP = "nan_opt";
  602. const std::string POOL_PARAMA_ATTR_PAD_MOD = "pad_mode";
  603. // HCOM
  604. const std::string HCOM_ATTR_ROOT_RANK = "root_rank";
  605. const std::string HCOM_ATTR_RANK_SIZE = "rank_size";
  606. const std::string HCOM_ATTR_REDUCE_TYPE = "reduction";
  607. const std::string HCOM_ATTR_GROUP = "group";
  608. const std::string HCOM_ATTR_SR_TAG = "sr_tag";
  609. const std::string HCOM_ATTR_SRC_RANK = "src_rank";
  610. const std::string HCOM_ATTR_DEST_RANK = "dest_rank";
  611. const std::string HCOM_ATTR_FUSION = "fusion";
  612. const std::string HCOM_ATTR_SHAPE = "shape";
  613. const std::string HCOM_ATTR_DATA_TYPE = "dtype";
  614. // SpaceToDepth/DepthToSpace
  615. const std::string ATTR_NAME_BLOCK_SIZE = "block_size";
  616. // SparseSoftmaxCrossEntropyWithLogits
  617. const std::string SPARSE_SOFT_MAX_ATTR_TLABLES = "Tlabels";
  618. // MaxPoolGradWithArgmax
  619. const std::string MAX_POOL_GRAD_OUTPUT_SHAPE = "max_pool_grad_output_shape";
  620. // AvgPoolGrad
  621. const std::string AVG_POOL_GRAD_OUTPUT_SHAPE = "avg_pool_grad_output_shape";
  622. // Pad
  623. const std::string ATTR_PAD_FORMAT = "attr_pad_format";
  624. // Varible
  625. const std::string VAR_ATTR_FORMAT = "_var_format";
  626. const std::string VAR_ATTR_NAME = "var_name";
  627. const std::string VAR_ATTR_FRACTALZ_FORMAT = "FZ";
  628. const std::string VAR_ATTR_4D_FORMAT = "4D";
  629. const std::string VAR_ATTR_5D_FORMAT = "5D";
  630. const std::string VAR_ATTR_DATA_TYPE = "data_format";
  631. const std::string VAR_ATTR_VAR_IN_NAME = "var_in_name";
  632. const std::string VAR_ATTR_VAR_IN_INDEX = "var_in_index";
  633. const std::string VAR_ATTR_VAR_OUT_INDEX = "var_out_index";
  634. const std::string VAR_ATTR_SHAPE = "shape";
  635. const std::string HALF_VAR_NAME_END = "_fp16";
  636. const std::string VAR_ATTR_INITED = "var_is_inited";
  637. const std::string VAR_ATTR_CONTAINER = "container";
  638. const std::string VAR_ATTR_SHARED_NAME = "shared_name";
  639. const std::string VAR_ATTR_DTYPE = "dtype";
  640. const std::string VAR_ATTR_SRC_VAR_NAME = "_src_var_name";
  641. const std::string VAR_ATTR_VAR_IS_SAVE = "_var_is_save";
  642. const std::string VAR_ATTR_VAR_IS_RESTORE = "_var_is_restore";
  643. const std::string VAR_ATTR_VAR_IS_BROADCAST = "_var_is_broadcast";
  644. const std::string REF_VAR_SRC_VAR_NAME = "ref_var_src_var_name";
  645. const std::string REF_VAR_PRE_PEER_OUT_INDEX = "ref_var_pre_peer_out_index";
  646. // Assign
  647. const std::string ASSIGN_VALIDATE_SHAPE = "validate_shape";
  648. const std::string ASSIGN_VAR_NAME = "_assign_var_name";
  649. // space2bacth batch2space
  650. const std::string BATCH_SPACE_ATTR_BLOCK = "block";
  651. const std::string BATCH_SPACE_ATTR_PADDING = "padding";
  652. // depth_to_space space_to_depth
  653. const std::string DEPTH_SPACE_ATTR_BLOCK_SIZE = "block_size";
  654. // FakeQuantWithMinMaxVars
  655. const std::string FakeQuantWithMinMaxVars_ATTR_MAX = "max";
  656. const std::string FakeQuantWithMinMaxVars_ATTR_MIN = "min";
  657. // mobilenet_ssd_conv_fusion
  658. const std::string SSD_BOXPREDICTOR_BOXES_FUSION = "ssd_boxpredictor_boxes_fusion";
  659. const std::string SSD_BOXPREDICTOR_SCORES_FUSION = "ssd_boxpredictor_scores_fusion";
  660. const std::string SSD_BOXPREDICTOR_FUSION_BOX_TYPE_NUM = "ssd_boxpredictor_fusion_box_type_num";
  661. // lsh project
  662. const std::string LSH_PROJ_TYPE = "lsh_project_type";
  663. // log time stamp
  664. const std::string LOG_TIME_STAMP_LOGID = "logid";
  665. const std::string LOG_TIME_STAMP_NOTIFY = "notify";
  666. // ShapeN
  667. const std::string SHAPEN_ATTR_N = "N";
  668. const std::string SHAPEN_ATTR_IN_TYPE = "in_type";
  669. const std::string SHAPEN_ATTR_OUT_TYPE = "dtype";
  670. // GatherV2 attr def
  671. const std::string GATHERV2_ATTR_NAME_TAXIS = "Taxis";
  672. const std::string GATHERV2_ATTR_NAME_TINDICES = "Tindices";
  673. const std::string GATHERV2_ATTR_NAME_TPARAMS = "Tparams";
  674. // Reshape attr def
  675. const std::string RESHAPE_ATTR_NAME_INPUT_DESC = "input_desc_reshape";
  676. const std::string RESHAPE_ATTR_NAME_OUTPUT_DESC = "output_desc_reshape";
  677. // axis attr def
  678. const std::string ATTR_NAME_AXIS_ORG_OP = "axis_org_op";
  679. const std::string ATTR_NAME_LINK_WITH_SPARE = "link_with_sparse";
  680. const std::string ATTR_NAME_NET_OUTPUT_FORMAT = "net_output_format";
  681. const std::string ATTR_NAME_NET_OUTPUT_DATATYPE = "net_output_datatype";
  682. // For constant folding
  683. const std::string ATTR_NO_NEED_CONSTANT_FOLDING = "no_need_constant_folding";
  684. const std::string ATTR_NAME_CONTINUOUS_INPUT = "continuous_input";
  685. const std::string ATTR_NAME_CONTINUOUS_INPUT_ALLOC = "continuous_input_alloc";
  686. const std::string ATTR_NAME_CONTINUOUS_OUTPUT = "continuous_output";
  687. const std::string ATTR_NAME_REFERENCE = "reference";
  688. const std::string ATTR_NAME_NOTASK = "_no_task";
  689. const std::string ATTR_NAME_OUTPUT_REUSE_INPUT = "_output_reuse_input";
  690. const std::string ATTR_NAME_REUSE_INPUT_ON_DIM_INDEX = "_reuse_input_on_dim_index";
  691. const std::string ATTR_NAME_NOPADDING_CONTINUOUS_INPUT = "_no_padding_continuous_input";
  692. const std::string ATTR_NAME_NOPADDING_CONTINUOUS_OUTPUT = "_no_padding_continuous_output";
  693. const std::string ATTR_NAME_ATOMIC_INDEX = "atomic_index";
  694. // Used for mark the active label list stream of activated node
  695. const std::string ATTR_NAME_ACTIVE_LABEL_LIST = "_active_label_list";
  696. // Used for l2cache, true: the memory of all inputs is used for the last time.
  697. const std::string ATTR_NAME_IS_END_OF_INPUTMEM_LIFECYCLE = "is_end_of_inputmem_lifecycle";
  698. // Multi batch
  699. const std::string ATTR_NAME_PRED_VALUE = "_pred_value";
  700. const std::string ATTR_NAME_BATCH_NUM = "_batch_num";
  701. const std::string ATTR_NAME_BATCH_LABEL = "_batch_label";
  702. const std::string ATTR_NAME_COMBINED_BATCH = "_combined_batch";
  703. // Control flow
  704. const std::string ATTR_NAME_STREAM_SWITCH_COND = "switch_condition";
  705. const std::string ATTR_NAME_TRUE_BRANCH_STREAM = "true_branch_stream";
  706. const std::string ATTR_NAME_ACTIVE_STREAM_LIST = "active_stream_list";
  707. const std::string ATTR_NAME_SWITCHN_PRED_VALUE = "switch_pred_value";
  708. const std::string ATTR_NAME_ITERATORS_PER_LOOP = "iterations_per_loop";
  709. const std::string ATTR_NAME_FLOW_CTRL_NODE_FLAG = "is_flow_ctrl_node";
  710. const std::string ATTR_NAME_SUBGRAPH_FIRST_ACTIVE = "subgraph_first_active";
  711. const std::string ATTR_NAME_COMBINED_DYNAMIC_DIMS = "combined_dynamic_dims";
  712. const std::string ATTR_NAME_SWITCH_BRANCH_NODE_LABEL = "_switch_branch_node_label";
  713. const std::string ATTR_NAME_SWITCH_TRUE_BRANCH_FLAG = "_switch_true_branch_flag";
  714. const std::string ATTR_NAME_SWITCH_DATA_TYPE = "_switch_data_type";
  715. const std::string ATTR_NAME_ORIG_NODE_NAME = "_original_node_name";
  716. const std::string ATTR_NAME_CYCLIC_DEPENDENCE_FLAG = "_cyclic_dependence_flag";
  717. const std::string ATTR_NAME_NEXT_ITERATION = "_next_iteration_node";
  718. // Function Op
  719. const std::string ATTR_NAME_PARENT_NODE_INDEX = "_parent_node_index";
  720. // Used for mark the active node is for loop, type:bool
  721. const std::string ATTR_NAME_IS_LOOP_ACTIVE = "is_loop_active";
  722. const std::string ATTR_NAME_MEMORY_TYPE_INPUT = "memory_type_input";
  723. const std::string ATTR_NAME_MEMORY_TYPE_OUTPUT = "memory_type_output";
  724. const std::string ATTR_NAME_MEMORY_TYPE_WORKSPACE = "memory_type_workspace";
  725. const std::string ATTR_NAME_MEMORY_TYPE_RANGE = "_memory_type_range";
  726. const std::string MODEL_ATTR_SESSION_ID = "session_id";
  727. // lx fusion
  728. const std::string ATTR_NAME_L1_FUSION_GROUP_ID = "_l1_fusion_group_id";
  729. const std::string ATTR_NAME_FUSION_GROUP_KEY = "_fusion_group_key";
  730. const std::string ATTR_NAME_L1_FUSION_GROUP_KEY = "_l1_fusion_group_key";
  731. const std::string ATTR_NAME_FUSION_VIRTUAL_OP = "_fusion_virtual_op";
  732. const std::string ATTR_NAME_FUSION_GROUP_TYPE = "_fusion_group_type";
  733. const std::string ATTR_NAME_L1_FUSION_EXTEND_PTR = "_l1_fusion_extend_content";
  734. const std::string ATTR_NAME_GET_TENSOR_ACTUAL_SIZE = "_tensor_actual_size";
  735. const std::string ATTR_NAME_OUTPUT_OFFSET_FOR_L1_FUSION = "_output_offset_for_l1_fuison";
  736. const std::string ATTR_NAME_SWITCH_FOR_L1_FUSION = "_enable_l1_fusion";
  737. const std::string ATTR_N_BATCH_SPILT = "_is_n_batch_split";
  738. const std::string ATTR_NO_TASK_AND_DUMP_NEEDED = "_no_task_and_dump_needed";
  739. const std::string ATTR_DATA_DUMP_REF = "_datadump_ref";
  740. const std::string ATTR_NAME_OUTPUT_OFFSET_FOR_BUFFER_FUSION = "_output_offset_for_buffer_fusion";
  741. const std::string ATTR_NAME_L2_FUSION_GROUP_ID = "_l2_fusion_group_id";
  742. const std::string ATTR_NAME_SWITCH_FOR_L2_FUSION = "_enable_l2_fusion";
  743. const std::string ATTR_NAME_OP_INPUT_L1_FLAG = "_op_input_l1_flag";
  744. const std::string ATTR_NAME_OP_INPUT_L1_ADDR = "_op_input_l1_addr";
  745. const std::string ATTR_NAME_OP_INPUT_L1_VALID_SIZE = "_op_input_l1_valid_size";
  746. const std::string ATTR_NAME_ENGINE_NAME_FOR_LX = "_lxfusion_engine_name";
  747. const std::string ATTR_NAME_KKERNEL_LIB_NAME_FOR_LX = "_lxfusion_op_kernel_lib_name";
  748. const std::string ATTR_NAME_NEED_LX_FUSION = "_lx_fusion";
  749. const std::string ATTR_NAME_OPTIMIZE_GROUP = "_optimize_group";
  750. const std::string ATTR_NAME_OP_COMPILE_STRATEGY = "_op_compile_strategy";
  751. const std::string ATTR_NAME_TBE_KERNEL_NAME = "_tbe_kernel_name";
  752. const std::string ATTR_NAME_TBE_KERNEL_BUFFER = "_tbe_kernel_buffer";
  753. const std::string ATTR_NAME_DATA_SLICE = "_data_slice";
  754. const std::string ATTR_NAME_NEED_RECOVER_ATTR = "_need_recover_attr";
  755. // used for memory allocate
  756. const std::string ATTR_NAME_INPUT_MEM_TYPE_LIST = "_input_memory_type";
  757. const std::string ATTR_NAME_OUTPUT_MEM_TYPE_LIST = "_output_memory_type";
  758. const std::string ATTR_NAME_WORKSPACE_TYPE_LIST = "_workspace_type";
  759. const std::string ATTR_NAME_TENSOR_MEM_TYPE = "_tensor_memory_type";
  760. // Op debug attrs
  761. const std::string ATTR_OP_DEBUG_FLAG = "_op_debug_flag";
  762. const std::string ATTR_OP_DEBUG_MODE = "_op_debug_mode";
  763. // Atomic addr clean attrs
  764. const std::string ATOMIC_ATTR_INPUT_INDEX = "atomic_input_index";
  765. const std::string ATOMIC_ATTR_OUTPUT_INDEX = "atomic_output_index";
  766. const std::string ATOMIC_ATTR_IS_FUSION_NODE = "is_fusion_node";
  767. const std::string EXT_ATTR_ATOMIC_WORKSPACE_INFO = "sub_node_workspace_info";
  768. const std::string EXT_ATTR_ATOMIC_WORKSPACE_OFFSET = "sub_node_workspace_offset";
  769. const std::string ATOMIC_ATTR_IS_ATOMIC_NODE = "is_atomic_node";
  770. // Source/dst format for Op FormatTransfer
  771. const std::string FORMAT_TRANSFER_SRC_FORMAT = "src_format";
  772. const std::string FORMAT_TRANSFER_DST_FORMAT = "dst_format";
  773. // For compile op by ge call
  774. const std::string ATTR_NEED_COMPILE = "_node_need_compile";
  775. const std::string ATTR_INSERT_BY_MBATCH = "mbatch-inserted-node";
  776. const std::string ATTR_MBATCH_ORIGIN_INPUT_DIMS = "_mbatch_origin_input_dims";
  777. const std::string ATTR_DYNAMIC_TYPE = "mbatch_dynamic_type";
  778. const std::string ATTR_USER_DESIGNEATE_SHAPE_ORDER = "user_designate_shape_order";
  779. // For inserted op
  780. const std::string ATTR_INSERTED_BY_GE = "_inserted_by_ge";
  781. // For compress weight
  782. const std::string ATTR_NAME_COMPRESS_WEIGHT = "_is_compress_weight";
  783. // For data dump
  784. const std::string ATTR_NAME_DATA_DUMP_ORIGIN_OP_NAMES = "_datadump_original_op_names";
  785. const std::string ATTR_NAME_DATA_DUMP_IS_MULTIOP = "_datadump_is_multiop";
  786. const std::string ATTR_NAME_DATA_DUMP_SUB_SPLITER_INDEX = "_datadump_sub_spliter_index";
  787. const std::string ATTR_NAME_DATA_DUMP_GROUP_OP_NAME = "_datadump_group_op_name";
  788. const std::string ATTR_NAME_DATA_DUMP_ORIGIN_NAME = "_datadump_origin_name";
  789. const std::string ATTR_NAME_DATA_DUMP_ORIGIN_OUTPUT_INDEX = "_datadump_origin_output_index";
  790. const std::string ATTR_NAME_DATA_DUMP_ORIGIN_FORMAT = "_datadump_origin_format";
  791. const std::string ATTR_NAME_DATA_DUMP_ORIGIN_DATA_TYPE = "_datadump_origin_data_type";
  792. // functional ops attr
  793. const std::string ATTR_NAME_IF_THEN_BRANCH = "then_branch";
  794. const std::string ATTR_NAME_IF_ELSE_BRANCH = "else_branch";
  795. const std::string ATTR_NAME_WHILE_COND = "cond";
  796. const std::string ATTR_NAME_WHILE_BODY = "body";
  797. // used for label switch
  798. const std::string ATTR_NAME_LABEL_SWITCH_INDEX = "_label_switch_index";
  799. const std::string ATTR_NAME_LABEL_SWITCH_LIST = "_label_switch_list";
  800. const std::string ATTR_NAME_SUBGRAPH_END_NODE = "_subgraph_end_node";
  801. const std::string ATTR_NAME_INPUT_DATATYPE = "input_datatype";
  802. const std::string ATTR_NAME_OUTPUT_DATATYPE = "output_datatype";
  803. // used for LX tiling
  804. const std::string ATTR_NAME_OP_L1_SPACE = "_l1_space";
  805. const std::string ATTR_NAME_FUSION_TYPE_LIST = "_fusion_type_list";
  806. const std::string ATTR_NAME_VALID_INPUT_SHAPE_LIST_LIST = "_valid_input_shape_list_list";
  807. const std::string ATTR_NAME_VALID_OUTPUT_SHAPE_LIST_LIST = "_valid_output_shape_list_list";
  808. const std::string ATTR_NAME_SLICE_INPUT_OFFSET_LIST_LIST = "_input_offset_list_list";
  809. const std::string ATTR_NAME_SLICE_OUTPUT_OFFSET_LIST_LIST = "_output_offset_list_list";
  810. // for unregistered op
  811. const std::string ATTR_NAME_UNREGST_OPPATH = "_unregst_oppath";
  812. const std::string ATTR_NAME_UNREGST_ATTRLIST = "_unregst_attrlist";
  813. // used for Horovod
  814. const std::string ATTR_INTER_EVENT_IDENTIFY = "event_id";
  815. const std::string ATTR_HOROVOD_ATTR_REDUCE_TYPE = "reduce_op";
  816. // used for allreduce tailing optimization
  817. const std::string ATTR_NAME_HCCL_FUSED_GROUP = "_hccl_fused_group";
  818. const std::string ATTR_NAME_HCCL_FUSED_FLAG = "_hccl_fused_node";
  819. // dynamic shape attr
  820. const std::string ATTR_DYNAMIC_SHAPE_FIXED_ADDR = "_alloc_fixed_addr";
  821. const std::string ATTR_DYNAMIC_SHAPE_FIXED_ADDR_INDEX = "_alloc_fixed_addr_index";
  822. const std::string ATTR_DYNAMIC_SHAPE_SINGLE_AICPU = "_single_aicpu_dynamic";
  823. // op dynamic input
  824. const std::string ATTR_NAME_DYNAMIC_INPUT_START = "_dynamic_input_index_start";
  825. const std::string ATTR_NAME_DYNAMIC_INPUT_END = "_dynamic_input_index_end";
  826. // atc user def dtype&format
  827. const std::string ATTR_ATC_USER_DEFINE_DATATYPE = "_user_defined_data_type";
  828. const std::string ATTR_ATC_USER_DEFINE_FORMAT = "_user_defined_format";
  829. // atc user def dtype&format
  830. const std::string ATTR_ATC_USER_DEFINE_OUTPUT_NODES = "_user_defined_output_nodes";
  831. // for fusion op plugin
  832. const std::string ATTR_NAME_FUSIONOP_ORIGINAL_TYPE = "_fusionop_original_type";
  833. // graph partition for aicpu
  834. const std::string ATTR_NAME_PLD_FRONT_NODE_ENGINE_NAME = "pld_front_node_engine_name";
  835. const std::string ATTR_NAME_END_REAR_NODE_ENGINE_NAME = "end_rear_node_engine_name";
  836. // input and output memory type
  837. const std::string ATTR_VARIABLE_PLACEMENT = "_variable_placement";
  838. const std::string ATTR_INPUT_MEMORY_TYPE = "_input_memory_type";
  839. const std::string ATTR_OUTPUT_MEMORY_TYPE = "_output_memory_type";
  840. const std::string ATTR_NAME_SPECIAL_OUTPUT_SIZE = "_special_output_size";
  841. // stage
  842. const std::string ATTR_STAGE_LEVEL = "_stage_level";
  843. // input_output_offset
  844. const std::string ATTR_ZERO_COPY_BASIC_OFFSET = "_zero_copy_basic_offset";
  845. const std::string ATTR_ZERO_COPY_RELATIVE_OFFSET = "_zero_copy_relative_offset";
  846. // The processing mode of INF and NAN during floating-point number calculation.
  847. const std::string ATTR_FP_CEILING_MODE = "_fp_ceiling_mode";
  848. // count of data from getnext_sink
  849. const std::string ATTR_GETNEXT_SINK_DATA_COUNT = "N";
  850. const std::string ATTR_GETNEXT_SINK_SHAPE_INFO = "shape_info";
  851. // getnext_sink marked on NetOutput
  852. const std::string ATTR_GETNEXT_SINK_DYNMAIC = "getnext_sink_dynamic";
  853. const std::string ATTR_ALL_GEARS_INFO = "all_gears_info";
  854. // Calculate the operator output memory
  855. const std::string ATTR_NAME_MEMORY_SIZE_CALC_TYPE = "_memory_size_calc_type";
  856. } // namespace ge

图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行的图。GE针对昇腾AI处理器的硬件结构特点,做了特定的优化工作,以此来充分发挥出昇腾AI处理器的强大算力。在进行模型训练/推理时,GE会被自动调用而用户并不感知。GE主要由GE API和GE Core两部分组成,详细的架构图如下所示