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
mindspore/.commit_id CHANGED
@@ -1 +1 @@
1
- __commit_id__ = ''[sha1]:241c405d,[branch]:(HEAD->master,origin/master,origin/HEAD)''
1
+ __commit_id__ = ''[sha1]:7f763125,[branch]:(HEAD->r2.6,origin/r2.6)''
Binary file
mindspore/__init__.py CHANGED
@@ -22,7 +22,7 @@ from mindspore.common import *
22
22
  from mindspore.common import _tensor_docs
23
23
  del _tensor_docs
24
24
  from mindspore.mindrecord import *
25
- from mindspore.ops import _op_impl, grad, value_and_grad, vjp, jvp, jacfwd, jacrev, vmap, get_grad, constexpr, reshard
25
+ from mindspore.ops import _op_impl, grad, value_and_grad, vjp, jvp, jacfwd, jacrev, vmap, get_grad, constexpr
26
26
  from mindspore.train import *
27
27
  from mindspore.log import *
28
28
  from mindspore.utils import *
@@ -35,14 +35,16 @@ from mindspore.version import __version__
35
35
  from mindspore.profiler import Profiler, EnvProfiler
36
36
  from mindspore.parallel import set_algo_parameters, get_algo_parameters, reset_algo_parameters, \
37
37
  rank_list_for_transform, transform_checkpoint_by_rank, transform_checkpoints, merge_pipeline_strategys, shard, \
38
- Layout, sync_pipeline_shared_parameters, parameter_broadcast, load_segmented_checkpoints, unified_safetensors
38
+ Layout, sync_pipeline_shared_parameters, parameter_broadcast, load_segmented_checkpoints, unified_safetensors, \
39
+ load_distributed_checkpoint, merge_sliced_parameter, restore_group_info_list, \
40
+ build_searched_strategy
41
+ from mindspore.parallel.function import reshard
39
42
  from mindspore.rewrite import SymbolTree, ScopedValue, Node, NodeType
40
43
  from mindspore.safeguard import obfuscate_ckpt, load_obf_params_into_net
41
44
  from mindspore._check_jit_forbidden_api import get_obj_module_and_name_info, is_jit_forbidden_module, \
42
45
  is_invalid_or_jit_forbidden_method
43
- from mindspore import _install_custom
44
46
  from mindspore import mint
45
- from mindspore.ops_generate import arg_dtype_cast, arg_handler
47
+ from mindspore.ops._utils import arg_handler, arg_dtype_cast
46
48
 
47
49
  __all__ = ["run_check"]
48
50
  __all__.extend(__version__)
Binary file
Binary file
Binary file
@@ -81,6 +81,9 @@ def get_obj_module_and_name_info(obj):
81
81
  return None
82
82
  if isinstance(obj, (types.FunctionType, types.MethodType)):
83
83
  return obj.__module__, obj.__qualname__, "method or function"
84
+ if isinstance(obj, types.BuiltinMethodType):
85
+ class_name_and_method_name = obj.__qualname__.split('.')
86
+ return class_name_and_method_name[0], obj.__qualname__, "method or function"
84
87
  return obj.__module__, obj.__name__, "class"
85
88
 
86
89
 
mindspore/_checkparam.py CHANGED
@@ -27,7 +27,7 @@ import numpy as np
27
27
  from mindspore import context
28
28
  from mindspore import log as logger
29
29
  from mindspore.common import dtype as mstype
30
- from mindspore._c_expression import Tensor as Tensor_
30
+ from mindspore._c_expression import TensorPy as Tensor_
31
31
 
32
32
  EQ = 1 # ==
33
33
  NE = 2 # !=
@@ -1252,7 +1252,7 @@ def check_symbolic_shape(dynamic_inputs, actual_inputs):
1252
1252
  for index, (dyn_input, net_input) in enumerate(zip(dyn_inputs, net_inputs)):
1253
1253
  if isinstance(dyn_input, (tuple, list)):
1254
1254
  run_check(dyn_input, net_input)
1255
- elif hasattr(dyn_input, "symbolic_shape"):
1255
+ elif hasattr(dyn_input, "symbolic_shape") and getattr(dyn_input, "symbolic_shape") is not None:
1256
1256
  _check_symbol(dyn_input, net_input, index, symbolic_shape_data)
