mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0__cp39-cp39-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 (579) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +13 -6
  3. mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
  6. mindspore/_check_jit_forbidden_api.py +3 -0
  7. mindspore/_checkparam.py +3 -38
  8. mindspore/_deprecated/__init__.py +17 -0
  9. mindspore/_deprecated/jit.py +198 -0
  10. mindspore/_extends/builtin_operations.py +1 -1
  11. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  12. mindspore/_extends/parse/__init__.py +6 -7
  13. mindspore/_extends/parse/compile_config.py +83 -0
  14. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
  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 +47 -198
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +229 -99
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +11 -5
  27. mindspore/avcodec-59.dll +0 -0
  28. mindspore/avdevice-59.dll +0 -0
  29. mindspore/avfilter-8.dll +0 -0
  30. mindspore/avformat-59.dll +0 -0
  31. mindspore/avutil-57.dll +0 -0
  32. mindspore/boost/__init__.py +2 -2
  33. mindspore/boost/base.py +3 -7
  34. mindspore/boost/boost_cell_wrapper.py +138 -43
  35. mindspore/common/__init__.py +6 -3
  36. mindspore/common/_grad_function.py +56 -0
  37. mindspore/common/_pijit_context.py +14 -5
  38. mindspore/common/_register_for_tensor.py +1 -2
  39. mindspore/common/_stub_tensor.py +30 -14
  40. mindspore/common/_tensor_cpp_method.py +17 -0
  41. mindspore/common/_tensor_docs.py +4760 -0
  42. mindspore/common/api.py +480 -372
  43. mindspore/common/auto_dynamic_shape.py +41 -44
  44. mindspore/common/dtype.py +39 -36
  45. mindspore/common/dump.py +9 -6
  46. mindspore/common/file_system.py +9 -1
  47. mindspore/common/generator.py +5 -0
  48. mindspore/common/hook_handle.py +6 -2
  49. mindspore/common/initializer.py +13 -10
  50. mindspore/common/jit_begin_end.py +94 -0
  51. mindspore/common/jit_config.py +6 -1
  52. mindspore/common/jit_context.py +76 -0
  53. mindspore/common/jit_trace.py +378 -0
  54. mindspore/common/lazy_inline.py +9 -3
  55. mindspore/common/mindir_util.py +10 -2
  56. mindspore/common/mutable.py +5 -4
  57. mindspore/common/parameter.py +135 -52
  58. mindspore/common/seed.py +2 -2
  59. mindspore/common/sparse_tensor.py +23 -17
  60. mindspore/common/tensor.py +975 -1981
  61. mindspore/communication/__init__.py +7 -5
  62. mindspore/communication/_comm_helper.py +52 -2
  63. mindspore/communication/comm_func.py +240 -181
  64. mindspore/communication/management.py +95 -26
  65. mindspore/context.py +324 -573
  66. mindspore/dataset/__init__.py +65 -37
  67. mindspore/dataset/audio/__init__.py +2 -8
  68. mindspore/dataset/audio/transforms.py +3 -17
  69. mindspore/dataset/callback/ds_callback.py +2 -1
  70. mindspore/dataset/core/config.py +87 -6
  71. mindspore/dataset/engine/cache_admin.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +6 -5
  73. mindspore/dataset/engine/datasets.py +292 -267
  74. mindspore/dataset/engine/datasets_audio.py +22 -8
  75. mindspore/dataset/engine/datasets_standard_format.py +46 -27
  76. mindspore/dataset/engine/datasets_text.py +78 -48
  77. mindspore/dataset/engine/datasets_user_defined.py +183 -117
  78. mindspore/dataset/engine/datasets_vision.py +120 -44
  79. mindspore/dataset/engine/iterators.py +283 -63
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/obs/util.py +8 -0
  82. mindspore/dataset/engine/queue.py +40 -0
  83. mindspore/dataset/engine/samplers.py +289 -43
  84. mindspore/dataset/engine/serializer_deserializer.py +3 -2
  85. mindspore/dataset/engine/validators.py +53 -11
  86. mindspore/dataset/text/__init__.py +7 -6
  87. mindspore/dataset/text/transforms.py +6 -5
  88. mindspore/dataset/text/utils.py +3 -3
  89. mindspore/dataset/transforms/__init__.py +0 -9
  90. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  91. mindspore/dataset/transforms/transforms.py +31 -14
  92. mindspore/dataset/utils/browse_dataset.py +1 -1
  93. mindspore/dataset/vision/__init__.py +2 -9
  94. mindspore/dataset/vision/transforms.py +202 -158
  95. mindspore/dataset/vision/utils.py +7 -5
  96. mindspore/dataset/vision/validators.py +1 -2
  97. mindspore/device_context/__init__.py +21 -0
  98. mindspore/device_context/ascend/__init__.py +25 -0
  99. mindspore/device_context/ascend/device.py +72 -0
  100. mindspore/device_context/ascend/op_debug.py +153 -0
  101. mindspore/device_context/ascend/op_precision.py +193 -0
  102. mindspore/device_context/ascend/op_tuning.py +123 -0
  103. mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
  104. mindspore/device_context/cpu/device.py +62 -0
  105. mindspore/device_context/cpu/op_tuning.py +43 -0
  106. mindspore/device_context/gpu/__init__.py +21 -0
  107. mindspore/device_context/gpu/device.py +70 -0
  108. mindspore/device_context/gpu/op_precision.py +67 -0
  109. mindspore/device_context/gpu/op_tuning.py +175 -0
  110. mindspore/device_manager.py +170 -0
  111. mindspore/dnnl.dll +0 -0
  112. mindspore/experimental/es/embedding_service.py +35 -27
  113. mindspore/experimental/llm_boost/__init__.py +1 -0
  114. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  115. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
  116. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  117. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  118. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  119. mindspore/experimental/llm_boost/register.py +1 -0
  120. mindspore/experimental/map_parameter.py +4 -4
  121. mindspore/experimental/optim/adadelta.py +6 -6
  122. mindspore/experimental/optim/adagrad.py +4 -4
  123. mindspore/experimental/optim/adam.py +7 -0
  124. mindspore/experimental/optim/adamax.py +4 -4
  125. mindspore/experimental/optim/adamw.py +4 -0
  126. mindspore/experimental/optim/asgd.py +1 -1
  127. mindspore/experimental/optim/lr_scheduler.py +73 -46
  128. mindspore/experimental/optim/radam.py +34 -31
  129. mindspore/experimental/optim/rprop.py +1 -1
  130. mindspore/experimental/optim/sgd.py +1 -1
  131. mindspore/hal/contiguous_tensors_handle.py +6 -10
  132. mindspore/hal/device.py +55 -53
  133. mindspore/hal/event.py +52 -52
  134. mindspore/hal/memory.py +179 -120
  135. mindspore/hal/stream.py +150 -109
  136. mindspore/include/api/context.h +0 -1
  137. mindspore/include/dataset/constants.h +7 -4
  138. mindspore/include/dataset/execute.h +2 -2
  139. mindspore/jpeg62.dll +0 -0
  140. mindspore/log.py +50 -0
  141. mindspore/mindrecord/__init__.py +21 -8
  142. mindspore/mindrecord/config.py +17 -316
  143. mindspore/mindrecord/filereader.py +1 -9
  144. mindspore/mindrecord/filewriter.py +5 -15
  145. mindspore/mindrecord/mindpage.py +1 -9
  146. mindspore/mindspore_backend_common.dll +0 -0
  147. mindspore/mindspore_backend_manager.dll +0 -0
  148. mindspore/mindspore_common.dll +0 -0
  149. mindspore/mindspore_core.dll +0 -0
  150. mindspore/mindspore_dump.dll +0 -0
  151. mindspore/mindspore_frontend.dll +0 -0
  152. mindspore/mindspore_glog.dll +0 -0
  153. mindspore/mindspore_memory_pool.dll +0 -0
  154. mindspore/mindspore_ms_backend.dll +0 -0
  155. mindspore/mindspore_ops.dll +0 -0
  156. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  157. mindspore/mindspore_ops_kernel_common.dll +0 -0
  158. mindspore/mindspore_profiler.dll +0 -0
  159. mindspore/mindspore_pyboost.dll +0 -0
  160. mindspore/mindspore_pynative.dll +0 -0
  161. mindspore/mindspore_res_manager.dll +0 -0
  162. mindspore/mindspore_runtime_pipeline.dll +0 -0
  163. mindspore/mint/__init__.py +798 -761
  164. mindspore/mint/distributed/__init__.py +70 -4
  165. mindspore/mint/distributed/distributed.py +2679 -44
  166. mindspore/mint/linalg/__init__.py +8 -0
  167. mindspore/mint/nn/__init__.py +743 -22
  168. mindspore/mint/nn/functional.py +716 -23
  169. mindspore/mint/nn/layer/__init__.py +21 -4
  170. mindspore/mint/nn/layer/_functions.py +334 -0
  171. mindspore/mint/nn/layer/activation.py +276 -1
  172. mindspore/mint/nn/layer/basic.py +123 -0
  173. mindspore/mint/nn/layer/conv.py +933 -0
  174. mindspore/mint/nn/layer/normalization.py +223 -28
  175. mindspore/mint/nn/layer/padding.py +797 -0
  176. mindspore/mint/nn/layer/pooling.py +235 -0
  177. mindspore/mint/optim/__init__.py +3 -1
  178. mindspore/mint/optim/adam.py +223 -0
  179. mindspore/mint/optim/adamw.py +26 -19
  180. mindspore/mint/optim/sgd.py +171 -0
  181. mindspore/mint/special/__init__.py +2 -1
  182. mindspore/multiprocessing/__init__.py +5 -0
  183. mindspore/nn/__init__.py +4 -1
  184. mindspore/nn/cell.py +1373 -192
  185. mindspore/nn/dynamic_lr.py +2 -1
  186. mindspore/nn/layer/activation.py +29 -27
  187. mindspore/nn/layer/basic.py +51 -35
  188. mindspore/nn/layer/channel_shuffle.py +3 -3
  189. mindspore/nn/layer/container.py +1 -1
  190. mindspore/nn/layer/conv.py +53 -42
  191. mindspore/nn/layer/embedding.py +12 -11
  192. mindspore/nn/layer/normalization.py +56 -49
  193. mindspore/nn/layer/padding.py +4 -3
  194. mindspore/nn/layer/pooling.py +120 -42
  195. mindspore/nn/layer/rnn_cells.py +1 -1
  196. mindspore/nn/layer/rnns.py +2 -1
  197. mindspore/nn/layer/timedistributed.py +5 -5
  198. mindspore/nn/layer/transformer.py +59 -36
  199. mindspore/nn/learning_rate_schedule.py +8 -4
  200. mindspore/nn/loss/loss.py +58 -55
  201. mindspore/nn/optim/ada_grad.py +7 -5
  202. mindspore/nn/optim/adadelta.py +11 -9
  203. mindspore/nn/optim/adafactor.py +1 -1
  204. mindspore/nn/optim/adam.py +19 -15
  205. mindspore/nn/optim/adamax.py +8 -7
  206. mindspore/nn/optim/adasum.py +5 -5
  207. mindspore/nn/optim/asgd.py +3 -1
  208. mindspore/nn/optim/ftrl.py +11 -9
  209. mindspore/nn/optim/lamb.py +1 -1
  210. mindspore/nn/optim/lars.py +1 -4
  211. mindspore/nn/optim/lazyadam.py +12 -10
  212. mindspore/nn/optim/momentum.py +7 -6
  213. mindspore/nn/optim/optimizer.py +3 -3
  214. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  215. mindspore/nn/optim/rmsprop.py +13 -12
  216. mindspore/nn/optim/rprop.py +11 -9
  217. mindspore/nn/optim/sgd.py +9 -6
  218. mindspore/nn/optim/tft_wrapper.py +5 -2
  219. mindspore/nn/optim/thor.py +2 -1
  220. mindspore/nn/probability/bijector/bijector.py +17 -11
  221. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  222. mindspore/nn/probability/bijector/invert.py +2 -2
  223. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  224. mindspore/nn/probability/bijector/softplus.py +3 -2
  225. mindspore/nn/probability/distribution/beta.py +3 -3
  226. mindspore/nn/probability/distribution/categorical.py +1 -1
  227. mindspore/nn/probability/distribution/cauchy.py +4 -2
  228. mindspore/nn/probability/distribution/exponential.py +6 -7
  229. mindspore/nn/probability/distribution/gamma.py +2 -2
  230. mindspore/nn/probability/distribution/gumbel.py +2 -2
  231. mindspore/nn/probability/distribution/half_normal.py +5 -3
  232. mindspore/nn/probability/distribution/logistic.py +5 -3
  233. mindspore/nn/probability/distribution/poisson.py +1 -1
  234. mindspore/nn/probability/distribution/uniform.py +5 -3
  235. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  236. mindspore/nn/reinforcement/tensor_array.py +1 -1
  237. mindspore/nn/utils/init.py +13 -11
  238. mindspore/nn/wrap/__init__.py +6 -6
  239. mindspore/nn/wrap/cell_wrapper.py +181 -122
  240. mindspore/nn/wrap/grad_reducer.py +45 -36
  241. mindspore/nn/wrap/loss_scale.py +6 -7
  242. mindspore/numpy/array_creations.py +63 -65
  243. mindspore/numpy/array_ops.py +149 -144
  244. mindspore/numpy/logic_ops.py +41 -42
  245. mindspore/numpy/math_ops.py +361 -359
  246. mindspore/numpy/utils.py +17 -18
  247. mindspore/numpy/utils_const.py +5 -6
  248. mindspore/opencv_core452.dll +0 -0
  249. mindspore/opencv_imgcodecs452.dll +0 -0
  250. mindspore/opencv_imgproc452.dll +0 -0
  251. mindspore/ops/__init__.py +5 -3
  252. mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
  253. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
  254. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  255. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  256. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  257. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  258. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  259. mindspore/ops/_register_for_op.py +0 -11
  260. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  261. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
  262. mindspore/ops/_vmap/vmap_array_ops.py +52 -25
  263. mindspore/ops/_vmap/vmap_base.py +0 -2
  264. mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
  265. mindspore/ops/_vmap/vmap_math_ops.py +15 -16
  266. mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
  267. mindspore/ops/auto_generate/__init__.py +4 -3
  268. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
  269. mindspore/ops/auto_generate/gen_extend_func.py +757 -185
  270. mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
  271. mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
  272. mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
  273. mindspore/ops/composite/__init__.py +2 -1
  274. mindspore/ops/composite/base.py +20 -25
  275. mindspore/ops/composite/math_ops.py +6 -16
  276. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  277. mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
  278. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  279. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  280. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  281. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  282. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  283. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  284. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  285. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  286. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  287. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  288. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  289. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  290. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  291. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  292. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  293. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  294. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  295. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  296. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  297. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  298. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  299. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  300. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  301. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  302. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  303. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
  304. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  305. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  306. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  307. mindspore/ops/function/__init__.py +40 -2
  308. mindspore/ops/function/_add_attr_func.py +58 -0
  309. mindspore/ops/function/array_func.py +2089 -2403
  310. mindspore/ops/function/clip_func.py +80 -23
  311. mindspore/ops/function/debug_func.py +57 -57
  312. mindspore/ops/function/grad/__init__.py +1 -0
  313. mindspore/ops/function/grad/grad_func.py +104 -71
  314. mindspore/ops/function/image_func.py +2 -2
  315. mindspore/ops/function/linalg_func.py +47 -78
  316. mindspore/ops/function/math_func.py +4351 -3813
  317. mindspore/ops/function/nn_func.py +1712 -637
  318. mindspore/ops/function/other_func.py +159 -1
  319. mindspore/ops/function/parameter_func.py +18 -84
  320. mindspore/ops/function/random_func.py +452 -387
  321. mindspore/ops/function/reshard_func.py +4 -70
  322. mindspore/ops/function/sparse_func.py +3 -3
  323. mindspore/ops/function/sparse_unary_func.py +6 -6
  324. mindspore/ops/function/spectral_func.py +25 -58
  325. mindspore/ops/function/vmap_func.py +26 -18
  326. mindspore/ops/functional.py +23 -7
  327. mindspore/ops/functional_overload.py +1548 -0
  328. mindspore/ops/op_info_register.py +32 -244
  329. mindspore/ops/operations/__init__.py +23 -15
  330. mindspore/ops/operations/_custom_ops_utils.py +235 -0
  331. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  332. mindspore/ops/operations/_grad_ops.py +2 -43
  333. mindspore/ops/operations/_infer_ops.py +2 -1
  334. mindspore/ops/operations/_inner_ops.py +43 -84
  335. mindspore/ops/operations/_ms_kernel.py +4 -10
  336. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  337. mindspore/ops/operations/_scalar_ops.py +3 -2
  338. mindspore/ops/operations/_sequence_ops.py +1 -1
  339. mindspore/ops/operations/_tensor_array.py +1 -1
  340. mindspore/ops/operations/array_ops.py +81 -324
  341. mindspore/ops/operations/comm_ops.py +154 -108
  342. mindspore/ops/operations/custom_ops.py +298 -87
  343. mindspore/ops/operations/debug_ops.py +157 -59
  344. mindspore/ops/operations/inner_ops.py +7 -5
  345. mindspore/ops/operations/linalg_ops.py +1 -57
  346. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  347. mindspore/ops/operations/manually_defined/ops_def.py +928 -180
  348. mindspore/ops/operations/math_ops.py +32 -234
  349. mindspore/ops/operations/nn_ops.py +212 -531
  350. mindspore/ops/operations/other_ops.py +62 -9
  351. mindspore/ops/operations/random_ops.py +13 -7
  352. mindspore/ops/operations/reshard_ops.py +1 -1
  353. mindspore/ops/operations/sparse_ops.py +2 -2
  354. mindspore/ops/primitive.py +66 -53
  355. mindspore/ops/tensor_method.py +1895 -0
  356. mindspore/ops_generate/__init__.py +0 -5
  357. mindspore/ops_generate/aclnn/__init__.py +0 -0
  358. mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
  359. mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
  360. mindspore/ops_generate/api/__init__.py +0 -0
  361. mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
  362. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
  363. mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
  364. mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
  365. mindspore/ops_generate/api/functions_cc_generator.py +237 -0
  366. mindspore/ops_generate/api/gen_api.py +103 -0
  367. mindspore/ops_generate/api/op_api_proto.py +235 -0
  368. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
  369. mindspore/ops_generate/common/__init__.py +0 -0
  370. mindspore/ops_generate/common/base_generator.py +11 -0
  371. mindspore/ops_generate/common/gen_constants.py +91 -0
  372. mindspore/ops_generate/common/gen_utils.py +348 -0
  373. mindspore/ops_generate/common/op_proto.py +473 -0
  374. mindspore/ops_generate/common/template.py +523 -0
  375. mindspore/ops_generate/gen_ops.py +22 -1069
  376. mindspore/ops_generate/op_def/__init__.py +0 -0
  377. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  378. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
  379. mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
  380. mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
  381. mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
  382. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  383. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  384. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  385. mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
  386. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
  387. mindspore/ops_generate/pyboost/__init__.py +0 -0
  388. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
  389. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
  390. mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
  391. mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
  392. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
  393. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
  394. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
  395. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
  396. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
  397. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
  398. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
  399. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
  400. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
  401. mindspore/ops_generate/resources/__init__.py +0 -0
  402. mindspore/ops_generate/resources/resource_list.py +30 -0
  403. mindspore/ops_generate/resources/resource_loader.py +36 -0
  404. mindspore/ops_generate/resources/resource_manager.py +64 -0
  405. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  406. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  407. mindspore/parallel/__init__.py +7 -3
  408. mindspore/parallel/_auto_parallel_context.py +159 -40
  409. mindspore/parallel/_cell_wrapper.py +132 -15
  410. mindspore/parallel/_parallel_serialization.py +107 -5
  411. mindspore/parallel/_ps_context.py +1 -1
  412. mindspore/parallel/_recovery_context.py +7 -2
  413. mindspore/parallel/_tensor.py +142 -18
  414. mindspore/parallel/_utils.py +199 -23
  415. mindspore/parallel/algo_parameter_config.py +4 -4
  416. mindspore/parallel/auto_parallel.py +732 -0
  417. mindspore/parallel/checkpoint_convert.py +159 -0
  418. mindspore/parallel/checkpoint_transform.py +700 -35
  419. mindspore/parallel/cluster/process_entity/_api.py +276 -50
  420. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  421. mindspore/parallel/cluster/run.py +21 -4
  422. mindspore/parallel/function/__init__.py +24 -0
  423. mindspore/parallel/function/reshard_func.py +258 -0
  424. mindspore/parallel/nn/__init__.py +25 -0
  425. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  426. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  427. mindspore/parallel/parameter_broadcast.py +25 -14
  428. mindspore/parallel/shard.py +137 -59
  429. mindspore/parallel/transform_safetensors.py +364 -305
  430. mindspore/profiler/__init__.py +22 -5
  431. mindspore/profiler/analysis/__init__.py +0 -0
  432. mindspore/profiler/analysis/parser/__init__.py +0 -0
  433. mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
  434. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  435. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  436. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  437. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  438. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  439. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
  440. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  441. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
  442. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  443. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  444. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  445. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  446. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  447. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  448. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  449. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  450. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  451. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  452. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
  453. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  454. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  455. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  456. mindspore/profiler/analysis/task_manager.py +131 -0
  457. mindspore/profiler/analysis/time_converter.py +84 -0
  458. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  459. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
  460. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  461. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
  462. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
  463. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
  464. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
  465. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  466. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  467. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
  468. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  469. mindspore/profiler/analysis/work_flow.py +73 -0
  470. mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
  471. mindspore/profiler/common/command_executor.py +90 -0
  472. mindspore/profiler/common/constant.py +186 -3
  473. mindspore/profiler/common/file_manager.py +208 -0
  474. mindspore/profiler/common/log.py +130 -0
  475. mindspore/profiler/common/msprof_cmd_tool.py +221 -0
  476. mindspore/profiler/common/path_manager.py +395 -0
  477. mindspore/profiler/common/process_bar.py +168 -0
  478. mindspore/profiler/common/process_pool.py +9 -3
  479. mindspore/profiler/common/profiler_context.py +500 -0
  480. mindspore/profiler/common/profiler_info.py +304 -0
  481. mindspore/profiler/common/profiler_meta_data.py +74 -0
  482. mindspore/profiler/common/profiler_output_path.py +284 -0
  483. mindspore/profiler/common/profiler_parameters.py +251 -0
  484. mindspore/profiler/common/profiler_path_manager.py +179 -0
  485. mindspore/profiler/common/record_function.py +76 -0
  486. mindspore/profiler/common/tlv_decoder.py +76 -0
  487. mindspore/profiler/common/util.py +75 -2
  488. mindspore/profiler/dynamic_profiler.py +341 -75
  489. mindspore/profiler/envprofiler.py +163 -0
  490. mindspore/profiler/experimental_config.py +197 -0
  491. mindspore/profiler/mstx.py +242 -0
  492. mindspore/profiler/platform/__init__.py +21 -0
  493. mindspore/profiler/platform/base_profiler.py +40 -0
  494. mindspore/profiler/platform/cpu_profiler.py +124 -0
  495. mindspore/profiler/platform/gpu_profiler.py +74 -0
  496. mindspore/profiler/platform/npu_profiler.py +335 -0
  497. mindspore/profiler/profiler.py +1073 -90
  498. mindspore/profiler/profiler_action_controller.py +187 -0
  499. mindspore/profiler/profiler_interface.py +118 -0
  500. mindspore/profiler/schedule.py +243 -0
  501. mindspore/rewrite/api/node.py +15 -13
  502. mindspore/rewrite/api/symbol_tree.py +2 -3
  503. mindspore/run_check/_check_version.py +27 -20
  504. mindspore/run_check/run_check.py +1 -1
  505. mindspore/runtime/__init__.py +37 -0
  506. mindspore/runtime/device.py +27 -0
  507. mindspore/runtime/event.py +209 -0
  508. mindspore/runtime/executor.py +177 -0
  509. mindspore/runtime/memory.py +416 -0
  510. mindspore/runtime/stream.py +460 -0
  511. mindspore/runtime/thread_bind_core.py +401 -0
  512. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  513. mindspore/swresample-4.dll +0 -0
  514. mindspore/swscale-6.dll +0 -0
  515. mindspore/tinyxml2.dll +0 -0
  516. mindspore/train/__init__.py +8 -8
  517. mindspore/train/_utils.py +96 -27
  518. mindspore/train/amp.py +9 -5
  519. mindspore/train/callback/__init__.py +2 -2
  520. mindspore/train/callback/_callback.py +2 -16
  521. mindspore/train/callback/_checkpoint.py +53 -55
  522. mindspore/train/callback/_cluster_monitor.py +14 -18
  523. mindspore/train/callback/_early_stop.py +1 -1
  524. mindspore/train/callback/_flops_collector.py +103 -68
  525. mindspore/train/callback/_history.py +8 -5
  526. mindspore/train/callback/_lambda_callback.py +2 -2
  527. mindspore/train/callback/_landscape.py +0 -3
  528. mindspore/train/callback/_loss_monitor.py +2 -1
  529. mindspore/train/callback/_on_request_exit.py +6 -5
  530. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  531. mindspore/train/callback/_summary_collector.py +52 -19
  532. mindspore/train/callback/_time_monitor.py +2 -1
  533. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
  534. mindspore/train/data_sink.py +25 -2
  535. mindspore/train/dataset_helper.py +15 -16
  536. mindspore/train/loss_scale_manager.py +8 -7
  537. mindspore/train/metrics/accuracy.py +3 -3
  538. mindspore/train/metrics/confusion_matrix.py +9 -9
  539. mindspore/train/metrics/error.py +3 -3
  540. mindspore/train/metrics/hausdorff_distance.py +4 -4
  541. mindspore/train/metrics/mean_surface_distance.py +3 -3
  542. mindspore/train/metrics/metric.py +0 -12
  543. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  544. mindspore/train/metrics/precision.py +11 -10
  545. mindspore/train/metrics/recall.py +9 -9
  546. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  547. mindspore/train/mind_ir_pb2.py +174 -46
  548. mindspore/train/model.py +269 -136
  549. mindspore/train/serialization.py +622 -978
  550. mindspore/train/summary/_summary_adapter.py +2 -2
  551. mindspore/train/summary/summary_record.py +2 -3
  552. mindspore/train/train_thor/model_thor.py +1 -1
  553. mindspore/turbojpeg.dll +0 -0
  554. mindspore/utils/__init__.py +6 -3
  555. mindspore/utils/dryrun.py +140 -0
  556. mindspore/utils/hooks.py +81 -0
  557. mindspore/utils/runtime_execution_order_check.py +552 -0
  558. mindspore/utils/utils.py +138 -4
  559. mindspore/version.py +1 -1
  560. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
  561. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +564 -395
  562. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
  563. mindspore/_install_custom.py +0 -43
  564. mindspore/common/_register_for_adapter.py +0 -74
  565. mindspore/common/_tensor_overload.py +0 -139
  566. mindspore/mindspore_np_dtype.dll +0 -0
  567. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  568. mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
  569. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  570. mindspore/ops_generate/gen_aclnn_implement.py +0 -263
  571. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  572. mindspore/ops_generate/gen_pyboost_func.py +0 -1052
  573. mindspore/ops_generate/gen_utils.py +0 -209
  574. mindspore/ops_generate/op_proto.py +0 -145
  575. mindspore/ops_generate/template.py +0 -261
  576. mindspore/profiler/envprofiling.py +0 -254
  577. mindspore/profiler/profiling.py +0 -1926
  578. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
  579. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -17,24 +17,25 @@
