mindspore 2.6.0rc1__cp311-cp311-win_amd64.whl → 2.7.0__cp311-cp311-win_amd64.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.

Potentially problematic release.


This version of mindspore might be problematic. Click here for more details.

Files changed (458) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +2 -2
  5. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  8. mindspore/_checkparam.py +42 -11
  9. mindspore/_extends/builtin_operations.py +3 -3
  10. mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
  11. mindspore/_extends/optimize/cell_utils.py +96 -0
  12. mindspore/_extends/parallel_compile/akg_compiler/custom.py +1109 -0
  13. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  14. mindspore/_extends/parse/__init__.py +3 -3
  15. mindspore/_extends/parse/compile_config.py +44 -22
  16. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -2
  17. mindspore/_extends/parse/parser.py +65 -84
  18. mindspore/_extends/parse/resources.py +39 -0
  19. mindspore/_extends/parse/standard_method.py +58 -14
  20. mindspore/_extends/parse/trope.py +8 -1
  21. mindspore/_extends/pijit/__init__.py +1 -2
  22. mindspore/_extends/pijit/pijit_func_white_list.py +2 -5
  23. mindspore/amp.py +4 -22
  24. mindspore/atlprov.dll +0 -0
  25. mindspore/avcodec-59.dll +0 -0
  26. mindspore/avdevice-59.dll +0 -0
  27. mindspore/avfilter-8.dll +0 -0
  28. mindspore/avformat-59.dll +0 -0
  29. mindspore/avutil-57.dll +0 -0
  30. mindspore/boost/adasum.py +1 -1
  31. mindspore/boost/boost_cell_wrapper.py +4 -4
  32. mindspore/c1.dll +0 -0
  33. mindspore/c1xx.dll +0 -0
  34. mindspore/c2.dll +0 -0
  35. mindspore/common/__init__.py +43 -12
  36. mindspore/common/_grad_function.py +2 -1
  37. mindspore/common/_pijit_context.py +28 -7
  38. mindspore/common/_stub_tensor.py +1 -209
  39. mindspore/common/_tensor_cpp_method.py +1 -1
  40. mindspore/common/_tensor_docs.py +178 -53
  41. mindspore/common/_utils.py +9 -1
  42. mindspore/common/api.py +377 -203
  43. mindspore/common/dtype.py +108 -57
  44. mindspore/common/dump.py +11 -16
  45. mindspore/common/dynamic_shape/__init__.py +0 -0
  46. mindspore/common/{auto_dynamic_shape.py → dynamic_shape/auto_dynamic_shape.py} +17 -23
  47. mindspore/common/dynamic_shape/enable_dynamic.py +197 -0
  48. mindspore/common/file_system.py +59 -9
  49. mindspore/common/generator.py +5 -3
  50. mindspore/common/hook_handle.py +33 -5
  51. mindspore/common/jit_config.py +1 -1
  52. mindspore/common/jit_trace.py +84 -105
  53. mindspore/common/np_dtype.py +3 -3
  54. mindspore/common/parameter.py +27 -29
  55. mindspore/common/recompute.py +5 -7
  56. mindspore/common/sparse_tensor.py +0 -3
  57. mindspore/common/symbol.py +0 -1
  58. mindspore/common/tensor.py +117 -131
  59. mindspore/communication/_comm_helper.py +46 -4
  60. mindspore/communication/management.py +79 -7
  61. mindspore/context.py +67 -55
  62. mindspore/dataset/__init__.py +1 -1
  63. mindspore/dataset/audio/transforms.py +1 -1
  64. mindspore/dataset/core/config.py +38 -4
  65. mindspore/dataset/engine/datasets.py +350 -322
  66. mindspore/dataset/engine/datasets_user_defined.py +70 -24
  67. mindspore/dataset/engine/iterators.py +2 -2
  68. mindspore/dataset/engine/obs/config_loader.py +2 -2
  69. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
  70. mindspore/dataset/transforms/c_transforms.py +2 -2
  71. mindspore/dataset/transforms/py_transforms.py +7 -3
  72. mindspore/dataset/transforms/transforms.py +10 -6
  73. mindspore/dataset/vision/__init__.py +1 -1
  74. mindspore/dataset/vision/py_transforms.py +8 -8
  75. mindspore/dataset/vision/transforms.py +17 -5
  76. mindspore/dataset/vision/utils.py +632 -21
  77. mindspore/dataset/vision/validators.py +1 -0
  78. mindspore/device_context/ascend/device.py +1 -1
  79. mindspore/device_context/ascend/op_tuning.py +35 -1
  80. mindspore/device_context/gpu/__init__.py +2 -2
  81. mindspore/device_context/gpu/device.py +1 -1
  82. mindspore/device_context/gpu/op_precision.py +4 -2
  83. mindspore/device_context/gpu/op_tuning.py +6 -3
  84. mindspore/device_manager.py +16 -9
  85. mindspore/dnnl.dll +0 -0
  86. mindspore/dpcmi.dll +0 -0
  87. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -4
  88. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  89. mindspore/experimental/optim/adadelta.py +13 -20
  90. mindspore/experimental/optim/adagrad.py +15 -22
  91. mindspore/experimental/optim/adam.py +17 -24
  92. mindspore/experimental/optim/adamax.py +14 -22
  93. mindspore/experimental/optim/adamw.py +28 -34
  94. mindspore/experimental/optim/asgd.py +15 -25
  95. mindspore/experimental/optim/lr_scheduler.py +27 -45
  96. mindspore/experimental/optim/nadam.py +14 -24
  97. mindspore/experimental/optim/optimizer.py +13 -23
  98. mindspore/experimental/optim/radam.py +18 -24
  99. mindspore/experimental/optim/rmsprop.py +14 -25
  100. mindspore/experimental/optim/rprop.py +15 -26
  101. mindspore/experimental/optim/sgd.py +9 -19
  102. mindspore/hal/__init__.py +4 -4
  103. mindspore/hal/contiguous_tensors_handle.py +2 -2
  104. mindspore/hal/memory.py +27 -7
  105. mindspore/include/api/cell.h +65 -5
  106. mindspore/include/api/cfg.h +24 -7
  107. mindspore/include/api/context.h +1 -0
  108. mindspore/include/api/delegate.h +10 -2
  109. mindspore/include/api/dual_abi_helper.h +100 -19
  110. mindspore/include/api/graph.h +14 -1
  111. mindspore/include/api/kernel.h +16 -3
  112. mindspore/include/api/kernel_api.h +9 -1
  113. mindspore/include/api/metrics/accuracy.h +9 -0
  114. mindspore/include/api/model.h +8 -1
  115. mindspore/include/api/model_group.h +4 -0
  116. mindspore/include/api/model_parallel_runner.h +2 -0
  117. mindspore/include/api/status.h +48 -10
  118. mindspore/include/api/types.h +8 -3
  119. mindspore/include/c_api/model_c.h +0 -58
  120. mindspore/include/c_api/tensor_c.h +0 -26
  121. mindspore/include/dataset/constants.h +9 -0
  122. mindspore/include/dataset/vision_ascend.h +1 -1
  123. mindspore/jpeg62.dll +0 -0
  124. mindspore/mindrecord/tools/cifar10.py +61 -11
  125. mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
  126. mindspore/mindspore_backend_common.dll +0 -0
  127. mindspore/mindspore_backend_manager.dll +0 -0
  128. mindspore/mindspore_common.dll +0 -0
  129. mindspore/mindspore_core.dll +0 -0
  130. mindspore/mindspore_cpu_res_manager.dll +0 -0
  131. mindspore/mindspore_dump.dll +0 -0
  132. mindspore/mindspore_frontend.dll +0 -0
  133. mindspore/mindspore_glog.dll +0 -0
  134. mindspore/mindspore_memory_pool.dll +0 -0
  135. mindspore/mindspore_ms_backend.dll +0 -0
  136. mindspore/mindspore_ops.dll +0 -0
  137. mindspore/mindspore_ops_host.dll +0 -0
  138. mindspore/mindspore_ops_kernel_common.dll +0 -0
  139. mindspore/mindspore_profiler.dll +0 -0
  140. mindspore/mindspore_pyboost.dll +0 -0
  141. mindspore/mindspore_pynative.dll +0 -0
  142. mindspore/mindspore_res_manager.dll +0 -0
  143. mindspore/mindspore_runtime_pipeline.dll +0 -0
  144. mindspore/mint/__init__.py +6 -46
  145. mindspore/mint/distributed/__init__.py +5 -0
  146. mindspore/mint/distributed/distributed.py +429 -23
  147. mindspore/mint/nn/__init__.py +1 -1
  148. mindspore/mint/nn/functional.py +53 -6
  149. mindspore/mint/nn/layer/_functions.py +163 -294
  150. mindspore/mint/nn/layer/activation.py +8 -6
  151. mindspore/mint/nn/layer/conv.py +140 -104
  152. mindspore/mint/nn/layer/normalization.py +11 -25
  153. mindspore/mint/optim/adam.py +19 -18
  154. mindspore/mint/optim/adamw.py +14 -8
  155. mindspore/mint/optim/sgd.py +5 -5
  156. mindspore/msobj140.dll +0 -0
  157. mindspore/mspdb140.dll +0 -0
  158. mindspore/mspdbcore.dll +0 -0
  159. mindspore/mspdbst.dll +0 -0
  160. mindspore/mspft140.dll +0 -0
  161. mindspore/msvcdis140.dll +0 -0
  162. mindspore/msvcp140_1.dll +0 -0
  163. mindspore/msvcp140_2.dll +0 -0
  164. mindspore/msvcp140_atomic_wait.dll +0 -0
  165. mindspore/msvcp140_codecvt_ids.dll +0 -0
  166. mindspore/nn/cell.py +491 -623
  167. mindspore/nn/grad/cell_grad.py +11 -12
  168. mindspore/nn/layer/activation.py +36 -36
  169. mindspore/nn/layer/basic.py +74 -77
  170. mindspore/nn/layer/channel_shuffle.py +4 -4
  171. mindspore/nn/layer/combined.py +4 -2
  172. mindspore/nn/layer/conv.py +117 -110
  173. mindspore/nn/layer/dense.py +9 -7
  174. mindspore/nn/layer/embedding.py +50 -52
  175. mindspore/nn/layer/image.py +38 -40
  176. mindspore/nn/layer/math.py +111 -112
  177. mindspore/nn/layer/normalization.py +56 -44
  178. mindspore/nn/layer/pooling.py +58 -63
  179. mindspore/nn/layer/rnn_cells.py +33 -33
  180. mindspore/nn/layer/rnns.py +56 -56
  181. mindspore/nn/layer/thor_layer.py +74 -73
  182. mindspore/nn/layer/transformer.py +11 -1
  183. mindspore/nn/learning_rate_schedule.py +20 -20
  184. mindspore/nn/loss/loss.py +79 -81
  185. mindspore/nn/optim/adam.py +4 -6
  186. mindspore/nn/optim/adasum.py +2 -2
  187. mindspore/nn/optim/asgd.py +2 -0
  188. mindspore/nn/optim/lamb.py +1 -3
  189. mindspore/nn/optim/optimizer.py +1 -1
  190. mindspore/nn/optim/tft_wrapper.py +2 -3
  191. mindspore/nn/optim/thor.py +2 -2
  192. mindspore/nn/probability/distribution/_utils/utils.py +2 -2
  193. mindspore/nn/probability/distribution/exponential.py +2 -1
  194. mindspore/nn/probability/distribution/poisson.py +2 -1
  195. mindspore/nn/sparse/sparse.py +3 -3
  196. mindspore/nn/wrap/cell_wrapper.py +73 -42
  197. mindspore/nn/wrap/grad_reducer.py +37 -52
  198. mindspore/nn/wrap/loss_scale.py +72 -74
  199. mindspore/numpy/array_creations.py +7 -7
  200. mindspore/numpy/fft.py +1 -1
  201. mindspore/numpy/math_ops.py +5 -5
  202. mindspore/numpy/utils_const.py +1 -1
  203. mindspore/opencv_core452.dll +0 -0
  204. mindspore/opencv_imgcodecs452.dll +0 -0
  205. mindspore/opencv_imgproc452.dll +0 -0
  206. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  207. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  208. mindspore/ops/_grad_experimental/grad_inner_ops.py +0 -9
  209. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  210. mindspore/{experimental/es/__init__.py → ops/_op_impl/cpu/joinedstr_op.py} +12 -6
  211. mindspore/ops/_vmap/vmap_array_ops.py +31 -13
  212. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  213. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +54 -13
  214. mindspore/ops/auto_generate/gen_extend_func.py +27 -145
  215. mindspore/ops/auto_generate/gen_ops_def.py +1027 -347
  216. mindspore/ops/auto_generate/gen_ops_prim.py +2341 -1117
  217. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  218. mindspore/ops/composite/__init__.py +10 -0
  219. mindspore/ops/composite/base.py +9 -5
  220. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  221. mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
  222. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -1
  223. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  224. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  225. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  226. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  227. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  228. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  229. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  230. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  231. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  232. mindspore/ops/function/__init__.py +4 -1
  233. mindspore/ops/function/_add_attr_func.py +11 -6
  234. mindspore/ops/function/array_func.py +19 -102
  235. mindspore/ops/function/debug_func.py +8 -5
  236. mindspore/ops/function/grad/grad_func.py +5 -13
  237. mindspore/ops/function/math_func.py +77 -572
  238. mindspore/ops/function/nn_func.py +46 -94
  239. mindspore/ops/function/other_func.py +4 -1
  240. mindspore/ops/function/random_func.py +44 -5
  241. mindspore/ops/function/vmap_func.py +2 -1
  242. mindspore/ops/functional.py +4 -4
  243. mindspore/ops/functional_overload.py +594 -18
  244. mindspore/ops/op_info_register.py +21 -0
  245. mindspore/ops/operations/__init__.py +16 -11
  246. mindspore/ops/operations/_custom_ops_utils.py +689 -34
  247. mindspore/ops/operations/_inner_ops.py +14 -18
  248. mindspore/ops/operations/_sequence_ops.py +1 -1
  249. mindspore/ops/operations/array_ops.py +5 -51
  250. mindspore/ops/operations/comm_ops.py +186 -41
  251. mindspore/ops/operations/custom_ops.py +303 -177
  252. mindspore/ops/operations/debug_ops.py +59 -4
  253. mindspore/ops/operations/image_ops.py +13 -13
  254. mindspore/ops/operations/manually_defined/ops_def.py +27 -28
  255. mindspore/ops/operations/math_ops.py +8 -9
  256. mindspore/ops/operations/nn_ops.py +8 -40
  257. mindspore/ops/primitive.py +9 -20
  258. mindspore/ops/tensor_method.py +63 -15
  259. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  260. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  261. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  262. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  263. mindspore/ops_generate/common/base_generator.py +14 -0
  264. mindspore/ops_generate/common/gen_constants.py +8 -3
  265. mindspore/ops_generate/common/gen_utils.py +0 -19
  266. mindspore/ops_generate/common/op_proto.py +11 -4
  267. mindspore/ops_generate/common/template.py +88 -11
  268. mindspore/ops_generate/gen_ops.py +1 -1
  269. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  270. mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
  271. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  272. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  273. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  274. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  275. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  276. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -16
  277. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  278. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  279. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  280. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  281. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  282. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  283. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  284. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  285. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  286. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  287. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  288. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  289. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  290. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  291. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  292. mindspore/parallel/_auto_parallel_context.py +16 -23
  293. mindspore/parallel/_cell_wrapper.py +113 -45
  294. mindspore/parallel/_parallel_serialization.py +4 -3
  295. mindspore/parallel/_ps_context.py +4 -6
  296. mindspore/parallel/_tensor.py +167 -12
  297. mindspore/parallel/_transformer/moe.py +1 -1
  298. mindspore/parallel/_transformer/transformer.py +17 -12
  299. mindspore/parallel/_utils.py +5 -11
  300. mindspore/parallel/auto_parallel.py +35 -14
  301. mindspore/parallel/checkpoint_convert.py +3 -3
  302. mindspore/parallel/checkpoint_transform.py +13 -7
  303. mindspore/parallel/cluster/process_entity/_api.py +88 -49
  304. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  305. mindspore/parallel/cluster/run.py +48 -7
  306. mindspore/parallel/function/__init__.py +8 -1
  307. mindspore/parallel/function/reshard_func.py +12 -12
  308. mindspore/parallel/nn/__init__.py +15 -2
  309. mindspore/parallel/nn/parallel_cell_wrapper.py +50 -14
  310. mindspore/parallel/nn/parallel_grad_reducer.py +7 -14
  311. mindspore/parallel/shard.py +10 -25
  312. mindspore/parallel/transform_safetensors.py +469 -174
  313. mindspore/pgodb140.dll +0 -0
  314. mindspore/pgort140.dll +0 -0
  315. mindspore/profiler/__init__.py +2 -1
  316. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  317. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  318. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
  319. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  320. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  321. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  322. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  323. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  324. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  325. mindspore/profiler/analysis/task_manager.py +1 -1
  326. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  327. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  328. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +10 -9
  329. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +43 -23
  330. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  331. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  332. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  333. mindspore/profiler/common/constant.py +16 -0
  334. mindspore/profiler/common/msprof_cmd_tool.py +2 -2
  335. mindspore/profiler/common/path_manager.py +9 -0
  336. mindspore/profiler/common/profiler_context.py +50 -29
  337. mindspore/profiler/common/profiler_info.py +0 -16
  338. mindspore/profiler/common/profiler_meta_data.py +1 -0
  339. mindspore/profiler/common/profiler_op_analyse.py +239 -0
  340. mindspore/profiler/common/profiler_output_path.py +23 -8
  341. mindspore/profiler/common/profiler_parameters.py +128 -35
  342. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  343. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  344. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  345. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  346. mindspore/profiler/dynamic_profiler.py +374 -338
  347. mindspore/profiler/envprofiler.py +42 -12
  348. mindspore/profiler/experimental_config.py +112 -7
  349. mindspore/profiler/mstx.py +33 -12
  350. mindspore/profiler/platform/__init__.py +2 -3
  351. mindspore/profiler/platform/cpu_profiler.py +10 -4
  352. mindspore/profiler/platform/npu_profiler.py +30 -20
  353. mindspore/profiler/profiler.py +218 -154
  354. mindspore/profiler/profiler_action_controller.py +65 -77
  355. mindspore/profiler/profiler_interface.py +2 -2
  356. mindspore/profiler/schedule.py +10 -4
  357. mindspore/rewrite/common/config.py +1 -0
  358. mindspore/rewrite/common/namer.py +1 -0
  359. mindspore/rewrite/common/namespace.py +1 -0
  360. mindspore/rewrite/node/node.py +31 -11
  361. mindspore/rewrite/parsers/assign_parser.py +1 -1
  362. mindspore/rewrite/symbol_tree/symbol_tree.py +2 -2
  363. mindspore/run_check/_check_version.py +7 -10
  364. mindspore/runtime/__init__.py +8 -6
  365. mindspore/runtime/event.py +10 -4
  366. mindspore/runtime/executor.py +87 -45
  367. mindspore/runtime/memory.py +31 -32
  368. mindspore/runtime/thread_bind_core.py +299 -165
  369. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  370. mindspore/swresample-4.dll +0 -0
  371. mindspore/swscale-6.dll +0 -0
  372. mindspore/tbbmalloc.dll +0 -0
  373. mindspore/tinyxml2.dll +0 -0
  374. mindspore/train/_utils.py +17 -7
  375. mindspore/train/amp.py +43 -23
  376. mindspore/train/callback/__init__.py +5 -5
  377. mindspore/train/callback/_callback.py +2 -1
  378. mindspore/train/callback/_checkpoint.py +4 -14
  379. mindspore/train/callback/_flops_collector.py +11 -7
  380. mindspore/train/callback/_landscape.py +0 -1
  381. mindspore/train/callback/_train_fault_tolerance.py +98 -21
  382. mindspore/train/data_sink.py +15 -6
  383. mindspore/train/dataset_helper.py +14 -5
  384. mindspore/train/model.py +133 -69
  385. mindspore/train/serialization.py +168 -126
  386. mindspore/train/summary/summary_record.py +13 -2
  387. mindspore/train/train_thor/model_thor.py +2 -2
  388. mindspore/turbojpeg.dll +0 -0
  389. mindspore/utils/__init__.py +3 -2
  390. mindspore/utils/dryrun.py +0 -6
  391. mindspore/utils/runtime_execution_order_check.py +163 -77
  392. mindspore/utils/sdc_detect.py +68 -0
  393. mindspore/utils/utils.py +14 -17
  394. mindspore/vcmeta.dll +0 -0
  395. mindspore/vcruntime140.dll +0 -0
  396. mindspore/vcruntime140_1.dll +0 -0
  397. mindspore/version.py +1 -1
  398. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/METADATA +5 -4
  399. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/RECORD +403 -442
  400. mindspore/_deprecated/jit.py +0 -198
  401. mindspore/_extends/remote/kernel_build_server_ascend.py +0 -75
  402. mindspore/communication/_hccl_management.py +0 -297
  403. mindspore/experimental/es/embedding_service.py +0 -891
  404. mindspore/experimental/es/embedding_service_layer.py +0 -581
  405. mindspore/profiler/common/validator/__init__.py +0 -14
  406. mindspore/profiler/common/validator/validate_path.py +0 -84
  407. mindspore/profiler/parser/__init__.py +0 -14
  408. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  409. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  410. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  411. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  412. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  413. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  414. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  415. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  416. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  417. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  418. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  419. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  420. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  421. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  422. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  423. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  424. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  425. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  426. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  427. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  428. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  429. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  430. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  431. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  432. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  433. mindspore/profiler/parser/container.py +0 -229
  434. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  435. mindspore/profiler/parser/flops_parser.py +0 -531
  436. mindspore/profiler/parser/framework_enum.py +0 -111
  437. mindspore/profiler/parser/framework_parser.py +0 -464
  438. mindspore/profiler/parser/framework_struct.py +0 -61
  439. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  440. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  441. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  442. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  443. mindspore/profiler/parser/hccl_parser.py +0 -573
  444. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  445. mindspore/profiler/parser/integrator.py +0 -526
  446. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  447. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  448. mindspore/profiler/parser/minddata_parser.py +0 -186
  449. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  450. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  451. mindspore/profiler/parser/optime_parser.py +0 -250
  452. mindspore/profiler/parser/profiler_info.py +0 -213
  453. mindspore/profiler/parser/step_trace_parser.py +0 -666
  454. mindspore/utils/hooks.py +0 -81
  455. /mindspore/common/{_auto_dynamic.py → dynamic_shape/_auto_dynamic.py} +0 -0
  456. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/WHEEL +0 -0
  457. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/entry_points.txt +0 -0
  458. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/top_level.txt +0 -0
