mindspore 2.2.14__cp37-cp37m-manylinux1_x86_64.whl → 2.3.0rc2__cp37-cp37m-manylinux1_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1172) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -4
  3. mindspore/_akg/akg/composite/build_module.py +155 -11
  4. mindspore/_akg/akg/config/repository.json +38 -0
  5. mindspore/_akg/akg/ms/info_version_adapt.py +29 -0
  6. mindspore/_akg/akg/tvm/contrib/nvcc.py +4 -1
  7. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +2 -1
  8. mindspore/_akg/akg/utils/composite_op_helper.py +4 -2
  9. mindspore/_akg/akg/utils/dump_ascend_meta.py +2 -2
  10. mindspore/_akg/akg/utils/gen_random.py +14 -8
  11. mindspore/_akg/akg/utils/op_dsl.py +11 -0
  12. mindspore/_akg/akg/utils/tbe_codegen_utils.py +18 -8
  13. mindspore/_c_dataengine.cpython-37m-x86_64-linux-gnu.so +0 -0
  14. mindspore/_c_expression.cpython-37m-x86_64-linux-gnu.so +0 -0
  15. mindspore/_c_mindrecord.cpython-37m-x86_64-linux-gnu.so +0 -0
  16. mindspore/_checkparam.py +78 -0
  17. mindspore/_extends/builtin_operations.py +2 -1
  18. mindspore/_extends/graph_kernel/model/graph_parallel.py +16 -6
  19. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +3 -16
  20. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +16 -4
  21. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +1 -0
  22. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  23. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +2 -1
  24. mindspore/_extends/parallel_compile/akg_compiler/util.py +5 -2
  25. mindspore/_extends/parse/__init__.py +18 -14
  26. mindspore/_extends/parse/compile_config.py +229 -0
  27. mindspore/_extends/parse/parser.py +155 -59
  28. mindspore/_extends/parse/resources.py +40 -7
  29. mindspore/_extends/parse/standard_method.py +127 -206
  30. mindspore/_extends/remote/kernel_build_server.py +2 -0
  31. mindspore/_mindspore_offline_debug.cpython-37m-x86_64-linux-gnu.so +0 -0
  32. mindspore/{ops/_op_impl/tbe/atomic_addr_clean.py → _profiler.py} +13 -16
  33. mindspore/amp.py +24 -18
  34. mindspore/bin/cache_admin +0 -0
  35. mindspore/bin/cache_server +0 -0
  36. mindspore/boost/boost_cell_wrapper.py +1 -1
  37. mindspore/boost/group_loss_scale_manager.py +1 -1
  38. mindspore/common/__init__.py +7 -3
  39. mindspore/common/_jit_fallback_utils.py +2 -3
  40. mindspore/common/_register_for_adapter.py +7 -0
  41. mindspore/common/_register_for_recompute.py +48 -0
  42. mindspore/common/_stub_tensor.py +7 -1
  43. mindspore/common/_utils.py +5 -17
  44. mindspore/common/api.py +145 -50
  45. mindspore/common/auto_dynamic_shape.py +27 -14
  46. mindspore/common/dtype.py +9 -6
  47. mindspore/common/dump.py +5 -4
  48. mindspore/common/hook_handle.py +51 -4
  49. mindspore/common/initializer.py +1 -1
  50. mindspore/common/jit_config.py +33 -13
  51. mindspore/common/lazy_inline.py +58 -17
  52. mindspore/common/mindir_util.py +12 -2
  53. mindspore/common/mutable.py +79 -14
  54. mindspore/common/parameter.py +24 -4
  55. mindspore/common/recompute.py +247 -0
  56. mindspore/common/seed.py +9 -9
  57. mindspore/common/sparse_tensor.py +251 -18
  58. mindspore/common/symbol.py +122 -0
  59. mindspore/common/tensor.py +391 -465
  60. mindspore/communication/__init__.py +3 -3
  61. mindspore/communication/_comm_helper.py +5 -0
  62. mindspore/communication/management.py +53 -38
  63. mindspore/config/op_info.config +22 -54
  64. mindspore/context.py +176 -55
  65. mindspore/dataset/__init__.py +5 -5
  66. mindspore/dataset/audio/__init__.py +6 -6
  67. mindspore/dataset/audio/transforms.py +711 -158
  68. mindspore/dataset/callback/ds_callback.py +2 -2
  69. mindspore/dataset/engine/cache_client.py +2 -2
  70. mindspore/dataset/engine/datasets.py +72 -38
  71. mindspore/dataset/engine/datasets_audio.py +14 -14
  72. mindspore/dataset/engine/datasets_standard_format.py +33 -3
  73. mindspore/dataset/engine/datasets_text.py +38 -38
  74. mindspore/dataset/engine/datasets_user_defined.py +7 -7
  75. mindspore/dataset/engine/datasets_vision.py +75 -71
  76. mindspore/dataset/engine/offload.py +5 -7
  77. mindspore/dataset/text/__init__.py +3 -3
  78. mindspore/dataset/text/transforms.py +408 -121
  79. mindspore/dataset/text/utils.py +9 -9
  80. mindspore/dataset/transforms/__init__.py +1 -1
  81. mindspore/dataset/transforms/transforms.py +261 -76
  82. mindspore/dataset/utils/browse_dataset.py +9 -9
  83. mindspore/dataset/vision/__init__.py +3 -3
  84. mindspore/dataset/vision/c_transforms.py +5 -5
  85. mindspore/dataset/vision/transforms.py +2264 -514
  86. mindspore/dataset/vision/utils.py +40 -9
  87. mindspore/dataset/vision/validators.py +7 -1
  88. mindspore/experimental/optim/__init__.py +12 -2
  89. mindspore/experimental/optim/adadelta.py +161 -0
  90. mindspore/experimental/optim/adagrad.py +168 -0
  91. mindspore/experimental/optim/adam.py +35 -34
  92. mindspore/experimental/optim/adamax.py +170 -0
  93. mindspore/experimental/optim/adamw.py +40 -16
  94. mindspore/experimental/optim/asgd.py +153 -0
  95. mindspore/experimental/optim/lr_scheduler.py +66 -121
  96. mindspore/experimental/optim/nadam.py +157 -0
  97. mindspore/experimental/optim/optimizer.py +15 -8
  98. mindspore/experimental/optim/radam.py +194 -0
  99. mindspore/experimental/optim/rmsprop.py +154 -0
  100. mindspore/experimental/optim/rprop.py +164 -0
  101. mindspore/experimental/optim/sgd.py +28 -19
  102. mindspore/hal/__init__.py +34 -0
  103. mindspore/hal/_ascend.py +57 -0
  104. mindspore/hal/_base.py +57 -0
  105. mindspore/hal/_cpu.py +56 -0
  106. mindspore/hal/_gpu.py +57 -0
  107. mindspore/hal/device.py +356 -0
  108. mindspore/hal/event.py +179 -0
  109. mindspore/hal/stream.py +339 -0
  110. mindspore/include/api/data_type.h +2 -2
  111. mindspore/include/api/dual_abi_helper.h +16 -3
  112. mindspore/include/api/model.h +1 -3
  113. mindspore/include/api/status.h +14 -0
  114. mindspore/include/c_api/model_c.h +173 -0
  115. mindspore/include/c_api/ms/base/types.h +1 -0
  116. mindspore/include/c_api/types_c.h +19 -0
  117. mindspore/include/dataset/execute.h +1 -3
  118. mindspore/include/mindapi/base/format.h +125 -23
  119. mindspore/include/mindapi/base/types.h +12 -0
  120. mindspore/lib/libdnnl.so.2 +0 -0
  121. mindspore/lib/libmindspore.so +0 -0
  122. mindspore/lib/libmindspore_backend.so +0 -0
  123. mindspore/lib/libmindspore_common.so +0 -0
  124. mindspore/lib/libmindspore_core.so +0 -0
  125. mindspore/lib/libmindspore_glog.so.0 +0 -0
  126. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  127. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  128. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  129. mindspore/lib/libmindspore_shared_lib.so +0 -0
  130. mindspore/lib/libmpi_adapter.so +0 -0
  131. mindspore/lib/libmpi_collective.so +0 -0
  132. mindspore/lib/libnnacl.so +0 -0
  133. mindspore/lib/libopencv_core.so.4.5 +0 -0
  134. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  135. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  136. mindspore/lib/libps_cache.so +0 -0
  137. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +2044 -154
  138. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +2044 -33
  139. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/build_tbe_kernel.py +529 -0
  140. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/compiler.py +56 -0
  141. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/custom.py +1109 -0
  142. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/get_file_path.py +36 -0
  143. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +0 -2
  144. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/tbe_topi.py +556 -0
  145. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +0 -2
  146. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  147. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +6318 -1760
  148. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  149. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_add_custom.h +49 -0
  150. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_decoder_kv_cache.h +59 -0
  151. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_prompt_kv_cache.h +59 -0
  152. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/lib/libcust_opapi.so +0 -0
  153. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +52 -0
  154. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +232 -0
  155. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +232 -0
  156. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/add_custom.cpp +81 -0
  157. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/add_custom.py +134 -0
  158. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/decoder_kv_cache.cpp +192 -0
  159. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/decoder_kv_cache.py +134 -0
  160. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/prompt_kv_cache.cpp +274 -0
  161. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/prompt_kv_cache.py +134 -0
  162. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/op_tiling/lib/linux/x86_64/libcust_opmaster_rt2.0.so +0 -0
  163. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/op_tiling/liboptiling.so +0 -0
  164. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_proto/inc/op_proto.h +39 -0
  165. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_proto/lib/linux/x86_64/libcust_opsproto_rt2.0.so +0 -0
  166. mindspore/lib/plugin/ascend/libakg.so +0 -0
  167. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  168. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  169. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  170. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  171. mindspore/lib/plugin/cpu/libakg.so +0 -0
  172. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  173. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  174. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  175. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  176. mindspore/lib/plugin/gpu10.1/libnvidia_collective.so +0 -0
  177. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  178. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  179. mindspore/lib/plugin/gpu11.1/libnvidia_collective.so +0 -0
  180. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  181. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  182. mindspore/lib/plugin/gpu11.6/libnvidia_collective.so +0 -0
  183. mindspore/lib/plugin/{libmindspore_ascend.so.1 → libmindspore_ascend.so.2} +0 -0
  184. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  185. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  186. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  187. mindspore/log.py +2 -2
  188. mindspore/mindrecord/__init__.py +5 -1
  189. mindspore/mindrecord/config.py +809 -0
  190. mindspore/mindrecord/filereader.py +25 -0
  191. mindspore/mindrecord/filewriter.py +74 -56
  192. mindspore/mindrecord/mindpage.py +40 -6
  193. mindspore/mindrecord/shardutils.py +3 -2
  194. mindspore/mindrecord/shardwriter.py +7 -0
  195. mindspore/mindrecord/tools/cifar100_to_mr.py +8 -13
  196. mindspore/mindrecord/tools/cifar10_to_mr.py +9 -15
  197. mindspore/mindrecord/tools/csv_to_mr.py +4 -9
  198. mindspore/mindrecord/tools/imagenet_to_mr.py +3 -8
  199. mindspore/mindrecord/tools/mnist_to_mr.py +7 -12
  200. mindspore/mindrecord/tools/tfrecord_to_mr.py +1 -6
  201. mindspore/mint/__init__.py +457 -0
  202. mindspore/mint/nn/__init__.py +430 -0
  203. mindspore/mint/nn/functional.py +424 -0
  204. mindspore/mint/optim/__init__.py +24 -0
  205. mindspore/mint/optim/adamw.py +186 -0
  206. mindspore/multiprocessing/__init__.py +72 -0
  207. mindspore/nn/__init__.py +3 -0
  208. mindspore/nn/cell.py +131 -174
  209. mindspore/nn/dynamic_lr.py +2 -2
  210. mindspore/nn/extend/__init__.py +29 -0
  211. mindspore/nn/extend/basic.py +140 -0
  212. mindspore/nn/extend/embedding.py +143 -0
  213. mindspore/{rewrite/ast_creator_register.py → nn/extend/layer/__init__.py} +9 -19
  214. mindspore/nn/extend/layer/normalization.py +107 -0
  215. mindspore/nn/extend/pooling.py +117 -0
  216. mindspore/nn/generator.py +297 -0
  217. mindspore/nn/layer/activation.py +79 -90
  218. mindspore/nn/layer/basic.py +113 -81
  219. mindspore/nn/layer/channel_shuffle.py +3 -16
  220. mindspore/nn/layer/container.py +3 -3
  221. mindspore/nn/layer/conv.py +71 -71
  222. mindspore/nn/layer/embedding.py +105 -44
  223. mindspore/nn/layer/image.py +4 -7
  224. mindspore/nn/layer/normalization.py +52 -66
  225. mindspore/nn/layer/padding.py +30 -39
  226. mindspore/nn/layer/pooling.py +13 -9
  227. mindspore/nn/layer/rnn_cells.py +5 -15
  228. mindspore/nn/layer/rnns.py +6 -5
  229. mindspore/nn/layer/thor_layer.py +1 -2
  230. mindspore/nn/layer/timedistributed.py +1 -1
  231. mindspore/nn/layer/transformer.py +52 -50
  232. mindspore/nn/learning_rate_schedule.py +6 -5
  233. mindspore/nn/loss/loss.py +43 -64
  234. mindspore/nn/optim/ada_grad.py +4 -2
  235. mindspore/nn/optim/adadelta.py +3 -1
  236. mindspore/nn/optim/adafactor.py +1 -1
  237. mindspore/nn/optim/adam.py +102 -181
  238. mindspore/nn/optim/adamax.py +4 -2
  239. mindspore/nn/optim/adasum.py +2 -2
  240. mindspore/nn/optim/asgd.py +4 -2
  241. mindspore/nn/optim/ftrl.py +31 -61
  242. mindspore/nn/optim/lamb.py +5 -3
  243. mindspore/nn/optim/lars.py +2 -2
  244. mindspore/nn/optim/lazyadam.py +6 -4
  245. mindspore/nn/optim/momentum.py +13 -25
  246. mindspore/nn/optim/optimizer.py +6 -3
  247. mindspore/nn/optim/proximal_ada_grad.py +4 -2
  248. mindspore/nn/optim/rmsprop.py +9 -3
  249. mindspore/nn/optim/rprop.py +4 -2
  250. mindspore/nn/optim/sgd.py +6 -5
  251. mindspore/nn/optim/thor.py +2 -2
  252. mindspore/nn/probability/distribution/_utils/custom_ops.py +2 -2
  253. mindspore/nn/probability/distribution/beta.py +2 -2
  254. mindspore/nn/probability/distribution/categorical.py +4 -6
  255. mindspore/nn/probability/distribution/cauchy.py +2 -2
  256. mindspore/nn/probability/distribution/exponential.py +1 -1
  257. mindspore/nn/probability/distribution/gumbel.py +2 -2
  258. mindspore/nn/probability/distribution/poisson.py +2 -2
  259. mindspore/nn/probability/distribution/uniform.py +2 -2
  260. mindspore/nn/reinforcement/_tensors_queue.py +13 -1
  261. mindspore/nn/wrap/__init__.py +2 -1
  262. mindspore/nn/wrap/cell_wrapper.py +33 -12
  263. mindspore/nn/wrap/grad_reducer.py +148 -8
  264. mindspore/nn/wrap/loss_scale.py +7 -7
  265. mindspore/numpy/__init__.py +2 -0
  266. mindspore/numpy/array_creations.py +2 -0
  267. mindspore/numpy/array_ops.py +1 -5
  268. mindspore/numpy/fft.py +431 -0
  269. mindspore/numpy/math_ops.py +54 -60
  270. mindspore/numpy/utils.py +3 -0
  271. mindspore/ops/__init__.py +5 -4
  272. mindspore/ops/_grad_experimental/grad_array_ops.py +4 -129
  273. mindspore/ops/_grad_experimental/grad_comm_ops.py +14 -18
  274. mindspore/ops/_grad_experimental/grad_math_ops.py +68 -283
  275. mindspore/ops/_grad_experimental/grad_nn_ops.py +0 -53
  276. mindspore/ops/_grad_experimental/grad_quant_ops.py +3 -3
  277. mindspore/ops/_grad_experimental/grad_sparse.py +1 -1
  278. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  279. mindspore/ops/_op_impl/__init__.py +0 -1
  280. mindspore/ops/_op_impl/aicpu/gamma.py +2 -0
  281. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +1 -1
  282. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +1 -3
  283. mindspore/ops/_op_impl/aicpu/poisson.py +2 -0
  284. mindspore/ops/_op_impl/cpu/__init__.py +1 -3
  285. mindspore/ops/_op_impl/cpu/adam.py +2 -2
  286. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +3 -2
  287. mindspore/ops/_op_impl/cpu/maximum_grad.py +16 -14
  288. mindspore/ops/_op_impl/cpu/minimum_grad.py +8 -0
  289. mindspore/ops/_vmap/vmap_array_ops.py +137 -101
  290. mindspore/ops/_vmap/vmap_base.py +8 -1
  291. mindspore/ops/_vmap/vmap_grad_math_ops.py +95 -9
  292. mindspore/ops/_vmap/vmap_grad_nn_ops.py +143 -58
  293. mindspore/ops/_vmap/vmap_image_ops.py +70 -13
  294. mindspore/ops/_vmap/vmap_math_ops.py +101 -57
  295. mindspore/ops/_vmap/vmap_nn_ops.py +230 -97
  296. mindspore/ops/_vmap/vmap_other_ops.py +1 -1
  297. mindspore/ops/auto_generate/__init__.py +31 -0
  298. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +205 -0
  299. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +257 -0
  300. mindspore/ops/auto_generate/gen_arg_handler.py +171 -0
  301. mindspore/ops/auto_generate/gen_extend_func.py +404 -0
  302. mindspore/ops/auto_generate/gen_ops_def.py +5653 -0
  303. mindspore/ops/auto_generate/gen_ops_prim.py +11623 -0
  304. mindspore/ops/auto_generate/pyboost_inner_prim.py +359 -0
  305. mindspore/ops/composite/__init__.py +5 -2
  306. mindspore/ops/composite/base.py +118 -17
  307. mindspore/ops/composite/math_ops.py +9 -48
  308. mindspore/ops/composite/multitype_ops/_compile_utils.py +168 -602
  309. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +24 -133
  310. mindspore/ops/composite/multitype_ops/add_impl.py +6 -0
  311. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +6 -0
  312. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +6 -0
  313. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +6 -0
  314. mindspore/ops/composite/multitype_ops/div_impl.py +8 -0
  315. mindspore/ops/composite/multitype_ops/equal_impl.py +6 -0
  316. mindspore/ops/composite/multitype_ops/floordiv_impl.py +8 -0
  317. mindspore/ops/composite/multitype_ops/getitem_impl.py +6 -0
  318. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +6 -0
  319. mindspore/ops/composite/multitype_ops/greater_impl.py +6 -0
  320. mindspore/ops/composite/multitype_ops/in_impl.py +8 -2
  321. mindspore/ops/composite/multitype_ops/left_shift_impl.py +6 -0
  322. mindspore/ops/composite/multitype_ops/less_equal_impl.py +6 -0
  323. mindspore/ops/composite/multitype_ops/less_impl.py +6 -0
  324. mindspore/ops/composite/multitype_ops/logic_not_impl.py +6 -0
  325. mindspore/ops/composite/multitype_ops/logical_and_impl.py +6 -0
  326. mindspore/ops/composite/multitype_ops/logical_or_impl.py +6 -0
  327. mindspore/ops/composite/multitype_ops/mod_impl.py +6 -0
  328. mindspore/ops/composite/multitype_ops/mul_impl.py +6 -0
  329. mindspore/ops/composite/multitype_ops/negative_impl.py +9 -3
  330. mindspore/ops/composite/multitype_ops/not_equal_impl.py +6 -0
  331. mindspore/ops/composite/multitype_ops/not_in_impl.py +6 -1
  332. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -2
  333. mindspore/ops/composite/multitype_ops/pow_impl.py +6 -0
  334. mindspore/ops/composite/multitype_ops/right_shift_impl.py +6 -0
  335. mindspore/ops/composite/multitype_ops/setitem_impl.py +32 -21
  336. mindspore/ops/composite/multitype_ops/sub_impl.py +6 -0
  337. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +6 -3
  338. mindspore/ops/deprecated.py +14 -3
  339. mindspore/ops/extend/__init__.py +54 -0
  340. mindspore/ops/extend/array_func.py +259 -0
  341. mindspore/ops/extend/math_func.py +76 -0
  342. mindspore/ops/extend/nn_func.py +384 -0
  343. mindspore/ops/function/__init__.py +37 -12
  344. mindspore/ops/function/array_func.py +702 -1867
  345. mindspore/ops/function/clip_func.py +19 -31
  346. mindspore/ops/function/debug_func.py +1 -4
  347. mindspore/ops/function/fft_func.py +31 -0
  348. mindspore/ops/function/grad/grad_func.py +24 -17
  349. mindspore/ops/function/image_func.py +27 -21
  350. mindspore/ops/function/linalg_func.py +35 -68
  351. mindspore/ops/function/math_func.py +639 -2531
  352. mindspore/ops/function/nn_func.py +1274 -832
  353. mindspore/ops/function/other_func.py +4 -5
  354. mindspore/ops/function/parameter_func.py +5 -93
  355. mindspore/ops/function/random_func.py +84 -71
  356. mindspore/ops/function/sparse_unary_func.py +9 -16
  357. mindspore/ops/function/spectral_func.py +1 -1
  358. mindspore/ops/function/vmap_func.py +14 -14
  359. mindspore/ops/functional.py +57 -63
  360. mindspore/ops/op_info_register.py +16 -43
  361. mindspore/ops/operations/__init__.py +19 -20
  362. mindspore/ops/operations/_grad_ops.py +20 -828
  363. mindspore/ops/operations/_inner_ops.py +180 -288
  364. mindspore/ops/operations/_scalar_ops.py +5 -480
  365. mindspore/ops/operations/_sequence_ops.py +6 -36
  366. mindspore/ops/operations/array_ops.py +83 -2697
  367. mindspore/ops/operations/comm_ops.py +38 -46
  368. mindspore/ops/operations/custom_ops.py +14 -96
  369. mindspore/ops/operations/debug_ops.py +100 -31
  370. mindspore/ops/operations/image_ops.py +1 -217
  371. mindspore/ops/operations/inner_ops.py +3 -38
  372. mindspore/ops/operations/linalg_ops.py +1 -49
  373. mindspore/{rewrite/ast_transformers → ops/operations/manually_defined}/__init__.py +11 -4
  374. mindspore/ops/operations/manually_defined/_inner.py +61 -0
  375. mindspore/ops/operations/manually_defined/ops_def.py +1716 -0
  376. mindspore/ops/operations/math_ops.py +581 -4629
  377. mindspore/ops/operations/nn_ops.py +260 -1941
  378. mindspore/ops/operations/other_ops.py +50 -42
  379. mindspore/ops/operations/random_ops.py +3 -52
  380. mindspore/ops/operations/sparse_ops.py +3 -3
  381. mindspore/ops/primitive.py +196 -96
  382. mindspore/ops_generate/__init__.py +27 -0
  383. mindspore/ops_generate/arg_dtype_cast.py +257 -0
  384. mindspore/ops_generate/arg_handler.py +171 -0
  385. mindspore/ops_generate/gen_aclnn_implement.py +266 -0
  386. mindspore/ops_generate/gen_ops.py +1062 -0
  387. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  388. mindspore/ops_generate/gen_pyboost_func.py +939 -0
  389. mindspore/ops_generate/gen_utils.py +188 -0
  390. mindspore/ops_generate/op_proto.py +138 -0
  391. mindspore/ops_generate/pyboost_utils.py +349 -0
  392. mindspore/ops_generate/template.py +238 -0
  393. mindspore/parallel/__init__.py +6 -4
  394. mindspore/parallel/_auto_parallel_context.py +52 -2
  395. mindspore/parallel/_cell_wrapper.py +16 -9
  396. mindspore/parallel/_cost_model_context.py +1 -1
  397. mindspore/parallel/_dp_allreduce_fusion.py +159 -159
  398. mindspore/parallel/_parallel_serialization.py +29 -13
  399. mindspore/parallel/_ps_context.py +1 -1
  400. mindspore/parallel/_recovery_context.py +1 -1
  401. mindspore/parallel/_tensor.py +19 -7
  402. mindspore/parallel/_transformer/__init__.py +1 -1
  403. mindspore/parallel/_transformer/layers.py +1 -1
  404. mindspore/parallel/_transformer/loss.py +1 -1
  405. mindspore/parallel/_transformer/moe.py +1 -1
  406. mindspore/parallel/_transformer/op_parallel_config.py +1 -1
  407. mindspore/parallel/_transformer/transformer.py +1 -1
  408. mindspore/parallel/_utils.py +147 -6
  409. mindspore/parallel/algo_parameter_config.py +6 -6
  410. mindspore/parallel/checkpoint_transform.py +180 -24
  411. mindspore/parallel/cluster/__init__.py +15 -0
  412. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  413. mindspore/parallel/cluster/process_entity/_api.py +345 -0
  414. mindspore/parallel/cluster/process_entity/_utils.py +116 -0
  415. mindspore/parallel/cluster/run.py +139 -0
  416. mindspore/parallel/mpi/__init__.py +1 -1
  417. mindspore/parallel/mpi/_mpi_config.py +1 -1
  418. mindspore/parallel/parameter_broadcast.py +152 -0
  419. mindspore/parallel/shard.py +99 -2
  420. mindspore/profiler/common/util.py +20 -0
  421. mindspore/profiler/envprofiling.py +1 -1
  422. mindspore/{_extends/parallel_compile/tbe_compiler → profiler/parser/ascend_analysis}/__init__.py +1 -1
  423. mindspore/profiler/parser/ascend_analysis/constant.py +66 -0
  424. mindspore/profiler/parser/ascend_analysis/file_manager.py +77 -0
  425. mindspore/profiler/parser/ascend_analysis/function_event.py +146 -0
  426. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +109 -0
  427. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +80 -0
  428. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +52 -0
  429. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +116 -0
  430. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  431. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +59 -0
  432. mindspore/profiler/parser/ascend_cluster_generator.py +14 -9
  433. mindspore/profiler/parser/ascend_communicate_generator.py +0 -1
  434. mindspore/profiler/parser/ascend_flops_generator.py +20 -4
  435. mindspore/profiler/parser/ascend_hccl_generator.py +25 -277
  436. mindspore/profiler/parser/ascend_msprof_exporter.py +112 -132
  437. mindspore/profiler/parser/ascend_msprof_generator.py +73 -283
  438. mindspore/profiler/parser/ascend_op_generator.py +92 -42
  439. mindspore/profiler/parser/ascend_timeline_generator.py +294 -133
  440. mindspore/profiler/parser/base_timeline_generator.py +6 -0
  441. mindspore/profiler/parser/framework_parser.py +3 -2
  442. mindspore/profiler/parser/integrator.py +3 -1
  443. mindspore/profiler/parser/msadvisor_analyzer.py +1 -1
  444. mindspore/profiler/parser/msadvisor_parser.py +1 -1
  445. mindspore/profiler/parser/profiler_info.py +16 -1
  446. mindspore/profiler/profiling.py +305 -167
  447. mindspore/rewrite/__init__.py +2 -13
  448. mindspore/rewrite/api/node.py +121 -35
  449. mindspore/rewrite/api/pattern_engine.py +2 -3
  450. mindspore/rewrite/api/scoped_value.py +16 -15
  451. mindspore/rewrite/api/symbol_tree.py +45 -29
  452. mindspore/rewrite/ast_helpers/__init__.py +3 -6
  453. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  454. mindspore/rewrite/ast_helpers/ast_finder.py +48 -0
  455. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  456. mindspore/rewrite/ast_helpers/ast_modifier.py +160 -92
  457. mindspore/rewrite/common/__init__.py +1 -2
  458. mindspore/rewrite/common/config.py +24 -0
  459. mindspore/rewrite/common/{rewrite_elog.py → error_log.py} +39 -39
  460. mindspore/rewrite/{namer.py → common/namer.py} +63 -18
  461. mindspore/rewrite/common/namespace.py +118 -0
  462. mindspore/rewrite/node/__init__.py +5 -5
  463. mindspore/rewrite/node/call_function.py +23 -7
  464. mindspore/rewrite/node/cell_container.py +7 -3
  465. mindspore/rewrite/node/control_flow.py +53 -28
  466. mindspore/rewrite/node/node.py +212 -196
  467. mindspore/rewrite/node/node_manager.py +51 -22
  468. mindspore/rewrite/node/node_topological_manager.py +3 -23
  469. mindspore/rewrite/parsers/__init__.py +12 -0
  470. mindspore/rewrite/parsers/arguments_parser.py +8 -9
  471. mindspore/rewrite/parsers/assign_parser.py +635 -413
  472. mindspore/rewrite/parsers/attribute_parser.py +3 -4
  473. mindspore/rewrite/parsers/class_def_parser.py +107 -144
  474. mindspore/rewrite/parsers/constant_parser.py +5 -5
  475. mindspore/rewrite/parsers/container_parser.py +4 -6
  476. mindspore/rewrite/parsers/expr_parser.py +55 -0
  477. mindspore/rewrite/parsers/for_parser.py +31 -98
  478. mindspore/rewrite/parsers/function_def_parser.py +13 -5
  479. mindspore/rewrite/parsers/if_parser.py +28 -10
  480. mindspore/rewrite/parsers/module_parser.py +8 -182
  481. mindspore/rewrite/parsers/parser.py +1 -5
  482. mindspore/rewrite/parsers/parser_register.py +1 -1
  483. mindspore/rewrite/parsers/return_parser.py +5 -10
  484. mindspore/rewrite/parsers/while_parser.py +59 -0
  485. mindspore/rewrite/sparsify/utils.py +1 -1
  486. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  487. mindspore/rewrite/{symbol_tree.py → symbol_tree/symbol_tree.py} +704 -185
  488. mindspore/rewrite/{symbol_tree_builder.py → symbol_tree/symbol_tree_builder.py} +8 -8
  489. mindspore/rewrite/{symbol_tree_dumper.py → symbol_tree/symbol_tree_dumper.py} +4 -4
  490. mindspore/run_check/_check_version.py +6 -14
  491. mindspore/run_check/run_check.py +1 -1
  492. mindspore/safeguard/rewrite_obfuscation.py +9 -19
  493. mindspore/scipy/__init__.py +2 -1
  494. mindspore/scipy/fft.py +133 -0
  495. mindspore/scipy/linalg.py +140 -55
  496. mindspore/scipy/ops.py +15 -71
  497. mindspore/scipy/ops_grad.py +5 -34
  498. mindspore/scipy/optimize/line_search.py +2 -2
  499. mindspore/scipy/optimize/minimize.py +1 -1
  500. mindspore/train/__init__.py +3 -2
  501. mindspore/train/_utils.py +178 -4
  502. mindspore/train/amp.py +167 -245
  503. mindspore/train/anf_ir_pb2.py +8 -2
  504. mindspore/train/callback/_backup_and_restore.py +4 -4
  505. mindspore/train/callback/_callback.py +4 -4
  506. mindspore/train/callback/_checkpoint.py +39 -13
  507. mindspore/train/callback/_early_stop.py +2 -2
  508. mindspore/train/callback/_landscape.py +14 -8
  509. mindspore/train/callback/_loss_monitor.py +2 -2
  510. mindspore/train/callback/_on_request_exit.py +2 -2
  511. mindspore/train/callback/_reduce_lr_on_plateau.py +2 -2
  512. mindspore/train/callback/_summary_collector.py +7 -7
  513. mindspore/train/callback/_time_monitor.py +2 -2
  514. mindspore/train/data_sink.py +1 -1
  515. mindspore/train/dataset_helper.py +18 -4
  516. mindspore/train/loss_scale_manager.py +2 -2
  517. mindspore/train/metrics/accuracy.py +7 -7
  518. mindspore/train/metrics/confusion_matrix.py +8 -6
  519. mindspore/train/metrics/cosine_similarity.py +6 -4
  520. mindspore/train/metrics/error.py +2 -2
  521. mindspore/train/metrics/metric.py +3 -3
  522. mindspore/train/metrics/perplexity.py +2 -1
  523. mindspore/train/metrics/topk.py +2 -2
  524. mindspore/train/mind_ir_pb2.py +89 -15
  525. mindspore/train/model.py +24 -22
  526. mindspore/train/serialization.py +257 -133
  527. mindspore/train/summary/summary_record.py +51 -28
  528. mindspore/train/train_thor/convert_utils.py +3 -3
  529. mindspore/version.py +1 -1
  530. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/METADATA +2 -2
  531. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/RECORD +534 -1066
  532. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/entry_points.txt +1 -0
  533. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +0 -662
  534. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +0 -377
  535. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +0 -201
  536. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +0 -515
  537. mindspore/config/super_bar_config.json +0 -544
  538. mindspore/gen_ops.py +0 -273
  539. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  540. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  541. mindspore/nn/layer/flash_attention.py +0 -189
  542. mindspore/ops/_op_impl/cpu/concat.py +0 -39
  543. mindspore/ops/_op_impl/cpu/tensor_shape.py +0 -42
  544. mindspore/ops/_op_impl/tbe/__init__.py +0 -47
  545. mindspore/ops/_op_impl/tbe/abs.py +0 -38
  546. mindspore/ops/_op_impl/tbe/abs_ds.py +0 -39
  547. mindspore/ops/_op_impl/tbe/abs_grad.py +0 -43
  548. mindspore/ops/_op_impl/tbe/abs_grad_ds.py +0 -44
  549. mindspore/ops/_op_impl/tbe/accumulate_n_v2.py +0 -41
  550. mindspore/ops/_op_impl/tbe/accumulate_n_v2_ds.py +0 -42
  551. mindspore/ops/_op_impl/tbe/acos.py +0 -37
  552. mindspore/ops/_op_impl/tbe/acos_ds.py +0 -38
  553. mindspore/ops/_op_impl/tbe/acos_grad.py +0 -43
  554. mindspore/ops/_op_impl/tbe/acos_grad_ds.py +0 -44
  555. mindspore/ops/_op_impl/tbe/acosh.py +0 -37
  556. mindspore/ops/_op_impl/tbe/acosh_ds.py +0 -38
  557. mindspore/ops/_op_impl/tbe/acosh_grad.py +0 -43
  558. mindspore/ops/_op_impl/tbe/acosh_grad_ds.py +0 -44
  559. mindspore/ops/_op_impl/tbe/act_ulq_clamp_max_grad.py +0 -38
  560. mindspore/ops/_op_impl/tbe/act_ulq_clamp_min_grad.py +0 -38
  561. mindspore/ops/_op_impl/tbe/acts_ulq.py +0 -45
  562. mindspore/ops/_op_impl/tbe/acts_ulq_input_grad.py +0 -38
  563. mindspore/ops/_op_impl/tbe/adam_apply_one.py +0 -50
  564. mindspore/ops/_op_impl/tbe/adam_apply_one_assign.py +0 -53
  565. mindspore/ops/_op_impl/tbe/adam_apply_one_ds.py +0 -51
  566. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay.py +0 -54
  567. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_assign.py +0 -54
  568. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_ds.py +0 -55
  569. mindspore/ops/_op_impl/tbe/adaptive_max_pool2d.py +0 -37
  570. mindspore/ops/_op_impl/tbe/add.py +0 -42
  571. mindspore/ops/_op_impl/tbe/add_ds.py +0 -43
  572. mindspore/ops/_op_impl/tbe/add_n.py +0 -39
  573. mindspore/ops/_op_impl/tbe/add_n_ds.py +0 -40
  574. mindspore/ops/_op_impl/tbe/addcdiv.py +0 -41
  575. mindspore/ops/_op_impl/tbe/addcdiv_ds.py +0 -42
  576. mindspore/ops/_op_impl/tbe/addcmul.py +0 -43
  577. mindspore/ops/_op_impl/tbe/addcmul_ds.py +0 -44
  578. mindspore/ops/_op_impl/tbe/apply_ada_max.py +0 -68
  579. mindspore/ops/_op_impl/tbe/apply_ada_max_ds.py +0 -69
  580. mindspore/ops/_op_impl/tbe/apply_adadelta.py +0 -66
  581. mindspore/ops/_op_impl/tbe/apply_adadelta_ds.py +0 -67
  582. mindspore/ops/_op_impl/tbe/apply_adagrad.py +0 -55
  583. mindspore/ops/_op_impl/tbe/apply_adagrad_d_a.py +0 -67
  584. mindspore/ops/_op_impl/tbe/apply_adagrad_ds.py +0 -56
  585. mindspore/ops/_op_impl/tbe/apply_adagrad_v2.py +0 -48
  586. mindspore/ops/_op_impl/tbe/apply_adagrad_v2_ds.py +0 -49
  587. mindspore/ops/_op_impl/tbe/apply_adam.py +0 -79
  588. mindspore/ops/_op_impl/tbe/apply_adam_ds.py +0 -80
  589. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad.py +0 -60
  590. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad_ds.py +0 -61
  591. mindspore/ops/_op_impl/tbe/apply_add_sign.py +0 -65
  592. mindspore/ops/_op_impl/tbe/apply_add_sign_ds.py +0 -66
  593. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop.py +0 -77
  594. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop_ds.py +0 -78
  595. mindspore/ops/_op_impl/tbe/apply_ftrl.py +0 -67
  596. mindspore/ops/_op_impl/tbe/apply_ftrl_ds.py +0 -68
  597. mindspore/ops/_op_impl/tbe/apply_gradient_descent.py +0 -44
  598. mindspore/ops/_op_impl/tbe/apply_gradient_descent_ds.py +0 -45
  599. mindspore/ops/_op_impl/tbe/apply_keras_momentum.py +0 -49
  600. mindspore/ops/_op_impl/tbe/apply_momentum.py +0 -64
  601. mindspore/ops/_op_impl/tbe/apply_momentum_ds.py +0 -65
  602. mindspore/ops/_op_impl/tbe/apply_power_sign.py +0 -65
  603. mindspore/ops/_op_impl/tbe/apply_power_sign_ds.py +0 -66
  604. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad.py +0 -57
  605. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad_ds.py +0 -58
  606. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent.py +0 -54
  607. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent_ds.py +0 -55
  608. mindspore/ops/_op_impl/tbe/apply_rms_prop.py +0 -52
  609. mindspore/ops/_op_impl/tbe/approximate_equal.py +0 -39
  610. mindspore/ops/_op_impl/tbe/approximate_equal_ds.py +0 -40
  611. mindspore/ops/_op_impl/tbe/arg_max.py +0 -38
  612. mindspore/ops/_op_impl/tbe/arg_max_with_value.py +0 -38
  613. mindspore/ops/_op_impl/tbe/arg_max_with_value_ds.py +0 -39
  614. mindspore/ops/_op_impl/tbe/arg_min.py +0 -38
  615. mindspore/ops/_op_impl/tbe/arg_min_v2_ds.py +0 -40
  616. mindspore/ops/_op_impl/tbe/arg_min_with_value.py +0 -38
  617. mindspore/ops/_op_impl/tbe/arg_min_with_value_ds.py +0 -39
  618. mindspore/ops/_op_impl/tbe/asin.py +0 -37
  619. mindspore/ops/_op_impl/tbe/asin_ds.py +0 -38
  620. mindspore/ops/_op_impl/tbe/asin_grad.py +0 -43
  621. mindspore/ops/_op_impl/tbe/asin_grad_ds.py +0 -44
  622. mindspore/ops/_op_impl/tbe/asinh.py +0 -37
  623. mindspore/ops/_op_impl/tbe/asinh_ds.py +0 -38
  624. mindspore/ops/_op_impl/tbe/asinh_grad.py +0 -43
  625. mindspore/ops/_op_impl/tbe/asinh_grad_ds.py +0 -44
  626. mindspore/ops/_op_impl/tbe/assign.py +0 -79
  627. mindspore/ops/_op_impl/tbe/assign_add.py +0 -59
  628. mindspore/ops/_op_impl/tbe/assign_add_ds.py +0 -60
  629. mindspore/ops/_op_impl/tbe/assign_ds.py +0 -80
  630. mindspore/ops/_op_impl/tbe/assign_sub.py +0 -55
  631. mindspore/ops/_op_impl/tbe/assign_sub_ds.py +0 -56
  632. mindspore/ops/_op_impl/tbe/atan.py +0 -37
  633. mindspore/ops/_op_impl/tbe/atan2.py +0 -38
  634. mindspore/ops/_op_impl/tbe/atan2_ds.py +0 -39
  635. mindspore/ops/_op_impl/tbe/atan_ds.py +0 -38
  636. mindspore/ops/_op_impl/tbe/atan_grad.py +0 -43
  637. mindspore/ops/_op_impl/tbe/atan_grad_ds.py +0 -44
  638. mindspore/ops/_op_impl/tbe/atanh.py +0 -37
  639. mindspore/ops/_op_impl/tbe/atanh_ds.py +0 -38
  640. mindspore/ops/_op_impl/tbe/avg_pool.py +0 -43
  641. mindspore/ops/_op_impl/tbe/avg_pool_3d.py +0 -44
  642. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +0 -45
  643. mindspore/ops/_op_impl/tbe/avg_pool_ds.py +0 -44
  644. mindspore/ops/_op_impl/tbe/avg_pool_grad.py +0 -42
  645. mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +0 -42
  646. mindspore/ops/_op_impl/tbe/basic_lstm_cell.py +0 -57
  647. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad.py +0 -50
  648. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -51
  649. mindspore/ops/_op_impl/tbe/basic_lstm_cell_input_grad.py +0 -42
  650. mindspore/ops/_op_impl/tbe/basic_lstm_cell_weight_grad.py +0 -41
  651. mindspore/ops/_op_impl/tbe/batch_matmul.py +0 -42
  652. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +0 -41
  653. mindspore/ops/_op_impl/tbe/batch_matmul_v2.py +0 -47
  654. mindspore/ops/_op_impl/tbe/batch_to_space.py +0 -38
  655. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +0 -38
  656. mindspore/ops/_op_impl/tbe/batch_to_space_nd_ds.py +0 -39
  657. mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +0 -41
  658. mindspore/ops/_op_impl/tbe/batchnorm.py +0 -58
  659. mindspore/ops/_op_impl/tbe/batchnorm_grad.py +0 -58
  660. mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +0 -42
  661. mindspore/ops/_op_impl/tbe/bessel_i0e.py +0 -37
  662. mindspore/ops/_op_impl/tbe/bessel_i0e_ds.py +0 -38
  663. mindspore/ops/_op_impl/tbe/bessel_i1e.py +0 -37
  664. mindspore/ops/_op_impl/tbe/bessel_i1e_ds.py +0 -38
  665. mindspore/ops/_op_impl/tbe/bias_add.py +0 -38
  666. mindspore/ops/_op_impl/tbe/bias_add_ds.py +0 -39
  667. mindspore/ops/_op_impl/tbe/bias_add_grad.py +0 -53
  668. mindspore/ops/_op_impl/tbe/binary_cross_entropy.py +0 -39
  669. mindspore/ops/_op_impl/tbe/binary_cross_entropy_ds.py +0 -40
  670. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad.py +0 -44
  671. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad_ds.py +0 -45
  672. mindspore/ops/_op_impl/tbe/bitwise_and.py +0 -39
  673. mindspore/ops/_op_impl/tbe/bitwise_and_ds.py +0 -40
  674. mindspore/ops/_op_impl/tbe/bitwise_or.py +0 -39
  675. mindspore/ops/_op_impl/tbe/bitwise_or_ds.py +0 -40
  676. mindspore/ops/_op_impl/tbe/bitwise_xor.py +0 -39
  677. mindspore/ops/_op_impl/tbe/bitwise_xor_ds.py +0 -40
  678. mindspore/ops/_op_impl/tbe/bn_infer.py +0 -43
  679. mindspore/ops/_op_impl/tbe/bn_infer_ds.py +0 -45
  680. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +0 -41
  681. mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +0 -40
  682. mindspore/ops/_op_impl/tbe/bn_inference.py +0 -50
  683. mindspore/ops/_op_impl/tbe/bn_training_reduce.py +0 -38
  684. mindspore/ops/_op_impl/tbe/bn_training_reduce_ds.py +0 -39
  685. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad.py +0 -46
  686. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad_ds.py +0 -47
  687. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -52
  688. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -53
  689. mindspore/ops/_op_impl/tbe/bn_training_update_grad.py +0 -44
  690. mindspore/ops/_op_impl/tbe/bn_training_update_grad_ds.py +0 -45
  691. mindspore/ops/_op_impl/tbe/bn_training_update_v2.py +0 -48
  692. mindspore/ops/_op_impl/tbe/bn_training_update_v3.py +0 -51
  693. mindspore/ops/_op_impl/tbe/bounding_box_decode.py +0 -41
  694. mindspore/ops/_op_impl/tbe/bounding_box_decode_ds.py +0 -42
  695. mindspore/ops/_op_impl/tbe/bounding_box_encode.py +0 -38
  696. mindspore/ops/_op_impl/tbe/broadcast_to.py +0 -40
  697. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +0 -44
  698. mindspore/ops/_op_impl/tbe/cast.py +0 -55
  699. mindspore/ops/_op_impl/tbe/cast_ds.py +0 -58
  700. mindspore/ops/_op_impl/tbe/cdist.py +0 -38
  701. mindspore/ops/_op_impl/tbe/cdist_grad.py +0 -42
  702. mindspore/ops/_op_impl/tbe/ceil.py +0 -37
  703. mindspore/ops/_op_impl/tbe/ceil_ds.py +0 -38
  704. mindspore/ops/_op_impl/tbe/celu.py +0 -39
  705. mindspore/ops/_op_impl/tbe/centralization.py +0 -39
  706. mindspore/ops/_op_impl/tbe/check_valid.py +0 -38
  707. mindspore/ops/_op_impl/tbe/check_valid_ds.py +0 -39
  708. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum.py +0 -41
  709. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum_ds.py +0 -42
  710. mindspore/ops/_op_impl/tbe/clip_by_value.py +0 -41
  711. mindspore/ops/_op_impl/tbe/clip_by_value_ds.py +0 -42
  712. mindspore/ops/_op_impl/tbe/concat.py +0 -40
  713. mindspore/ops/_op_impl/tbe/concat_ds.py +0 -38
  714. mindspore/ops/_op_impl/tbe/confusion_matrix.py +0 -63
  715. mindspore/ops/_op_impl/tbe/confusion_mul_grad.py +0 -40
  716. mindspore/ops/_op_impl/tbe/confusion_softmax_grad.py +0 -41
  717. mindspore/ops/_op_impl/tbe/confusion_transpose_d.py +0 -39
  718. mindspore/ops/_op_impl/tbe/conv2d.py +0 -47
  719. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter.py +0 -42
  720. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter_ds.py +0 -43
  721. mindspore/ops/_op_impl/tbe/conv2d_backprop_input.py +0 -42
  722. mindspore/ops/_op_impl/tbe/conv2d_backprop_input_ds.py +0 -44
  723. mindspore/ops/_op_impl/tbe/conv2d_ds.py +0 -47
  724. mindspore/ops/_op_impl/tbe/conv2d_transpose.py +0 -48
  725. mindspore/ops/_op_impl/tbe/conv3d.py +0 -45
  726. mindspore/ops/_op_impl/tbe/conv3d_backprop_filter.py +0 -42
  727. mindspore/ops/_op_impl/tbe/conv3d_backprop_input.py +0 -42
  728. mindspore/ops/_op_impl/tbe/conv3d_transpose.py +0 -47
  729. mindspore/ops/_op_impl/tbe/conv3d_transpose_ds.py +0 -48
  730. mindspore/ops/_op_impl/tbe/cos.py +0 -37
  731. mindspore/ops/_op_impl/tbe/cos_ds.py +0 -38
  732. mindspore/ops/_op_impl/tbe/cosh.py +0 -37
  733. mindspore/ops/_op_impl/tbe/cosh_ds.py +0 -38
  734. mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -42
  735. mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -44
  736. mindspore/ops/_op_impl/tbe/cum_sum.py +0 -42
  737. mindspore/ops/_op_impl/tbe/cum_sum_ds.py +0 -44
  738. mindspore/ops/_op_impl/tbe/cummin.py +0 -41
  739. mindspore/ops/_op_impl/tbe/cumprod.py +0 -42
  740. mindspore/ops/_op_impl/tbe/data_format_dim_map.py +0 -38
  741. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +0 -40
  742. mindspore/ops/_op_impl/tbe/deformable_offsets.py +0 -45
  743. mindspore/ops/_op_impl/tbe/deformable_offsets_grad.py +0 -48
  744. mindspore/ops/_op_impl/tbe/depth_to_space_ds.py +0 -49
  745. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +0 -44
  746. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_filter.py +0 -41
  747. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_input.py +0 -41
  748. mindspore/ops/_op_impl/tbe/diag.py +0 -38
  749. mindspore/ops/_op_impl/tbe/diag_part.py +0 -38
  750. mindspore/ops/_op_impl/tbe/dilation.py +0 -40
  751. mindspore/ops/_op_impl/tbe/div.py +0 -41
  752. mindspore/ops/_op_impl/tbe/div_ds.py +0 -42
  753. mindspore/ops/_op_impl/tbe/div_no_nan.py +0 -41
  754. mindspore/ops/_op_impl/tbe/div_no_nan_ds.py +0 -42
  755. mindspore/ops/_op_impl/tbe/dropout_do_mask.py +0 -38
  756. mindspore/ops/_op_impl/tbe/dropout_do_mask_ds.py +0 -39
  757. mindspore/ops/_op_impl/tbe/dropout_do_mask_v3.py +0 -39
  758. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +0 -34
  759. mindspore/ops/_op_impl/tbe/dynamic_gru_v2.py +0 -95
  760. mindspore/ops/_op_impl/tbe/dynamic_rnn.py +0 -82
  761. mindspore/ops/_op_impl/tbe/elu.py +0 -38
  762. mindspore/ops/_op_impl/tbe/elu_ds.py +0 -39
  763. mindspore/ops/_op_impl/tbe/elu_grad.py +0 -43
  764. mindspore/ops/_op_impl/tbe/elu_grad_ds.py +0 -44
  765. mindspore/ops/_op_impl/tbe/equal.py +0 -42
  766. mindspore/ops/_op_impl/tbe/equal_ds.py +0 -42
  767. mindspore/ops/_op_impl/tbe/erf.py +0 -37
  768. mindspore/ops/_op_impl/tbe/erf_ds.py +0 -38
  769. mindspore/ops/_op_impl/tbe/erfc.py +0 -37
  770. mindspore/ops/_op_impl/tbe/erfc_ds.py +0 -38
  771. mindspore/ops/_op_impl/tbe/erfinv.py +0 -36
  772. mindspore/ops/_op_impl/tbe/exp.py +0 -40
  773. mindspore/ops/_op_impl/tbe/exp_ds.py +0 -41
  774. mindspore/ops/_op_impl/tbe/expand_dims.py +0 -38
  775. mindspore/ops/_op_impl/tbe/expm1.py +0 -37
  776. mindspore/ops/_op_impl/tbe/expm1_ds.py +0 -38
  777. mindspore/ops/_op_impl/tbe/extract_image_patches.py +0 -41
  778. mindspore/ops/_op_impl/tbe/extract_volume_patches.py +0 -39
  779. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars.py +0 -39
  780. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_gradient.py +0 -43
  781. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel.py +0 -39
  782. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel_gradient.py +0 -43
  783. mindspore/ops/_op_impl/tbe/fast_gelu.py +0 -37
  784. mindspore/ops/_op_impl/tbe/fast_gelu_ds.py +0 -38
  785. mindspore/ops/_op_impl/tbe/fast_gelu_grad.py +0 -41
  786. mindspore/ops/_op_impl/tbe/fast_gelu_grad_ds.py +0 -42
  787. mindspore/ops/_op_impl/tbe/fill.py +0 -56
  788. mindspore/ops/_op_impl/tbe/fill_ds.py +0 -42
  789. mindspore/ops/_op_impl/tbe/flatten.py +0 -48
  790. mindspore/ops/_op_impl/tbe/floor.py +0 -37
  791. mindspore/ops/_op_impl/tbe/floor_div.py +0 -41
  792. mindspore/ops/_op_impl/tbe/floor_div_ds.py +0 -42
  793. mindspore/ops/_op_impl/tbe/floor_ds.py +0 -38
  794. mindspore/ops/_op_impl/tbe/floor_mod.py +0 -39
  795. mindspore/ops/_op_impl/tbe/floor_mod_ds.py +0 -40
  796. mindspore/ops/_op_impl/tbe/fused_dbn_dw.py +0 -52
  797. mindspore/ops/_op_impl/tbe/fused_mul_add.py +0 -38
  798. mindspore/ops/_op_impl/tbe/fused_mul_add_n.py +0 -48
  799. mindspore/ops/_op_impl/tbe/fused_mul_add_n_l2loss.py +0 -53
  800. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum.py +0 -57
  801. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum_extern.py +0 -67
  802. mindspore/ops/_op_impl/tbe/gather_nd.py +0 -52
  803. mindspore/ops/_op_impl/tbe/gather_nd_ds.py +0 -48
  804. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  805. mindspore/ops/_op_impl/tbe/gather_v2_ds.py +0 -68
  806. mindspore/ops/_op_impl/tbe/gelu.py +0 -37
  807. mindspore/ops/_op_impl/tbe/gelu_ds.py +0 -38
  808. mindspore/ops/_op_impl/tbe/gelu_grad.py +0 -42
  809. mindspore/ops/_op_impl/tbe/gelu_grad_ds.py +0 -43
  810. mindspore/ops/_op_impl/tbe/ger.py +0 -43
  811. mindspore/ops/_op_impl/tbe/ger_ds.py +0 -44
  812. mindspore/ops/_op_impl/tbe/greater.py +0 -43
  813. mindspore/ops/_op_impl/tbe/greater_equal.py +0 -41
  814. mindspore/ops/_op_impl/tbe/greater_equal_ds.py +0 -42
  815. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad.py +0 -51
  816. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad_cell.py +0 -52
  817. mindspore/ops/_op_impl/tbe/hard_swish.py +0 -37
  818. mindspore/ops/_op_impl/tbe/hard_swish_ds.py +0 -38
  819. mindspore/ops/_op_impl/tbe/hard_swish_grad.py +0 -41
  820. mindspore/ops/_op_impl/tbe/hard_swish_grad_ds.py +0 -42
  821. mindspore/ops/_op_impl/tbe/histogram_fixed_width.py +0 -40
  822. mindspore/ops/_op_impl/tbe/hshrink.py +0 -33
  823. mindspore/ops/_op_impl/tbe/hshrink_grad.py +0 -37
  824. mindspore/ops/_op_impl/tbe/hsigmoid.py +0 -45
  825. mindspore/ops/_op_impl/tbe/hsigmoid_grad.py +0 -39
  826. mindspore/ops/_op_impl/tbe/ifmr.py +0 -47
  827. mindspore/ops/_op_impl/tbe/ifmr_ds.py +0 -48
  828. mindspore/ops/_op_impl/tbe/im2col.py +0 -42
  829. mindspore/ops/_op_impl/tbe/in_top_k.py +0 -37
  830. mindspore/ops/_op_impl/tbe/inplace_add.py +0 -39
  831. mindspore/ops/_op_impl/tbe/inplace_index_add.py +0 -46
  832. mindspore/ops/_op_impl/tbe/inplace_sub.py +0 -39
  833. mindspore/ops/_op_impl/tbe/inplace_update.py +0 -39
  834. mindspore/ops/_op_impl/tbe/inplace_update_ds.py +0 -40
  835. mindspore/ops/_op_impl/tbe/inv.py +0 -38
  836. mindspore/ops/_op_impl/tbe/inv_ds.py +0 -39
  837. mindspore/ops/_op_impl/tbe/inv_grad.py +0 -40
  838. mindspore/ops/_op_impl/tbe/inv_grad_ds.py +0 -41
  839. mindspore/ops/_op_impl/tbe/invert.py +0 -37
  840. mindspore/ops/_op_impl/tbe/invert_ds.py +0 -38
  841. mindspore/ops/_op_impl/tbe/iou.py +0 -38
  842. mindspore/ops/_op_impl/tbe/iou_ds.py +0 -39
  843. mindspore/ops/_op_impl/tbe/is_close.py +0 -40
  844. mindspore/ops/_op_impl/tbe/kl_div_loss.py +0 -38
  845. mindspore/ops/_op_impl/tbe/kl_div_loss_ds.py +0 -39
  846. mindspore/ops/_op_impl/tbe/kl_div_loss_grad.py +0 -40
  847. mindspore/ops/_op_impl/tbe/l2_loss.py +0 -36
  848. mindspore/ops/_op_impl/tbe/l2_loss_ds.py +0 -37
  849. mindspore/ops/_op_impl/tbe/l2_normalize.py +0 -38
  850. mindspore/ops/_op_impl/tbe/l2_normalize_grad.py +0 -40
  851. mindspore/ops/_op_impl/tbe/lamb_apply_optimizer_assign.py +0 -55
  852. mindspore/ops/_op_impl/tbe/lamb_apply_weight_assign.py +0 -42
  853. mindspore/ops/_op_impl/tbe/lamb_next_mv.py +0 -59
  854. mindspore/ops/_op_impl/tbe/lamb_next_mv_with_decay.py +0 -59
  855. mindspore/ops/_op_impl/tbe/lamb_next_right.py +0 -44
  856. mindspore/ops/_op_impl/tbe/lamb_update_with_lr.py +0 -48
  857. mindspore/ops/_op_impl/tbe/lamb_update_with_lr_v2.py +0 -44
  858. mindspore/ops/_op_impl/tbe/lars_update.py +0 -50
  859. mindspore/ops/_op_impl/tbe/lars_update_ds.py +0 -51
  860. mindspore/ops/_op_impl/tbe/layer_norm.py +0 -46
  861. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop.py +0 -44
  862. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_ds.py +0 -45
  863. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -40
  864. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2_ds.py +0 -41
  865. mindspore/ops/_op_impl/tbe/layer_norm_ds.py +0 -47
  866. mindspore/ops/_op_impl/tbe/layer_norm_grad.py +0 -48
  867. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop.py +0 -43
  868. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_ds.py +0 -44
  869. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2.py +0 -45
  870. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2_ds.py +0 -45
  871. mindspore/ops/_op_impl/tbe/lerp.py +0 -38
  872. mindspore/ops/_op_impl/tbe/less.py +0 -41
  873. mindspore/ops/_op_impl/tbe/less_ds.py +0 -42
  874. mindspore/ops/_op_impl/tbe/less_equal.py +0 -41
  875. mindspore/ops/_op_impl/tbe/less_equal_ds.py +0 -42
  876. mindspore/ops/_op_impl/tbe/log.py +0 -40
  877. mindspore/ops/_op_impl/tbe/log1p.py +0 -37
  878. mindspore/ops/_op_impl/tbe/log1p_ds.py +0 -38
  879. mindspore/ops/_op_impl/tbe/log_ds.py +0 -41
  880. mindspore/ops/_op_impl/tbe/logical_and.py +0 -37
  881. mindspore/ops/_op_impl/tbe/logical_and_ds.py +0 -38
  882. mindspore/ops/_op_impl/tbe/logical_not.py +0 -36
  883. mindspore/ops/_op_impl/tbe/logical_not_ds.py +0 -37
  884. mindspore/ops/_op_impl/tbe/logical_or.py +0 -37
  885. mindspore/ops/_op_impl/tbe/logical_or_ds.py +0 -38
  886. mindspore/ops/_op_impl/tbe/logsoftmax.py +0 -37
  887. mindspore/ops/_op_impl/tbe/logsoftmax_ds.py +0 -38
  888. mindspore/ops/_op_impl/tbe/logsoftmax_grad.py +0 -38
  889. mindspore/ops/_op_impl/tbe/logsoftmax_grad_ds.py +0 -39
  890. mindspore/ops/_op_impl/tbe/lp_norm.py +0 -40
  891. mindspore/ops/_op_impl/tbe/lp_norm_ds.py +0 -41
  892. mindspore/ops/_op_impl/tbe/lrn.py +0 -41
  893. mindspore/ops/_op_impl/tbe/lrn_grad.py +0 -42
  894. mindspore/ops/_op_impl/tbe/lstm_input_grad.py +0 -51
  895. mindspore/ops/_op_impl/tbe/masked_fill.py +0 -40
  896. mindspore/ops/_op_impl/tbe/masked_fill_ds.py +0 -41
  897. mindspore/ops/_op_impl/tbe/matmul.py +0 -53
  898. mindspore/ops/_op_impl/tbe/matmul_ds.py +0 -47
  899. mindspore/ops/_op_impl/tbe/matmul_v2.py +0 -50
  900. mindspore/ops/_op_impl/tbe/matrix_diag.py +0 -45
  901. mindspore/ops/_op_impl/tbe/matrix_diag_part.py +0 -45
  902. mindspore/ops/_op_impl/tbe/matrix_set_diag.py +0 -46
  903. mindspore/ops/_op_impl/tbe/max_pool.py +0 -39
  904. mindspore/ops/_op_impl/tbe/max_pool3d.py +0 -44
  905. mindspore/ops/_op_impl/tbe/max_pool3d_grad.py +0 -43
  906. mindspore/ops/_op_impl/tbe/max_pool3d_grad_grad.py +0 -44
  907. mindspore/ops/_op_impl/tbe/max_pool_ds.py +0 -40
  908. mindspore/ops/_op_impl/tbe/max_pool_grad.py +0 -43
  909. mindspore/ops/_op_impl/tbe/max_pool_grad_grad.py +0 -41
  910. mindspore/ops/_op_impl/tbe/max_pool_grad_grad_with_argmax.py +0 -41
  911. mindspore/ops/_op_impl/tbe/max_pool_grad_with_argmax.py +0 -42
  912. mindspore/ops/_op_impl/tbe/max_pool_with_argmax.py +0 -40
  913. mindspore/ops/_op_impl/tbe/maximum.py +0 -39
  914. mindspore/ops/_op_impl/tbe/maximum_ds.py +0 -40
  915. mindspore/ops/_op_impl/tbe/maximum_grad.py +0 -46
  916. mindspore/ops/_op_impl/tbe/maximum_grad_ds.py +0 -47
  917. mindspore/ops/_op_impl/tbe/mem_set.py +0 -38
  918. mindspore/ops/_op_impl/tbe/minimum.py +0 -40
  919. mindspore/ops/_op_impl/tbe/minimum_ds.py +0 -41
  920. mindspore/ops/_op_impl/tbe/minimum_grad.py +0 -46
  921. mindspore/ops/_op_impl/tbe/minimum_grad_ds.py +0 -47
  922. mindspore/ops/_op_impl/tbe/mish.py +0 -37
  923. mindspore/ops/_op_impl/tbe/mod.py +0 -41
  924. mindspore/ops/_op_impl/tbe/mod_ds.py +0 -42
  925. mindspore/ops/_op_impl/tbe/mul.py +0 -37
  926. mindspore/ops/_op_impl/tbe/mul_ds.py +0 -38
  927. mindspore/ops/_op_impl/tbe/mul_no_nan.py +0 -39
  928. mindspore/ops/_op_impl/tbe/mul_no_nan_ds.py +0 -40
  929. mindspore/ops/_op_impl/tbe/multilabel_margin_loss.py +0 -39
  930. mindspore/ops/_op_impl/tbe/neg.py +0 -39
  931. mindspore/ops/_op_impl/tbe/neg_ds.py +0 -40
  932. mindspore/ops/_op_impl/tbe/new_im2col.py +0 -40
  933. mindspore/ops/_op_impl/tbe/nll_loss.py +0 -41
  934. mindspore/ops/_op_impl/tbe/nll_loss_grad.py +0 -44
  935. mindspore/ops/_op_impl/tbe/nms_with_mask.py +0 -39
  936. mindspore/ops/_op_impl/tbe/not_equal.py +0 -41
  937. mindspore/ops/_op_impl/tbe/not_equal_ds.py +0 -42
  938. mindspore/ops/_op_impl/tbe/npu_alloc_float_status.py +0 -34
  939. mindspore/ops/_op_impl/tbe/npu_clear_float_status.py +0 -35
  940. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +0 -35
  941. mindspore/ops/_op_impl/tbe/npu_get_float_status.py +0 -35
  942. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +0 -35
  943. mindspore/ops/_op_impl/tbe/one_hot.py +0 -48
  944. mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -45
  945. mindspore/ops/_op_impl/tbe/ones_like.py +0 -40
  946. mindspore/ops/_op_impl/tbe/ones_like_ds.py +0 -41
  947. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling.py +0 -40
  948. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling_grad.py +0 -40
  949. mindspore/ops/_op_impl/tbe/pack.py +0 -58
  950. mindspore/ops/_op_impl/tbe/pack_ds.py +0 -59
  951. mindspore/ops/_op_impl/tbe/pad_d.py +0 -40
  952. mindspore/ops/_op_impl/tbe/pad_d_ds.py +0 -41
  953. mindspore/ops/_op_impl/tbe/parallel_concat.py +0 -70
  954. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear.py +0 -45
  955. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear_grad.py +0 -44
  956. mindspore/ops/_op_impl/tbe/pdist.py +0 -36
  957. mindspore/ops/_op_impl/tbe/pooling.py +0 -46
  958. mindspore/ops/_op_impl/tbe/population_count.py +0 -38
  959. mindspore/ops/_op_impl/tbe/pow.py +0 -41
  960. mindspore/ops/_op_impl/tbe/pow_ds.py +0 -42
  961. mindspore/ops/_op_impl/tbe/prelu.py +0 -37
  962. mindspore/ops/_op_impl/tbe/prelu_ds.py +0 -38
  963. mindspore/ops/_op_impl/tbe/prelu_grad.py +0 -40
  964. mindspore/ops/_op_impl/tbe/range.py +0 -39
  965. mindspore/ops/_op_impl/tbe/real_div.py +0 -38
  966. mindspore/ops/_op_impl/tbe/real_div_ds.py +0 -39
  967. mindspore/ops/_op_impl/tbe/reciprocal.py +0 -36
  968. mindspore/ops/_op_impl/tbe/reciprocal_ds.py +0 -37
  969. mindspore/ops/_op_impl/tbe/reciprocal_grad.py +0 -38
  970. mindspore/ops/_op_impl/tbe/reciprocal_grad_ds.py +0 -39
  971. mindspore/ops/_op_impl/tbe/reduce_all.py +0 -38
  972. mindspore/ops/_op_impl/tbe/reduce_all_ds.py +0 -39
  973. mindspore/ops/_op_impl/tbe/reduce_any.py +0 -38
  974. mindspore/ops/_op_impl/tbe/reduce_any_ds.py +0 -39
  975. mindspore/ops/_op_impl/tbe/reduce_max.py +0 -43
  976. mindspore/ops/_op_impl/tbe/reduce_max_ds.py +0 -41
  977. mindspore/ops/_op_impl/tbe/reduce_mean.py +0 -40
  978. mindspore/ops/_op_impl/tbe/reduce_mean_ds.py +0 -42
  979. mindspore/ops/_op_impl/tbe/reduce_min.py +0 -41
  980. mindspore/ops/_op_impl/tbe/reduce_min_ds.py +0 -41
  981. mindspore/ops/_op_impl/tbe/reduce_prod.py +0 -42
  982. mindspore/ops/_op_impl/tbe/reduce_prod_ds.py +0 -41
  983. mindspore/ops/_op_impl/tbe/reduce_std.py +0 -44
  984. mindspore/ops/_op_impl/tbe/reduce_sum.py +0 -39
  985. mindspore/ops/_op_impl/tbe/reduce_sum_ds.py +0 -41
  986. mindspore/ops/_op_impl/tbe/relu.py +0 -39
  987. mindspore/ops/_op_impl/tbe/relu6.py +0 -38
  988. mindspore/ops/_op_impl/tbe/relu6_ds.py +0 -39
  989. mindspore/ops/_op_impl/tbe/relu6_grad.py +0 -43
  990. mindspore/ops/_op_impl/tbe/relu6_grad_ds.py +0 -44
  991. mindspore/ops/_op_impl/tbe/relu_ds.py +0 -40
  992. mindspore/ops/_op_impl/tbe/relu_grad.py +0 -41
  993. mindspore/ops/_op_impl/tbe/relu_grad_ds.py +0 -42
  994. mindspore/ops/_op_impl/tbe/relu_grad_v2.py +0 -40
  995. mindspore/ops/_op_impl/tbe/relu_grad_v2_ds.py +0 -41
  996. mindspore/ops/_op_impl/tbe/relu_v2.py +0 -40
  997. mindspore/ops/_op_impl/tbe/relu_v2_ds.py +0 -41
  998. mindspore/ops/_op_impl/tbe/renorm.py +0 -39
  999. mindspore/ops/_op_impl/tbe/resize_bilinear.py +0 -40
  1000. mindspore/ops/_op_impl/tbe/resize_bilinear_grad.py +0 -41
  1001. mindspore/ops/_op_impl/tbe/resize_bilinear_v2.py +0 -43
  1002. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor.py +0 -40
  1003. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_ds.py +0 -40
  1004. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad.py +0 -39
  1005. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad_ds.py +0 -42
  1006. mindspore/ops/_op_impl/tbe/reverse_v2_d.py +0 -37
  1007. mindspore/ops/_op_impl/tbe/rint.py +0 -37
  1008. mindspore/ops/_op_impl/tbe/rint_ds.py +0 -38
  1009. mindspore/ops/_op_impl/tbe/roi_align.py +0 -43
  1010. mindspore/ops/_op_impl/tbe/roi_align_ds.py +0 -44
  1011. mindspore/ops/_op_impl/tbe/roi_align_grad.py +0 -43
  1012. mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +0 -44
  1013. mindspore/ops/_op_impl/tbe/roll.py +0 -42
  1014. mindspore/ops/_op_impl/tbe/round.py +0 -38
  1015. mindspore/ops/_op_impl/tbe/round_ds.py +0 -39
  1016. mindspore/ops/_op_impl/tbe/rsqrt.py +0 -37
  1017. mindspore/ops/_op_impl/tbe/rsqrt_ds.py +0 -38
  1018. mindspore/ops/_op_impl/tbe/rsqrt_grad.py +0 -40
  1019. mindspore/ops/_op_impl/tbe/rsqrt_grad_ds.py +0 -41
  1020. mindspore/ops/_op_impl/tbe/scatter_add.py +0 -44
  1021. mindspore/ops/_op_impl/tbe/scatter_div.py +0 -46
  1022. mindspore/ops/_op_impl/tbe/scatter_max.py +0 -45
  1023. mindspore/ops/_op_impl/tbe/scatter_min.py +0 -45
  1024. mindspore/ops/_op_impl/tbe/scatter_mul.py +0 -44
  1025. mindspore/ops/_op_impl/tbe/scatter_nd.py +0 -41
  1026. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -45
  1027. mindspore/ops/_op_impl/tbe/scatter_nd_d.py +0 -41
  1028. mindspore/ops/_op_impl/tbe/scatter_nd_ds.py +0 -49
  1029. mindspore/ops/_op_impl/tbe/scatter_nd_sub.py +0 -47
  1030. mindspore/ops/_op_impl/tbe/scatter_nd_sub_ds.py +0 -48
  1031. mindspore/ops/_op_impl/tbe/scatter_nd_update.py +0 -47
  1032. mindspore/ops/_op_impl/tbe/scatter_nd_update_ds.py +0 -48
  1033. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add.py +0 -39
  1034. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add_ds.py +0 -40
  1035. mindspore/ops/_op_impl/tbe/scatter_sub.py +0 -47
  1036. mindspore/ops/_op_impl/tbe/scatter_sub_ds.py +0 -48
  1037. mindspore/ops/_op_impl/tbe/scatter_update.py +0 -43
  1038. mindspore/ops/_op_impl/tbe/select.py +0 -38
  1039. mindspore/ops/_op_impl/tbe/select_ds.py +0 -39
  1040. mindspore/ops/_op_impl/tbe/selu.py +0 -39
  1041. mindspore/ops/_op_impl/tbe/selu_ds.py +0 -40
  1042. mindspore/ops/_op_impl/tbe/sgd.py +0 -62
  1043. mindspore/ops/_op_impl/tbe/sigmoid.py +0 -37
  1044. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits.py +0 -41
  1045. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_ds.py +0 -42
  1046. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad.py +0 -42
  1047. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad_ds.py +0 -43
  1048. mindspore/ops/_op_impl/tbe/sigmoid_ds.py +0 -38
  1049. mindspore/ops/_op_impl/tbe/sigmoid_grad.py +0 -39
  1050. mindspore/ops/_op_impl/tbe/sigmoid_grad_ds.py +0 -40
  1051. mindspore/ops/_op_impl/tbe/sign.py +0 -38
  1052. mindspore/ops/_op_impl/tbe/sign_ds.py +0 -39
  1053. mindspore/ops/_op_impl/tbe/sin.py +0 -37
  1054. mindspore/ops/_op_impl/tbe/sin_ds.py +0 -38
  1055. mindspore/ops/_op_impl/tbe/sinh.py +0 -37
  1056. mindspore/ops/_op_impl/tbe/sinh_ds.py +0 -38
  1057. mindspore/ops/_op_impl/tbe/slice.py +0 -58
  1058. mindspore/ops/_op_impl/tbe/smooth_l1_loss.py +0 -45
  1059. mindspore/ops/_op_impl/tbe/smooth_l1_loss_ds.py +0 -46
  1060. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad.py +0 -46
  1061. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad_ds.py +0 -47
  1062. mindspore/ops/_op_impl/tbe/soft_margin_loss.py +0 -38
  1063. mindspore/ops/_op_impl/tbe/soft_margin_loss_grad.py +0 -39
  1064. mindspore/ops/_op_impl/tbe/soft_shrink.py +0 -36
  1065. mindspore/ops/_op_impl/tbe/soft_shrink_grad.py +0 -38
  1066. mindspore/ops/_op_impl/tbe/softmax.py +0 -37
  1067. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits.py +0 -38
  1068. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits_ds.py +0 -39
  1069. mindspore/ops/_op_impl/tbe/softmax_ds.py +0 -38
  1070. mindspore/ops/_op_impl/tbe/softmax_grad_ext.py +0 -42
  1071. mindspore/ops/_op_impl/tbe/softmax_v2_with_dropout_do_mask_v3.py +0 -39
  1072. mindspore/ops/_op_impl/tbe/softplus.py +0 -37
  1073. mindspore/ops/_op_impl/tbe/softplus_ds.py +0 -38
  1074. mindspore/ops/_op_impl/tbe/softplus_grad.py +0 -38
  1075. mindspore/ops/_op_impl/tbe/softplus_grad_ds.py +0 -38
  1076. mindspore/ops/_op_impl/tbe/softsign.py +0 -37
  1077. mindspore/ops/_op_impl/tbe/softsign_ds.py +0 -38
  1078. mindspore/ops/_op_impl/tbe/sort.py +0 -38
  1079. mindspore/ops/_op_impl/tbe/sort_ds.py +0 -39
  1080. mindspore/ops/_op_impl/tbe/space_to_batch.py +0 -38
  1081. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +0 -38
  1082. mindspore/ops/_op_impl/tbe/space_to_depth.py +0 -47
  1083. mindspore/ops/_op_impl/tbe/sparse_apply_adadelta.py +0 -56
  1084. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad.py +0 -45
  1085. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_ds.py +0 -46
  1086. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2.py +0 -46
  1087. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2_ds.py +0 -47
  1088. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d.py +0 -53
  1089. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d_ds.py +0 -50
  1090. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_v2.py +0 -50
  1091. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad.py +0 -66
  1092. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad_ds.py +0 -67
  1093. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop.py +0 -57
  1094. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop_ds.py +0 -58
  1095. mindspore/ops/_op_impl/tbe/sparse_gather_v2.py +0 -56
  1096. mindspore/ops/_op_impl/tbe/sparse_gather_v2_ds.py +0 -58
  1097. mindspore/ops/_op_impl/tbe/split_d.py +0 -38
  1098. mindspore/ops/_op_impl/tbe/split_d_ds.py +0 -39
  1099. mindspore/ops/_op_impl/tbe/split_v.py +0 -39
  1100. mindspore/ops/_op_impl/tbe/splitv.py +0 -39
  1101. mindspore/ops/_op_impl/tbe/sqrt.py +0 -37
  1102. mindspore/ops/_op_impl/tbe/sqrt_ds.py +0 -38
  1103. mindspore/ops/_op_impl/tbe/sqrt_grad.py +0 -43
  1104. mindspore/ops/_op_impl/tbe/sqrt_grad_ds.py +0 -44
  1105. mindspore/ops/_op_impl/tbe/square.py +0 -38
  1106. mindspore/ops/_op_impl/tbe/square_ds.py +0 -39
  1107. mindspore/ops/_op_impl/tbe/square_sum_all.py +0 -40
  1108. mindspore/ops/_op_impl/tbe/square_sum_all_ds.py +0 -41
  1109. mindspore/ops/_op_impl/tbe/square_sum_v1.py +0 -38
  1110. mindspore/ops/_op_impl/tbe/square_sum_v1_ds.py +0 -39
  1111. mindspore/ops/_op_impl/tbe/square_sum_v2.py +0 -39
  1112. mindspore/ops/_op_impl/tbe/squared_difference.py +0 -39
  1113. mindspore/ops/_op_impl/tbe/squared_difference_ds.py +0 -41
  1114. mindspore/ops/_op_impl/tbe/squeeze.py +0 -37
  1115. mindspore/ops/_op_impl/tbe/strided_read.py +0 -38
  1116. mindspore/ops/_op_impl/tbe/strided_slice_d.py +0 -44
  1117. mindspore/ops/_op_impl/tbe/strided_slice_ds.py +0 -71
  1118. mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +0 -51
  1119. mindspore/ops/_op_impl/tbe/strided_slice_grad_ds.py +0 -57
  1120. mindspore/ops/_op_impl/tbe/strided_write.py +0 -38
  1121. mindspore/ops/_op_impl/tbe/sub.py +0 -39
  1122. mindspore/ops/_op_impl/tbe/sub_ds.py +0 -40
  1123. mindspore/ops/_op_impl/tbe/tan.py +0 -38
  1124. mindspore/ops/_op_impl/tbe/tan_ds.py +0 -39
  1125. mindspore/ops/_op_impl/tbe/tanh.py +0 -37
  1126. mindspore/ops/_op_impl/tbe/tanh_ds.py +0 -38
  1127. mindspore/ops/_op_impl/tbe/tanh_grad.py +0 -39
  1128. mindspore/ops/_op_impl/tbe/tanh_grad_ds.py +0 -40
  1129. mindspore/ops/_op_impl/tbe/tensor_move.py +0 -49
  1130. mindspore/ops/_op_impl/tbe/tensor_move_ds.py +0 -50
  1131. mindspore/ops/_op_impl/tbe/tensor_scatter_update.py +0 -41
  1132. mindspore/ops/_op_impl/tbe/tile.py +0 -37
  1133. mindspore/ops/_op_impl/tbe/tile_ds.py +0 -42
  1134. mindspore/ops/_op_impl/tbe/top_k.py +0 -42
  1135. mindspore/ops/_op_impl/tbe/top_k_ds.py +0 -43
  1136. mindspore/ops/_op_impl/tbe/trans_data.py +0 -167
  1137. mindspore/ops/_op_impl/tbe/trans_data_ds.py +0 -180
  1138. mindspore/ops/_op_impl/tbe/trans_data_rnn.py +0 -44
  1139. mindspore/ops/_op_impl/tbe/transpose.py +0 -60
  1140. mindspore/ops/_op_impl/tbe/transpose_d.py +0 -47
  1141. mindspore/ops/_op_impl/tbe/transpose_nod.py +0 -60
  1142. mindspore/ops/_op_impl/tbe/trunc.py +0 -39
  1143. mindspore/ops/_op_impl/tbe/truncate_div.py +0 -41
  1144. mindspore/ops/_op_impl/tbe/truncate_div_ds.py +0 -42
  1145. mindspore/ops/_op_impl/tbe/truncate_mod.py +0 -41
  1146. mindspore/ops/_op_impl/tbe/truncate_mod_ds.py +0 -42
  1147. mindspore/ops/_op_impl/tbe/unpack.py +0 -38
  1148. mindspore/ops/_op_impl/tbe/unpack_ds.py +0 -39
  1149. mindspore/ops/_op_impl/tbe/unsorted_segment_max.py +0 -49
  1150. mindspore/ops/_op_impl/tbe/unsorted_segment_max_ds.py +0 -40
  1151. mindspore/ops/_op_impl/tbe/unsorted_segment_min.py +0 -49
  1152. mindspore/ops/_op_impl/tbe/unsorted_segment_min_ds.py +0 -40
  1153. mindspore/ops/_op_impl/tbe/unsorted_segment_prod.py +0 -49
  1154. mindspore/ops/_op_impl/tbe/unsorted_segment_prod_ds.py +0 -38
  1155. mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +0 -38
  1156. mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +0 -41
  1157. mindspore/ops/_op_impl/tbe/wts_arq.py +0 -40
  1158. mindspore/ops/_op_impl/tbe/xdivy.py +0 -38
  1159. mindspore/ops/_op_impl/tbe/xdivy_ds.py +0 -39
  1160. mindspore/ops/_op_impl/tbe/xlogy.py +0 -38
  1161. mindspore/ops/_op_impl/tbe/xlogy_ds.py +0 -39
  1162. mindspore/ops/_op_impl/tbe/zeros_like.py +0 -41
  1163. mindspore/ops/_op_impl/tbe/zeros_like_ds.py +0 -42
  1164. mindspore/ops/_tracefunc.py +0 -241
  1165. mindspore/ops/arg_dtype_cast.py +0 -54
  1166. mindspore/rewrite/api/tree_node_helper.py +0 -60
  1167. mindspore/rewrite/ast_helpers/ast_creator.py +0 -115
  1168. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +0 -267
  1169. mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +0 -228
  1170. mindspore/rewrite/namespace.py +0 -53
  1171. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/WHEEL +0 -0
  1172. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/top_level.txt +0 -0