17
17
  from __future__ import absolute_import
18
18
 
19
19
  from copy import copy
20
+
20
21
  import time
21
22
  import os
22
23
  import sys
23
24
  import math
24
25
  import numbers
25
26
  import numpy as np
27
+
26
28
  from mindspore import log as logger
27
29
  from mindspore.log import _LogActionOnce
28
30
  from mindspore._c_expression import ParamInfo
29
31
  from mindspore.common import dtype as mstype
30
32
  from mindspore import context
31
- from mindspore.parallel._utils import _get_parallel_mode, _get_global_rank
32
33
  from mindspore.common._utils import get_slice_num, get_slice_shape
33
34
  from mindspore.common.initializer import initializer
34
- from mindspore.common.tensor import Tensor
35
+ from mindspore.common.tensor import Tensor, _TensorMeta
35
36
  from mindspore import _checkparam as Validator
36
37
  from mindspore._check_jit_forbidden_api import jit_forbidden_register
37
- from mindspore._c_expression import Tensor as Tensor_
38
+ from mindspore._c_expression import TensorPy as Tensor_
38
39
  from mindspore.parallel._tensor import _get_slice_index
39
40
  from mindspore.parallel._auto_parallel_context import auto_parallel_context
40
41
  from mindspore.parallel._ps_context import _is_role_worker, _is_role_pserver, _is_role_sched, _clone_hash_table, \
