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
@@ -13,23 +13,25 @@
13
13
  # limitations under the License.
14
14
  # ============================================================================
15
15
  """debug_ops"""
16
- import os
17
16
  import stat
17
+ from pathlib import Path
18
18
 
19
19
  import numpy as np
20
20
  from mindspore import log as logger
21
21
  from mindspore._c_expression import security, HookType
22
- from mindspore._c_expression import Tensor as Tensor_
22
+ from mindspore._c_expression import TensorPy as Tensor_
23
+ from mindspore._c_expression import _tensordump_process_file
23
24
  from mindspore import _checkparam as validator
24
25
  from mindspore.common import dtype as mstype
25
26
  from mindspore.common.parameter import Parameter
26
27
  from mindspore.common.tensor import Tensor
28
+ from mindspore.common.jit_context import jit_context
27
29
  from mindspore.ops.primitive import prim_attr_register, Primitive, PrimitiveWithInfer
28
30
  from mindspore._checkparam import check_hook_fn
31
+ from mindspore.ops import operations as P
29
32
 
30
33
 
31
34
  SUMMARY_TENSOR_CACHE = []
32
- TENSORDUMP_ID = 0
33
35
 
34
36
 
35
37
  def _cache_summary_data(op_name, define_name, tensor):
@@ -61,11 +63,9 @@ class ScalarSummary(Primitive):
61
63
  """
62
64
  This operator will put a scalar to a summary file with protocol buffer format.
63
65
  It must be used with :class:`mindspore.SummaryRecord` or :class:`mindspore.SummaryCollector`,
64
- which specify the directory of the summary file. The summary file can
65
- be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
66
- mindinsight/docs/en/master/index.html>`_ for details.
67
- In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
68
- to solve operator execution failure when calling this operator intensively.
66
+ which specify the directory of the summary file.
67
+ In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
68
+ can be set to solve operator execution failure when calling this operator intensively.
69
69
 
70
70
  Inputs:
71
71
  - **name** (str) - The name of the input variable, it must not be an empty string.
@@ -121,11 +121,9 @@ class ScalarSummary(Primitive):
121
121
  class ImageSummary(Primitive):
122
122
  """
123
123
  This operator will put an image tensor to a summary file with protocol buffer format. It must be used with
124
- SummaryRecord or SummaryCollector, which specify the directory of the summary file. The summary file can
125
- be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
126
- mindinsight/docs/en/master/index.html>`_ for details.
127
- In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
128
- to solve operator execution failure when calling this operator intensively.
124
+ SummaryRecord or SummaryCollector, which specify the directory of the summary file.
125
+ In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
126
+ can be set to solve execution failure when calling this operator intensively.
129
127
 
130
128
  Inputs:
131
129
  - **name** (str) - The name of the input variable, it must not be an empty string.
@@ -174,11 +172,9 @@ class ImageSummary(Primitive):
174
172
  class TensorSummary(Primitive):
175
173
  """
176
174
  This operator will put a tensor to a summary file with protocol buffer format. It must be used with SummaryRecord
177
- or SummaryCollector, which specify the directory of the summary file. The summary file can
178
- be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
179
- mindinsight/docs/en/master/index.html>`_ for details.
180
- In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
181
- to solve operator execution failure when calling this operator intensively.
175
+ or SummaryCollector, which specify the directory of the summary file.
176
+ In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
177
+ can be set to solve operator execution failure when calling this operator intensively.
182
178
 
183
179
  Inputs:
184
180
  - **name** (str) - The name of the input variable.
@@ -235,15 +231,15 @@ class TensorDump(Primitive):
235
231
  Save the Tensor as an npy file in numpy format.
236
232
 
237
233
  .. warning::
238
- - If a large amount of data is stored within a short period, it may lead to memory overflow on the device side.
239
- Consider slicing the data to reduce the data scale.
240
- - Since data saving is processed asynchronously, when the amount of data is too large or the main process exits
241
- too quickly, data loss may occur. You need to actively control the destruction time of the main process,
242
- such as using sleep.
234
+ The parameter input_output will no longer support the value 'all'.
235
+
236
+ .. note::
237
+ In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
238
+ can be set to solve operator execution failure when outputting big tensor or outputting tensor intensively.
243
239
 
