mindspore 2.5.0__cp310-cp310-win_amd64.whl → 2.6.0rc1__cp310-cp310-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 (491) 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 +6 -4
  5. mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
  8. mindspore/_check_jit_forbidden_api.py +3 -0
  9. mindspore/_checkparam.py +3 -33
  10. mindspore/_deprecated/__init__.py +17 -0
  11. mindspore/_deprecated/jit.py +198 -0
  12. mindspore/_extends/builtin_operations.py +1 -1
  13. mindspore/_extends/parse/__init__.py +6 -7
  14. mindspore/_extends/parse/compile_config.py +19 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
  16. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  17. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  18. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  19. mindspore/_extends/parse/parser.py +24 -193
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +97 -74
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +4 -4
  27. mindspore/atlprov.dll +0 -0
  28. mindspore/avcodec-59.dll +0 -0
  29. mindspore/avdevice-59.dll +0 -0
  30. mindspore/avfilter-8.dll +0 -0
  31. mindspore/avformat-59.dll +0 -0
  32. mindspore/avutil-57.dll +0 -0
  33. mindspore/boost/__init__.py +2 -2
  34. mindspore/boost/base.py +3 -7
  35. mindspore/boost/boost_cell_wrapper.py +2 -2
  36. mindspore/c1.dll +0 -0
  37. mindspore/c1xx.dll +0 -0
  38. mindspore/c2.dll +0 -0
  39. mindspore/common/__init__.py +4 -3
  40. mindspore/common/_grad_function.py +56 -0
  41. mindspore/common/_pijit_context.py +14 -5
  42. mindspore/common/_register_for_tensor.py +1 -1
  43. mindspore/common/_stub_tensor.py +5 -10
  44. mindspore/common/_tensor_cpp_method.py +1 -1
  45. mindspore/common/_tensor_docs.py +1915 -3287
  46. mindspore/common/api.py +341 -354
  47. mindspore/common/auto_dynamic_shape.py +41 -44
  48. mindspore/common/dtype.py +5 -2
  49. mindspore/common/dump.py +7 -5
  50. mindspore/common/file_system.py +3 -0
  51. mindspore/common/hook_handle.py +5 -3
  52. mindspore/common/initializer.py +10 -6
  53. mindspore/common/jit_begin_end.py +94 -0
  54. mindspore/common/jit_config.py +6 -1
  55. mindspore/common/jit_context.py +76 -0
  56. mindspore/common/jit_trace.py +378 -0
  57. mindspore/common/lazy_inline.py +2 -2
  58. mindspore/common/mutable.py +5 -4
  59. mindspore/common/parameter.py +106 -39
  60. mindspore/common/seed.py +2 -2
  61. mindspore/common/sparse_tensor.py +23 -17
  62. mindspore/common/tensor.py +297 -714
  63. mindspore/communication/__init__.py +7 -5
  64. mindspore/communication/_comm_helper.py +47 -2
  65. mindspore/communication/comm_func.py +70 -53
  66. mindspore/communication/management.py +83 -17
  67. mindspore/context.py +214 -560
  68. mindspore/dataset/__init__.py +44 -20
  69. mindspore/dataset/audio/__init__.py +2 -8
  70. mindspore/dataset/audio/transforms.py +3 -17
  71. mindspore/dataset/core/config.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +1 -1
  73. mindspore/dataset/engine/datasets.py +102 -120
  74. mindspore/dataset/engine/datasets_audio.py +22 -22
  75. mindspore/dataset/engine/datasets_standard_format.py +43 -24
  76. mindspore/dataset/engine/datasets_text.py +78 -85
  77. mindspore/dataset/engine/datasets_user_defined.py +108 -76
  78. mindspore/dataset/engine/datasets_vision.py +111 -108
  79. mindspore/dataset/engine/iterators.py +5 -3
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/samplers.py +279 -57
  82. mindspore/dataset/engine/serializer_deserializer.py +2 -1
  83. mindspore/dataset/engine/validators.py +10 -0
  84. mindspore/dataset/text/__init__.py +7 -6
  85. mindspore/dataset/text/transforms.py +6 -5
  86. mindspore/dataset/text/utils.py +3 -3
  87. mindspore/dataset/transforms/__init__.py +0 -9
  88. mindspore/dataset/transforms/transforms.py +3 -3
  89. mindspore/dataset/utils/browse_dataset.py +1 -1
  90. mindspore/dataset/vision/__init__.py +2 -9
  91. mindspore/dataset/vision/transforms.py +202 -158
  92. mindspore/dataset/vision/utils.py +7 -5
  93. mindspore/device_context/ascend/op_debug.py +60 -1
  94. mindspore/device_context/ascend/op_tuning.py +0 -4
  95. mindspore/device_manager.py +39 -3
  96. mindspore/dnnl.dll +0 -0
  97. mindspore/dpcmi.dll +0 -0
  98. mindspore/experimental/es/embedding_service.py +35 -27
  99. mindspore/experimental/map_parameter.py +4 -4
  100. mindspore/experimental/optim/adadelta.py +22 -26
  101. mindspore/experimental/optim/adagrad.py +4 -4
  102. mindspore/experimental/optim/adam.py +4 -0
  103. mindspore/experimental/optim/adamax.py +4 -4
  104. mindspore/experimental/optim/adamw.py +4 -0
  105. mindspore/experimental/optim/asgd.py +1 -1
  106. mindspore/experimental/optim/lr_scheduler.py +40 -22
  107. mindspore/experimental/optim/radam.py +5 -5
  108. mindspore/experimental/optim/rprop.py +1 -1
  109. mindspore/experimental/optim/sgd.py +1 -1
  110. mindspore/hal/contiguous_tensors_handle.py +6 -10
  111. mindspore/hal/device.py +55 -81
  112. mindspore/hal/event.py +38 -55
  113. mindspore/hal/memory.py +93 -144
  114. mindspore/hal/stream.py +81 -125
  115. mindspore/include/dataset/constants.h +7 -4
  116. mindspore/include/dataset/execute.h +2 -2
  117. mindspore/jpeg62.dll +0 -0
  118. mindspore/log.py +40 -2
  119. mindspore/mindrecord/__init__.py +20 -7
  120. mindspore/mindspore_backend_common.dll +0 -0
  121. mindspore/mindspore_backend_manager.dll +0 -0
  122. mindspore/mindspore_common.dll +0 -0
  123. mindspore/mindspore_core.dll +0 -0
  124. mindspore/mindspore_dump.dll +0 -0
  125. mindspore/mindspore_frontend.dll +0 -0
  126. mindspore/mindspore_glog.dll +0 -0
  127. mindspore/mindspore_memory_pool.dll +0 -0
  128. mindspore/mindspore_ms_backend.dll +0 -0
  129. mindspore/mindspore_ops.dll +0 -0
  130. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  131. mindspore/mindspore_ops_kernel_common.dll +0 -0
  132. mindspore/mindspore_profiler.dll +0 -0
  133. mindspore/mindspore_pyboost.dll +0 -0
  134. mindspore/mindspore_pynative.dll +0 -0
  135. mindspore/mindspore_res_manager.dll +0 -0
  136. mindspore/mindspore_runtime_pipeline.dll +0 -0
  137. mindspore/mint/__init__.py +131 -700
  138. mindspore/mint/distributed/__init__.py +5 -1
  139. mindspore/mint/distributed/distributed.py +194 -109
  140. mindspore/mint/linalg/__init__.py +2 -0
  141. mindspore/mint/nn/__init__.py +280 -18
  142. mindspore/mint/nn/functional.py +282 -64
  143. mindspore/mint/nn/layer/__init__.py +4 -0
  144. mindspore/mint/nn/layer/_functions.py +7 -3
  145. mindspore/mint/nn/layer/activation.py +120 -13
  146. mindspore/mint/nn/layer/conv.py +218 -24
  147. mindspore/mint/nn/layer/normalization.py +15 -16
  148. mindspore/mint/nn/layer/padding.py +1 -1
  149. mindspore/mint/nn/layer/pooling.py +66 -1
  150. mindspore/mint/optim/__init__.py +2 -1
  151. mindspore/mint/optim/sgd.py +171 -0
  152. mindspore/msobj140.dll +0 -0
  153. mindspore/mspdb140.dll +0 -0
  154. mindspore/mspdbcore.dll +0 -0
  155. mindspore/mspdbst.dll +0 -0
  156. mindspore/mspft140.dll +0 -0
  157. mindspore/msvcdis140.dll +0 -0
  158. mindspore/msvcp140_1.dll +0 -0
  159. mindspore/msvcp140_2.dll +0 -0
  160. mindspore/msvcp140_atomic_wait.dll +0 -0
  161. mindspore/msvcp140_codecvt_ids.dll +0 -0
  162. mindspore/nn/__init__.py +4 -1
  163. mindspore/nn/cell.py +1250 -176
  164. mindspore/nn/layer/activation.py +23 -21
  165. mindspore/nn/layer/basic.py +22 -16
  166. mindspore/nn/layer/container.py +1 -1
  167. mindspore/nn/layer/conv.py +22 -17
  168. mindspore/nn/layer/embedding.py +9 -8
  169. mindspore/nn/layer/normalization.py +48 -42
  170. mindspore/nn/layer/pooling.py +75 -31
  171. mindspore/nn/layer/transformer.py +11 -10
  172. mindspore/nn/learning_rate_schedule.py +4 -2
  173. mindspore/nn/loss/loss.py +27 -19
  174. mindspore/nn/optim/ada_grad.py +6 -5
  175. mindspore/nn/optim/adadelta.py +9 -7
  176. mindspore/nn/optim/adafactor.py +1 -1
  177. mindspore/nn/optim/adam.py +16 -12
  178. mindspore/nn/optim/adamax.py +8 -7
  179. mindspore/nn/optim/adasum.py +5 -5
  180. mindspore/nn/optim/asgd.py +1 -1
  181. mindspore/nn/optim/ftrl.py +11 -9
  182. mindspore/nn/optim/lamb.py +1 -1
  183. mindspore/nn/optim/lazyadam.py +12 -10
  184. mindspore/nn/optim/momentum.py +7 -6
  185. mindspore/nn/optim/optimizer.py +2 -2
  186. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  187. mindspore/nn/optim/rmsprop.py +13 -12
  188. mindspore/nn/optim/rprop.py +9 -7
  189. mindspore/nn/optim/sgd.py +9 -6
  190. mindspore/nn/optim/tft_wrapper.py +5 -2
  191. mindspore/nn/probability/bijector/bijector.py +17 -11
  192. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  193. mindspore/nn/probability/bijector/invert.py +2 -2
  194. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  195. mindspore/nn/probability/bijector/softplus.py +3 -2
  196. mindspore/nn/probability/distribution/beta.py +3 -3
  197. mindspore/nn/probability/distribution/categorical.py +1 -1
  198. mindspore/nn/probability/distribution/cauchy.py +4 -2
  199. mindspore/nn/probability/distribution/exponential.py +6 -7
  200. mindspore/nn/probability/distribution/gamma.py +2 -2
  201. mindspore/nn/probability/distribution/gumbel.py +2 -2
  202. mindspore/nn/probability/distribution/half_normal.py +5 -3
  203. mindspore/nn/probability/distribution/logistic.py +5 -3
  204. mindspore/nn/probability/distribution/poisson.py +1 -1
  205. mindspore/nn/probability/distribution/uniform.py +5 -3
  206. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  207. mindspore/nn/reinforcement/tensor_array.py +1 -1
  208. mindspore/nn/wrap/__init__.py +6 -6
  209. mindspore/nn/wrap/cell_wrapper.py +178 -117
  210. mindspore/nn/wrap/grad_reducer.py +45 -36
  211. mindspore/nn/wrap/loss_scale.py +3 -3
  212. mindspore/numpy/array_creations.py +3 -3
  213. mindspore/numpy/array_ops.py +1 -1
  214. mindspore/numpy/math_ops.py +4 -4
  215. mindspore/numpy/utils.py +1 -2
  216. mindspore/numpy/utils_const.py +1 -2
  217. mindspore/opencv_core452.dll +0 -0
  218. mindspore/opencv_imgcodecs452.dll +0 -0
  219. mindspore/opencv_imgproc452.dll +0 -0
  220. mindspore/ops/__init__.py +3 -2
  221. mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
  222. mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
  223. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  224. mindspore/ops/_register_for_op.py +0 -11
  225. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  226. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
  227. mindspore/ops/_vmap/vmap_array_ops.py +7 -6
  228. mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
  229. mindspore/ops/_vmap/vmap_math_ops.py +4 -7
  230. mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
  231. mindspore/ops/auto_generate/__init__.py +4 -3
  232. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +102 -49
  233. mindspore/ops/auto_generate/gen_extend_func.py +281 -135
  234. mindspore/ops/auto_generate/gen_ops_def.py +2574 -2326
  235. mindspore/ops/auto_generate/gen_ops_prim.py +8566 -2755
  236. mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
  237. mindspore/ops/composite/__init__.py +2 -1
  238. mindspore/ops/composite/base.py +19 -24
  239. mindspore/ops/composite/math_ops.py +6 -16
  240. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  241. mindspore/ops/composite/multitype_ops/_compile_utils.py +2 -3
  242. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  243. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  244. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  245. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  246. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  247. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  248. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  249. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  250. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  251. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  252. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  253. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  254. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  255. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  256. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  257. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  258. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  259. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  260. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  261. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  262. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  263. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  264. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  265. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  266. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  267. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
  268. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  269. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  270. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  271. mindspore/ops/function/__init__.py +28 -2
  272. mindspore/ops/function/_add_attr_func.py +58 -0
  273. mindspore/ops/function/array_func.py +1629 -2345
  274. mindspore/ops/function/clip_func.py +38 -45
  275. mindspore/ops/function/debug_func.py +36 -44
  276. mindspore/ops/function/grad/__init__.py +1 -0
  277. mindspore/ops/function/grad/grad_func.py +104 -71
  278. mindspore/ops/function/image_func.py +1 -1
  279. mindspore/ops/function/linalg_func.py +46 -78
  280. mindspore/ops/function/math_func.py +3035 -3705
  281. mindspore/ops/function/nn_func.py +676 -241
  282. mindspore/ops/function/other_func.py +159 -1
  283. mindspore/ops/function/parameter_func.py +17 -30
  284. mindspore/ops/function/random_func.py +204 -361
  285. mindspore/ops/function/reshard_func.py +4 -70
  286. mindspore/ops/function/sparse_func.py +3 -3
  287. mindspore/ops/function/sparse_unary_func.py +5 -5
  288. mindspore/ops/function/spectral_func.py +25 -58
  289. mindspore/ops/function/vmap_func.py +24 -17
  290. mindspore/ops/functional.py +6 -4
  291. mindspore/ops/functional_overload.py +547 -4
  292. mindspore/ops/op_info_register.py +32 -244
  293. mindspore/ops/operations/__init__.py +10 -5
  294. mindspore/ops/operations/_custom_ops_utils.py +247 -0
  295. mindspore/ops/operations/_grad_ops.py +1 -10
  296. mindspore/ops/operations/_inner_ops.py +5 -76
  297. mindspore/ops/operations/_ms_kernel.py +4 -10
  298. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  299. mindspore/ops/operations/_scalar_ops.py +3 -2
  300. mindspore/ops/operations/_sequence_ops.py +1 -1
  301. mindspore/ops/operations/_tensor_array.py +1 -1
  302. mindspore/ops/operations/array_ops.py +37 -22
  303. mindspore/ops/operations/comm_ops.py +150 -107
  304. mindspore/ops/operations/custom_ops.py +221 -23
  305. mindspore/ops/operations/debug_ops.py +115 -16
  306. mindspore/ops/operations/inner_ops.py +1 -1
  307. mindspore/ops/operations/linalg_ops.py +1 -58
  308. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  309. mindspore/ops/operations/manually_defined/ops_def.py +746 -79
  310. mindspore/ops/operations/math_ops.py +21 -18
  311. mindspore/ops/operations/nn_ops.py +65 -191
  312. mindspore/ops/operations/other_ops.py +62 -9
  313. mindspore/ops/operations/random_ops.py +13 -7
  314. mindspore/ops/operations/reshard_ops.py +1 -1
  315. mindspore/ops/operations/sparse_ops.py +2 -2
  316. mindspore/ops/primitive.py +43 -32
  317. mindspore/ops/tensor_method.py +232 -13
  318. mindspore/ops_generate/__init__.py +0 -5
  319. mindspore/ops_generate/aclnn/__init__.py +0 -0
  320. mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
  321. mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
  322. mindspore/ops_generate/api/__init__.py +0 -0
  323. mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
  324. mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
  325. mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
  326. mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
  327. mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
  328. mindspore/ops_generate/api/gen_api.py +103 -0
  329. mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
  330. mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
  331. mindspore/ops_generate/common/__init__.py +0 -0
  332. mindspore/ops_generate/common/gen_constants.py +91 -0
  333. mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
  334. mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
  335. mindspore/ops_generate/{template.py → common/template.py} +96 -84
  336. mindspore/ops_generate/gen_ops.py +23 -325
  337. mindspore/ops_generate/op_def/__init__.py +0 -0
  338. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  339. mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
  340. mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -7
  341. mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
  342. mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
  343. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  344. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  345. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  346. mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
  347. mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
  348. mindspore/ops_generate/pyboost/__init__.py +0 -0
  349. mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
  350. mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
  351. mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
  352. mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
  353. mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
  354. mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
  355. mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
  356. mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
  357. mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
  358. mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
  359. mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
  360. mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
  361. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
  362. mindspore/ops_generate/resources/__init__.py +0 -0
  363. mindspore/ops_generate/resources/resource_list.py +30 -0
  364. mindspore/ops_generate/resources/resource_loader.py +36 -0
  365. mindspore/ops_generate/resources/resource_manager.py +64 -0
  366. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  367. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  368. mindspore/parallel/__init__.py +6 -2
  369. mindspore/parallel/_auto_parallel_context.py +133 -6
  370. mindspore/parallel/_cell_wrapper.py +130 -15
  371. mindspore/parallel/_parallel_serialization.py +95 -4
  372. mindspore/parallel/_ps_context.py +1 -1
  373. mindspore/parallel/_recovery_context.py +7 -2
  374. mindspore/parallel/_tensor.py +142 -18
  375. mindspore/parallel/_utils.py +198 -25
  376. mindspore/parallel/algo_parameter_config.py +3 -3
  377. mindspore/parallel/auto_parallel.py +732 -0
  378. mindspore/parallel/checkpoint_convert.py +159 -0
  379. mindspore/parallel/checkpoint_transform.py +656 -37
  380. mindspore/parallel/cluster/process_entity/_api.py +151 -19
  381. mindspore/parallel/cluster/run.py +1 -1
  382. mindspore/parallel/function/__init__.py +24 -0
  383. mindspore/parallel/function/reshard_func.py +259 -0
  384. mindspore/parallel/nn/__init__.py +25 -0
  385. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  386. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  387. mindspore/parallel/parameter_broadcast.py +24 -13
  388. mindspore/parallel/shard.py +137 -61
  389. mindspore/parallel/transform_safetensors.py +287 -95
  390. mindspore/pgodb140.dll +0 -0
  391. mindspore/pgort140.dll +0 -0
  392. mindspore/profiler/__init__.py +9 -5
  393. mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
  394. mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
  395. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
  396. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +22 -0
  397. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  398. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
  399. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
  400. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
  401. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
  402. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
  403. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
  404. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
  405. mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
  406. mindspore/profiler/common/constant.py +12 -0
  407. mindspore/profiler/common/msprof_cmd_tool.py +42 -23
  408. mindspore/profiler/common/path_manager.py +24 -0
  409. mindspore/profiler/common/profiler_context.py +26 -2
  410. mindspore/profiler/common/profiler_meta_data.py +74 -0
  411. mindspore/profiler/common/profiler_parameters.py +59 -18
  412. mindspore/profiler/common/profiler_path_manager.py +66 -7
  413. mindspore/profiler/dynamic_profiler.py +112 -79
  414. mindspore/profiler/envprofiler.py +26 -1
  415. mindspore/profiler/experimental_config.py +197 -0
  416. mindspore/profiler/mstx.py +57 -14
  417. mindspore/profiler/platform/npu_profiler.py +33 -7
  418. mindspore/profiler/profiler.py +541 -45
  419. mindspore/profiler/profiler_action_controller.py +1 -1
  420. mindspore/profiler/profiler_interface.py +4 -0
  421. mindspore/profiler/schedule.py +57 -22
  422. mindspore/rewrite/api/node.py +15 -13
  423. mindspore/rewrite/api/symbol_tree.py +1 -1
  424. mindspore/run_check/_check_version.py +25 -14
  425. mindspore/run_check/run_check.py +1 -1
  426. mindspore/runtime/__init__.py +2 -2
  427. mindspore/runtime/executor.py +40 -11
  428. mindspore/runtime/memory.py +25 -8
  429. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  430. mindspore/swresample-4.dll +0 -0
  431. mindspore/swscale-6.dll +0 -0
  432. mindspore/tbbmalloc.dll +0 -0
  433. mindspore/tinyxml2.dll +0 -0
  434. mindspore/train/__init__.py +8 -8
  435. mindspore/train/_utils.py +35 -7
  436. mindspore/train/amp.py +1 -1
  437. mindspore/train/callback/__init__.py +2 -2
  438. mindspore/train/callback/_callback.py +2 -16
  439. mindspore/train/callback/_checkpoint.py +24 -40
  440. mindspore/train/callback/_cluster_monitor.py +14 -18
  441. mindspore/train/callback/_flops_collector.py +2 -3
  442. mindspore/train/callback/_history.py +7 -4
  443. mindspore/train/callback/_lambda_callback.py +2 -2
  444. mindspore/train/callback/_landscape.py +0 -3
  445. mindspore/train/callback/_loss_monitor.py +2 -1
  446. mindspore/train/callback/_on_request_exit.py +6 -5
  447. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  448. mindspore/train/callback/_summary_collector.py +8 -13
  449. mindspore/train/callback/_time_monitor.py +2 -1
  450. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +179 -103
  451. mindspore/train/data_sink.py +25 -2
  452. mindspore/train/dataset_helper.py +4 -5
  453. mindspore/train/loss_scale_manager.py +8 -7
  454. mindspore/train/metrics/accuracy.py +3 -3
  455. mindspore/train/metrics/confusion_matrix.py +9 -9
  456. mindspore/train/metrics/error.py +3 -3
  457. mindspore/train/metrics/hausdorff_distance.py +4 -4
  458. mindspore/train/metrics/mean_surface_distance.py +3 -3
  459. mindspore/train/metrics/metric.py +0 -12
  460. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  461. mindspore/train/metrics/precision.py +8 -6
  462. mindspore/train/metrics/recall.py +9 -9
  463. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  464. mindspore/train/mind_ir_pb2.py +19 -12
  465. mindspore/train/model.py +176 -103
  466. mindspore/train/serialization.py +246 -988
  467. mindspore/train/summary/_summary_adapter.py +2 -2
  468. mindspore/train/summary/summary_record.py +1 -1
  469. mindspore/turbojpeg.dll +0 -0
  470. mindspore/utils/__init__.py +3 -2
  471. mindspore/utils/dryrun.py +4 -2
  472. mindspore/utils/hooks.py +81 -0
  473. mindspore/utils/utils.py +138 -4
  474. mindspore/vcmeta.dll +0 -0
  475. mindspore/vcruntime140.dll +0 -0
  476. mindspore/vcruntime140_1.dll +0 -0
  477. mindspore/version.py +1 -1
  478. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +2 -1
  479. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +483 -438
  480. mindspore/_install_custom.py +0 -43
  481. mindspore/common/_register_for_adapter.py +0 -74
  482. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  483. mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
  484. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  485. mindspore/ops_generate/gen_constants.py +0 -190
  486. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  487. mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
  488. /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
  489. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
  490. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +0 -0
  491. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