@@ -13,14 +13,44 @@
13
13
  # limitations under the License.
14
14
  # ============================================================================
15
15
  """Ast utils for create or update ast node."""
16
- from typing import Optional, List
16
+ from typing import Optional, List, Union
17
+ import sys
17
18
  import ast
18
-
19
19
  from ..api.scoped_value import ScopedValue, ValueType
20
20
 
21
+ if sys.version_info >= (3, 9):
22
+ import ast as astunparse # pylint: disable=reimported, ungrouped-imports
23
+ else:
24
+ import astunparse
25
+
21
26
 
22
27
  class AstModifier(ast.NodeTransformer):
23
28
  """Ast utils for create or update ast node."""
29
+ @staticmethod
30
+ def insert_ast_to_ast(ast_container: Union[ast.AST, list], ast_node: ast.AST,
31
+ index_ast: Optional[ast.AST] = None, insert_before=True):
32
+ """
33
+ Insert ast node into an ast container.
34
+ Only support ast.FunctionDef and ast.body with type of list yet.
35
+ """
36
+ if isinstance(ast_container, list):
37
+ return AstModifier.insert_ast_to_bodies(ast_container, ast_node, index_ast, insert_before)
38
+ if isinstance(ast_container, ast.FunctionDef):
39
+ return AstModifier.insert_ast_to_function(ast_container, ast_node, index_ast, insert_before)
40
+ raise NotImplementedError(f"Insert ast node into {type(ast_container)} is not support yet.")
41
+
42
+ @staticmethod
43
+ def earse_ast_of_control_flow(ast_root_body: list, ast_branch: ast.AST, is_orelse: bool):
44
+ """
45
+ Clear ast in control flow by replace ast nodes to pass.
46
+ """
47
+ if is_orelse:
48
+ ast_branch.orelse = []
49
+ else:
50
+ ast_branch.body = [ast.Pass()]
51
+ if len(ast_branch.body) == 1 and isinstance(ast_branch.body[0], ast.Pass) and not ast_branch.orelse:
52
+ AstModifier.erase_ast_from_bodies(ast_root_body, ast_branch)
53
+ return True
24
54
 