244
240
  Args:
245
241
  input_output (str, optional): Used to control Tensordump behavior.
246
- Available value is one of ['in', 'out', 'all']. Default value is ``out``.
242
+ Available value is one of ['in', 'out']. Default value is ``out``.
247
243
 
248
244
  In case of OpA --> RedistributionOps --> OpB,
249
245
  The dump data of OpA's output is not equal to OpB's input (Due to the redistribution operators).
@@ -253,21 +249,19 @@ class TensorDump(Primitive):
253
249
  Different requirements of saving dump data can be achieved by configuring parameter input_output:
254
250
 
255
251
  - If the input_output is 'out', the dump data contains only OpA's output slice.
256
- - If the input_output is 'all', the dump data contains both OpA's output slice and OpB's input slice.
257
252
  - If the input_output is 'in', the dump data contains only OpB's input slice.
258
253
 
259
- For input_output is 'all' or 'in', the input slice npy file format is:
260
- id_fileName_cNodeID_dumpMode_rankID.npy.
254
+ For input_output is 'in', the input slice npy file format is:
255
+ fileName_dumpMode_dtype_id.npy.
261
256
 
262
- For input_output is 'out' or 'all' the output slice npy file format is:
263
- id_fileName.npy.
257
+ For input_output is 'out', the output slice npy file format is:
258
+ fileName_dtype_id.npy.
264
259
 
265
- - id: An auto increment ID.
266
260
  - fileName: Value of the parameter file
267
261
  (if parameter file_name is a user-specified path, the value of fileName is the last level of the path).
268
- - cNodeID: The node ID of the Tensordump node in the step_parallel_end.ir file.
269
262
  - dumpMode: Value of the parameter input_output.
270
- - rankID: Logical device id.
263
+ - dtype: The original data type. Data of type bfloat16 stored in the .npy file will be converted to float32.
264
+ - id: An auto increment ID.
271
265
 
272
266
  Inputs:
273
267
  - **file** (str) - The path of the file to be saved.
@@ -285,7 +279,8 @@ class TensorDump(Primitive):
285
279
  >>> import mindspore as ms
286
280
  >>> import time
287
281
  >>> from mindspore import nn, Tensor, ops
288
- >>> ms.set_context(mode=ms.GRAPH_MODE, device_target="Ascend")
282
+ >>> ms.set_context(mode=ms.GRAPH_MODE)
283
+ >>> ms.set_device(device_target="Ascend")
289
284
  >>> class Net(nn.Cell):
290
285
  ... def __init__(self):
291
286
  ... super(Net, self).__init__()
@@ -305,7 +300,7 @@ class TensorDump(Primitive):
305
300
  >>> net = Net()
306
301
  >>> out = net(input_x)
307
302
  >>> time.sleep(0.5)
308
- >>> add = np.load('0_add.npy')
303
+ >>> add = np.load('add_float32_0.npy')
309
304
  >>> print(add)
310
305
  [[2. 3. 4. 5.]
311
306
  [6. 7. 8. 9.]]
@@ -318,35 +313,34 @@ class TensorDump(Primitive):
318
313
  self.add_prim_attr("side_effect_io", True)
319
314
  self.add_prim_attr("channel_name", "ms_tensor_dump")
320
315
 
316
+ def _save_file(self, file, data):
317
+ file = Path(file)
318
+ if file.exists():
319
+ file.chmod(stat.S_IWUSR)
320
+ np.save(file, data)
321
+ file.chmod(stat.S_IRUSR)
322
+
321
323
  def __call__(self, file, input_x):
322
324
  validator.check_value_type('file', file, [str], self.__class__.__name__)
323
325
  if not file:
324
326
  raise ValueError("For 'TensorDump', the input argument[file] cannot be an empty string.")
325
327
  validator.check_value_type('input_x', input_x, [Tensor], self.__class__.__name__)