@@ -20,9 +20,19 @@ from mindspore.ops.composite.multitype_ops import _compile_utils as utils
20
20
  from mindspore.ops.composite import base
21
21
  from mindspore.ops import functional as F
22
22
  from mindspore.ops.composite.multitype_ops._constexpr_utils import make_tensor, check_equal
23
+ from mindspore.ops.auto_generate.gen_ops_prim import InplaceAddExt, InplaceAddsExt
23
24
  from mindspore.common import CSRTensor, COOTensor
24
25
  from ...operations._sequence_ops import SequenceAdd
25
26
 
27
+ # x += y
28
+ augassign_add = base.MultitypeFuncGraph('augassign_add', True)
29
+ """
30
+ `augassign_add` is a metafuncgraph object which will add two objects according to input type using ".register"
31
+ decorator.
32
+ """
33
+
34
+ augassign_add.set_need_raise()
35
+
26
36
 
27
37
  add = base.MultitypeFuncGraph('add', True)
28
38
  """`add` is a metafuncgraph object which will add two objects according to input type using ".register" decorator."""
@@ -103,7 +113,7 @@ class _ListAdd(base.ListAdd_):
103
113
  _list_add = _ListAdd('list_add')
104
114
  """`_list_add` is an metafuncgraph object which will concatenate two lists to form a list."""