1257
1257
 
1258
1258
  run_check(dynamic_inputs, actual_inputs)
@@ -1371,7 +1371,7 @@ def args_type_check(*type_args, **type_kwargs):
1371
1371
  return type_check
1372
1372
 
1373
1373
 
1374
- def check_hook_fn(hook_type, hook_fn):
1374
+ def check_hook_fn(hook_fn):
1375
1375
  """Check hook fn"""
1376
1376
  if not isinstance(hook_fn, (FunctionType, MethodType)):
1377
1377
  raise TypeError(f"When using 'hook_type(hook_fn)', the type of 'hook_fn' must be python "
@@ -1380,35 +1380,5 @@ def check_hook_fn(hook_type, hook_fn):
1380
1380
  if hook_fn.__code__.co_name == "staging_specialize":
1381
1381
  raise TypeError(f"Decorating hook function {hook_fn.__name__} with '@jit' is not supported.")
1382
1382
 
1383
- tensor_hook_func_args_num = 1
1384
- pre_hook_func_args_num = 2
1385
- forward_hook_and_backward_hook_func_args_num = 3
1386
- # Real args number, exclude class method self param
1387
- hook_fn_args_num = len(inspect.signature(hook_fn).parameters)
1388
-
1389
- if hook_type == "register_hook" and hook_fn_args_num != tensor_hook_func_args_num:
1390
- raise TypeError(f"Tensor hook function {hook_fn.__name__} arg num should be {tensor_hook_func_args_num}, but "
1391
- f"got {hook_fn_args_num}")
1392
-
1393
- if hook_type == "register_forward_pre_hook" and hook_fn_args_num != pre_hook_func_args_num:
1394
- raise TypeError(f"forward_pre_hook function {hook_fn.__name__} args num should be {pre_hook_func_args_num}, "
1395
- f"but got {hook_fn_args_num}")
1396
-
1397
- if (hook_type == "register_forward_hook" and
1398
- hook_fn_args_num != forward_hook_and_backward_hook_func_args_num):
1399
- raise TypeError(f"forward_hook function {hook_fn.__name__} args num should be "
1400
- f"{forward_hook_and_backward_hook_func_args_num}, but got {hook_fn_args_num}")
1401
-
1402
- if hook_type == "register_backward_pre_hook" and hook_fn_args_num != pre_hook_func_args_num:
1403
- raise TypeError(f"backward_pre_hook function {hook_fn.__name__} args num should be {pre_hook_func_args_num},"
1404
- f" but got {hook_fn_args_num}")
1405
-
1406
- if (hook_type == "register_backward_hook" and
1407
- hook_fn_args_num != forward_hook_and_backward_hook_func_args_num):
1408
- raise TypeError(f"backward_hook function {hook_fn.__name__} args num should be "
1409
- f"{forward_hook_and_backward_hook_func_args_num}, but got {hook_fn_args_num}")
1410
-
1411
- return True
1412
-
1413
1383
 
1414
1384
  _set_record = {}
@@ -0,0 +1,17 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """Store the deprecated api temporarily."""
16
+ from __future__ import absolute_import
17
+ from mindspore._deprecated.jit import jit
@@ -0,0 +1,198 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """Store the deprecated api temporarily."""
16
+ from __future__ import absolute_import
17
+
18
+ import os
19
+ import types
20
+ import time
21
+ from functools import wraps
22
+ from mindspore import log as logger
23
+ from mindspore.common.tensor import Tensor as PythonTensor
24
+ from mindspore.common.api import _get_jit_hash, _process_dyn_args, _handle_func_args, _JitExecutor
25
+ from mindspore.parallel._utils import _is_pynative_parallel
26
+ from mindspore._c_expression.amp import get_curr_amp_strategy
27
+ from mindspore.common._pijit_context import PIJitCaptureContext
28
+
29
+
30
+ _PYNATIVE_PARALLEL_FUNC_NAME = "after_shard"
31
+
32
+
33
+ def jit(fn=None, mode="PSJit", input_signature=None, hash_args=None, jit_config=None, compile_once=False):
34
+ """
35
+ Create a callable MindSpore graph from a Python function.
36
+
37
+ This allows the MindSpore runtime to apply optimizations based on graph.
38
+
39
+ Note:
40
+ - If `input_signature` is specified, each input of `fn` must be a Tensor. And the input arguments for `fn`
41
+ will not accept `**kwargs`.
42
+ - It is not supported to run a function with decoration @jit(mode=“PIJit”)
43
+ in static graph mode, in which case the decoration @jit(mode=“PIJit”) is considered invalid.
44
+ - Calls to functions with decorated @jit(mode=“PIJit”) inside functions
45
+ decorated with @jit(mode=“PIJit”) are not supported,
46
+ and the decoration @jit(mode=“PIJit”) is considered invalid.
47
+
48
+ Args:
49
+ fn (Function): The Python function that will be run as a graph. Default: ``None`` .
50
+ mode (str): The type of jit used, the value of mode should be ``PIJit`` or ``PSJit``. Default: ``PSJit`` .
51
+
52
+ - PSJit:
53
+ Parse python ast to build graph.
54
+ - PIJit:
55
+ Parse python bytecode to build graph at runtime.
56
+
57
+ input_signature (Union[Tuple, List, Dict, Tensor]): The Tensor which describes the input arguments. The
58
+ shape and dtype of the Tensor will be supplied to this function. If `input_signature` is specified, the
59
+ input parameters of `fn` cannot accept `**kwargs`, and the shape and dtype of actual inputs should keep the
60
+ same as `input_signature`. Otherwise, TypeError will be raised. There are two mode for `input_signature`:
61
+
62
+ - Full mode: Arguments is a Tuple, List or a Tensor, and they will be used as all compile inputs
63
+ for graph-compiling.
64
+ - Incremental mode: Argument is a Dict, and they will set to some of the graph inputs, which will be
65
+ substituted into the input at the corresponding position for graph-compiling.
66
+
67
+ Default: ``None`` .
68
+
69
+ hash_args (Union[Object, List or Tuple of Objects]): The local free variables used inside `fn`,
70
+ like functions or objects of class defined outside `fn`. Calling `fn` again with change of `hash_args`
71
+ will trigger recompilation. Default: ``None`` .
72
+ jit_config (JitConfig): Jit config for compile. Default: ``None`` .
73
+ compile_once(bool): ``True``: The function would be compiled once when it was created many times.
74
+ But it may be wrong if the free variables were changed. ``False`` : It would be recompiled when
75
+ it was created again.
76
+ Default: ``False`` .
77
+
78
+ Returns:
79
+ Function, if `fn` is not None, returns a callable function that will execute the compiled function; If `fn` is
80
+ None, returns a decorator and when this decorator invokes with a single `fn` argument, the callable function is
81
+ equal to the case when `fn` is not None.
82
+
83
+ Supported Platforms:
84
+ ``Ascend`` ``GPU`` ``CPU``
85
+
86
+ Examples:
87
+ >>> import numpy as np
88
+ >>> from mindspore import Tensor
89
+ >>> from mindspore import ops
90
+ >>> import mindspore._deprecated.jit as jit
91
+ ...
92
+ >>> x = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
93
+ >>> y = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
94
+ ...
95
+ >>> # create a callable MindSpore graph by calling decorator @jit
96
+ >>> def tensor_add(x, y):
97
+ ... z = x + y
98
+ ... return z
99
+ ...
100
+ >>> tensor_add_graph = jit(fn=tensor_add)
101
+ >>> out = tensor_add_graph(x, y)
102
+ ...
103
+ >>> # create a callable MindSpore graph through decorator @jit
104
+ >>> @jit
105
+ ... def tensor_add_with_dec(x, y):
106
+ ... z = x + y
107
+ ... return z
108
+ ...
109
+ >>> out = tensor_add_with_dec(x, y)
110
+ ...
111
+ >>> # create a callable MindSpore graph through decorator @jit with input_signature parameter
112
+ >>> @jit(input_signature=(Tensor(np.ones([1, 1, 3, 3]).astype(np.float32)),
113
+ ... Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))))
114
+ ... def tensor_add_with_sig(x, y):
115
+ ... z = x + y
116
+ ... return z
117
+ ...
118
+ >>> out = tensor_add_with_sig(x, y)
119
+ ...
120
+ >>> @jit(input_signature={"y": Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))})
121
+ ... def tensor_add_with_sig_1(x, y):
122
+ ... z = x + y
123
+ ... return z
124
+ ...
125
+ >>> out1 = tensor_add_with_sig_1(x, y)
126
+ ...
127
+ ... # Set hash_args as fn, otherwise cache of compiled closure_fn will not be reused.
128
+ ... # While fn differs during calling again, recompilation will be triggered.
129
+ >>> def func(x):
130
+ ... return ops.exp(x)
131
+ ...
132
+ >>> def closure_fn(x, fn):
133
+ ... @jit(hash_args=fn)
134
+ ... def inner_fn(a):
135
+ ... return fn(a)
136
+ ... return inner_fn(x)
137
+ ...
138
+ >>> inputs = Tensor(np.ones([10, 10, 10]).astype(np.float32))
139
+ >>> for i in range(10):
140
+ ... closure_fn(inputs, func)
141
+ ...
142
+ ... # Set compile_once = True, otherwise the train_step will be compiled again.
143
+ >>> def train(x):
144
+ ... @jit(compile_once = True)
145
+ ... def train_step(x):
146
+ ... return ops.exp(x)
147
+ ... for i in range(10):
148
+ ... train_step(x)
149
+ ...
150
+ >>> inputs = Tensor(np.ones([10, 10, 10]).astype(np.float32))
151
+ >>> for i in range(10):
152
+ ... train(inputs)
153
+ """
154
+
155
+ def wrap_mindspore(func):
156
+ if not isinstance(compile_once, bool):
157
+ logger.warning(f"The parameter `compile_once` of jit should be a bool, "
158
+ f"but got {type(compile_once)}.")
159
+ if hash_args:
160
+ hash_obj = _get_jit_hash(hash_args)
161
+ elif compile_once:
162
+ hash_obj = 0
163
+ else:
164
+ hash_obj = int(time.time() * 1e9)
165
+
166
+ dyn_args = _process_dyn_args(func, input_signature)
167
+
168
+ @wraps(func)
169
+ def staging_specialize(*args, **kwargs):
170
+ if os.getenv("MS_JIT") == '0':
171
+ return func(*args, **kwargs)
172
+
173
+ args, kwargs = _handle_func_args(func, *args, **kwargs)
174
+
175
+ process_obj = None
176
+ if args and not isinstance(args[0], PythonTensor) and hasattr(args[0], func.__name__):
177
+ process_obj = args[0]
178
+ # only the function or cell instance wrapped by shard will fall into this branch
179
+ if _is_pynative_parallel() and func.__name__ == _PYNATIVE_PARALLEL_FUNC_NAME:
180
+ process_obj = hash_args
181
+ # Handle auto mixed precision strategy.
182
+ if not hasattr(func, "amp_strategy"):
183
+ if isinstance(func, types.MethodType):
184
+ setattr(func.__func__, "amp_strategy", get_curr_amp_strategy())
185
+ else:
186
+ setattr(func, "amp_strategy", get_curr_amp_strategy())
187
+ out = _JitExecutor(func, hash_obj, dyn_args, process_obj, jit_config)(*args, **kwargs)
188
+ return out
189
+
190
+ return staging_specialize
191
+
192
+ wrap_func = wrap_mindspore
193
+ if mode == "PIJit":
194
+ wrap_func = PIJitCaptureContext(jit_config, input_signature)
195
+
196
+ if fn is not None:
197
+ return wrap_func(fn)
198
+ return wrap_func
@@ -20,7 +20,7 @@ from mindspore.ops import composite as C
20
20
  from mindspore.common.tensor import Tensor
21
21
  import mindspore.common.dtype as mstype
22
22
  from mindspore.common.dtype import dtype_to_nptype, get_py_obj_dtype
23
- from mindspore._c_expression import Tensor as CTensor
23
+ from mindspore._c_expression import TensorPy as CTensor
24
24
 
25
25
 
26
26
  def ScalarAdd(x, y):
@@ -27,10 +27,10 @@ from .parser import (Parser, create_instance, is_supported_create_instance_type,
27
27
  is_class_type, check_obj_bool, python_isinstance, ms_isinstance, convert_to_ms_csrtensor,
28
28
  convert_to_ms_cootensor, convert_class_to_function, convert_cell_list_to_sequence, is_cell_list,
29
29
  get_obj_from_sequence, get_type, is_class_member_recursive, get_global_params,
30
- get_adapter_tensor_attr, get_obj_defined_from_obj_type, is_from_third_party_library,
31
- get_const_abs, get_const_round, get_const_len, is_adapter_tensor_class,
32
- is_adapter_parameter_class, convert_to_namedtuple, check_attrs, generate_lambda_object,
33
- check_is_subclass, check_attr_is_property, get_method_info, can_constant_fold, is_ms_tensor_method)
30
+ get_obj_defined_from_obj_type, is_from_third_party_library, get_const_abs, get_const_round,
31
+ get_const_len, convert_to_namedtuple, check_attrs, generate_lambda_object,
32
+ check_is_subclass, check_attr_is_property, get_method_info, can_constant_fold,
33
+ convert_to_mutable)
34
34
 