326
- global TENSORDUMP_ID
327
- npy_suffix = ".npy"
328
- directory, filename = os.path.split(file)
329
- if directory and not os.path.exists(directory):
330
- os.makedirs(directory, mode=0o700, exist_ok=True)
331
- new_filename = f"{TENSORDUMP_ID}_{filename}"
332
- new_file = os.path.join(directory, new_filename)
333
- if not new_file.endswith(npy_suffix):
334
- new_file += npy_suffix
335
- if os.path.exists(new_file):
336
- os.chmod(new_file, stat.S_IWUSR)
337
- np.save(new_file, input_x.asnumpy())
338
- os.chmod(new_file, stat.S_IRUSR)
339
- TENSORDUMP_ID += 1
328
+
329
+ dtype = input_x.dtype
330
+ file = _tensordump_process_file(file, str(dtype))
331
+ if not file:
332
+ return
333
+ if dtype == mstype.bfloat16:
334
+ input_x = P.Cast()(input_x, mstype.float32)
335
+ self._save_file(file, input_x.asnumpy())
340
336
 
341
337
 
342
338
  class HistogramSummary(Primitive):
343
339
  """
344
340
  This operator will calculate the histogram of a tensor and put it to a summary file with protocol buffer format.
345
341
  It must be used with SummaryRecord or SummaryCollector, which specify the directory of the summary file.
346
- The summary file can be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
347
- mindinsight/docs/en/master/index.html>`_ for details.
348
- In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
349
- to solve operator execution failure when calling this operator intensively.
342
+ In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
343
+ can be set to solve operator execution failure when calling this operator intensively.
350
344
 
351
345
  Inputs:
352
346
  - **name** (str) - The name of the input variable.
@@ -398,10 +392,14 @@ class HistogramSummary(Primitive):
398
392
  _cache_summary_data(self.name, args[0], args[1])
399
393
 
400
394
 
401
- class InsertGradientOf(PrimitiveWithInfer):
395
+ class InsertGradientOf(Primitive):
402
396
  """
403
397
  Attaches callback to the graph node that will be invoked on the node's gradient.
404
398
 
399
+ .. warning::
400
+ In the callback, exercise caution when using side-effect operators,
401
+ such as the TensorDump operator, as current support is incomplete.
402
+
405
403
  Args:
406
404
  f (Function): MindSpore's Function. Callback function.
407
405
 
@@ -464,11 +462,106 @@ class InsertGradientOf(PrimitiveWithInfer):
464
462
  self.add_prim_attr('side_effect_backprop', True)
465
463
  self.f = f
466
464
 
467
- def infer_shape(self, x_shape):
468
- return x_shape
469
465
 