105
115
 
106
-
116
+ @augassign_add.register("Number", "Number")
107
117
  @add.register("Number", "Number")
108
118
  @_add_backward.register("Number", "Number")
109
119
  def _scalar_add_scalar(x, y):
@@ -119,7 +129,7 @@ def _scalar_add_scalar(x, y):
119
129
  """
120
130
  return F.scalar_add(x, y)
121
131
 
122
-
132
+ @augassign_add.register("String", "String")
123
133
  @add.register("String", "String")
124
134
  def _string_concat_string(x, y):
125
135
  """
@@ -135,6 +145,7 @@ def _string_concat_string(x, y):
135
145
  return F.string_concat(x, y)
136
146
 
137
147
 
148
+ @augassign_add.register("Number", "Tensor")
138
149
  @add.register("Number", "Tensor")
139
150
  def _scalar_add_tensor(x, y):
140
151
  """
@@ -150,6 +161,21 @@ def _scalar_add_tensor(x, y):
150
161
  return F.add(x, y)
151
162
 
152
163
 
164
+ @augassign_add.register("Tensor", "Number")
165
+ def _tensor_add_scalar_augassign(x, y):
166
+ """
167
+ Tensor is added to number.
168
+
169
+ Args:
170
+ x (Tensor): x
171
+ y (Number): The dtype is same as x.
172
+
173
+ Returns:
174
+ Tensor, has the same dtype as x.
175
+ """
176
+ return InplaceAddsExt()(x, y)
177
+
178
+
153
179
  @add.register("Tensor", "Number")
154
180
  def _tensor_add_scalar(x, y):
155
181
  """