@@ -19,7 +19,8 @@ from mindspore import log as logger
19
19
  from mindspore.ops import signature as sig
20
20
  from mindspore import _checkparam as validator
21
21
  from mindspore.common import dtype as mstype
22
- from mindspore.ops.primitive import Primitive, PrimitiveWithCheck, PrimitiveWithInfer, prim_attr_register
22
+ from mindspore.ops.primitive import Primitive, PrimitiveWithCheck, PrimitiveWithInfer
23
+ from mindspore.ops.primitive import prim_attr_register, prim_arg_register
23
24
  from mindspore.ops.operations._pyfunc_registry import add_pyfunc
24
25
  from mindspore._c_expression import typing
25
26
  from mindspore.ops._primitive_cache import _get_cache_prim
@@ -142,9 +143,10 @@ class BoundingBoxDecode(Primitive):
142
143
 
143
144
  Args:
144
145
  max_shape (tuple): The max size limit for decoding box calculation.
145
- means (tuple): The means of deltas calculation. Default: ``(0.0, 0.0, 0.0, 0.0)`` .
146
- stds (tuple): The standard deviations of deltas calculation. Default: ``(1.0, 1.0, 1.0, 1.0)`` .
147
- wh_ratio_clip (float): The limit of width and height ratio for decoding box calculation. Default: ``0.016`` .
146
+ means (tuple, optional): The means of deltas calculation. Default: ``(0.0, 0.0, 0.0, 0.0)`` .
147
+ stds (tuple, optional): The standard deviations of deltas calculation. Default: ``(1.0, 1.0, 1.0, 1.0)`` .
148
+ wh_ratio_clip (float, optional): The limit of width and height ratio for decoding box calculation.
149
+ Default: ``0.016`` .
148
150
 