35
35
  __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'generate_scope', 'get_attr_from_object',
36
36
  'get_bprop_method_of_class', 'get_class_instance_type', 'get_class_member_namespace_symbol',
@@ -42,8 +42,7 @@ __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'ge
42
42
  'get_ms_class_name', 'is_class_type', 'check_obj_bool', 'python_isinstance', 'ms_isinstance',
43
43
  'convert_to_ms_csrtensor', 'convert_to_ms_cootensor', 'convert_class_to_function',
44
44
  'convert_cell_list_to_sequence', 'is_cell_list', 'get_obj_from_sequence', 'get_type',
45
- 'is_class_member_recursive', 'get_adapter_tensor_attr', 'get_obj_defined_from_obj_type',
45
+ 'is_class_member_recursive', 'get_obj_defined_from_obj_type',
46
46
  'is_from_third_party_library', 'get_const_abs', 'get_const_round', 'get_const_len', 'get_method_info',
47
- 'is_adapter_tensor_class', 'is_adapter_parameter_class', 'is_ms_tensor_method',
48
47
  'convert_to_namedtuple', 'check_attrs', 'generate_lambda_object', 'check_is_subclass', 'check_attr_is_property',
49
- 'can_constant_fold']
48
+ 'can_constant_fold', 'convert_to_mutable']
@@ -159,6 +159,14 @@ Value Range:
159
159
  """
160
160
  AMP_ENABLE_ALL_FG = ''
161
161
 
162
+ """
163
+ Name: DUMP_IR_META_DSL
164
+ Function: Whether to dump IR for meta op.
165
+ Value Range:
166
+ String. The name of the operator that needs to dump IR.
167
+ """
168
+ DUMP_IR_META_DSL = ''
169
+
162
170
  """