@@ -42,7 +43,7 @@ from mindspore.parallel._ps_context import _is_role_worker, _is_role_pserver, _i
42
43
  from mindspore.parallel._ps_context import _reinsert_hash_table_size, _insert_accumu_init_info, _cache_enable
43
44
  from mindspore.common._decorator import deprecated
44
45
  from mindspore.communication._comm_helper import _is_initialized
45
- from mindspore.communication import get_group_size
46
+ from mindspore.communication import get_group_size, get_rank
46
47
  import mindspore.common._monad as monad
47
48
 
48
49
  __all__ = ['Parameter', 'ParameterTuple']
@@ -53,6 +54,16 @@ PARAMETER_NAME_PREFIX_MAX_LEN = 1024
53
54
  # Global variable for parameter unique key.
54
55
  _GLOBAL_PARAMETER_KEY = -1
55
56
 
57
+ # Global variable to mark the hook of parameter is updated
58
+ _parameter_hook_updated = True
59
+ def set_parameter_hook_updated(value):
60
+ global _parameter_hook_updated
61
+ _parameter_hook_updated = value
62
+
63
+ def parameter_hook_updated():
64
+ global _parameter_hook_updated
65
+ return _parameter_hook_updated
66
+
56
67
 
57
68
  def _is_in_auto_parallel_mode():