470
- def infer_dtype(self, x_type):
471
- return x_type
466
+ class Morph(PrimitiveWithInfer):
467
+ """
468
+ The `Morph` Primitive is used to encapsulate a user-defined function `fn`, allowing it to be used as a custom
469
+ Primitive.
470
+ The primary application scenario of the `Morph` Primitive is in the auto-parallel case after `GRAPH_MODE` mode,
471
+ where collective communication operators are used within the user-defined `fn` to implement custom parallel
472
+ computation logic, especially in scenarios where `fn` involves dynamic shapes.
473
+ When the `Morph` Primitive is applied to inputs, it is actually the encapsulated user-defined function `fn` that is
474
+ applied to the inputs.
475
+ The main difference between the `Morph` Primitive and :func:`mindspore.ops.Custom` is that the former is expanded
476
+ and replaced by the user-defined `fn` before automatic differentiation, so there is no need to implement a backward
477
+ function.
478
+
479
+ .. note::
480
+ - This primitive is only supported in GRAPH_MODE.
481
+ - `fn` must satisfy the syntax constraints of the graph mode.
482
+ - Users do not need to implement a custom backward function.
483
+ - `vararg`, `kwarg`, `kwonlyargs` and free variables are not supported in user-defined function.
484
+
485
+ Args:
486
+ fn (Function): Mindspore's function, user-defined function.
487
+ infer_shape (Function): Mindspore's function, user-defined infer_shape function.
488
+ infer_dtype (Function): Mindspore's function, user-defined infer_dtype function.
489
+
490
+ Inputs:
491
+ The inputs of user-defined `fn`.
492
+
493
+ Outputs:
494
+ The outputs of user-defined `fn`.
495
+
496
+ Raises:
497
+ RuntimeError: if not used in GRAPH_MODE.
498
+
499
+ Examples:
500
+ >>> import numpy as np
501
+ >>> import mindspore as ms
502
+ >>> from mindspore import context, nn, ops, Tensor, Parameter
503
+ >>>
504
+ >>> np_weight0 = np.array([1.0, 2.0, 3.0])
505
+ >>> np_weight1 = np.array([4.0, 5.0, 6.0])
506
+ >>> np_input_x = np.array([7.0, 8.0, 9.0])
507
+ >>>
508
+ >>> def infer_dtype(args):
509
+ ... return args
510
+ >>>
511
+ >>> def infer_shape(args):
512
+ ... return args
513
+ >>>
514
+ >>> def mul_by(*args):
515
+ ... def inner(x):
516
+ ... return args[0] * x
517
+ ... return inner
518
+ >>>
519
+ >>> NUMBER_100 = 100
520
+ >>> class MorphNet(nn.Cell):
521
+ ... def __init__(self):
522
+ ... super(MorphNet, self).__init__()
523
+ ... self.weight0 = Parameter(Tensor(np_weight0, ms.float32), name="weight0")
524
+ ... self.weight1 = Parameter(Tensor(np_weight1, ms.float32), name="weight1")
525
+ ... self.mul_by_100 = ops.Morph(mul_by(NUMBER_100), infer_shape, infer_dtype)
526
+ ... def construct(self, x):
527
+ ... a = x * self.weight0
528
+ ... b = self.mul_by_100(a)
529
+ ... out = b * self.weight1
530
+ ... return out
531
+ >>>
532
+ >>> context.set_context(mode=context.GRAPH_MODE)
533
+ >>> input_x = Tensor(np_input_x, ms.float32)
534
+ >>> net = MorphNet()
535
+ >>> grad_op = ops.GradOperation(get_all=True, get_by_list=True)
536
+ >>> grad_net = grad_op(net, net.trainable_params())
537
+ >>> bwd_out = grad_net(input_x)
538
+ >>> x_grad = bwd_out[0][0].asnumpy()
539
+ >>> weight0_grad = bwd_out[1][0].asnumpy()
540
+ >>> weight1_grad = bwd_out[1][1].asnumpy()
541
+ >>> print("x_grad", x_grad)
542
+ >>> print("weight0_grad", weight0_grad)
543
+ >>> print("weight1_grad", weight1_grad)
544
+ x_grad [ 400. 1000. 1800.]
545
+ weight0_grad [2800. 4000. 5400.]
546
+ weight1_grad [ 700. 1600. 2700.]
547
+ """
548
+ @prim_attr_register
549
+ def __init__(self, fn, infer_shape, infer_dtype):
550
+ self.add_prim_attr('side_effect_backprop', True)
551
+ self.add_prim_attr('side_effect_mem', True)
552
+ self.add_prim_attr('side_effect_io', True)
553
+ self.add_prim_attr('__metamorphosis__', fn)
554
+ self._infer_shape = infer_shape
555
+ self._infer_dtype = infer_dtype
556
+
557
+ def infer_shape(self, *args):
558
+ return self._infer_shape(*args)
559
+
560
+ def infer_dtype(self, *args):
561
+ return self._infer_dtype(*args)
562
+
563
+ def __call__(self, *args):
564
+ raise RuntimeError("Morph is only supported in GRAPH_MODE.")
472
565
 
473
566
 
474
567
  class HookBackward(PrimitiveWithInfer):
@@ -532,8 +625,7 @@ class HookBackward(PrimitiveWithInfer):
532
625
  def __init__(self, hook_fn, cell_id=""):
533
626
  """Initialize HookBackward."""
534
627
  super(HookBackward, self).__init__(self.__class__.__name__)