@@ -165,6 +191,7 @@ def _tensor_add_scalar(x, y):
165
191
  return F.add(x, y)
166
192
 
167
193
 
194
+ @augassign_add.register("Tuple", "Tensor")
168
195
  @add.register("Tuple", "Tensor")
169
196
  def _tuple_add_tensor(x, y):
170
197
  """
@@ -181,6 +208,7 @@ def _tuple_add_tensor(x, y):
181
208
  return F.tensor_add(x, y)
182
209
 
183
210
 
211
+ @augassign_add.register("Tensor", "Tuple")
184
212
  @add.register("Tensor", "Tuple")
185
213
  def _tensor_add_tuple(x, y):
186
214
  """
@@ -197,6 +225,7 @@ def _tensor_add_tuple(x, y):
197
225
  return F.tensor_add(x, y)
198
226
 
199
227
 
228
+ @augassign_add.register("List", "Tensor")
200
229
  @add.register("List", "Tensor")
201
230
  def _list_add_tensor(x, y):
202
231
  """
@@ -213,6 +242,7 @@ def _list_add_tensor(x, y):
213
242
  return F.tensor_add(x, y)
214
243
 
215
244
 
245
+ @augassign_add.register("Tensor", "List")
216
246
  @add.register("Tensor", "List")
217
247
  def _tensor_add_list(x, y):
218
248
  """