149
151
  Inputs:
150
152
  - **anchor_box** (Tensor) - Anchor boxes. The shape of `anchor_box` must be :math:`(n, 4)`.
@@ -371,13 +373,13 @@ class IOU(Primitive):
371
373
  r"""
372
374
  Calculates intersection over union for boxes.
373
375
 
374
- Computes the intersection over union (IOU) or the intersection over foreground (IOF) based on the ground-truth and
376
+ Computes the intersection over union (IOU) or the intersection over foreground (IOF) based on the truth and
375
377
  predicted regions.
376
378
 
377
379
  Refer to :func:`mindspore.ops.iou` for more details.
378
380
 
379
381
  Args:
380
- mode (string): The mode is used to specify the calculation method,
382
+ mode (str): The mode is used to specify the calculation method,
381
383
  now supporting ``'iou'`` (intersection over union) or ``'iof'``
382
384
  (intersection over foreground) mode. Default: ``'iou'`` .
383
385
 
@@ -385,7 +387,7 @@ class IOU(Primitive):
385
387
  - **anchor_boxes** (Tensor) - Anchor boxes, tensor of shape :math:`(N, 4)`.
386
388
  "N" indicates the number of anchor boxes,
387
389
  and the value "4" refers to "x0", "y0", "x1", and "y1". Data type must be float16 or float32.
388
- - **gt_boxes** (Tensor) - Ground truth boxes, tensor of shape :math:`(M, 4)`. "M" indicates the number of ground
390
+ - **gt_boxes** (Tensor) - The truth boxes, tensor of shape :math:`(M, 4)`. "M" indicates the number of
389
391
  truth boxes, and the value "4" refers to "x0", "y0", "x1", and "y1". Data type must be float16 or float32.
390
392
 
391
393
  Outputs:
@@ -524,6 +526,57 @@ class Depend(Primitive):
524
526
  return value
525
527
 
526
528
 
529
+ class MoveTo(Primitive):
530
+ r"""
531
+ Copy tensor to target device synchronously or asynchronously, default synchronously.
532
+
533
+ .. note::
534
+ This interface currently only supports Graph mode with jit_level of O0 or O1.
535
+
536
+ Args:
537
+ input (Union[Tensor, list[int], tuple[int]]): The input tensor. When the input is list and tuple, it will be
538
+ converted to tensor before copying.
539
+ to (str, optional): Specify the target device, with optional values of ``"Ascend"`` and ``"CPU"``.
540
+ Default ``"CPU"`` .
541
+ blocking (bool, optional): Whether use synchronous copying. Default ``True``.
542
+
543
+ Returns:
544
+ A new tensor on target device.
545
+
546
+ Supported Platforms:
547
+ ``Ascend`` ``CPU``
548
+
549
+ Examples:
550
+ >>> import mindspore
551
+ >>> from mindspore import nn, ops, Tensor
552
+ >>> mindspore.set_context(mode=mindspore.GRAPH_MODE)
553
+ >>> class MoveToNet(nn.Cell):
554
+ ... def __init__(self):
555
+ ... super().__init__()
556
+ ... self.move_to = ops.MoveTo()
557
+ ...
558
+ ... def construct(self, x):
559
+ ... cpu_x = self.move_to(x, "CPU")
560
+ ... npu_x = self.move_to(cpu_x, "Ascend")
561
+ ... return npu_x
562
+ ...
563
+ >>> net = MoveToNet()
564
+ >>> x = Tensor([1, 2, 3], mindspore.int64)
565
+ >>> y = net(x)
566
+ >>> print(y)
567
+ [1 2 3]
568
+ """
569
+ __mindspore_signature__ = (
570
+ sig.make_sig('input'),
571
+ sig.make_sig('to', default='CPU'),
572
+ sig.make_sig('blocking', default=True)
573
+ )
574
+
575
+ @prim_arg_register
576
+ def __init__(self):
577
+ pass
578
+
579
+
527
580
  class UpdateState(Primitive):
528
581
  """