25
55
  @staticmethod
26
56
  def erase_ast_from_function(ast_func: ast.FunctionDef, to_erase: ast.AST) -> bool:
@@ -142,22 +172,22 @@ class AstModifier(ast.NodeTransformer):
142
172
  RuntimeError: If 'index_ast' is not contained in 'ast_func'.
143
173
  """
144
174
  assign = AstModifier.create_call_assign(targets, expr, args, kwargs)
145
- return AstModifier.insert_assign_ast_to_function(ast_func, assign, index_ast, insert_before)
175
+ return AstModifier.insert_ast_to_function(ast_func, assign, index_ast, insert_before)
146
176
 
147
177
  @staticmethod
148
- def insert_assign_ast_to_function(ast_func: ast.FunctionDef, ast_assign: ast.Assign,
149
- index_ast: Optional[ast.AST] = None, insert_before=True) -> ast.AST:
178
+ def insert_ast_to_function(ast_func: ast.FunctionDef, ast_node: ast.AST,
179
+ index_ast: Optional[ast.AST] = None, insert_before=True) -> ast.AST:
150
180
  """
151
- Insert an ast.Assign into an ast.FunctionDef.
181
+ Insert an ast into an ast.FunctionDef.
152
182
 
153
183
  Args:
154
- ast_func (ast.FunctionDef): Where new ast.Assign to be inserted into.
155
- ast_assign (ast.Assign): An instance of ast.Assign to be inserted in.
156
- index_ast ([ast.AST, optional]): An ast_node indicates a position in 'ast_func' where new ast.Assign node to
157
- be inserted into. Default is None which means append new ast.Assign to 'ast_func'.
158
- insert_before (bool): A bool indicates at before or at after of 'index_ast' where new ast.Assign node to be
184
+ ast_func (ast.FunctionDef): Where new ast to be inserted into.
185
+ ast_node (ast.Assign): An instance of ast.AST to be inserted in.
186
+ index_ast ([ast.AST, optional]): An ast_node indicates a position in 'ast_func' where new ast node to
187
+ be inserted into. Default is None which means append new ast to 'ast_func'.
188
+ insert_before (bool): A bool indicates at before or at after of 'index_ast' where new ast node to be
159
189
  inserted into. Only valid when 'index_ast' is not None. Default is True which means inserting new