@@ -229,6 +259,7 @@ def _tensor_add_list(x, y):
229
259
  return F.tensor_add(x, y)
230
260
 
231
261
 
262
+ @augassign_add.register("List", "List")
232
263
  @add.register("List", "List")
233
264
  def _list_add_list(x, y):
234
265
  """
@@ -246,6 +277,21 @@ def _list_add_list(x, y):
246
277
  return _list_add(x, y)
247
278
 
248
279
 
280
+ @augassign_add.register("Tensor", "Tensor")
281
+ def _tensor_add_tensor_augassign(x, y):
282
+ """
283
+ Returns x + y element-wise.
284
+
285
+ Args:
286
+ x (Tensor): x
287
+ y (Tensor): The dtype is same as x.
288
+
289
+ Returns:
290
+ Tensor, has the same dtype as x.
291
+ """
292
+ return InplaceAddExt()(x, y)
293
+
294
+
249
295
  @add.register("Tensor", "Tensor")
250
296
  def _tensor_add_tensor(x, y):
251
297
  """
@@ -261,6 +307,7 @@ def _tensor_add_tensor(x, y):
261
307
  return F.add(x, y)
262
308
 
263
309
 
310
+ @augassign_add.register("RowTensor", "Tensor")
264
311
  @add.register("RowTensor", "Tensor")
265
312
  def add_rowtensor_tensor(x, y):
266
313
  """
@@ -306,6 +353,7 @@ def _add_env(x, y):
306
353
  return F.environ_add(x, y)
307
354
 
308
355
 
356
+ @augassign_add.register("Tuple", "Tuple")
309
357
  @add.register("Tuple", "Tuple")
310
358
  def _add_tuple(x, y):
311
359
  """
@@ -323,6 +371,7 @@ def _add_tuple(x, y):
323
371
  return _tuple_add(x, y)
324
372
 
325
373
 
374
+ @augassign_add.register("CSRTensor", "CSRTensor")
326
375
  @add.register("CSRTensor", "CSRTensor")
327
376
  def _add_csrtensor(x, y):
328
377
  """
@@ -340,6 +389,7 @@ def _add_csrtensor(x, y):
340
389
  return F.csr_add(x, y, make_tensor(1, x.values.dtype), make_tensor(1, x.values.dtype))
341
390
 
342
391
 
392
+ @augassign_add.register("COOTensor", "COOTensor")
343
393
  @add.register("COOTensor", "COOTensor")
344
394
  def _add_cootensor(x, y):
345
395
  """
@@ -357,6 +407,7 @@ def _add_cootensor(x, y):
357
407
  return F.coo_add(x, y, make_tensor(0, x.values.dtype))
358
408
 
359
409
 
410
+ @augassign_add.register("COOTensor", "Tensor")
360
411
  @add.register("COOTensor", "Tensor")
361
412
  def _add_cootensor_tensor(x, y):
362
413
  """
@@ -374,6 +425,7 @@ def _add_cootensor_tensor(x, y):
374
425
  return F.tensor_scatter_add(y, x.indices, x.values)
375
426
 
376
427
 
428
+ @augassign_add.register("Tensor", "COOTensor")
377
429
  @add.register("Tensor", "COOTensor")
378
430
  def _add_tensor_cootensor(x, y):
379
431
  """
@@ -451,6 +503,21 @@ def _add_rowtensor_tensor(x, y):
451
503
  return x + y
452
504
 
453
505
 
506
+ @_add_backward.register("Tensor", "RowTensor")
507
+ def _add_tensor_rowtensor(x, y):
508
+ """
509
+ Adds Tensor and RowTensor.
510
+
511
+ Args:
512
+ x (Tensor): x
513
+ y (RowTensor): y
514
+
515
+ Returns:
516
+ RowTensor, the dtype is same as y.
517
+ """
518
+ return y + x
519
+
520
+
454
521
  @_add_backward.register("None", "None")
455
522
  def _add_nonetensor_tensor(x, y):
456
523
  """
@@ -601,6 +668,7 @@ hyper_add = base.HyperMap(_add_backward)
601
668
 
602
669
 
603
670
  # pylint: disable=protected-access
671
+ @augassign_add._register_default()
604
672
  @add._register_default()
605
673
  def default_add(x, y):
606
674
  """Default function for add."""
@@ -16,6 +16,7 @@
16
16
  """Implementation for internal polymorphism `div` operations."""
17
17
  from __future__ import division
18
18
 
19
+ from mindspore.ops.auto_generate.gen_ops_prim import InplaceDiv, InplaceDivs
19
20
  from mindspore.ops.composite.multitype_ops import _compile_utils as utils
20
21
  from mindspore.ops.composite.multitype_ops._constexpr_utils import log_warning, check_equal
21
22
  from mindspore.ops.composite import base
@@ -24,6 +25,15 @@ from mindspore.common import COOTensor
24
25
  from mindspore.ops.auto_generate import div_op
25
26
 
26
27
 
28
+ # x /= y
29
+ augassign_div = base.MultitypeFuncGraph("augassign_div", True)
30
+ """
31
+ augassign_div is a metafuncgraph object which will div two objects according to input type
32
+ using ".register" decorator
33
+ """
34
+ augassign_div.set_need_raise()
35
+
36
+
27
37
  div = base.MultitypeFuncGraph("div", True)
28
38
  """
29
39
  div is a metafuncgraph object which will div two objects according to input type
@@ -32,6 +42,7 @@ using ".register" decorator
32
42
  div.set_need_raise()
33
43
 
34
44
 
45
+ @augassign_div.register("CSRTensor", "Tensor")
35
46
  @div.register("CSRTensor", "Tensor")
36
47
  def _csrtensor_div_tensor(x, y):
37
48
  """
@@ -44,6 +55,7 @@ def _csrtensor_div_tensor(x, y):
44
55
  return F.csr_div(x, y)
45
56
 
46
57
 
58
+ @augassign_div.register("COOTensor", "Tensor")
47
59
  @div.register("COOTensor", "Tensor")
48
60
  def _cootensor_div_tensor(x, y):
49
61
  """
@@ -58,6 +70,7 @@ def _cootensor_div_tensor(x, y):
58
70
  return COOTensor(x.indices, x.values / other_values, x.shape)
59
71
 
60
72
 
73
+ @augassign_div.register("Number", "Number")
61
74
  @div.register("Number", "Number")
62
75
  def _div_scalar(x, y):