529
582
  UpdateState is used for update side-effect state.
@@ -584,7 +637,7 @@ class StopGradient(Primitive):
584
637
  pass
585
638
 
586
639
 
587
- stop_gradient_ = StopGradient()
640
+ stop_gradient_op = StopGradient()
588
641
 
589
642
 
590
643
  class ConfusionMatrix(PrimitiveWithInfer):
@@ -650,7 +703,7 @@ class Push(PrimitiveWithInfer):
650
703
  Pushes the inputs of the corresponding optimizer to parameter server.
651
704
 
652
705
  Args:
653
- optim_type (string): The optimizer type. Default: ``'ApplyMomentum'`` .
706
+ optim_type (str): The optimizer type. Default: ``'ApplyMomentum'`` .
654
707
  only_shape_indices (list): The indices of input of which only shape
655
708
  will be pushed to parameter server. Default: ``None`` .
656
709
 
@@ -373,11 +373,17 @@ class Gamma(PrimitiveWithInfer):
373
373
  \text{P}(x|α,β) = \frac{\exp(-x/β)}{{β^α}\cdot{\Gamma(α)}}\cdot{x^{α-1}}
374
374
 
375
375
  Note:
376
- - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
377
- and the random seed determines the initial value of this random number. If the random seed is the same in two
378
- separate calls, the random number generated will not change.
379
- - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
380
- to worry about which seed is more important.
376
+ - Random Seed: Through some complex mathematical algorithms, a set of regular random numbers can be obtained,
377
+ and the random seed is the initial value of this random number.
378
+ The random seed is the same, the random number obtained will not change.
379
+ - When neither the global random seed nor the operator layer random seed
380
+ is set or both are 0: generate completely random numbers.
381
+ - When the global random seed is set, but the operator layer random seed is not set:
382
+ splice the global random seed with 0.
383
+ - When the global random seed is not set, but the operator layer random seed is set:
384
+ splice 0 with the operator layer random seed.
385
+ - When both the global random seed and the operator layer random seed are set:
386
+ splice the global random seed with the operator layer random seed.
381
387
 