58
69
  """Get parallel mode."""
@@ -65,7 +76,7 @@ def _is_parallel_mode():
65
76
  return False
66
77
  if os.getenv("RUN_MODE") != "predict":
67
78
  return False
68
- if get_group_size() > 1 and _get_parallel_mode() == "stand_alone":
79
+ if get_group_size() > 1:
69
80
  return True
70
81
  return False
71
82
 
@@ -108,7 +119,7 @@ def _gen_offload_file_path(offload_dir):
108
119
  offload_dir = os.path.relpath(offload_dir)
109
120
  if not os.path.exists(offload_dir):
110
121
  os.makedirs(offload_dir, mode=0o700, exist_ok=True)
111
- offload_file_path = offload_dir + "/" + str(_get_global_rank()) + "_" + str(
122
+ offload_file_path = offload_dir + "/" + str(get_rank()) + "_" + str(
112
123
  _get_unique_parameter_key()) + "_" + str(time.time()) + ".data"
113
124
  return offload_file_path
114
125
 
@@ -143,7 +154,7 @@ class Parameter(Tensor_):
143
154
  the list of its parameters, and will appear, e.g. in `cell.get_parameters()` iterator.
144
155
 
145
156
  Note:
146
- - In auto_parallel mode of `SEMI_AUTO_PARALLEL` and `AUTO_PARALLEL`, if init `Parameter` by
157
+ - When using `AutoParallel(cell)` to enable parallel mode, if init `Parameter` by
147
158
  a `Tensor`, the type of Parameter will be `Tensor`. `Tensor` will save the shape and type info of a tensor
148
159
  with no memory usage.
149
160
 
@@ -203,9 +214,8 @@ class Parameter(Tensor_):
203
214
  requires_grad (bool): True if the parameter requires gradient. Default: ``True`` .
204
215
  layerwise_parallel (bool): When `layerwise_parallel` is true in data/hybrid parallel mode,
205
216
  broadcast and gradients communication would not be applied to the `Parameter`. Default: ``False`` .
206
- parallel_optimizer (bool): It is used to filter the weight shard operation in `SEMI_AUTO_PARALLEL` or
207
- `AUTO_PARALLEL` mode. It works only when enable parallel optimizer in
208
- `mindspore.set_auto_parallel_context()`. Default: ``True`` .
217
+ parallel_optimizer (bool): It is used to filter the weight shard operation in parallel mode. It works only when
218
+ enable parallel optimizer in :func:`mindspore.parallel.auto_parallel.AutoParallel.hsdp`. Default: ``True`` .
209
219
  storage_format (str): Only Ascend device target is supported. It is used to specify the format of the weight
210
220
  loaded to the device. By default, the format is not changed. The optional values are ``"FRACTAL_NZ"`` ,
211
221
  ``"NC1HWC0"`` , ``"FRACTAL_Z"`` , etc. Default: ``""`` .
@@ -213,7 +223,8 @@ class Parameter(Tensor_):
213
223
  stored. By default, the parameter will be stored on NPU while computing. When the device is specified as
214
224
  ``"CPU"``, the parameter will be loaded into the device when it needs to be used, and unloaded to the CPU
215
225
  after use. It takes effext only when `memory_offload` is ``"ON"``, `jit_level` is not ``"O2"`` and
216
- `memory_optimize_level` is ``O0`` in `mindspore.set_context()`. Less device memory is needed when device is
226
+ `memory_optimize_level` is ``O0`` in :func:`mindspore.set_context`.
227
+ Less device memory is needed when device is
217
228
  specified as ``"CPU"``.
218
229
 
219
230
  Examples:
@@ -251,7 +262,6 @@ class Parameter(Tensor_):
251
262
  # it's better to make the Initializer a kind of tensor.
252
263
  obj.init_mode = None
253
264
  obj.is_default_input_init = init_data_flag
254
- obj.from_ckpt = False
255
265
  if obj.has_init:
256
266
  obj.init_mode = default_input
257
267
  else:
@@ -289,10 +299,8 @@ class Parameter(Tensor_):
289
299
  self._cast_type = None
290
300
  self._unique = False
291
301
  self.is_in_parallel = _is_in_auto_parallel_mode()
292
- self.is_in_shard = False
293
302
  self._pipeline_stage_list = []
294
303
  self.slice_num = 1
295
- self.from_ckpt = False
296
304
  if -1 in self.shape:
297
305
  raise ValueError(f"All shape elements of the Parameter must be positive. But got None.")
298
306
  if isinstance(default_input, (Tensor_, Tensor)):
@@ -306,14 +314,14 @@ class Parameter(Tensor_):
306
314
  self.param_info.use_persistent_storage = True
307
315
  self.param_info.origin_shape = default_input.shape
308
316
  self.slice_num = slice_num_of_persistent_data
309
- Tensor_.__init__(self, default_input.dtype, tuple(data_shape))
317
+ Tensor_.__init__(self, dtype=default_input.dtype, shape=tuple(data_shape))
310
318
  else:
311
- Tensor_.__init__(self, default_input.dtype, default_input.shape)
319
+ Tensor_.__init__(self, dtype=default_input.dtype, shape=default_input.shape)
312
320
 
313
321
  elif isinstance(default_input, int):
314
- Tensor_.__init__(self, mstype.int64, ())
322
+ Tensor_.__init__(self, dtype=mstype.int64, shape=())
315
323
  elif isinstance(default_input, float):
316
- Tensor_.__init__(self, mstype.float32, ())
324
+ Tensor_.__init__(self, dtype=mstype.float32, shape=())
317
325
  elif isinstance(default_input, (np.ndarray, list)):
318
326
  Tensor_.__init__(self, default_input)
319
327
  else:
@@ -330,7 +338,7 @@ class Parameter(Tensor_):
330
338
  self.load = other_ops.Load()
331
339
 
332
340
  def __deepcopy__(self, memodict):
333
- new_obj = Parameter(self)
341
+ new_obj = Parameter(self, requires_grad=self.requires_grad)
334
342
  new_obj.name = self.name
335
343
  new_obj._inited_param = self._inited_param
336
344
  return new_obj
@@ -396,9 +404,6 @@ class Parameter(Tensor_):
396
404
  init_in_server (bool): Whether trainable parameter updated by parameter server is
397
405
  initialized on server. Default: ``False``.
398
406
 
399
- Tutorial Examples:
400
- - `Parameter Server Mode
401
- <https://www.mindspore.cn/docs/en/master/model_train/parallel/parameter_server_training.html>`_
402
407
  """
403
408
  if not _is_ps_mode() or not (_is_role_worker() or _is_role_pserver() or _is_role_sched()):
404
409
  raise RuntimeError("Must complete following two steps before calling set_param_ps: \n"
@@ -456,13 +461,15 @@ class Parameter(Tensor_):
456
461
 
457
462
  @property
458
463
  def param_info(self):
464
+ Tensor_.wait_pipeline(self)
459
465
  return self._param_info
460
466
 
461
467
  @param_info.setter
462
468
  def param_info(self, param_info_):
469
+ Tensor_.wait_pipeline(self)
463
470
  param_info_.obj = self
464
471
  self._param_info = param_info_
465
- Tensor_.param_info.fset(self, param_info_)
472
+ Tensor_.set_param_info(self, param_info_)
466
473
 
467
474
  @property
468
475
  def name(self):
@@ -529,8 +536,8 @@ class Parameter(Tensor_):
529
536
  """
530
537
  Get the fusion type (int) for communication operators corresponding to this parameter.
531
538
 
532
- In `AUTO_PARALLEL` and `SEMI_AUTO_PARALLEL` mode, some communication operators used for parameters or
533
- gradients aggregation are inserted automatically.
539
+ When using `AutoParallel(cell)` to enable parallel mode, some communication operators used
540
+ for parameters or gradients aggregation are inserted automatically.
534
541
  The value of `comm_fusion` must be greater than or equal to 0.
535
542
  When the value of `comm_fusion` is ``0`` , operators will not be fused together.
536
543
 
@@ -546,9 +553,6 @@ class Parameter(Tensor_):
546
553
 
547
554
  @comm_fusion.setter
548
555
  def comm_fusion(self, comm_fusion_):
549
- if context.get_context("mode") == context.PYNATIVE_MODE and "auto_parallel" in _get_parallel_mode():
550
- raise RuntimeError(
551
- "`comm_fusion` does not support PYNATIVE_MODE in AUTO_PARALLEL and SEMI_AUTO_PARALLEL mode.")
552
556
  Validator.check_non_negative_int(comm_fusion_)
553
557
  self.param_info.comm_fusion = comm_fusion_
554
558
 
@@ -557,7 +561,7 @@ class Parameter(Tensor_):
557
561
  """
558
562
  Get the communication recompute status(bool) of optimizer parallel for the parameter.
559
563
 
560
- In `AUTO_PARALLEL` and `SEMI_AUTO_PARALLEL` mode, when applying parallel optimizer,
564
+ When using `AutoParallel(cell)` to enable parallel mode, and applying parallel optimizer,
561
565
  some :class:`mindspore.ops.AllGather` operators
562
566
  used for parameters gathering are inserted automatically. It is used to control the recompute attr for those
563
567
  :class:`mindspore.ops.AllGather` operators.
@@ -645,7 +649,9 @@ class Parameter(Tensor_):
645
649
  if init != 'same':
646
650
  shape = self.shape if self.slice_num == 1 else self.param_info.origin_shape
647
651
  dtype = self.dtype
648
- x.set_data(initializer(init, shape=shape, dtype=dtype))
652
+ tensor = initializer(init, shape=shape, dtype=dtype)
653
+ x.set_data(tensor)
654
+ x.init = tensor.init
649
655
  device = self._get_user_data("parameter_device")
650
656
  if device is not None:
651
657
  x._set_user_data("parameter_device", device)
@@ -680,8 +686,9 @@ class Parameter(Tensor_):
680
686
  """
681
687
  Get the optimizer parallel status(bool) of the parameter.
682
688
 
683
- It is used to filter the weight shard operation in `AUTO_PARALLEL` and `SEMI_AUTO_PARALLEL` mode. It works only
684
- when enable parallel optimizer in `mindspore.set_auto_parallel_context()`.
689
+ When using `AutoParallel(cell)` to enable parallel mode, it is used to filter the weight
690
+ shard operation. It works only when enable parallel optimizer in
691
+ :func:`mindspore.parallel.auto_parallel.AutoParallel.hsdp`.
685
692
 
686
693
  Examples:
687
694
  >>> from mindspore import Tensor, Parameter
@@ -846,16 +853,10 @@ class Parameter(Tensor_):
846
853
  f"Use .set_dtype(xxx) to change the dtype.")