63
76
  """
@@ -73,6 +86,21 @@ def _div_scalar(x, y):
73
86
  return F.scalar_div(x, y)
74
87
 
75
88
 
89
+ @augassign_div.register("Tensor", "Tensor")
90
+ def _div_tensor_augassign(x, y):
91
+ """
92
+ Two tensors divide by element.
93
+
94
+ Args:
95
+ x (Tensor): The first input tensor.
96
+ y (Tensor): The second input tensor.
97
+
98
+ Returns:
99
+ Tensor, has the same dtype as x.
100
+ """
101
+ return InplaceDiv()(x, y)
102
+
103
+
76
104
  @div.register("Tensor", "Tensor")
77
105
  def _div_tensor(x, y):
78
106
  """
@@ -88,6 +116,7 @@ def _div_tensor(x, y):
88
116
  return div_op(x, y)
89
117
 
90
118
 
119
+ @augassign_div.register("Number", "Tensor")
91
120
  @div.register("Number", "Tensor")
92
121
  def _scalar_div_tensor(x, y):
93
122
  """
@@ -103,6 +132,21 @@ def _scalar_div_tensor(x, y):
103
132
  return div_op(x, y)
104
133
 
105
134
 
135
+ @augassign_div.register("Tensor", "Number")
136
+ def _tensor_div_scalar_augassign(x, y):
137
+ """
138
+ Tensor divided by number.
139
+
140
+ Args:
141
+ x (Tensor): x
142
+ y (Number): The dtype is same as x.
143
+
144
+ Returns:
145
+ Tensor, has the same dtype as x.
146
+ """
147
+ return InplaceDivs()(x, y)
148
+
149
+
106
150
  @div.register("Tensor", "Number")
107
151
  def _tensor_div_scalar(x, y):
108
152
  """
@@ -118,6 +162,7 @@ def _tensor_div_scalar(x, y):
118
162
  return div_op(x, y)
119
163
 
120
164
 
165
+ @augassign_div.register("Tuple", "Tensor")
121
166
  @div.register("Tuple", "Tensor")
122
167
  def _tuple_div_tensor(x, y):
123
168
  """
@@ -134,6 +179,7 @@ def _tuple_div_tensor(x, y):
134
179
  return F.tensor_div(x, y)
135
180
 
136
181
 
182
+ @augassign_div.register("Tensor", "Tuple")
137
183
  @div.register("Tensor", "Tuple")
138
184
  def _tensor_div_tuple(x, y):
139
185
  """
@@ -150,6 +196,7 @@ def _tensor_div_tuple(x, y):
150
196
  return F.tensor_div(x, y)
151
197
 
152
198
 
199
+ @augassign_div.register("List", "Tensor")
153
200
  @div.register("List", "Tensor")
154
201
  def _list_div_tensor(x, y):
155
202
  """
@@ -166,6 +213,7 @@ def _list_div_tensor(x, y):
166
213
  return F.tensor_div(x, y)
167
214
 
168
215
 
216
+ @augassign_div.register("Tensor", "List")
169
217
  @div.register("Tensor", "List")
170
218
  def _tensor_div_list(x, y):
171
219
  """
@@ -183,6 +231,7 @@ def _tensor_div_list(x, y):
183
231
 
184
232
 
185
233
  # pylint: disable=protected-access
234
+ @augassign_div._register_default()
186
235
  @div._register_default()
187
236
  def default_div(x, y):
188
237
  """Default function for div."""
@@ -15,11 +15,21 @@
15
15
 
16
16
  """Implementation for internal polymorphism `floordiv` operations."""
17
17
  from __future__ import absolute_import
18
+ from mindspore.ops.auto_generate.gen_ops_prim import InplaceFloorDivide, InplaceFloorDivides
18
19
  from mindspore.ops.composite.multitype_ops import _compile_utils as utils
19
20
  from mindspore.ops.composite import base
20
21
  from mindspore.ops import functional as F
21
22
 
22
23
 
24
+ # x //= y
25
+ augassign_floordiv = base.MultitypeFuncGraph("augassign_floordiv", True)
26
+ """
27
+ `augassign_floordiv` is a metafuncgraph object which will compute the floordiv of two objects
28
+ using ".register" decorator.
29
+ """
30
+ augassign_floordiv.set_need_raise()
31
+
32
+
23
33
  floordiv = base.MultitypeFuncGraph("floordiv", True)
24
34
  """
25
35
  `floordiv` is a metafuncgraph object which will compute the floordiv of two objects
@@ -28,30 +38,45 @@ using ".register" decorator.
28
38
  floordiv.set_need_raise()
29
39
 
30
40
 
41
+ @augassign_floordiv.register("Number", "Number")
31
42
  @floordiv.register("Number", "Number")
32
43
  def _floordiv_scalar(x, y):
33
44
  """Returns x // y where x and y are all scalars."""
34
45
  return F.scalar_floordiv(x, y)
35
46
 
36
47
 
48
+ @augassign_floordiv.register("Tensor", "Tensor")
49
+ def _floordiv_tensor_augassign(x, y):
50
+ """Returns x // y where x and y are all tensors."""
51
+ return InplaceFloorDivide()(x, y)
52
+
53
+
37
54
  @floordiv.register("Tensor", "Tensor")
38
55
  def _floordiv_tensor(x, y):
39
56
  """Returns x // y where x and y are all tensors."""
40
57
  return F.tensor_floordiv(x, y)
41
58
 
42
59
 
60
+ @augassign_floordiv.register("Tensor", "Number")
61
+ def _tensor_floordiv_scalar_augassign(x, y):
62
+ """Returns x // y where x is a tensor and y is a scalar. x and y should have same dtype."""
63
+ return InplaceFloorDivides()(x, y)
64
+
65
+
43
66
  @floordiv.register("Tensor", "Number")
44
67
  def _tensor_floordiv_scalar(x, y):
45
68
  """Returns x // y where x is a tensor and y is a scalar. x and y should have same dtype."""
46
69
  return F.tensor_floordiv(x, y)
47
70
 
48
71
 
72
+ @augassign_floordiv.register("Number", "Tensor")
49
73
  @floordiv.register("Number", "Tensor")
50
74
  def _scalar_floordiv_tensor(x, y):
51
75
  """Returns x // y where x is a scalar and y is a tensor. x and y should have same dtype."""
52
76
  return F.tensor_floordiv(x, y)
53
77
 
54
78
 
79
+ @augassign_floordiv.register("Tuple", "Tensor")
55
80
  @floordiv.register("Tuple", "Tensor")
56
81
  def _tuple_floordiv_tensor(x, y):
57
82
  """Returns x // y where x is a tuple and y is a tensor. """
@@ -59,6 +84,7 @@ def _tuple_floordiv_tensor(x, y):
59
84
  return F.tensor_floordiv(x, y)
60
85
 
61
86
 
87
+ @augassign_floordiv.register("Tensor", "Tuple")
62
88
  @floordiv.register("Tensor", "Tuple")