535
- if not check_hook_fn("HookBackward", hook_fn):
536
- return
628
+ check_hook_fn(hook_fn)
537
629
  if cell_id != "":
538
630
  logger.warning(f"The args 'cell_id' of HookBackward will be removed in a future version. If the value of "
539
631
  f"'cell_id' is set, the hook function will not work.")
@@ -605,6 +697,9 @@ class Print(Primitive):
605
697
  self.add_prim_attr("side_effect_io", True)
606
698
 
607
699
  def __call__(self, *args):
700
+ # Add for jit context.
701
+ if jit_context() and jit_context().compiled:
702
+ return
608
703
  for arg in args:
609
704
  if isinstance(arg, Parameter):
610
705
  print(Tensor_.__repr__(arg))
@@ -612,6 +707,9 @@ class Print(Primitive):
612
707
  print(arg.__repr__())
613
708
  else:
614
709
  print(arg)
710
+ # Add for jit context.
711
+ if jit_context():
712
+ jit_context().run_op(self, None, *args)
615
713
 
616
714
 
617
715
  class Assert(PrimitiveWithInfer):
@@ -87,7 +87,7 @@ class NoRepeatNGram(Primitive):
87
87
  Because 3 consecutive words [2, 3, 2] do not appear twice in the word sequence.
88
88
 
89
89
  Args:
90
- ngram_size (int): Size of n-grams, must be greater than 0. Default: ``1`` .
90
+ ngram_size (int, optional): Size of n-grams, must be greater than 0. Default: ``1`` .
91
91
 
92
92
  Inputs:
93
93
  - **state_seq** (Tensor) - n-gram word series, a 3-D tensor with shape: :math:`(batch\_size, beam\_width, m)`.
@@ -302,8 +302,8 @@ class FusedWeightScaleApplyMomentum(PrimitiveWithInfer):
302
302
  Default: ``0.0`` .
303
303
  - **loss_scale** (Tensor) - The loss scale value, must be a scalar tensor with float data type.
304
304
  Default: ``1.0`` .
305
- - **variable** (Parameter) - Weights to be updated. data type must be float.
306
- - **accumulation** (Parameter) - Accumulated gradient value by moment weight.
305
+ - **variable** (Union[Parameter, Tensor]) - Weights to be updated. data type must be float.
306
+ - **accumulation** (Union[Parameter, Tensor]) - Accumulated gradient value by moment weight.
307
307
  Has the same data type with `variable`.
308
308
  - **learning_rate** (Union[Number, Tensor]) - The learning rate value, must be a float number or
309
309
  a scalar tensor with float data type.
@@ -425,7 +425,8 @@ class FusedCastAdamWeightDecay(PrimitiveWithInfer):
425
425
  ... def construct(self, lr, beta1, beta2, epsilon, decay, grad, norm):
426
426
  ... out = self.opt(self.var, self.m, self.v, lr, beta1, beta2, epsilon, decay, grad, norm)
427
427
  ... return out
428
- >>> ms.set_context(mode=ms.GRAPH_MODE, device_target="CPU")
428
+ >>> ms.set_context(mode=ms.GRAPH_MODE)
429
+ >>> ms.set_device(device_target="CPU")
429
430
  >>> net = Net()
430
431
  >>> gradient = Tensor(np.ones([2, 2]), mstype.float16)
431
432
  >>> output = net(0.001, 0.9, 0.999, 1e-8, 0.0, gradient, 1.0)
@@ -560,7 +561,8 @@ class FusedAdaFactor(PrimitiveWithInfer):
560
561
  ... out = self.opt(epsilon, clip_threshold, beta1, beta2, weight_decay, lr, grad, self.param,
561
562
  ... self.exp_avg, self.exp_avg_sq_row, self.exp_avg_sq_col, self.exp_avg_sq)
562
563
  ... return out
563
- >>> ms.set_context(mode=ms.GRAPH_MODE, device_target="CPU")
564
+ >>> ms.set_context(mode=ms.GRAPH_MODE)
565
+ >>> ms.set_device(device_target="CPU")
564
566
  >>> net = Net()