160
- ast.Assign before 'index_ast'.
190
+ ast before 'index_ast'.
161
191
 
162
192
  Returns:
163
193
  An instance of ast.Assign which has been inserted into 'ast_func'.
@@ -170,33 +200,34 @@ class AstModifier(ast.NodeTransformer):
170
200
  if index_ast and arguments.args:
171
201
  for arg in arguments.args:
172
202
  if id(arg) == id(index_ast):
173
- ast_func.body.insert(0, ast_assign)
203
+ ast_func.body.insert(0, ast_node)
174
204
  ast.fix_missing_locations(ast_func)
175
- return ast_assign
205
+ return ast_node
176
206
  # Insert ast at position specified by index_ast in function body
177
- ast_assign = AstModifier.insert_assign_ast_to_bodies(ast_func.body, ast_assign, index_ast, insert_before)
178
- ast.fix_missing_locations(ast_assign)
179
- return ast_assign
207
+ ast_node = AstModifier.insert_ast_to_bodies(ast_func.body, ast_node, index_ast, insert_before)
208
+ ast.fix_missing_locations(ast_node)
209
+ return ast_node
180
210
 
181
211
  @staticmethod
182
- def insert_assign_ast_to_bodies(ast_bodies: List[ast.AST], ast_assign: ast.Assign,
183
- index_ast: Optional[ast.AST] = None, insert_before=True) -> ast.AST:
212
+ def insert_ast_to_bodies(ast_bodies: List[ast.AST], ast_node: ast.AST,
213
+ index_ast: Optional[ast.AST] = None, insert_before=True) -> ast.AST:
184
214
  """Insert ast at position specified by index_ast of ast_bodies"""