63
89
  def _tensor_floordiv_tuple(x, y):
64
90
  """Returns x // y where x is a tensor and y is a tuple. """
@@ -66,6 +92,7 @@ def _tensor_floordiv_tuple(x, y):
66
92
  return F.tensor_floordiv(x, y)
67
93
 
68
94
 
95
+ @augassign_floordiv.register("List", "Tensor")
69
96
  @floordiv.register("List", "Tensor")
70
97
  def _list_floordiv_tensor(x, y):
71
98
  """Returns x // y where x is a list and y is a tensor. """
@@ -73,6 +100,7 @@ def _list_floordiv_tensor(x, y):
73
100
  return F.tensor_floordiv(x, y)
74
101
 
75
102
 
103
+ @augassign_floordiv.register("Tensor", "List")
76
104
  @floordiv.register("Tensor", "List")
77
105
  def _tensor_floordiv_list(x, y):
78
106
  """Returns x // y where x is a tensor and y is a list. """
@@ -81,6 +109,7 @@ def _tensor_floordiv_list(x, y):
81
109
 
82
110
 
83
111
  # pylint: disable=protected-access
112
+ @augassign_floordiv._register_default()
84
113
  @floordiv._register_default()
85
114
  def default_floordiv(x, y):
86
115
  """Default function for floordiv."""
@@ -15,6 +15,7 @@
15
15
 
16
16
  """Implementation for internal polymorphism `getitem` operations."""
17
17
  from __future__ import absolute_import
18
+ import os
18
19
  from mindspore.ops.operations import _inner_ops as inner
19
20
  from mindspore.ops.operations import _map_tensor_ops
20
21
  from mindspore.ops.composite.multitype_ops import _compile_utils as compile_utils
@@ -286,6 +287,8 @@ def _tensor_getitem_by_number(data, number_index):
286
287
  Outputs:
287
288
  Tensor, element type is as same as the element type of data.
288
289
  """
290
+ if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
291
+ return compile_utils._tensor_getitem(data, number_index)
289
292
  return compile_utils.tensor_index_by_number(data, number_index)
290
293
 
291
294
 
@@ -316,6 +319,8 @@ def _tensor_getitem_by_slice(data, slice_index):
316
319
  Outputs:
317
320
  Tensor, element type is the same as the element type of data.
318
321
  """
322
+ if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
323
+ return compile_utils._tensor_getitem(data, slice_index)
319
324
  return compile_utils.tensor_index_by_slice(data, slice_index)
320
325
 
321
326
 
@@ -331,6 +336,8 @@ def _tensor_getitem_by_tensor(data, tensor_index):
331
336
  Outputs:
332
337
  Tensor, element type is the same as the element type of data.
333
338
  """
339
+ if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
340
+ return compile_utils._tensor_getitem(data, tensor_index)
334
341
  return compile_utils.tensor_index_by_tensor(data, tensor_index)
335
342
 
336
343
 
@@ -361,6 +368,8 @@ def _tensor_getitem_by_list(data, list_index):
361
368
  Outputs:
362
369
  Tensor ,same as data.
363
370
  """
371
+ if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
372
+ return compile_utils._tensor_getitem(data, list_index)
364
373
  return compile_utils.tensor_index_by_list(data, list_index)
365
374
 
366
375
 
@@ -376,6 +385,8 @@ def _tensor_getitem_by_tuple(data, tuple_index):
376
385
  Outputs:
377
386
  Tensor, element type is the same as the element type of data.
378
387
  """
388
+ if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
389
+ return compile_utils._tensor_getitem(data, tuple_index)
379
390
  return compile_utils.tensor_index_by_tuple(data, tuple_index)
380
391
 
381
392
 
@@ -18,6 +18,8 @@ from __future__ import absolute_import
18
18
  from mindspore.ops.composite.multitype_ops import _compile_utils as utils
19
19
  from mindspore.ops.composite import base
20
20
  from mindspore.ops import functional as F
21
+ from mindspore.ops.auto_generate import (remainder_tensor_tensor_op, remainder_tensor_scalar_op,
22
+ remainder_scalar_tensor_op)
21
23
 
22
24
 
23
25
  mod = base.MultitypeFuncGraph("mod", True)
@@ -37,19 +39,19 @@ def _mod_scalar(x, y):
37
39
  @mod.register("Tensor", "Tensor")
38
40
  def _mod_tensor(x, y):
39
41
  """Returns x % y where x and y are all tensors."""
40
- return F.tensor_mod(x, y)
42
+ return remainder_tensor_tensor_op(x, y)
41
43
 
42
44
 
43
45
  @mod.register("Tensor", "Number")
44
46
  def _tensor_mod_scalar(x, y):
45
47
  """Returns x % y where x is a tensor and y is a scalar. x and y should have same dtype."""
46
- return F.tensor_mod(x, y)
48
+ return remainder_tensor_scalar_op(x, y)
47
49
 
48
50
 
49
51
  @mod.register("Number", "Tensor")
50
52
  def _scalar_mod_tensor(x, y):
51
53
  """Returns x % y where x is a scalar and y is a tensor. x and y should have same dtype."""
52
- return F.tensor_mod(x, y)
54
+ return remainder_scalar_tensor_op(x, y)
53
55
 
54
56
 
55
57
  @mod.register("Tuple", "Tensor")
@@ -14,6 +14,7 @@
14
14
  # ============================================================================
15
15
  """Implementation for internal polymorphism `mul` operations."""
16
16
  from mindspore.ops.operations import _inner_ops as inner
17
+ from mindspore.ops.auto_generate.gen_ops_prim import InplaceMul, InplaceMuls
17
18
  from mindspore.ops.composite.multitype_ops import _compile_utils as utils
18
19
  from mindspore.ops.composite.multitype_ops._constexpr_utils import check_equal
19
20
  from mindspore.ops.composite import base
@@ -22,6 +23,15 @@ from mindspore.common import COOTensor
22
23
  from ...operations._sequence_ops import SequenceMul
23
24
 
24
25
 
26
+ # x *= y
27
+ augassign_mul = base.MultitypeFuncGraph("augassign_mul", True)
28
+ """
29
+ `augassign_mul` is a metafuncgraph object which will multiply two objects according to input type
30
+ using ".register" decorator.
31
+ """
32
+ augassign_mul.set_need_raise()
33
+
34
+
25
35
  mul = base.MultitypeFuncGraph("mul", True)
26
36
  """
27
37
  `mul` is a metafuncgraph object which will multiply two objects according to input type
@@ -30,6 +40,7 @@ using ".register" decorator.
30
40
  mul.set_need_raise()
31
41
 
32
42
 
43
+ @augassign_mul.register("Number", "Number")
33
44
  @mul.register("Number", "Number")
34
45
  def _mul_scalar(x, y):