847
854
 
848
855
  @staticmethod
849
- def _set_data_check_input_valid(current_shape, data_shape, current_tensor_is_init, incoming_tensor_is_init,
850
- from_ckpt, slice_shape=False, slice_num=1):
851
- if not from_ckpt and incoming_tensor_is_init and not current_tensor_is_init:
856
+ def _set_data_check_input_valid(current_tensor_is_init, incoming_tensor_is_init):
857
+ if incoming_tensor_is_init and not current_tensor_is_init:
852
858
  raise TypeError("The original tensor data is initialized, but the argument 'data' is not initialized."
853
859
  "Please initialize 'data' before call this method.")
854
- if tuple(current_shape) != tuple(data_shape):
855
- # If Slice create Parameter shape can be change.
856
- if not slice_shape and slice_num == 1:
857
- raise ValueError(f"Can not change the shape of Parameter which has been initialized."
858
- f" Current shape is {current_shape}, and incoming is {data_shape}.")
859
860
 
860
861
  @staticmethod
861
862
  def _from_tensor(tensor, *args, **kwargs):
@@ -902,8 +903,6 @@ class Parameter(Tensor_):
902
903
  # both not init.
903
904
  incoming_tensor_is_init = isinstance(data, Tensor) and not data.has_init
904
905
  current_tensor_is_init = isinstance(self, Tensor) and not self.has_init