185
215
  # Append ast_assign to ast_bodies when index_ast is None
186
216
  if index_ast is None:
187
- ast_bodies.append(ast_assign)
188
- return ast_assign
217
+ ast_bodies.append(ast_node)
218
+ return ast_node
189
219
  # Append ast_assign to ast_bodies
190
220
  for index, body in enumerate(ast_bodies):
191
221
  if id(body) == id(index_ast):
192
222
  if not insert_before:
193
223
  index += 1
194
- ast_bodies.insert(index, ast_assign)
224
+ ast_bodies.insert(index, ast_node)
195
225
  ast.fix_missing_locations(body)
196
226
  break
197
227
  else:
198
- raise ValueError("insert position is not contained in ast_bodies")
199
- return ast_assign
228
+ raise ValueError(f"insert position ({'before' if insert_before else 'after'} "
229
+ f"{astunparse.unparse(index_ast).strip()}) is not contained in ast_bodies")
230
+ return ast_node
200
231
 
201
232
  @staticmethod
202
233
  def append_arg_to_function(ast_func: ast.FunctionDef, ast_arg: ast.arg) -> ast.AST:
@@ -286,6 +317,9 @@ class AstModifier(ast.NodeTransformer):
286
317
  elif len(targets) > 1:
287
318
  ast_targets = ast.Tuple(elts=targets_list, ctx=ast.Store())