382
388
  .. warning::
383
389
  The Ascend backend does not support the reproducibility of random numbers, so
@@ -870,7 +876,7 @@ class RandomCategorical(PrimitiveWithInfer):
870
876
  the `seed` parameter has no effect.
871
877
 
872
878
  Args:
873
- dtype (mindspore.dtype): The type of output. Its value must be one of mstype.int16,
879
+ dtype (mindspore.dtype, optional): The type of output. Its value must be one of mstype.int16,
874
880
  mstype.int32 and mstype.int64. Default: ``mstype.int64`` .
875
881
 
876
882
  Inputs:
@@ -1009,7 +1015,7 @@ class MultinomialWithReplacement(Primitive):
1009
1015
  - **x** (Tensor) - the input tensor containing the cumsum of probabilities, must be 1 or 2
1010
1016
  dimensions.
1011
1017
  - **seed** (Tensor) - If `seed` and 'offset' are both set to 0, the random number generator
1012
- is seeded by a random seed. Otherwise, it is seeded by the given seed and offset.
1018
+ is generated by a random seed. Otherwise, it is seeded by the given seed and offset.
1013
1019
  Supported dtype: int64.
1014
1020
  - **offset** (Tensor) - Offset used to avoid seed collision. Supported dtype: int64.
1015
1021
 