905
- Parameter._set_data_check_input_valid(self.shape, data.shape, current_tensor_is_init, incoming_tensor_is_init,
906
- self.from_ckpt, slice_shape, self.slice_num)
907
906
  if self.dtype != data.dtype:
908
907
  if mstype.implicit_conversion_seq.get(self.dtype) < mstype.implicit_conversion_seq.get(data.dtype):
909
908
  self._raise_type_error(data.dtype)
@@ -948,7 +947,7 @@ class Parameter(Tensor_):
948
947
  layout (Union[None, tuple]): The parameter's layout info.
949
948
  layout [dev_mat, tensor_map, slice_shape, filed_size, uniform_split, opt_shard_group].
950
949
  Default: ``None``.
951
- It's not None only in 'SEMI_AUTO_PARALLEL' or 'AUTO_PARALLEL' mode.
950
+ It's not None only when using `AutoParallel(cell)` to enable parallel mode.
952
951
 
953
952
  - dev_mat (list(int)): The parameter's device matrix.
954
953
  - tensor_map (list(int)): The parameter's tensor map.
@@ -975,8 +974,6 @@ class Parameter(Tensor_):
975
974
  >>> x = Parameter(Tensor(np.array([[1, 2], [3, 4]], dtype=np.float32)), name="param")