288
319
  result = ast.Assign(targets=[ast_targets], value=call)
320
+ else:
321
+ raise ValueError(f"For '{astunparse.unparse(call).strip()}', targets should not be empty, but got "
322
+ f"{targets}, len(targets) is {len(targets)}")
289
323
  ast.fix_missing_locations(result)
290
324
  return result
291
325
 
@@ -460,78 +494,112 @@ class AstModifier(ast.NodeTransformer):
460
494
  return result
461
495
 
462
496
  @staticmethod
463
- def update_arg_value(src_argument: ScopedValue, dst_ast: ast.AST):
497
+ def get_ast_by_value(scoped_value: ScopedValue, orig_ast_node: ast.AST) -> ast.AST:
464
498
  """
465
- Update 'arg_value' by 'input_argument'
499
+ Get ast_node by scoped_value.
466
500
 
467
501
  Args:
468
- src_argument (ScopedValue): An instance of ScopedValue represents new argument.
469
- dst_ast (ast.AST): Ast node to be updated by ScopedValue.
502
+ scoped_value (ScopedValue): A value with type of ScopedValue .
503
+ orig_ast_node (ast.AST): Origin ast node to be used by ScopedValue.
470
504
 
471
505
  Raises:
472
- TypeError: Input src_argument is not a ScopedValue
473
- RuntimeError: If 'dst_ast' is an instance of ast.Constant but type of 'src_argument' is not
474
- ValueType.ConstantValue.
475
- RuntimeError: If 'dst_ast' is an instance of ast.Name or ast.Attribute but type of 'src_argument' is not
476
- ValueType.NamingValue.
477
- RuntimeError: When 'dst_ast' is an instance of ast.Name, scope of 'src_argument' is not empty.
478
- RuntimeError: When 'dst_ast' is an instance of ast.Attribute, value of 'dst_ast' is not an instance of
479
- ast.Name.
480
- RuntimeError: If 'dst_ast' is an instance of ast.Tuple but type of 'src_argument' is not
481
- ValueType.TupleValue.
482
- RuntimeError: If 'dst_ast' is an instance of ast.Constant, ast.Name, ast.Attribute or ast.Tuple.
483
- RuntimeError: When 'dst_ast' is an instance of ast.Tuple, length of elts of 'dst_ast' is not equal to length
484
- of value of 'src_argument'.
485
- """
486
- if not isinstance(src_argument, ScopedValue):
487
- raise TypeError("src_argument should be ScopedValue, got: ", type(src_argument))
488
- if isinstance(dst_ast, (ast.Constant, ast.Num, ast.Str)):
489
- AstModifier.update_arg_value_constant(src_argument, dst_ast)
490
- return
491
- if isinstance(dst_ast, ast.Name):
492
- if src_argument.type not in [ValueType.NamingValue, ValueType.ConstantValue]\
493
- or not isinstance(src_argument.value, str):
494
- raise RuntimeError("src_argument.type should be ValueType.NamingValue or ValueType.ConstantValue, "
495
- "but got:", type(src_argument.value).__name__)
496
- if src_argument.scope:
497
- raise RuntimeError("src_argument.scope should be empty")
498
- dst_ast.id = src_argument.value
499
- return
500
- if isinstance(dst_ast, ast.Attribute):
501
- if src_argument.type != ValueType.NamingValue:
502
- raise RuntimeError("src_argument.type should equal to ValueType.NamingValue")
503
- attr_value = dst_ast.value
504
- if not isinstance(attr_value, ast.Name):
505
- raise RuntimeError("Only support ast.Name as value of attribute ", type(attr_value))
506
- attr_value.id = src_argument.scope
507
- dst_ast.attr = src_argument.value
508
- return
509
- if isinstance(dst_ast, ast.Tuple):
510
- if src_argument.type != ValueType.TupleValue:
511
- raise RuntimeError("src_argument.type should equal to ValueType.TupleValue")
512
- if len(src_argument.value) != len(dst_ast.elts):
513
- raise RuntimeError("src_argument.value and elts in ast should have same length")
514
- for elt_index, elt in enumerate(dst_ast.elts):
515
- AstModifier.update_arg_value(src_argument.value[elt_index], elt)
516
- return
517
- raise RuntimeError("keyword value type is not supported", type(dst_ast))
506
+ TypeError: Input value is not a ScopedValue
507
+ """
508
+ if not isinstance(scoped_value, ScopedValue):
509
+ raise TypeError("scoped_value should be ScopedValue, got: ", type(scoped_value))
510
+ # ast_node will not be changed when scoped_value is the unsupported type
511
+ if scoped_value.type == ValueType.UnsupportedValue:
512
+ return orig_ast_node if orig_ast_node else ast.Name(id=scoped_value.value, ctx=ast.Load())
513
+ if scoped_value.type == ValueType.ConstantValue:
514
+ new_ast_node = AstModifier.get_ast_by_constant(scoped_value, orig_ast_node)
515
+ elif scoped_value.type == ValueType.NamingValue:
516
+ new_ast_node = AstModifier.get_ast_by_name(scoped_value, orig_ast_node)
517
+ elif scoped_value.type == ValueType.ListValue:
518
+ ctx = orig_ast_node.ctx if hasattr(orig_ast_node, "ctx") else ast.Load()
519
+ new_ast_node = orig_ast_node if isinstance(orig_ast_node, ast.List) else ast.List(elts=[], ctx=ctx)
520
+ elts = []
521
+ for idx, item in enumerate(scoped_value.value):
522
+ orig_elt_ast = new_ast_node.elts[idx] if len(new_ast_node.elts) > idx else None
523
+ elts.append(AstModifier.get_ast_by_value(item, orig_elt_ast))
524
+ new_ast_node.elts = elts
525
+ elif scoped_value.type in (ValueType.TupleValue, ValueType.ListValue):
526
+ new_ast_node = AstModifier.get_ast_by_list(scoped_value, orig_ast_node)
527
+ elif scoped_value.type == ValueType.DictValue:
528
+ new_ast_node = AstModifier.get_ast_by_dict(scoped_value, orig_ast_node)
529
+ else:
530
+ raise TypeError(f"Type of scoped_value should be one of (ConstantValue, NamingValue, ListValue, "
531
+ f"DictValue, TupleValue), but got {scoped_value.type}")
532
+ ast.fix_missing_locations(new_ast_node)
533
+ return new_ast_node
534
+
535
+ @staticmethod
536
+ def get_ast_by_constant(scoped_value: ScopedValue, orig_ast_node: ast.AST):
537
+ """Get ast_node by constant value."""
538
+ constant_value = scoped_value.value
539
+ if isinstance(orig_ast_node, ast.Constant):
540
+ orig_ast_node.value = constant_value
541
+ return orig_ast_node
542
+ if isinstance(constant_value, (int, float)) and isinstance(orig_ast_node, ast.Num):
543
+ orig_ast_node.n = constant_value
544
+ return orig_ast_node
545
+ if isinstance(constant_value, str) and isinstance(orig_ast_node, ast.Str):
546
+ orig_ast_node.s = constant_value
547
+ return orig_ast_node
548
+ if isinstance(constant_value, bytes) and isinstance(orig_ast_node, ast.Bytes):
549
+ orig_ast_node.s = constant_value
550
+ return orig_ast_node
551
+ if isinstance(constant_value, (bool, type(None))) and isinstance(orig_ast_node, ast.NameConstant):
552
+ orig_ast_node.value = constant_value
553
+ return orig_ast_node
554
+ return ast.Constant(value=constant_value)
555
+
556
+ @staticmethod
557
+ def get_ast_by_name(scoped_value: ScopedValue, orig_ast_node: ast.AST):
558
+ """Get ast_node by name value."""
559
+ ctx = orig_ast_node.ctx if hasattr(orig_ast_node, "ctx") else ast.Load()
560
+ # scoped_value doesn't have scope
561
+ if not scoped_value.scope:
562
+ if isinstance(orig_ast_node, ast.Name):
563
+ orig_ast_node.id = scoped_value.value
564
+ return orig_ast_node
565
+ return ast.Name(id=scoped_value.value, ctx=ctx)
566
+ # scoped_value has scope
567
+ if isinstance(orig_ast_node, ast.Attribute):
568
+ if isinstance(orig_ast_node.value, ast.Name):
569
+ orig_ast_node.value.id = scoped_value.scope
570
+ else:
571
+ ctx_ = orig_ast_node.value.ctx if hasattr(orig_ast_node.value, "ctx") else ast.Load()
572
+ orig_ast_node.value = ast.Name(id=scoped_value.scope, ctx=ctx_)
573
+ orig_ast_node.attr = scoped_value.value
574
+ return orig_ast_node
575
+ return ast.Attribute(value=ast.Name(scoped_value.scope, ast.Load()), attr=scoped_value.value, ctx=ctx)
576
+
577
+ @staticmethod
578
+ def get_ast_by_list(scoped_value: ScopedValue, orig_ast_node: ast.AST):
579
+ """Get ast_node by scoped_value with type of TupleValue or ListValue."""
580
+ ctx = orig_ast_node.ctx if hasattr(orig_ast_node, "ctx") else ast.Load()
581
+ if scoped_value.type == ValueType.TupleValue:
582
+ new_ast_node = orig_ast_node if isinstance(orig_ast_node, ast.Tuple) else ast.Tuple(elts=[], ctx=ctx)
583
+ else:
584
+ new_ast_node = orig_ast_node if isinstance(orig_ast_node, ast.List) else ast.List(elts=[], ctx=ctx)
585
+ elts = []
586
+ for idx, item in enumerate(scoped_value.value):
587
+ orig_elt_ast = new_ast_node.elts[idx] if len(new_ast_node.elts) > idx else None
588
+ elts.append(AstModifier.get_ast_by_value(item, orig_elt_ast))
589
+ new_ast_node.elts = elts
590
+ return new_ast_node
518
591
 
519
592
  @staticmethod
520
- def update_arg_value_constant(src_argument: ScopedValue, dst_ast: ast.AST):
521
- """Update 'arg_value' of type constant by 'input_argument'"""
522
- if src_argument.type != ValueType.ConstantValue:
523
- raise RuntimeError("src_argument should be a ConstantValue, got:", str(src_argument.type))
524
- if isinstance(dst_ast, ast.Constant):
525
- dst_ast.value = src_argument.value
526
- return
527
- if isinstance(dst_ast, ast.Num):
528
- if not isinstance(src_argument.value, (int, float)):
529
- raise RuntimeError("Type of src_argument should be int or float, but got:",
530
- type(src_argument.value).__name__)
531
- dst_ast.n = src_argument.value
532
- return
533
- if isinstance(dst_ast, ast.Str):
534
- if not isinstance(src_argument.value, str):
535
- raise RuntimeError("Type of src_argument should be str, but got:", type(src_argument.value).__name__)
536
- dst_ast.s = src_argument.value
537
- return
593
+ def get_ast_by_dict(scoped_value: ScopedValue, orig_ast_node: ast.AST):
594
+ """Get ast_node by scoped_value with type of DictValue."""
595
+ new_ast_node = orig_ast_node if isinstance(orig_ast_node, ast.Dict) else ast.Dict(keys=[], values=[])
596
+ keys = []
597
+ values = []
598
+ for idx, (key, value) in enumerate(scoped_value.value.items()):
599
+ orig_key_ast = new_ast_node.keys[idx] if len(new_ast_node.keys) > idx else None
600
+ orig_value_ast = new_ast_node.values[idx] if len(new_ast_node.values) > idx else None
601
+ keys.append(AstModifier.get_ast_by_value(key, orig_key_ast))
602
+ values.append(AstModifier.get_ast_by_value(value, orig_value_ast))
603
+ new_ast_node.keys = keys
604
+ new_ast_node.values = values
605
+ return new_ast_node
@@ -16,5 +16,4 @@
16
16
  `common` package of MindSpore Rewrite package.
17
17
  Define some common instruments.
18
18
  """