163
171
  Name: DUMP_IR_CONFIG
164
172
  Function: Configuring the generation method of IR graphs.
@@ -316,6 +324,15 @@ Value Range:
316
324
  """
317
325
  PYNATIVE_JIT_GRAD_MODE = ''
318
326
 
327
+ """
328
+ Name: PIJIT_SUBGRAPH_BREAK_OPTIMIZE
329
+ Function: Whether to enable subgraph break optimization in PIJit.
330
+ Value Range:
331
+ 0: Disable subgraph break optimization in PIJit.
332
+ Default: Enable.
333
+ """
334
+ PIJIT_SUBGRAPH_BREAK_OPTIMIZE = ''
335
+
319
336
  """
320
337
  Name: PUT_ALL_CNODE_INTO_ORDER_LIST
321
338
  Function: Whether to put all CNode into order list in back prop.
@@ -341,6 +358,7 @@ __all__ = [
341
358
  "BOOST_PARSE",
342
359
  "GREED_PARSE",
343
360
  "AMP_ENABLE_ALL_FG",
361
+ "DUMP_IR_META_DSL",
344
362
  "DUMP_IR_CONFIG",
345
363
  "TRAVERSE_SUBSTITUTIONS_MODE",
346
364
  "PRE_LIFT",
@@ -359,5 +377,6 @@ __all__ = [
359
377
  "GRAD_FOR_SCALAR",
360
378
  "DEBUG_LEVEL",
361
379
  "PYNATIVE_JIT_GRAD_MODE",
380
+ "PIJIT_SUBGRAPH_BREAK_OPTIMIZE",
362
381
  "PUT_ALL_CNODE_INTO_ORDER_LIST",
363
382
  ]
@@ -97,7 +97,7 @@ deprecated_tensor_method_map = {
97
97
  # 39 greater
98
98
 
99
99
  # 40 greater_equal
100
-
100
+ "greater_equal": "deprecated_tensor_greater_equal",
101
101
  # 41 gt
102
102
 
103
103
  # 42 half
@@ -136,7 +136,6 @@ deprecated_tensor_method_map = {
136
136
 
137
137
  # 59 logical_or
138
138
  "logical_or": "tensor_logical_or",
139
-
140
139
  # 60 long
141
140
 
142
141
  # 61 lt
@@ -287,6 +286,7 @@ deprecated_tensor_method_map = {
287
286
 
288
287
  # 133 bincount
289
288
  "bincount": "tensor_bincount",
289
+ "roll": "tensor_roll",
290
290
  # 134 diff
291
291
 
292
292
  # 135 double
@@ -338,16 +338,23 @@ deprecated_tensor_method_map = {
338
338
  "atan": "deprecated_tensor_atan",
339
339
  "arctan": "deprecated_tensor_arctan",
340
340
  "dot": "deprecated_tensor_dot",
341
+ "copy_": "deprecated_tensor_copy_",
341
342
 
342
343
  # 153
344
+ "logsumexp": "deprecated_tensor_logsumexp",
343
345
 
344
346
  # 154
345
347
 
346
348
  # 155
347
-
349
+ "isneginf": "deprecated_tensor_isneginf",
348
350
  # 156
349
351
 
350
352
  # 157
353
+ "logaddexp": "deprecated_tensor_logaddexp",
354
+
355
+ "logaddexp2": "deprecated_tensor_logaddexp2",
356
+
357
+ "xlogy": "tensor_xlogy",
351
358
 
352
359
  # 158
353
360
  "unsqueeze": "deprecated_tensor_unsqueeze",
@@ -359,8 +366,18 @@ deprecated_tensor_method_map = {
359
366
 
360
367
  # 161
361
368
  "fmod": "deprecated_tensor_fmod",
369
+ "bitwise_or": "deprecated_bitwise_or",
370
+ "bitwise_and": "deprecated_bitwise_and",
371
+ "bitwise_xor": "deprecated_bitwise_xor",
372
+ "baddbmm": "deprecated_baddbmm",
373
+
362
374
  # 162 log10
363
375
  "log10": "tensor_log10",
376
+ # 732
377
+ "take": "deprecated_tensor_take",
378
+
379
+ # 186
380
+ "addcdiv": "deprecated_tensor_addcdiv",
364
381
 
365
382
  # 501
366
383
  "addbmm": "deprecated_tensor_addbmm",
@@ -370,6 +387,8 @@ deprecated_tensor_method_map = {
370
387
  "addmm": "deprecated_tensor_addmm",
371
388
  # 790 addmv
372
389
  "addmv": "deprecated_tensor_addmv",
390
+ # 846
391
+ "count_nonzero": "deprecated_tensor_count_nonzero",
373
392
  # 1028
374
393
  "var": "deprecated_tensor_var",
375
394
  }
@@ -0,0 +1,123 @@
1
+ # This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
2
+ #
3
+ # Copyright 2025 Huawei Technologies Co., Ltd
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ # ============================================================================
17
+ """ Used to detect third party modules. """
18
+
19
+ import os
20
+ import sys
21
+ import types
22
+ import inspect
23
+ from mindspore import log as logger
24
+ from .third_party_modules import third_party_modules_whitelist
25
+ from ..resources import convert_object_map
26
+
27
+
28
+ class ThirdPartyLibraryChecker:
29
+ """
30
+ Check if a module or function is from third-party libraries.
31
+
32
+ Rules for detecting third-party libraries:
33
+
34
+ 1. Python built-in modules and python standard libraries are third-party libraries.
35
+
36
+ 2. Modules in third_party_modules_whitelist are treated as third-party libraries.
37
+
38
+ 3. Third-party libraries usually have 'site-packages' in their installation path.
39
+
40
+ 4. Modules with module names provided by MS_JIT_IGNORE_MODULES are treated as third-party
41
+ libraries, but those provided by MS_JIT_MODULES are not.
42
+
43
+ """
44
+ def __init__(self):
45
+ self.python_builtin_dir = os.path.realpath(os.path.dirname(os.__file__))
46
+
47
+ @staticmethod
48
+ def get_jit_modules():
49
+ """Modules in jit_modules require jit."""
50
+ jit_modules = []
51
+ # Get jit modules from environment variable.
52
+ env_modules = os.getenv('MS_JIT_MODULES')
53
+ if env_modules is not None:
54
+ jit_modules = env_modules.split(',')
55
+ return jit_modules
56
+
57
+ @staticmethod
58
+ def get_jit_ignore_modules():
59
+ """Modules in jit_ignore_modules do not need jit."""
60
+ jit_ignore_modules = []
61
+ # Get jit ignore modules from environment variable.
62
+ env_modules = os.getenv('MS_JIT_IGNORE_MODULES')
63
+ if env_modules is not None:
64
+ jit_ignore_modules = env_modules.split(',')
65
+ # sys.builtin_module_names do not need jit.
66
+ jit_ignore_modules.extend(sys.builtin_module_names)
67
+ return jit_ignore_modules
68
+
69
+ @staticmethod
70
+ def in_convert_map(value):
71
+ """Check if value in convert_object_map."""
72
+ value_hashable = True
73
+ try:
74
+ hash(value)
75
+ except TypeError:
76
+ value_hashable = False
77
+ return value_hashable and value in convert_object_map
78
+
79
+ def is_third_party_module(self, module):
80
+ """Check if module is a third-party library."""
81
+ module_leftmost_name = module.__name__.split('.')[0]
82
+ if module_leftmost_name == "mindspore":
83
+ return False
84
+ # Modules in jit_ignore_modules are treated as third-party libraries.
85
+ jit_ignore_modules = self.get_jit_ignore_modules()
86
+ if module_leftmost_name in jit_ignore_modules:
87
+ logger.debug(f"Found third-party module '{module_leftmost_name}' in jit_ignore_modules.")
88
+ return True
89
+ # Modules in jit_modules require jit and they are considered to be in user workspace.
90
+ jit_modules = self.get_jit_modules()
91
+ if module_leftmost_name in jit_modules:
92
+ logger.debug(f"Found user-defined module '{module_leftmost_name}' in jit_modules.")
93
+ return False
94
+ # A modules without __file__ attribute is considered to be in user workspace.
95
+ if not hasattr(module, '__file__'):
96
+ return False
97
+ module_path = os.path.realpath(module.__file__)
98
+ split_path = module_path.split(os.path.sep)
99
+ under_site_packages = "site-packages" in split_path
100
+ # Python builtin modules are treated as third-party libraries.
101
+ if not under_site_packages and module_path.startswith(self.python_builtin_dir):
102
+ logger.debug(f"Found python builtin module '{module.__name__}', which is a third-party module.")
103
+ return True
104
+ # Third-party modules are under site-packages.
105
+ if under_site_packages and module_leftmost_name in third_party_modules_whitelist:
106
+ logger.debug(f"Found third-party module '{module.__name__}' in path '{module_path}'")
107
+ return True
108
+ return False
109
+
110
+ def is_from_third_party_module(self, value):
111
+ """Check if value is from a third-party library."""
112
+ if inspect.ismodule(value):
113
+ return self.is_third_party_module(value)
114
+ if (isinstance(value, types.FunctionType) and not hasattr(value, "__jit_function__")) or \
115
+ (isinstance(value, types.MethodType) and not hasattr(value.__func__, "__jit_function__")):
116
+ if self.in_convert_map(value):
117
+ return False
118
+ module = inspect.getmodule(value)
119
+ return module is not None and self.is_third_party_module(module)
120
+ return False
121
+
122
+
123
+ third_party_checker = ThirdPartyLibraryChecker()