976
975
  >>> x.init_data()
977
976
  """
978
- if self.is_default_input_init and self.is_in_parallel != _is_in_auto_parallel_mode():
979
- raise RuntimeError("Must set or change parallel mode before any initializer Tensor created.")
980
977
  if self.init_mode is None or not self.has_init:
981
978
  return self
982
979
  if self.inited_param is not None:
@@ -994,8 +991,10 @@ class Parameter(Tensor_):
994
991
  data = self.init_mode.init_data(0, [1])
995
992
  else:
996
993
  data = self.init_mode.init_data(*init_data_args)
997
-
994
+ origin_dtype = self.dtype
998
995
  obj = self._update_tensor_data(data)
996
+ if self.dtype != origin_dtype:
997
+ self.set_dtype(origin_dtype)
999
998
  if id(obj) != id(self):
1000
999
  self._inited_param = obj
1001
1000
  obj.init_mode = None
@@ -1003,6 +1002,94 @@ class Parameter(Tensor_):
1003
1002
  _offload_if_config(obj)
1004
1003
  return obj
1005
1004
 
1005
+ def register_hook(self, hook_fn):
1006
+ """
1007
+ For details, please refer to :func:`mindspore.Tensor.register_hook`.
1008
+ """
1009
+ handle = Tensor.register_hook(self, hook_fn)
1010
+ set_parameter_hook_updated(True)
1011
+ return handle
1012
+
1013
+ def _remove_hook(self):
1014
+ set_parameter_hook_updated(True)
1015
+
1016
+ def _offload(self):
1017
+ r"""
1018
+ Offload parameter to host with releasing device resource.
1019
+
1020
+ Supported Platforms:
1021
+ ``Ascend``
1022
+
1023
+ .. warning::
1024
+ This is an experimental API that is subject to change or deletion.
1025
+
1026
+ Examples:
1027
+ >>> from mindspore import Parameter, Tensor
1028
+ >>> x = Parameter(Tensor(np.array([1, 2], dtype=np.float32)), name="param")
1029
+ >>> x._offload()
1030
+ """
1031
+ return Tensor_._offload(self, True)
1032
+
1033
+
1034
+ def _load(self):
1035
+ r"""
1036
+ Load parameter to device.
1037
+
1038
+ Supported Platforms:
1039
+ ``Ascend``
1040
+
1041
+ .. warning::
1042
+ This is an experimental API that is subject to change or deletion.
1043
+
1044
+ Examples:
1045
+ >>> from mindspore import Parameter, Tensor
1046
+ >>> x = Parameter(Tensor(np.array([1, 2], dtype=np.float32)), name="param")
1047
+ >>> x._offload()
1048
+ >>> x._load()
1049
+ """
1050
+ return Tensor_._load(self)
1051
+
1052
+
1053
+ # Metaclass to combine _TensorMeta and the instance check override for Buffer.
1054
+ class _BufferMeta(_TensorMeta):
1055
+ # Make `isinstance(t, Buffer)` return True for custom tensor instances that have the _is_buffer flag.
1056
+ def __instancecheck__(cls, instance):
1057
+ if cls is _Buffer:
1058
+ if isinstance(instance, Tensor) and getattr(instance, "_is_buffer", False):
1059
+ return True
1060
+ return super().__instancecheck__(instance)
1061
+
1062
+
1063
+ class _Buffer(Tensor, metaclass=_BufferMeta):
1064
+ r"""A kind of Tensor that should not be considered a model
1065
+ parameter. For example, BatchNorm's `running_mean` is not a parameter, but is part of the Cell's state.
1066
+
1067
+ Buffers are :class:`~mindspore.Tensor` subclasses, that have a
1068
+ very special property when used with :class:`~.nn.Cell` s: when they're
1069
+ assigned as Cell attributes they are automatically added to the list of
1070
+ its buffers, and will appear e.g. in :func:`mindspore.nn.Cell.buffers` iterator.
1071
+ Assigning a tensor doesn't have such effect. One can still assign a tensor as a buffer explicitly by using
1072
+ the :func:`mindspore.nn.Cell.register_buffer` function.
1073
+
1074
+ Args:
1075
+ data (Tensor): buffer tensor.
1076
+
1077
+ Keyword Args:
1078
+ persistent (bool, optional): whether the buffer is part of the Cell's
1079
+ :attr:`state_dict`. Default ``True``.
1080
+ """
1081
+
1082
+ def __new__(cls, data, *, persistent=True):
1083
+ if data is None:
1084
+ raise ValueError('For create Buffer, input data should not be None')
1085
+ if not isinstance(data, Tensor):
1086
+ raise TypeError('For create Buffer, type of input data should be Tensor')
1087
+ from mindspore.ops import stop_gradient
1088
+ t = stop_gradient(data)
1089
+ t._is_buffer = True # pylint: disable=W0212
1090
+ t.persistent = persistent
1091
+ return t
1092
+
1006
1093
 
1007
1094
  class ParameterTuple(tuple):
1008
1095
  """
@@ -1050,18 +1137,13 @@ class ParameterTuple(tuple):
1050
1137
  set data according to `init`. Default: ``'same'``.
1051
1138
 
1052
1139
  - If `init` is a `Tensor` , set the new Parameter data to the input Tensor.
1053
- - If `init` is `numbers.Number` , set the new Parameter data to the input number.
1054
1140
  - If `init` is a `str`, data will be set according to the initialization method of the same name in
1055
1141
  the `Initializer`. When it is ``'same'``, the new Parameter will have the same value
1056
1142
  with the original Parameter.
1143
+ - If `init` is `numbers.Number` , set the new Parameter data to the input number.
1057
1144
 
1058
1145
  Returns:
1059
1146
  Tuple, the new Parameter tuple.
1060
-
1061
- Tutorial Examples:
1062
- - `Tensor and Parameter - Parameter Tuple
1063
- <https://mindspore.cn/docs/en/master/model_train/model_building/tensor_and_parameter.html
1064
- #parameter-tuple>`_
1065
1147
  """
1066
1148
  Validator.check_str_by_regular(prefix)
1067
1149
  new = []
@@ -1078,5 +1160,6 @@ class ParameterTuple(tuple):
1078
1160
  _insert_accumu_init_info(x1.name, init_to_value(init))
1079
1161
  return ParameterTuple(new)
1080
1162
 
1163
+
1081
1164
  def __parameter_tuple__(self):
1082
1165
  """For parse check."""
mindspore/common/seed.py CHANGED
@@ -193,7 +193,7 @@ def _update_seeds(op_seed, kernel_name):
193
193
 
194
194
  Args:
195
195
  op_seed (int): The op seed to be updated.
196
- kernel_name (string): The random op kernel.
196
+ kernel_name (str): The random op kernel.
197
197
  """