@@ -23,7 +23,7 @@ class Reshard(Primitive):
23
23
  parallel procedure.
24
24
 
25
25
  Note:
26
- - The in and out layout should be the type mindspore.Layout.
26
+ - The in and out layout should be the type mindspore.parallel.Layout.
27
27
  - The in and out layout should be the same value of layout when invoke
28
28
  ops.Reshard(layout, layout, in_strategy).
29
29
  - The in_strategy should be the strategy derived from the layout.
@@ -636,8 +636,8 @@ class SparseTensorDenseMatmul(Primitive):
636
636
  Raises:
637
637
  TypeError: If the type of `adjoint_st` or `adjoint_dt` is not bool, or the dtype of `indices`,
638
638
  dtype of `values` and dtype of `dense` don't meet the parameter description.
639
- ValueError: If `sparse_shape`, shape of `indices`, shape of `values`,
640
- and shape of `dense` don't meet the parameter description.
639
+ ValueError: If the shapes of `sparse_shape`, `indices`, `values`,
640
+ and `dense` don't meet the constraints in the parameter description.
641
641
 
642
642
  Supported Platforms:
643
643
  ``GPU`` ``CPU``
@@ -1,4 +1,4 @@
1
- # Copyright 2020-2024 Huawei Technologies Co., Ltd
1
+ # Copyright 2020-2025 Huawei Technologies Co., Ltd
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ from mindspore.parallel._utils import _is_in_auto_parallel_mode, _is_in_data_par
26
26
  from mindspore.parallel._ps_context import _is_ps_mode, _is_role_sched