565
567
  >>> gradient = Tensor(np.ones(param_shape), mstype.float32)
566
568
  >>> output = net((1e-30, 1e-3), 1.0, 0.9, 0.8, 1e-2, 0.03, gradient)
@@ -19,63 +19,7 @@ from __future__ import absolute_import
19
19
  from mindspore import _checkparam as Validator
20
20
  from mindspore.ops.primitive import Primitive
21
21
  from mindspore.ops.primitive import prim_attr_register
22
- from ..auto_generate import Geqrf
23
-
24
-
25
- class Svd(Primitive):
26
- """
27
- Computes the singular value decompositions of one or more matrices.
28
-
29
- Refer to :func:`mindspore.ops.svd` for more details.
30
-
31
- Args:
32
- full_matrices (bool, optional): If ``True`` , compute full-sized :math:`U` and :math:`V`. If ``False``,
33
- compute only the leading P singular vectors, with P is the minimum of M and N.
34
- Default: ``False`` .
35
- compute_uv (bool, optional): If ``True`` , compute the left and right singular vectors.
36
- If ``False`` , compute only the singular values. Default: ``True`` .
37
-
38
- Inputs:
39
- - **input** (Tensor) - Tensor of the matrices to be decomposed. The shape should be :math:`(*, M, N)`,
40
- the supported dtype are float32 and float64.
41
-
42
- Outputs:
43
- - **s** (Tensor) - Singular values. The shape is :math:`(*, P)`.
44
- - **u** (Tensor) - Left singular vectors. If `compute_uv` is ``False`` , u will be zero value.
45
- The shape is :math:`(*, M, P)`. If `full_matrices` is ``True`` , the shape will be :math:`(*, M, M)`.
46
- - **v** (Tensor) - Right singular vectors. If `compute_uv` is ``False`` , v will be zero value.
47
- The shape is :math:`(*, N, P)`. If `full_matrices` is ``True`` , the shape will be :math:`(*, N, N)`.
48
-
49
- Supported Platforms:
50
- ``GPU`` ``CPU``
51
-
52
- Examples:
53
- >>> import numpy as np
54
- >>> from mindspore import Tensor, set_context
55
- >>> from mindspore import ops
56
- >>> set_context(device_target="CPU")
57
- >>> svd = ops.Svd(full_matrices=True, compute_uv=True)
58
- >>> a = Tensor(np.array([[1, 2], [-4, -5], [2, 1]]).astype(np.float32))
59
- >>> s, u, v = svd(a)
60
- >>> print(s)
61
- [7.0652843 1.040081 ]
62
- >>> print(u)
63
- [[ 0.30821905 -0.48819482 0.81649697]
64
- [-0.90613353 0.11070572 0.40824813]
65
- [ 0.2896955 0.8656849 0.4082479 ]]
66
- >>> print(v)
67
- [[ 0.63863593 0.769509 ]
68
- [ 0.769509 -0.63863593]]
69
- """
70
-
71
- @prim_attr_register
72
- def __init__(self, full_matrices=False, compute_uv=True):
73
- super().__init__(name="Svd")
74
- self.init_prim_io_names(inputs=['a'], outputs=['s', 'u', 'v'])
75
- self.full_matrices = Validator.check_value_type("full_matrices", full_matrices, [bool], self.name)
76
- self.compute_uv = Validator.check_value_type("compute_uv", compute_uv, [bool], self.name)
77
- self.add_prim_attr('full_matrices', self.full_matrices)
78
- self.add_prim_attr('compute_uv', self.compute_uv)
22
+ from ..auto_generate import Geqrf, Svd
79
23
 
80
24
 
81
25
  class Eigh(Primitive):
@@ -66,7 +66,7 @@ class TensorReport(Primitive):
66
66
  @prim_attr_register
67
67
  def __init__(self):
68
68
  """Initialize TensorReport"""
69
- self.add_prim_attr("side_effect_io", True)
69
+ self.add_prim_attr("side_effect_mem", True)
70
70
  self.add_prim_attr("channel_name", "ms_tensor_report")
71
71
 
72
72
  def __call__(self, file, input_x):