35
46
  """
@@ -41,6 +52,17 @@ def _mul_scalar(x, y):
41
52
  return F.scalar_mul(x, y)
42
53
 
43
54
 
55
+ @augassign_mul.register("Tensor", "Tensor")
56
+ def _mul_tensor_augassign(x, y):
57
+ """
58
+ Returns x * y by element-wise where x and y are all tensors.
59
+
60
+ Outputs:
61
+ Tensor, has the same dtype as x.
62
+ """
63
+ return InplaceMul()(x, y)
64
+
65
+
44
66
  @mul.register("Tensor", "Tensor")
45
67
  def _mul_tensor(x, y):
46
68
  """
@@ -52,6 +74,7 @@ def _mul_tensor(x, y):
52
74
  return F.tensor_mul(x, y)
53
75
 
54
76
 
77
+ @augassign_mul.register("Number", "Tensor")
55
78
  @mul.register("Number", "Tensor")
56
79
  def _scalar_mul_tensor(x, y):
57
80
  """
@@ -63,6 +86,17 @@ def _scalar_mul_tensor(x, y):
63
86
  return F.tensor_mul(x, y)
64
87
 
65
88
 
89
+ @augassign_mul.register("Tensor", "Number")
90
+ def _tensor_mul_scalar_augassign(x, y):
91
+ """
92
+ Returns x * y where x is a tensor and y is a scalar. x and y have same dtype.
93
+
94
+ Outputs:
95
+ Tensor, has the same dtype as x.
96
+ """
97
+ return InplaceMuls()(x, y)
98
+
99
+
66
100
  @mul.register("Tensor", "Number")
67
101
  def _tensor_mul_scalar(x, y):
68
102
  """
@@ -74,6 +108,7 @@ def _tensor_mul_scalar(x, y):
74
108
  return F.tensor_muls(x, y)
75
109
 
76
110
 
111
+ @augassign_mul.register("Number", "String")
77
112
  @mul.register("Number", "String")
78
113
  def _number_mul_string(x, y):
79
114
  """
@@ -85,6 +120,7 @@ def _number_mul_string(x, y):
85
120
  return inner.string_mul(x, y)
86
121
 
87
122
 
123
+ @augassign_mul.register("String", "Number")
88
124
  @mul.register("String", "Number")
89
125
  def _string_mul_number(x, y):
90
126
  """
@@ -96,6 +132,7 @@ def _string_mul_number(x, y):
96
132
  return inner.string_mul(x, y)
97
133
 
98
134
 
135
+ @augassign_mul.register("List", "Number")
99
136
  @mul.register("List", "Number")
100
137
  def _list_mul_scalar(x, y):
101
138
  """
@@ -116,6 +153,7 @@ def _list_mul_scalar(x, y):
116
153
  return res
117
154
 
118
155
 
156
+ @augassign_mul.register("Number", "List")
119
157
  @mul.register("Number", "List")
120
158
  def _scalar_mul_list(x, y):
121
159
  """
@@ -136,6 +174,7 @@ def _scalar_mul_list(x, y):
136
174
  return res
137
175
 
138
176
 
177
+ @augassign_mul.register("Tuple", "Number")
139
178
  @mul.register("Tuple", "Number")
140
179
  def _tuple_mul_scalar(x, y):
141
180
  """
@@ -156,6 +195,7 @@ def _tuple_mul_scalar(x, y):
156
195
  return res
157
196
 
158
197
 
198
+ @augassign_mul.register("Number", "Tuple")
159
199
  @mul.register("Number", "Tuple")
160
200
  def _scalar_mul_tuple(x, y):
161
201
  """
@@ -176,6 +216,7 @@ def _scalar_mul_tuple(x, y):
176
216
  return res
177
217
 
178
218
 
219
+ @augassign_mul.register("Tensor", "Tuple")
179
220
  @mul.register("Tensor", "Tuple")
180
221
  def _tensor_mul_tuple(x, y):
181
222
  """
@@ -192,6 +233,7 @@ def _tensor_mul_tuple(x, y):
192
233
  return F.tensor_mul(x, y)
193
234
 
194
235
 
236
+ @augassign_mul.register("Tuple", "Tensor")
195
237
  @mul.register("Tuple", "Tensor")
196
238
  def _tuple_mul_tensor(x, y):
197
239
  """
@@ -208,6 +250,7 @@ def _tuple_mul_tensor(x, y):
208
250
  return F.tensor_mul(x, y)
209
251
 
210
252
 
253
+ @augassign_mul.register("Tensor", "List")
211
254
  @mul.register("Tensor", "List")
212
255
  def _tensor_mul_list(x, y):
213
256
  """
@@ -224,6 +267,7 @@ def _tensor_mul_list(x, y):
224
267
  return F.tensor_mul(x, y)
225
268
 
226
269
 
270
+ @augassign_mul.register("List", "Tensor")
227
271
  @mul.register("List", "Tensor")
228
272
  def _list_mul_tensor(x, y):
229
273
  """
@@ -240,6 +284,7 @@ def _list_mul_tensor(x, y):
240
284
  return F.tensor_mul(x, y)
241
285
 
242
286
 
287
+ @augassign_mul.register("CSRTensor", "Tensor")
243
288
  @mul.register("CSRTensor", "Tensor")
244
289
  def _csrtensor_mul_tensor(x, y):
245
290
  """
@@ -251,6 +296,7 @@ def _csrtensor_mul_tensor(x, y):
251
296
  return F.csr_mul(x, y)
252
297
 
253
298
 
299
+ @augassign_mul.register("Tensor", "CSRTensor")
254
300
  @mul.register("Tensor", "CSRTensor")
255
301
  def _tensor_mul_csrtensor(x, y):
256
302
  """
@@ -262,6 +308,7 @@ def _tensor_mul_csrtensor(x, y):
262
308
  return F.csr_mul(y, x)
263
309
 
264
310
 
311
+ @augassign_mul.register("COOTensor", "Tensor")
265
312
  @mul.register("COOTensor", "Tensor")
266
313
  def _cootensor_mul_tensor(x, y):
267
314
  """
@@ -275,6 +322,7 @@ def _cootensor_mul_tensor(x, y):
275
322
  return COOTensor(x.indices, x.values * other_values, x.shape)
276
323
 
277
324
 
325
+ @augassign_mul.register("Tensor", "COOTensor")
278
326
  @mul.register("Tensor", "COOTensor")
279
327
  def _tensor_mul_cootensor(x, y):
280
328
  """
@@ -289,6 +337,7 @@ def _tensor_mul_cootensor(x, y):
289
337
 
290
338
 
291
339
  # pylint: disable=protected-access
340
+ @augassign_mul._register_default()
292
341
  @mul._register_default()
293
342
  def default_mul(x, y):
294
343
  """Default function for mul."""