27
27
  from mindspore.parallel.shard import Layout
28
28
  from mindspore.common.api import _pynative_executor
29
- from mindspore.common._stub_tensor import _convert_stub
29
+ from mindspore.common.jit_context import jit_context
30
30
  from mindspore._c_expression import Primitive_, PrimitiveFunction_, prim_type, typing
31
31
  from mindspore import _checkparam as Validator
32
32
  from mindspore.ops import signature as sig
@@ -194,13 +194,13 @@ class Primitive(Primitive_):
194
194
  layout_value = ()
195
195
  for in_ele in layout:
196
196
  if isinstance(in_ele, Layout):
197
- layout_value += (in_ele.to_dict(),)
197
+ layout_value += ({k: v for k, v in in_ele.to_dict().items() if k != 'rank_list'},)
198
198
  elif isinstance(in_ele, tuple):
199
199
  new_layout_list = ()
200
200
  for ele in in_ele:
201
201
  if not isinstance(ele, Layout):
202
202
  raise TypeError(f"The {log_info} item should be a object of class Layout.")
203
- new_layout_list += (ele.to_dict(),)
203
+ new_layout_list += ({k: v for k, v in ele.to_dict().items() if k != 'rank_list'},)
204
204
  layout_value += (new_layout_list,)
205
205
  else:
206
206
  raise TypeError(f"The {log_info} item should be a object of class Layout or a tuple.")
@@ -401,6 +401,9 @@ class Primitive(Primitive_):
401
401
  return (False, None)
402
402
 
403
403
  def __call__(self, *args):
404
+ # Add for jit context.
405
+ if jit_context() and jit_context().compiled:
406
+ return None
404
407
  should_elim, output = self.check_elim(*args)
405
408
  if should_elim:
406
409
  return output
@@ -498,6 +501,28 @@ class Primitive(Primitive_):
498
501
  self.add_prim_attr("recompute", mode)
499
502
  return self
500
503
 
504
+ def _offload(self, backward_prefetch="Auto"):
505
+ """
506
+ Set the primitive offload. If a primitive set offload feeds into some nodes for offloading
507
+ gradient, rather than storing the intermediate activation computed in forward pass, we will
508
+ offload the activations computed in forward pass and upload them backward pass.
509
+
510
+ Note:
511
+ - Not supported in pynative mode
512
+
513
+ Args:
514
+ backward_prefetch(Union[str, int]): Specifies whether the activation is prefetched in backward pass.
515
+ """
516
+ if context.get_context("mode") == context.PYNATIVE_MODE:
517
+ raise ValueError("Offload is not supported in pynative mode currently.")
518
+ self.add_prim_attr("offload", True)
519
+ if isinstance(backward_prefetch, str):
520
+ Validator.check_string(backward_prefetch, ['Auto'], 'backward_prefetch', 'Primitive._offload')
521
+ else:
522
+ Validator.check_non_negative_int(backward_prefetch)
523
+ self.add_prim_attr("backward_prefetch", backward_prefetch)
524
+ return self
525
+
501
526
  def place(self, role, rank_id):
502
527
  """
503
528
  Set the label for this primitive.
@@ -563,7 +588,7 @@ class PrimitiveWithCheck(Primitive):
563
588
  the shape and type. Method infer_value() can also be defined (such as PrimitiveWithInfer) for constant propagation.
564
589
 
565
590
  More on how to customize a Op, please refer to `Custom Operators
566
- <https://www.mindspore.cn/docs/en/master/model_train/custom_program/op_custom.html>`_.
591
+ <https://www.mindspore.cn/tutorials/en/master/custom_program/op_custom.html>`_.
567
592
 
568
593
  Args:
569
594
  name (str): Name of the current Primitive.
@@ -657,7 +682,7 @@ class PrimitiveWithInfer(Primitive):
657
682
  logic of the shape and type. The infer_value() is used for constant propagation.
658
683
 
659
684
  More on how to customize a Op, please refer to `Custom Operators
660
- <https://www.mindspore.cn/docs/en/master/model_train/custom_program/op_custom.html>`_.
685
+ <https://www.mindspore.cn/tutorials/en/master/custom_program/op_custom.html>`_.
661
686
 
662
687
  Args:
663
688
  name (str): Name of the current Primitive.
@@ -874,14 +899,15 @@ def constexpr(fn=None, get_instance=True, name=None, reuse_result=True, check=Tr
874
899
  """Used to calculate constant in graph copmpiling process and improve compile performance in GRAPH_MODE.
875
900
 
876
901
  Args:
877
- fn (function): A `fn` use as the infer_value of the output operator. Default: ``None`` .
878
- get_instance (bool): If ``True`` , return the instance of operator,
902
+ fn (function, optional): A `fn` use as the infer_value of the output operator. Default: ``None`` .
903
+ get_instance (bool, optional): If ``True`` , return the instance of operator,
879
904
  otherwise return the operator class. Default: ``True`` .
880
- name (str): Defines the operator name. If `name` is ``None`` , use the function name as op name.
905
+ name (str, optional): Defines the operator name. If `name` is ``None`` , use the function name as op name.
881
906
  Default: ``None`` .
882
- reuse_result (bool): If ``True`` , the operator will be executed once and reuse the result next time,
907
+ reuse_result (bool, optional): If ``True`` , the operator will be executed once
908
+ and reuse the result next time,
883
909
  otherwise the operator will always be executed. Default: ``True`` .
884
- check (bool): If ``True`` , the parameters will be checked
910
+ check (bool, optional): If ``True`` , the parameters will be checked
885
911
  and the warning message will raised if the parameter is not const value. Default: ``True`` .
886
912
 
887
913
  Examples:
@@ -1001,29 +1027,14 @@ def _primexpr(fn=None, get_instance=True, name=None, reuse_result=True):
1001
1027
  return deco
1002
1028
 
1003
1029
 
1004
- class _RunOpHook:
1005
- """Hook for run op"""
1006
-
1007
- current = None
1008
-
1009
- def __init__(self, hook):
1010
- self.hook = hook
1011
- self.old = _RunOpHook.current
1012
-
1013
- def __enter__(self):
1014
- _RunOpHook.current = self
1015
- return self
1016
-
1017
- def __exit__(self, *err):
1018
- _RunOpHook.current = self.old
1019
-
1020
-
1021
1030
  def _run_op(obj, op_name, args):
1022
1031
  """Single op execution function supported by ge in PyNative mode."""
1023
- if not _RunOpHook.current:
1024
- stub = _pynative_executor.run_op_async(obj, op_name, args)
1025
- return _convert_stub(stub)
1026
- return _RunOpHook.current.hook(obj, args)
1032
+ res = _pynative_executor.run_op_async(obj, op_name, args)
1033
+ # Add for jit context.
1034
+ if jit_context():
1035
+ # todo support TensorPy
1036
+ return jit_context().run_op(obj, res, *args)
1037
+ return res
1027
1038
 
1028
1039
 
1029
1040
  @_wrap_func