19
-
20
- from .rewrite_elog import error_str
19
+ from . import config
@@ -0,0 +1,24 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """
16
+ MindSpore rewrite configurations.
17
+ """
18
+
19
+ def clear_caches():
20
+ """clear rewrite caches"""
21
+ from ..parsers import AssignParser
22
+ AssignParser._cached_trees = {} # pylint: disable=protected-access
23
+ AssignParser._cached_functions = {} # pylint: disable=protected-access
24
+ AssignParser._cached_cell_containers = {} # pylint: disable=protected-access
@@ -1,39 +1,39 @@
1
- # Copyright 2022 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ============================================================================
15
- """Error Log for Rewrite."""
16
-
17
- import sys
18
- import ast
19
- if sys.version_info >= (3, 9):
20
- import ast as astunparse # pylint: disable=reimported, ungrouped-imports
21
- else:
22
- import astunparse
23
-
24
-
25
- def error_str(reason: str, child_node: ast.expr = None, father_node: ast.expr = None) -> str:
26
- """Raise error func for Rewrite."""
27
- output_estr = "Unsupported grammar in MindSpore Rewrite, "
28
- output_estr += reason
29
- if child_node:
30
- output_estr += "\n" + "-" * 100 + "\n"
31
- output_estr += astunparse.unparse(child_node)
32
- output_estr += "-" * 100 + "\n"
33
- if father_node:
34
- output_estr += "\nin\n"
35
- if father_node:
36
- output_estr += "-" * 100 + "\n"
37
- output_estr += astunparse.unparse(father_node)
38
- output_estr += "-" * 100 + "\n"
39
- return output_estr
1
+ # Copyright 2022 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """Error Log for Rewrite."""
16
+
17
+ import sys
18
+ import ast
19
+ if sys.version_info >= (3, 9):
20
+ import ast as astunparse # pylint: disable=reimported, ungrouped-imports
21
+ else:
22
+ import astunparse
23
+
24
+
25
+ def error_str(reason: str, child_node: ast.expr = None, father_node: ast.expr = None) -> str:
26
+ """Raise error func for Rewrite."""
27
+ output_estr = "Unsupported grammar in MindSpore Rewrite, "
28
+ output_estr += reason
29
+ if child_node:
30
+ output_estr += "\n" + "-" * 100 + "\n"
31
+ output_estr += astunparse.unparse(child_node).strip()
32
+ output_estr += "\n" + "-" * 100 + "\n"
33
+ if father_node:
34
+ output_estr += "in"
35
+ if father_node:
36
+ output_estr += "\n" + "-" * 100 + "\n"
37
+ output_estr += astunparse.unparse(father_node).strip()
38
+ output_estr += "\n" + "-" * 100 + "\n"
39
+ return output_estr
@@ -16,8 +16,8 @@
16
16
 
17
17
  from typing import Union, Tuple
18
18
 
19
- from .node.node import Node
20
- from .api.node_type import NodeType
19
+ from ..node import Node
20
+ from ..api.node_type import NodeType
21
21
 
22
22
 
23
23
  class Namer:
@@ -84,7 +84,7 @@ class Namer:
84
84
  # When _names is {x:2} and origin_name is y,
85
85
  # origin_name is not in _names and can be returned.
86
86
  return name
87
- if suffix_idx and not self._names.get(real_name, -1) >= suffix_idx:
87
+ if suffix_idx and not self._names.get(real_name, -1) > suffix_idx:
88
88
  # When _names is {x:2} and origin_name is x_3,
89
89
  # return x_3 and update _names to {x:2, x_3:1}
90
90
  return name
@@ -107,9 +107,6 @@ class Namer:
107
107
 
108
108
  Args:
109
109
  name (str): A name should be unique in current namer.
110
-
111
- Raises:
112
- RuntimeError: If name is not unique in current namer.
113
110
  """
114
111
  if self._names.get(name) is None:
115
112
  self._names[name] = 1
@@ -167,13 +164,13 @@ class NodeNamer(Namer):
167
164
  elif node_or_name.get_node_type() == NodeType.MathOps:
168
165
  origin_name = "math_ops"
169
166
  else:
170
- raise RuntimeError("Node type unsupported:", node_or_name.get_node_type())
167
+ origin_name = str(node_or_name.get_node_type())
171
168
  elif isinstance(node_or_name, str):
172
169
  if not node_or_name:
173
- raise RuntimeError("input node_name is empty.")
170
+ raise ValueError("input node_name is empty.")
174
171
  origin_name = node_or_name
175
172
  else:
176
- raise RuntimeError("unexpected type of node_or_name: ", type(node_or_name))
173
+ raise ValueError("unexpected type of node_or_name:", type(node_or_name))
177
174
  return super(NodeNamer, self).get_name(origin_name)
178
175
 
179
176
 
@@ -202,25 +199,73 @@ class ClassNamer(Namer):
202
199
  ClassNamer._instance = ClassNamer()
203
200
  return ClassNamer._instance
204
201
 
205
- def get_name(self, origin_class_name: str) -> str:
202
+ def get_name(self, origin_name: str) -> str:
203
+ """
204
+ Unique input `origin_name`.
205
+
206
+ Args:
207
+ origin_name (str): A string represents original class name.
208
+
209
+ Returns:
210
+ A string represents a unique class name generated from `origin_name`.
211
+ """
212
+
213
+ return super(ClassNamer, self).get_name(origin_name + self._prefix)
214
+
215
+ def add_name(self, name: str):
216
+ """
217
+ Declare a `name` so that other class can not apply this `name` anymore.
218
+
219
+ Args:
220
+ name (str): A string represents a class name.
221
+ """
222
+
223
+ super(ClassNamer, self).add_name(name + self._prefix)
224
+
225
+ class FunctionNamer(Namer):
226
+ """
227
+ Used for unique-ing function name in a network.
228
+
229
+ Function name should be unique in a network, in other word, in a Rewrite process. So please do not invoke
230
+ constructor of `FunctionNamer` and call `instance()` of `FunctionNamer` to obtain singleton of FunctionNamer.
231
+ """
232
+
233
+ def __init__(self):
234
+ super().__init__()
235
+ self._prefix = ""
236
+
237
+ @classmethod
238
+ def instance(cls):
206
239
  """
207
- Unique input `origin_class_name`.
240
+ Class method of `FunctionNamer` for singleton of `FunctionNamer`.
241
+
242
+ Returns:
243
+ An instance of `FunctionNamer` as singleton of `FunctionNamer`.
244
+ """
245
+
246
+ if not hasattr(FunctionNamer, "_instance"):
247
+ FunctionNamer._instance = FunctionNamer()
248
+ return FunctionNamer._instance
249
+
250
+ def get_name(self, origin_name: str) -> str:
251
+ """
252
+ Unique input `origin_name`.
208
253
 
209
254
  Args:
210
- origin_class_name (str): A string represents original class name.
255
+ origin_name (str): A string represents original function name.
211
256
 
212
257
  Returns:
213
- A string represents a unique class name generated from `origin_class_name`.
258
+ A string represents a unique function name generated from `origin_name`.
214
259
  """
215
260
 
216
- return super(ClassNamer, self).get_name(origin_class_name + self._prefix)
261
+ return super(FunctionNamer, self).get_name(origin_name + self._prefix)
217
262
 
218
- def add_name(self, class_name: str):
263
+ def add_name(self, name: str):
219
264
  """
220
- Declare a `class_name` so that other class can not apply this `class_name` anymore.
265
+ Declare a `name` so that other function can not apply this `name` anymore.
221
266
 
222
267
  Args:
223
- class_name (str): A string represents a class name.
268
+ name (str): A string represents a function name.
224
269
  """
225
270
 
226
- super(ClassNamer, self).add_name(class_name + self._prefix)
271
+ super(FunctionNamer, self).add_name(name + self._prefix)