198
198
  global _KERNEL_SEED
199
199
  if op_seed is not None:
@@ -208,7 +208,7 @@ def _get_op_seed(op_seed, kernel_name):
208
208
 
209
209
  Args:
210
210
  op_seed (int): The op seed to be updated.
211
- kernel_name (string): The random op kernel.
211
+ kernel_name (str): The random op kernel.
212
212
  """
213
213
  if (kernel_name, op_seed) not in _KERNEL_SEED:
214
214
  _KERNEL_SEED[(kernel_name, op_seed)] = op_seed
@@ -26,7 +26,7 @@ from mindspore.common.tensor import Tensor
26
26
  from mindspore._c_expression import COOTensor as COOTensor_
27
27
  from mindspore._c_expression import CSRTensor as CSRTensor_
28
28
  from mindspore._c_expression import RowTensor as RowTensor_
29
- from mindspore._c_expression import Tensor as Tensor_
29
+ from mindspore._c_expression import TensorPy as Tensor_
30
30
  from mindspore import _checkparam as validator
31
31
  from mindspore._checkparam import is_stub_tensor
32
32
 
@@ -211,7 +211,8 @@ class SparseTensor(COOTensor_):
211
211
 
212
212
  class COOTensor(COOTensor_):
213
213
  """
214
- A sparse representation of a set of nonzero elements from a tensor at given indices.
214
+ A sparse representation of a set of nonzero elements from a tensor at given indices,
215
+ where the indices indicate the position of each non-zero element.
215
216
 
216
217
  For a tensor dense, its COOTensor(indices, values, shape) has
217
218
  `dense[indices[i]] = values[i]`.
@@ -227,7 +228,7 @@ class COOTensor(COOTensor_):
227
228
 
228
229
  Common arithmetic operations include: addition (+), subtraction (-), multiplication (*),
229
230
  and division (/). For details about operations supported by `COOTensor`, see
230
- `operators <https://www.mindspore.cn/docs/en/master/model_train/program_form/static_graph.html#operators>`_.
231
+ `operators <https://www.mindspore.cn/tutorials/en/master/compile/static_graph.html#operators>`_.
231
232
 
232
233
  .. warning::
233
234
  - This is an experimental API that is subject to change or deletion.
@@ -237,8 +238,8 @@ class COOTensor(COOTensor_):
237
238
 
238
239
  Args:
239
240
  indices (Tensor): A 2-D integer Tensor of shape :math:`(N, ndims)`,
240
- where N and ndims are the number of `values` and number of dimensions in
241
- the COOTensor, respectively. Currently, `ndims` must be 2. Default: ``None`` .
241
+ where :math:`N` and :math:`ndims` are the number of `values` and number of dimensions in
242
+ the COOTensor, respectively. Currently, :math:`ndims` must be 2. Default: ``None`` .
242
243
  Please make sure that the indices are in range of the given shape.
243
244
  values (Tensor): A 1-D tensor of any type and shape :math:`(N)`, which
244
245
  supplies the values for each element in `indices`. Default: ``None`` .
@@ -658,20 +659,25 @@ class CSRTensor(CSRTensor_):
658
659
  of `indices` and `values` should be equal to the number of non-zero values in the tensor. To be concrete, get
659
660
  the query indices of none-zero elements in every line according to `indptr`. Then get the column positions of
660
661
  none-zero elements in every line by looking up query indices in `indices`. Finally, get the actual values of
661
- none-zero elements in every line by looking up query indices in `values`. In the former example, 'indptr' of
662
+ none-zero elements in every line by looking up query indices in `values`.
663
+
664
+ In the former example, 'indptr' of
662
665
  [0, 2, 5, 6] represents that the indices of 0th row of the tensor origins from [0, 2), the indices of
663
- the 1st row of the tensor origins from [2, 5) and the 2nd row of the tensor origins from [5, 6). For example,
664
- the column positions of the non-zero elements of the 0th row in the tensor are provided by the [0, 2) elements in
665
- `indices` (i.e. [0, 3]) and the corresponding values are provided by the [0, 2) elements in `values`
666
- (i.e. [1., 2.]). The column positions of the non-zero elements of the 1st row in the tensor are provided by the
667
- [2, 5) elements in `indices` (i.e. [1, 2, 4]) and the corresponding values are provided by the [2, 5) elements in
668
- `values` (i.e. [3., 4., 5.]). The column positions of the non-zero elements of the 2nd row in the tensor are
669
- provided by the [5, 6) elements in `indices` (i.e. [2]) and the corresponding values are provided by the [5, 6)
670
- elements in `values` (i.e. [6.]).
666
+ the 1st row of the tensor origins from [2, 5) and the 2nd row of the tensor origins from [5, 6). For example:
667
+
668
+ - The column positions of the non-zero elements of the 0th row in the tensor are provided by the [0, 2) elements in
669
+ `indices` (i.e. [0, 3]) and the corresponding values are provided by the [0, 2) elements in `values`
670
+ (i.e. [1., 2.]).
671
+ - The column positions of the non-zero elements of the 1st row in the tensor are provided by the
672
+ [2, 5) elements in `indices` (i.e. [1, 2, 4]) and the corresponding values are provided by the [2, 5) elements in
673
+ `values` (i.e. [3., 4., 5.]).
674
+ - The column positions of the non-zero elements of the 2nd row in the tensor are
675
+ provided by the [5, 6) elements in `indices` (i.e. [2]) and the corresponding values are provided by the [5, 6)
676
+ elements in `values` (i.e. [6.]).
671
677
 
672
678
  Common arithmetic operations include: addition (+), subtraction (-), multiplication (*),
673
679
  and division (/). For details about operations supported by `CSRTensor`, see
674
- `operators <https://www.mindspore.cn/docs/en/master/model_train/program_form/static_graph.html#operators>`_.
680
+ `operators <https://www.mindspore.cn/tutorials/en/master/compile/static_graph.html#operators>`_.
675
681
 
676
682
  .. warning::
677
683
  - This is an experimental API that is subjected to change.
@@ -688,10 +694,10 @@ class CSRTensor(CSRTensor_):
688
694
  indicates the which column `values` should be placed. Default: ``None``. If provided,
689
695
  must be int16, int32 or int64.
690
696
  values (Tensor): Tensor, which has the same length as `indices` (values.shape[0] == indices.shape[0]).
691
- `values` stores the data for CSRTensor. Default: ``None``.
697
+ `values` stores the data for CSRTensor. Default: ``None``.
692
698
  shape (tuple(int)): An integer tuple of shape :math:`(ndims)`, and `shape[0]` must equal to `M - 1`,
693
699
  which all equal to number of rows of the CSRTensor. Default: ``None``.
694
- csr_tensor (CSRTensor): A CSRTensor object. Values' feature dimension should match with
700
+ csr_tensor (CSRTensor): A CSRTensor object. Values' feature dimension should match with
695
701
  CSRTensor's feature dimension :math:`(values.shape[1:] == csr\_tensor.shape[2:])` . Default: ``None``.
696
702
 
697
703
  Outputs: