mindspore 2.5.0__cp310-cp310-win_amd64.whl → 2.6.0rc1__cp310-cp310-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (491) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +6 -4
  5. mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
  8. mindspore/_check_jit_forbidden_api.py +3 -0
  9. mindspore/_checkparam.py +3 -33
  10. mindspore/_deprecated/__init__.py +17 -0
  11. mindspore/_deprecated/jit.py +198 -0
  12. mindspore/_extends/builtin_operations.py +1 -1
  13. mindspore/_extends/parse/__init__.py +6 -7
  14. mindspore/_extends/parse/compile_config.py +19 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
  16. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  17. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  18. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  19. mindspore/_extends/parse/parser.py +24 -193
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +97 -74
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +4 -4
  27. mindspore/atlprov.dll +0 -0
  28. mindspore/avcodec-59.dll +0 -0
  29. mindspore/avdevice-59.dll +0 -0
  30. mindspore/avfilter-8.dll +0 -0
  31. mindspore/avformat-59.dll +0 -0
  32. mindspore/avutil-57.dll +0 -0
  33. mindspore/boost/__init__.py +2 -2
  34. mindspore/boost/base.py +3 -7
  35. mindspore/boost/boost_cell_wrapper.py +2 -2
  36. mindspore/c1.dll +0 -0
  37. mindspore/c1xx.dll +0 -0
  38. mindspore/c2.dll +0 -0
  39. mindspore/common/__init__.py +4 -3
  40. mindspore/common/_grad_function.py +56 -0
  41. mindspore/common/_pijit_context.py +14 -5
  42. mindspore/common/_register_for_tensor.py +1 -1
  43. mindspore/common/_stub_tensor.py +5 -10
  44. mindspore/common/_tensor_cpp_method.py +1 -1
  45. mindspore/common/_tensor_docs.py +1915 -3287
  46. mindspore/common/api.py +341 -354
  47. mindspore/common/auto_dynamic_shape.py +41 -44
  48. mindspore/common/dtype.py +5 -2
  49. mindspore/common/dump.py +7 -5
  50. mindspore/common/file_system.py +3 -0
  51. mindspore/common/hook_handle.py +5 -3
  52. mindspore/common/initializer.py +10 -6
  53. mindspore/common/jit_begin_end.py +94 -0
  54. mindspore/common/jit_config.py +6 -1
  55. mindspore/common/jit_context.py +76 -0
  56. mindspore/common/jit_trace.py +378 -0
  57. mindspore/common/lazy_inline.py +2 -2
  58. mindspore/common/mutable.py +5 -4
  59. mindspore/common/parameter.py +106 -39
  60. mindspore/common/seed.py +2 -2
  61. mindspore/common/sparse_tensor.py +23 -17
  62. mindspore/common/tensor.py +297 -714
  63. mindspore/communication/__init__.py +7 -5
  64. mindspore/communication/_comm_helper.py +47 -2
  65. mindspore/communication/comm_func.py +70 -53
  66. mindspore/communication/management.py +83 -17
  67. mindspore/context.py +214 -560
  68. mindspore/dataset/__init__.py +44 -20
  69. mindspore/dataset/audio/__init__.py +2 -8
  70. mindspore/dataset/audio/transforms.py +3 -17
  71. mindspore/dataset/core/config.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +1 -1
  73. mindspore/dataset/engine/datasets.py +102 -120
  74. mindspore/dataset/engine/datasets_audio.py +22 -22
  75. mindspore/dataset/engine/datasets_standard_format.py +43 -24
  76. mindspore/dataset/engine/datasets_text.py +78 -85
  77. mindspore/dataset/engine/datasets_user_defined.py +108 -76
  78. mindspore/dataset/engine/datasets_vision.py +111 -108
  79. mindspore/dataset/engine/iterators.py +5 -3
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/samplers.py +279 -57
  82. mindspore/dataset/engine/serializer_deserializer.py +2 -1
  83. mindspore/dataset/engine/validators.py +10 -0
  84. mindspore/dataset/text/__init__.py +7 -6
  85. mindspore/dataset/text/transforms.py +6 -5
  86. mindspore/dataset/text/utils.py +3 -3
  87. mindspore/dataset/transforms/__init__.py +0 -9
  88. mindspore/dataset/transforms/transforms.py +3 -3
  89. mindspore/dataset/utils/browse_dataset.py +1 -1
  90. mindspore/dataset/vision/__init__.py +2 -9
  91. mindspore/dataset/vision/transforms.py +202 -158
  92. mindspore/dataset/vision/utils.py +7 -5
  93. mindspore/device_context/ascend/op_debug.py +60 -1
  94. mindspore/device_context/ascend/op_tuning.py +0 -4
  95. mindspore/device_manager.py +39 -3
  96. mindspore/dnnl.dll +0 -0
  97. mindspore/dpcmi.dll +0 -0
  98. mindspore/experimental/es/embedding_service.py +35 -27
  99. mindspore/experimental/map_parameter.py +4 -4
  100. mindspore/experimental/optim/adadelta.py +22 -26
  101. mindspore/experimental/optim/adagrad.py +4 -4
  102. mindspore/experimental/optim/adam.py +4 -0
  103. mindspore/experimental/optim/adamax.py +4 -4
  104. mindspore/experimental/optim/adamw.py +4 -0
  105. mindspore/experimental/optim/asgd.py +1 -1
  106. mindspore/experimental/optim/lr_scheduler.py +40 -22
  107. mindspore/experimental/optim/radam.py +5 -5
  108. mindspore/experimental/optim/rprop.py +1 -1
  109. mindspore/experimental/optim/sgd.py +1 -1
  110. mindspore/hal/contiguous_tensors_handle.py +6 -10
  111. mindspore/hal/device.py +55 -81
  112. mindspore/hal/event.py +38 -55
  113. mindspore/hal/memory.py +93 -144
  114. mindspore/hal/stream.py +81 -125
  115. mindspore/include/dataset/constants.h +7 -4
  116. mindspore/include/dataset/execute.h +2 -2
  117. mindspore/jpeg62.dll +0 -0
  118. mindspore/log.py +40 -2
  119. mindspore/mindrecord/__init__.py +20 -7
  120. mindspore/mindspore_backend_common.dll +0 -0
  121. mindspore/mindspore_backend_manager.dll +0 -0
  122. mindspore/mindspore_common.dll +0 -0
  123. mindspore/mindspore_core.dll +0 -0
  124. mindspore/mindspore_dump.dll +0 -0
  125. mindspore/mindspore_frontend.dll +0 -0
  126. mindspore/mindspore_glog.dll +0 -0
  127. mindspore/mindspore_memory_pool.dll +0 -0
  128. mindspore/mindspore_ms_backend.dll +0 -0
  129. mindspore/mindspore_ops.dll +0 -0
  130. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  131. mindspore/mindspore_ops_kernel_common.dll +0 -0
  132. mindspore/mindspore_profiler.dll +0 -0
  133. mindspore/mindspore_pyboost.dll +0 -0
  134. mindspore/mindspore_pynative.dll +0 -0
  135. mindspore/mindspore_res_manager.dll +0 -0
  136. mindspore/mindspore_runtime_pipeline.dll +0 -0
  137. mindspore/mint/__init__.py +131 -700
  138. mindspore/mint/distributed/__init__.py +5 -1
  139. mindspore/mint/distributed/distributed.py +194 -109
  140. mindspore/mint/linalg/__init__.py +2 -0
  141. mindspore/mint/nn/__init__.py +280 -18
  142. mindspore/mint/nn/functional.py +282 -64
  143. mindspore/mint/nn/layer/__init__.py +4 -0
  144. mindspore/mint/nn/layer/_functions.py +7 -3
  145. mindspore/mint/nn/layer/activation.py +120 -13
  146. mindspore/mint/nn/layer/conv.py +218 -24
  147. mindspore/mint/nn/layer/normalization.py +15 -16
  148. mindspore/mint/nn/layer/padding.py +1 -1
  149. mindspore/mint/nn/layer/pooling.py +66 -1
  150. mindspore/mint/optim/__init__.py +2 -1
  151. mindspore/mint/optim/sgd.py +171 -0
  152. mindspore/msobj140.dll +0 -0
  153. mindspore/mspdb140.dll +0 -0
  154. mindspore/mspdbcore.dll +0 -0
  155. mindspore/mspdbst.dll +0 -0
  156. mindspore/mspft140.dll +0 -0
  157. mindspore/msvcdis140.dll +0 -0
  158. mindspore/msvcp140_1.dll +0 -0
  159. mindspore/msvcp140_2.dll +0 -0
  160. mindspore/msvcp140_atomic_wait.dll +0 -0
  161. mindspore/msvcp140_codecvt_ids.dll +0 -0
  162. mindspore/nn/__init__.py +4 -1
  163. mindspore/nn/cell.py +1250 -176
  164. mindspore/nn/layer/activation.py +23 -21
  165. mindspore/nn/layer/basic.py +22 -16
  166. mindspore/nn/layer/container.py +1 -1
  167. mindspore/nn/layer/conv.py +22 -17
  168. mindspore/nn/layer/embedding.py +9 -8
  169. mindspore/nn/layer/normalization.py +48 -42
  170. mindspore/nn/layer/pooling.py +75 -31
  171. mindspore/nn/layer/transformer.py +11 -10
  172. mindspore/nn/learning_rate_schedule.py +4 -2
  173. mindspore/nn/loss/loss.py +27 -19
  174. mindspore/nn/optim/ada_grad.py +6 -5
  175. mindspore/nn/optim/adadelta.py +9 -7
  176. mindspore/nn/optim/adafactor.py +1 -1
  177. mindspore/nn/optim/adam.py +16 -12
  178. mindspore/nn/optim/adamax.py +8 -7
  179. mindspore/nn/optim/adasum.py +5 -5
  180. mindspore/nn/optim/asgd.py +1 -1
  181. mindspore/nn/optim/ftrl.py +11 -9
  182. mindspore/nn/optim/lamb.py +1 -1
  183. mindspore/nn/optim/lazyadam.py +12 -10
  184. mindspore/nn/optim/momentum.py +7 -6
  185. mindspore/nn/optim/optimizer.py +2 -2
  186. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  187. mindspore/nn/optim/rmsprop.py +13 -12
  188. mindspore/nn/optim/rprop.py +9 -7
  189. mindspore/nn/optim/sgd.py +9 -6
  190. mindspore/nn/optim/tft_wrapper.py +5 -2
  191. mindspore/nn/probability/bijector/bijector.py +17 -11
  192. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  193. mindspore/nn/probability/bijector/invert.py +2 -2
  194. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  195. mindspore/nn/probability/bijector/softplus.py +3 -2
  196. mindspore/nn/probability/distribution/beta.py +3 -3
  197. mindspore/nn/probability/distribution/categorical.py +1 -1
  198. mindspore/nn/probability/distribution/cauchy.py +4 -2
  199. mindspore/nn/probability/distribution/exponential.py +6 -7
  200. mindspore/nn/probability/distribution/gamma.py +2 -2
  201. mindspore/nn/probability/distribution/gumbel.py +2 -2
  202. mindspore/nn/probability/distribution/half_normal.py +5 -3
  203. mindspore/nn/probability/distribution/logistic.py +5 -3
  204. mindspore/nn/probability/distribution/poisson.py +1 -1
  205. mindspore/nn/probability/distribution/uniform.py +5 -3
  206. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  207. mindspore/nn/reinforcement/tensor_array.py +1 -1
  208. mindspore/nn/wrap/__init__.py +6 -6
  209. mindspore/nn/wrap/cell_wrapper.py +178 -117
  210. mindspore/nn/wrap/grad_reducer.py +45 -36
  211. mindspore/nn/wrap/loss_scale.py +3 -3
  212. mindspore/numpy/array_creations.py +3 -3
  213. mindspore/numpy/array_ops.py +1 -1
  214. mindspore/numpy/math_ops.py +4 -4
  215. mindspore/numpy/utils.py +1 -2
  216. mindspore/numpy/utils_const.py +1 -2
  217. mindspore/opencv_core452.dll +0 -0
  218. mindspore/opencv_imgcodecs452.dll +0 -0
  219. mindspore/opencv_imgproc452.dll +0 -0
  220. mindspore/ops/__init__.py +3 -2
  221. mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
  222. mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
  223. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  224. mindspore/ops/_register_for_op.py +0 -11
  225. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  226. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
  227. mindspore/ops/_vmap/vmap_array_ops.py +7 -6
  228. mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
  229. mindspore/ops/_vmap/vmap_math_ops.py +4 -7
  230. mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
  231. mindspore/ops/auto_generate/__init__.py +4 -3
  232. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +102 -49
  233. mindspore/ops/auto_generate/gen_extend_func.py +281 -135
  234. mindspore/ops/auto_generate/gen_ops_def.py +2574 -2326
  235. mindspore/ops/auto_generate/gen_ops_prim.py +8566 -2755
  236. mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
  237. mindspore/ops/composite/__init__.py +2 -1
  238. mindspore/ops/composite/base.py +19 -24
  239. mindspore/ops/composite/math_ops.py +6 -16
  240. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  241. mindspore/ops/composite/multitype_ops/_compile_utils.py +2 -3
  242. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  243. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  244. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  245. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  246. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  247. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  248. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  249. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  250. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  251. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  252. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  253. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  254. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  255. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  256. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  257. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  258. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  259. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  260. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  261. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  262. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  263. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  264. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  265. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  266. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  267. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
  268. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  269. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  270. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  271. mindspore/ops/function/__init__.py +28 -2
  272. mindspore/ops/function/_add_attr_func.py +58 -0
  273. mindspore/ops/function/array_func.py +1629 -2345
  274. mindspore/ops/function/clip_func.py +38 -45
  275. mindspore/ops/function/debug_func.py +36 -44
  276. mindspore/ops/function/grad/__init__.py +1 -0
  277. mindspore/ops/function/grad/grad_func.py +104 -71
  278. mindspore/ops/function/image_func.py +1 -1
  279. mindspore/ops/function/linalg_func.py +46 -78
  280. mindspore/ops/function/math_func.py +3035 -3705
  281. mindspore/ops/function/nn_func.py +676 -241
  282. mindspore/ops/function/other_func.py +159 -1
  283. mindspore/ops/function/parameter_func.py +17 -30
  284. mindspore/ops/function/random_func.py +204 -361
  285. mindspore/ops/function/reshard_func.py +4 -70
  286. mindspore/ops/function/sparse_func.py +3 -3
  287. mindspore/ops/function/sparse_unary_func.py +5 -5
  288. mindspore/ops/function/spectral_func.py +25 -58
  289. mindspore/ops/function/vmap_func.py +24 -17
  290. mindspore/ops/functional.py +6 -4
  291. mindspore/ops/functional_overload.py +547 -4
  292. mindspore/ops/op_info_register.py +32 -244
  293. mindspore/ops/operations/__init__.py +10 -5
  294. mindspore/ops/operations/_custom_ops_utils.py +247 -0
  295. mindspore/ops/operations/_grad_ops.py +1 -10
  296. mindspore/ops/operations/_inner_ops.py +5 -76
  297. mindspore/ops/operations/_ms_kernel.py +4 -10
  298. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  299. mindspore/ops/operations/_scalar_ops.py +3 -2
  300. mindspore/ops/operations/_sequence_ops.py +1 -1
  301. mindspore/ops/operations/_tensor_array.py +1 -1
  302. mindspore/ops/operations/array_ops.py +37 -22
  303. mindspore/ops/operations/comm_ops.py +150 -107
  304. mindspore/ops/operations/custom_ops.py +221 -23
  305. mindspore/ops/operations/debug_ops.py +115 -16
  306. mindspore/ops/operations/inner_ops.py +1 -1
  307. mindspore/ops/operations/linalg_ops.py +1 -58
  308. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  309. mindspore/ops/operations/manually_defined/ops_def.py +746 -79
  310. mindspore/ops/operations/math_ops.py +21 -18
  311. mindspore/ops/operations/nn_ops.py +65 -191
  312. mindspore/ops/operations/other_ops.py +62 -9
  313. mindspore/ops/operations/random_ops.py +13 -7
  314. mindspore/ops/operations/reshard_ops.py +1 -1
  315. mindspore/ops/operations/sparse_ops.py +2 -2
  316. mindspore/ops/primitive.py +43 -32
  317. mindspore/ops/tensor_method.py +232 -13
  318. mindspore/ops_generate/__init__.py +0 -5
  319. mindspore/ops_generate/aclnn/__init__.py +0 -0
  320. mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
  321. mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
  322. mindspore/ops_generate/api/__init__.py +0 -0
  323. mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
  324. mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
  325. mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
  326. mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
  327. mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
  328. mindspore/ops_generate/api/gen_api.py +103 -0
  329. mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
  330. mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
  331. mindspore/ops_generate/common/__init__.py +0 -0
  332. mindspore/ops_generate/common/gen_constants.py +91 -0
  333. mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
  334. mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
  335. mindspore/ops_generate/{template.py → common/template.py} +96 -84
  336. mindspore/ops_generate/gen_ops.py +23 -325
  337. mindspore/ops_generate/op_def/__init__.py +0 -0
  338. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  339. mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
  340. mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -7
  341. mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
  342. mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
  343. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  344. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  345. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  346. mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
  347. mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
  348. mindspore/ops_generate/pyboost/__init__.py +0 -0
  349. mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
  350. mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
  351. mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
  352. mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
  353. mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
  354. mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
  355. mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
  356. mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
  357. mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
  358. mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
  359. mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
  360. mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
  361. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
  362. mindspore/ops_generate/resources/__init__.py +0 -0
  363. mindspore/ops_generate/resources/resource_list.py +30 -0
  364. mindspore/ops_generate/resources/resource_loader.py +36 -0
  365. mindspore/ops_generate/resources/resource_manager.py +64 -0
  366. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  367. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  368. mindspore/parallel/__init__.py +6 -2
  369. mindspore/parallel/_auto_parallel_context.py +133 -6
  370. mindspore/parallel/_cell_wrapper.py +130 -15
  371. mindspore/parallel/_parallel_serialization.py +95 -4
  372. mindspore/parallel/_ps_context.py +1 -1
  373. mindspore/parallel/_recovery_context.py +7 -2
  374. mindspore/parallel/_tensor.py +142 -18
  375. mindspore/parallel/_utils.py +198 -25
  376. mindspore/parallel/algo_parameter_config.py +3 -3
  377. mindspore/parallel/auto_parallel.py +732 -0
  378. mindspore/parallel/checkpoint_convert.py +159 -0
  379. mindspore/parallel/checkpoint_transform.py +656 -37
  380. mindspore/parallel/cluster/process_entity/_api.py +151 -19
  381. mindspore/parallel/cluster/run.py +1 -1
  382. mindspore/parallel/function/__init__.py +24 -0
  383. mindspore/parallel/function/reshard_func.py +259 -0
  384. mindspore/parallel/nn/__init__.py +25 -0
  385. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  386. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  387. mindspore/parallel/parameter_broadcast.py +24 -13
  388. mindspore/parallel/shard.py +137 -61
  389. mindspore/parallel/transform_safetensors.py +287 -95
  390. mindspore/pgodb140.dll +0 -0
  391. mindspore/pgort140.dll +0 -0
  392. mindspore/profiler/__init__.py +9 -5
  393. mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
  394. mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
  395. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
  396. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +22 -0
  397. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  398. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
  399. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
  400. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
  401. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
  402. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
  403. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
  404. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
  405. mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
  406. mindspore/profiler/common/constant.py +12 -0
  407. mindspore/profiler/common/msprof_cmd_tool.py +42 -23
  408. mindspore/profiler/common/path_manager.py +24 -0
  409. mindspore/profiler/common/profiler_context.py +26 -2
  410. mindspore/profiler/common/profiler_meta_data.py +74 -0
  411. mindspore/profiler/common/profiler_parameters.py +59 -18
  412. mindspore/profiler/common/profiler_path_manager.py +66 -7
  413. mindspore/profiler/dynamic_profiler.py +112 -79
  414. mindspore/profiler/envprofiler.py +26 -1
  415. mindspore/profiler/experimental_config.py +197 -0
  416. mindspore/profiler/mstx.py +57 -14
  417. mindspore/profiler/platform/npu_profiler.py +33 -7
  418. mindspore/profiler/profiler.py +541 -45
  419. mindspore/profiler/profiler_action_controller.py +1 -1
  420. mindspore/profiler/profiler_interface.py +4 -0
  421. mindspore/profiler/schedule.py +57 -22
  422. mindspore/rewrite/api/node.py +15 -13
  423. mindspore/rewrite/api/symbol_tree.py +1 -1
  424. mindspore/run_check/_check_version.py +25 -14
  425. mindspore/run_check/run_check.py +1 -1
  426. mindspore/runtime/__init__.py +2 -2
  427. mindspore/runtime/executor.py +40 -11
  428. mindspore/runtime/memory.py +25 -8
  429. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  430. mindspore/swresample-4.dll +0 -0
  431. mindspore/swscale-6.dll +0 -0
  432. mindspore/tbbmalloc.dll +0 -0
  433. mindspore/tinyxml2.dll +0 -0
  434. mindspore/train/__init__.py +8 -8
  435. mindspore/train/_utils.py +35 -7
  436. mindspore/train/amp.py +1 -1
  437. mindspore/train/callback/__init__.py +2 -2
  438. mindspore/train/callback/_callback.py +2 -16
  439. mindspore/train/callback/_checkpoint.py +24 -40
  440. mindspore/train/callback/_cluster_monitor.py +14 -18
  441. mindspore/train/callback/_flops_collector.py +2 -3
  442. mindspore/train/callback/_history.py +7 -4
  443. mindspore/train/callback/_lambda_callback.py +2 -2
  444. mindspore/train/callback/_landscape.py +0 -3
  445. mindspore/train/callback/_loss_monitor.py +2 -1
  446. mindspore/train/callback/_on_request_exit.py +6 -5
  447. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  448. mindspore/train/callback/_summary_collector.py +8 -13
  449. mindspore/train/callback/_time_monitor.py +2 -1
  450. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +179 -103
  451. mindspore/train/data_sink.py +25 -2
  452. mindspore/train/dataset_helper.py +4 -5
  453. mindspore/train/loss_scale_manager.py +8 -7
  454. mindspore/train/metrics/accuracy.py +3 -3
  455. mindspore/train/metrics/confusion_matrix.py +9 -9
  456. mindspore/train/metrics/error.py +3 -3
  457. mindspore/train/metrics/hausdorff_distance.py +4 -4
  458. mindspore/train/metrics/mean_surface_distance.py +3 -3
  459. mindspore/train/metrics/metric.py +0 -12
  460. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  461. mindspore/train/metrics/precision.py +8 -6
  462. mindspore/train/metrics/recall.py +9 -9
  463. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  464. mindspore/train/mind_ir_pb2.py +19 -12
  465. mindspore/train/model.py +176 -103
  466. mindspore/train/serialization.py +246 -988
  467. mindspore/train/summary/_summary_adapter.py +2 -2
  468. mindspore/train/summary/summary_record.py +1 -1
  469. mindspore/turbojpeg.dll +0 -0
  470. mindspore/utils/__init__.py +3 -2
  471. mindspore/utils/dryrun.py +4 -2
  472. mindspore/utils/hooks.py +81 -0
  473. mindspore/utils/utils.py +138 -4
  474. mindspore/vcmeta.dll +0 -0
  475. mindspore/vcruntime140.dll +0 -0
  476. mindspore/vcruntime140_1.dll +0 -0
  477. mindspore/version.py +1 -1
  478. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +2 -1
  479. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +483 -438
  480. mindspore/_install_custom.py +0 -43
  481. mindspore/common/_register_for_adapter.py +0 -74
  482. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  483. mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
  484. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  485. mindspore/ops_generate/gen_constants.py +0 -190
  486. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  487. mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
  488. /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
  489. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
  490. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +0 -0
  491. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
@@ -17,12 +17,12 @@ It is a `dataset engine <https://www.mindspore.cn/docs/en/master/design/data_eng
17
17
 
18
18
  This module provides the following data loading methods to help users load datasets into MindSpore.
19
19
 
20
- - User defined dataset loading: allows users to define `Random-accessible(Map-style) datasets
20
+ - User defined dataset loading: allows users to define `Random-accessible(Map-style) dataset
21
21
  <https://www.mindspore.cn/tutorials/en/master/beginner/dataset.html#random-accessible-dataset>`_ or
22
22
  `Iterable-style dataset <https://www.mindspore.cn/tutorials/en/master/beginner/dataset.html#iterable-dataset>`_
23
23
  to customize data reading and processing logic.
24
24
  - Standard format dataset loading: support loading dataset files in standard data formats, including
25
- `MindRecord <https://www.mindspore.cn/docs/en/master/model_train/dataset/record.html>`_,
25
+ `MindRecord <https://www.mindspore.cn/tutorials/en/master/dataset/record.html>`_,
26
26
  `TFRecord <https://tensorflow.google.cn/tutorials/load_data/tfrecord.md?hl=en>`_ .
27
27
  - Open source dataset loading: supports reading `open source datasets <#open-source>`_ ,
28
28
  such as MNIST, CIFAR-10, CLUE, LJSpeech, etc.
@@ -53,25 +53,49 @@ As shown in the above figure, the mindspore dataset module makes it easy for use
53
53
  pipelines and transform samples in the dataset in the most efficient (multi-process / multi-thread) manner.
54
54
  The specific steps are as follows:
55
55
 
56
- - Loading datasets: Users can easily load supported datasets using the `*Dataset` class, or load Python layer
57
- customized datasets through `UDF Loader` + `GeneratorDataset` . At the same time, the loading class method can
58
- accept a variety of parameters such as sampler, data slicing, and data shuffle;
59
- - Dataset operation: The user uses the dataset object method `.shuffle` / `.filter` / `.skip` / `.split` /
60
- `.take` / ... to further shuffle, filter, skip, and obtain the maximum number of samples of datasets;
56
+ - Loading datasets: Users can easily load supported datasets using the Dataset class
57
+ (`Standard-format Dataset
58
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.dataset.loading.html#standard-format>`_,
59
+ `Vision Dataset <https://www.mindspore.cn/docs/en/master/api_python/mindspore.dataset.loading.html#vision>`_,
60
+ `NLP Dataset <https://www.mindspore.cn/docs/en/master/api_python/mindspore.dataset.loading.html#text>`_,
61
+ `Audio Dataset <https://www.mindspore.cn/docs/en/master/api_python/mindspore.dataset.loading.html#audio>`_,
62
+ or load Python layer customized datasets through
63
+ `User Defined Dataset
64
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.dataset.loading.html#user-defined>`_,
65
+ - Dataset operation: The user uses the dataset object method
66
+ `.shuffle <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/operation/
67
+ mindspore.dataset.Dataset.shuffle.html#mindspore.dataset.Dataset.shuffle>`_ /
68
+ `.filter <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/operation/
69
+ mindspore.dataset.Dataset.filter.html#mindspore.dataset.Dataset.filter>`_ /
70
+ `.skip <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/operation/
71
+ mindspore.dataset.Dataset.skip.html#mindspore.dataset.Dataset.skip>`_ /
72
+ `.split <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/operation/
73
+ mindspore.dataset.Dataset.split.html#mindspore.dataset.Dataset.split>`_ /
74
+ `.take <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/operation/
75
+ mindspore.dataset.Dataset.take.html#mindspore.dataset.Dataset.take>`_ /
76
+ … to further shuffle, filter, skip, and obtain the maximum number of samples of datasets.
61
77
  - Dataset sample transform operation: The user can add data transform operations
62
- ( `vision transform <https://mindspore.cn/docs/en/master/api_python/mindspore.\
63
- dataset.transforms.html#module-mindspore.dataset.vision>`_ ,
64
- `NLP transform <https://mindspore.cn/docs/en/master/api_python/mindspore.\
65
- dataset.transforms.html#module-mindspore.dataset.text>`_ ,
66
- `audio transform <https://mindspore.cn/docs/en/master/api_python/mindspore.\
67
- dataset.transforms.html#module-mindspore.dataset.audio>`_ ) to the map
68
- operation to perform transformations. During data preprocessing, multiple map operations can be defined to
69
- perform different transform operations to different fields. The data transform operation can also be a
70
- user-defined transform `pyfunc` (Python function);
71
- - Batch: After the transformation of the samples, the user can use the batch operation to organize multiple samples
72
- into batches, or use self-defined batch logic with the parameter `per_batch_map` applied;
73
- - Iterator: Finally, the user can use the dataset object method `create_dict_iterator` to create an
74
- iterator, which can output the preprocessed data cyclically.
78
+ (`vision transform <https://www.mindspore.cn/docs/en/master/api_python/
79
+ mindspore.dataset.transforms.html#module-mindspore.dataset.vision>`_,
80
+ `nlp transform <https://www.mindspore.cn/docs/en/master/api_python/
81
+ mindspore.dataset.transforms.html#module-mindspore.dataset.text>`_,
82
+ `audio transform <https://www.mindspore.cn/docs/en/master/api_python/
83
+ mindspore.dataset.transforms.html#module-mindspore.dataset.audio>`_ )
84
+ to the `.map <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/operation/
85
+ mindspore.dataset.Dataset.map.html#mindspore.dataset.Dataset.map>`_ operation to perform transforms.
86
+ During data preprocessing, multiple map operations can be defined
87
+ to perform different transform operations to different fields.
88
+ The data transform operation can also be a user-defined Python function.
89
+ - Batch: After the transforms of the samples, the user can use the
90
+ `.batch <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/batch/
91
+ mindspore.dataset.Dataset.batch.html#mindspore.dataset.Dataset.batch>`_ operation to organize multiple samples
92
+ into batches, or use self-defined batch logic with the parameter per_batch_map applied.
93
+ - Iterator: Finally, user can use the method
94
+ `.create_dict_iterator <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/iterator/
95
+ mindspore.dataset.Dataset.create_dict_iterator.html#mindspore.dataset.Dataset.create_dict_iterator>`_ or
96
+ `.create_tuple_iterator <https://www.mindspore.cn/docs/en/master/api_python/dataset/dataset_method/iterator/
97
+ mindspore.dataset.Dataset.create_tuple_iterator.html#mindspore.dataset.Dataset.create_tuple_iterator>`_ to create
98
+ an iterator, which can output the preprocessed data cyclically.
75
99
 
76
100
  Quick start of Dataset Pipeline
77
101
  -------------------------------
@@ -26,12 +26,6 @@ Common imported modules in corresponding API examples are as follows:
26
26
  import mindspore.dataset.audio as audio
27
27
  from mindspore.dataset.audio import utils
28
28
 
29
- Alternative and equivalent imported audio module is as follows:
30
-
31
- .. code-block::
32
-
33
- import mindspore.dataset.audio.transforms as audio
34
-
35
29
  Descriptions of common data processing terms are as follows:
36
30
 
37
31
  - TensorOperation, the base class of all data processing operations implemented in C++.
@@ -41,9 +35,9 @@ The data transform operation can be executed in the data processing pipeline or
41
35
 
42
36
  - Pipeline mode is generally used to process big datasets. Examples refer to
43
37
  `introduction to data processing pipeline <https://www.mindspore.cn/docs/en/master/api_python/
44
- mindspore.dataset.html#introduction-to-data-processing-pipeline>`_ .
38
+ mindspore.dataset.loading.html#introduction-to-data-processing-pipeline>`_ .
45
39
  - Eager mode is more like a function call to process data. Examples refer to
46
- `Lightweight Data Processing <https://www.mindspore.cn/docs/en/master/model_train/dataset/eager.html>`_ .
40
+ `Lightweight Data Processing <https://www.mindspore.cn/tutorials/en/master/dataset/eager.html>`_ .
47
41
  """
48
42
  from __future__ import absolute_import
49
43
 
@@ -1423,10 +1423,6 @@ class FrequencyMasking(AudioTensorOperation):
1423
1423
  Tutorial Examples:
1424
1424
  - `Illustration of audio transforms
1425
1425
  <https://www.mindspore.cn/docs/en/master/api_python/samples/dataset/audio_gallery.html>`_
1426
-
1427
- .. image:: frequency_masking_original.png
1428
-
1429
- .. image:: frequency_masking.png
1430
1426
  """
1431
1427
 
1432
1428
  @check_masking
@@ -1500,10 +1496,10 @@ class GriffinLim(AudioTensorOperation):
1500
1496
  Args:
1501
1497
  n_fft (int, optional): Size of FFT. Default: ``400``.
1502
1498
  n_iter (int, optional): Number of iteration for phase recovery. Default: ``32``.
1503
- win_length (int, optional): Window size for GriffinLim. Default: ``None``, will be set to `n_fft` .
1499
+ win_length (int, optional): Window size for Griffin-Lim. Default: ``None``, will be set to `n_fft` .
1504
1500
  hop_length (int, optional): Length of hop between STFT windows.
1505
1501
  Default: ``None``, will be set to `win_length // 2` .
1506
- window_type (WindowType, optional): Window type for GriffinLim, which can be ``WindowType.BARTLETT``,
1502
+ window_type (WindowType, optional): Window type for Griffin-Lim, which can be ``WindowType.BARTLETT``,
1507
1503
  ``WindowType.BLACKMAN``, ``WindowType.HAMMING``, ``WindowType.HANN`` or ``WindowType.KAISER``.
1508
1504
  Default: ``WindowType.HANN``. Currently kaiser window is not supported on macOS.
1509
1505
  power (float, optional): Exponent for the magnitude spectrogram. Default: ``2.0``.
@@ -2075,7 +2071,7 @@ class Magphase(AudioTensorOperation):
2075
2071
  power (float): Power of the norm, which must be non-negative. Default: ``1.0``.
2076
2072
 
2077
2073
  Raises:
2078
- RuntimeError: If the shape of input audio waveform does not match (..., 2).
2074
+ RuntimeError: If the shape of input audio waveform does not match :math:`(..., 2)`.
2079
2075
 
2080
2076
  Supported Platforms:
2081
2077
  ``CPU``
@@ -3336,10 +3332,6 @@ class TimeMasking(AudioTensorOperation):
3336
3332
  Tutorial Examples:
3337
3333
  - `Illustration of audio transforms
3338
3334
  <https://www.mindspore.cn/docs/en/master/api_python/samples/dataset/audio_gallery.html>`_
3339
-
3340
- .. image:: time_masking_original.png
3341
-
3342
- .. image:: time_masking.png
3343
3335
  """
3344
3336
 
3345
3337
  @check_masking
@@ -3405,12 +3397,6 @@ class TimeStretch(AudioTensorOperation):
3405
3397
  Tutorial Examples:
3406
3398
  - `Illustration of audio transforms
3407
3399
  <https://www.mindspore.cn/docs/en/master/api_python/samples/dataset/audio_gallery.html>`_
3408
-
3409
- .. image:: time_stretch_rate1.5.png
3410
-
3411
- .. image:: time_stretch_original.png
3412
-
3413
- .. image:: time_stretch_rate0.8.png
3414
3400
  """
3415
3401
 
3416
3402
  @check_time_stretch
@@ -513,7 +513,7 @@ def set_enable_autotune(enable, filepath_prefix=None):
513
513
 
514
514
  Note:
515
515
  - Saved parameter profiles can be loaded via the :func:`mindspore.dataset.deserialize` interface to
516
- directly obtain a data processing pipeline object configured with optimal parameters.
516
+ return a data processing pipeline object of optimal parameters.
517
517
  - The parameter tuning process can be viewed by turning on INFO level logging.
518
518
 
519
519
  An example of the generated configuration file is as follows, the "remark" field describes whether or not data
@@ -757,8 +757,8 @@ def get_auto_offload():
757
757
 
758
758
  def set_enable_watchdog(enable):
759
759
  """
760
- Set the default state of watchdog Python thread as enabled, the default state of watchdog Python thread is enabled.
761
- Watchdog is a thread which cleans up hanging subprocesses.
760
+ Set the default state of watchdog Python thread as enabled. The watchdog Python thread
761
+ is responsible for cleaning up stuck or hanging subprocesses, and is enabled by default.
762
762
 
763
763
  Args:
764
764
  enable (bool): Whether to launch a watchdog Python thread.
@@ -27,7 +27,7 @@ class DatasetCache:
27
27
  A client to interface with tensor caching service.
28
28
 
29
29
  For details, please check
30
- `Tutorial <https://www.mindspore.cn/docs/en/master/model_train/dataset/cache.html>`_ .
30
+ `Tutorial <https://www.mindspore.cn/tutorials/en/master/dataset/cache.html>`_ .
31
31
 
32
32
  Args:
33
33
  session_id (int): A user assigned session id for the current pipeline.
@@ -38,7 +38,6 @@ import warnings
38
38
  import time
39
39
  import uuid
40
40
  import multiprocessing
41
- from enum import Enum
42
41
  from importlib import import_module
43
42
  import sys
44
43
  import threading
@@ -55,15 +54,15 @@ from mindspore import log as logger
55
54
  from mindspore.parallel._ps_context import _is_role_pserver, _is_role_sched, _get_ps_context, \
56
55
  _enable_distributed_mindrt
57
56
  from mindspore.dataset.engine.offload import GetOffloadModel
58
-
57
+ from mindspore.communication.management import get_group_size
59
58
  import mindspore.dataset.transforms.c_transforms as c_transforms
60
59
  import mindspore.dataset.transforms.py_transforms as py_transforms
61
60
  import mindspore.dataset.transforms as transforms
62
61
  from mindspore.dataset.text.utils import SentencePieceModel, DE_C_INTER_SENTENCEPIECE_MODE
63
- from mindspore.parallel._utils import _get_device_num
64
62
  from mindspore.dataset.debug import DebugHook
65
63
 
66
64
  from mindspore.dataset.engine import samplers
65
+ from mindspore.dataset.engine.samplers import Shuffle
67
66
  from .iterators import DictIterator, TupleIterator, DummyIterator, check_iterator_cleanup, _set_iterator_cleanup, \
68
67
  ITERATORS_LIST, _unset_iterator_cleanup, _cleanup_the_iterators_if_created
69
68
  from .queue import _SharedQueue, _Queue
@@ -136,71 +135,6 @@ def _reset_training_dataset(global_step, dataset_size):
136
135
  raise RuntimeError("Training dataset is not set.")
137
136
 
138
137
 
139
- class Shuffle(str, Enum):
140
- """Specify the shuffle mode.
141
-
142
- - ``Shuffle.GLOBAL`` : Shuffle both the files and samples.
143
- - ``Shuffle.FILES`` : Shuffle files only.
144
- - ``Shuffle.INFILE`` : Shuffle data within each file.
145
- """
146
- GLOBAL: str = "global"
147
- FILES: str = "files"
148
- INFILE: str = "infile"
149
-
150
-
151
- ShuffleToShuffleMode = {Shuffle.FILES: cde.ShuffleMode.FILES,
152
- Shuffle.GLOBAL: cde.ShuffleMode.GLOBAL,
153
- Shuffle.INFILE: cde.ShuffleMode.INFILE}
154
-
155
-
156
- def shuffle_to_shuffle_mode(shuffle):
157
- """
158
- Shuffle Enum to Shuffle Mode
159
-
160
- Args:
161
- shuffle (Shuffle): shuffle flag to shuffle mode in C layer
162
-
163
- Returns:
164
- ShuffleMode, shuffle mode
165
- """
166
- shuffle_mode = cde.ShuffleMode.GLOBAL # Global shuffle
167
- if not isinstance(shuffle, Shuffle):
168
- if shuffle is None or shuffle:
169
- shuffle_mode = cde.ShuffleMode.GLOBAL # Global shuffle
170
- else:
171
- shuffle_mode = cde.ShuffleMode.FALSE # No shuffle
172
- else:
173
- shuffle_mode = ShuffleToShuffleMode[shuffle]
174
- return shuffle_mode
175
-
176
-
177
- def shuffle_to_bool(shuffle):
178
- """
179
- Shuffle Enum to bool
180
-
181
- Args:
182
- shuffle (Shuffle): shuffle flag to bool
183
-
184
- Returns:
185
- bool, True / False
186
- """
187
- if shuffle is not None and not isinstance(shuffle, (bool, Shuffle)):
188
- raise TypeError("shuffle must be of boolean or enum of 'Shuffle' values like 'Shuffle.GLOBAL' or "
189
- "'Shuffle.FILES' or 'Shuffle.INFILE'.")
190
-
191
- shuffle_bool = True
192
- if not isinstance(shuffle, Shuffle):
193
- if shuffle is None:
194
- shuffle_bool = None
195
- elif shuffle:
196
- shuffle_bool = True
197
- else:
198
- shuffle_bool = False
199
- else:
200
- shuffle_bool = True
201
- return shuffle_bool
202
-
203
-
204
138
  @check_zip
205
139
  def zip(datasets):
206
140
  """
@@ -509,8 +443,7 @@ class Dataset:
509
443
  .. image:: bucket_batch_by_length_en.png
510
444
 
511
445
  Note:
512
- - When using `Data Sinking <https://www.mindspore.cn/docs/en/master/model_train/train_process/optimize/
513
- sink_mode.html#data-sinking>`_ in Graph mode, the input shape of the network should keep consistent.
446
+ - When using Data Sinking in Graph mode, the input shape of the network should keep consistent.
514
447
  You should set `drop_remainder` to "True" to discard the last incomplete batch of data,
515
448
  or supplement/remove samples to ensure the dataset size is divisible by `batch_size`.
516
449
 
@@ -575,7 +508,7 @@ class Dataset:
575
508
  @check_batch
576
509
  def batch(self, batch_size, drop_remainder=False, num_parallel_workers=None, **kwargs):
577
510
  """
578
- Combine batch_size number of consecutive rows into batch which apply per_batch_map to the samples first.
511
+ Combine `batch_size` number of consecutive rows into batch which apply `per_batch_map` to the samples first.
579
512
 
580
513
  For any column, all the elements within that column must have the same shape.
581
514
 
@@ -586,8 +519,7 @@ class Dataset:
586
519
  Note:
587
520
  - The order of using repeat and batch reflects the number of batches and per_batch_map.
588
521
  It is recommended that the repeat operation applied after the batch operation finished.
589
- - When using `Data Sinking <https://www.mindspore.cn/docs/en/master/model_train/train_process/optimize/
590
- sink_mode.html#data-sinking>`_ in Graph mode, the input shape of the network should keep consistent.
522
+ - When using Data Sinking in Graph mode, the input shape of the network should keep consistent.
591
523
  You should set `drop_remainder` to "True" to discard the last incomplete batch of data,
592
524
  or supplement/remove samples to ensure the dataset size is divisible by `batch_size`.
593
525
 
@@ -629,13 +561,19 @@ class Dataset:
629
561
 
630
562
  - max_rowsize(Union[int, list[int]], optional): Maximum size of row in MB that is used for shared memory
631
563
  allocation to copy data between processes, the total occupied shared memory will increase as
632
- ``num_parallel_workers`` and :func:`mindspore.dataset.config.set_prefetch_size` increase. If set
633
- to -1, shared memory will be dynamically allocated with the actual size of data. This is only used if
634
- ``python_multiprocessing`` is set to True. If it is an int value, it represents
635
- ``input_columns`` and ``output_columns`` use this value as the unit to create shared memory.
636
- If it is a list, the first element represents the ``input_columns`` use this value as the unit to
637
- create shared memory, and the second element represents ``output_columns`` use this value as the unit
638
- to create shared memory. Default: ``None`` , allocate shared memory dynamically.
564
+ ``num_parallel_workers`` and :func:`mindspore.dataset.config.set_prefetch_size` increase.
565
+ This is only used if ``python_multiprocessing`` is set to ``True``.
566
+ Default: ``None`` , allocate shared memory dynamically (deprecated in future version).
567
+
568
+ - If set to ``-1`` / ``None``, shared memory will be dynamically allocated with the
569
+ actual size of data.
570
+
571
+ - If it is an int value, it represents ``input_columns`` and ``output_columns`` use this value as the
572
+ unit to create shared memory.
573
+
574
+ - If it is a list, represents the ``input_columns`` use the first element as the unit to
575
+ create shared memory, and represents ``output_columns`` use the second element as the
576
+ unit to create shared memory.
639
577
 
640
578
  Returns:
641
579
  Dataset, a new dataset with the above operation applied.
@@ -683,8 +621,7 @@ class Dataset:
683
621
  Note:
684
622
  - The order of using repeat and padded_batch reflects the number of batches.
685
623
  It is recommended that the repeat operation applied after the padded_batch operation finished.
686
- - When using `Data Sinking <https://www.mindspore.cn/docs/en/master/model_train/train_process/optimize/
687
- sink_mode.html#data-sinking>`_ in Graph mode, the input shape of the network should keep consistent.
624
+ - When using Data Sinking in Graph mode, the input shape of the network should keep consistent.
688
625
  You should set `drop_remainder` to "True" to discard the last incomplete batch of data,
689
626
  or supplement/remove samples to ensure the dataset size is divisible by `batch_size`.
690
627
 
@@ -738,9 +675,9 @@ class Dataset:
738
675
 
739
676
  Args:
740
677
  condition_name (str): The condition name that is used to toggle sending next row.
741
- num_batch (int): the number of batches without blocking at the start of each epoch.
678
+ num_batch (int, optional): the number of batches without blocking at the start of each epoch.
742
679
  Default: ``1``.
743
- callback (function): The callback function that will be invoked when sync_update is called.
680
+ callback (function, optional): The callback function that will be invoked when sync_update is called.
744
681
  Default: ``None``.
745
682
 
746
683
  Returns:
@@ -925,15 +862,21 @@ class Dataset:
925
862
  - python_multiprocessing (bool, optional): Parallelize Python operations with multiple worker processes.
926
863
  This option could be beneficial if the Python operation is computational heavy. Default: ``False``.
927
864
 
928
- - max_rowsize (Union[int, list[int]], optional): Maximum size of row in MB that is used for shared
929
- memory allocation to copy data between processes, the total occupied shared memory will increase as
930
- ``num_parallel_workers`` and :func:`mindspore.dataset.config.set_prefetch_size` increase. If set
931
- to -1, shared memory will be dynamically allocated with the actual size of data. This is only used if
932
- ``python_multiprocessing`` is set to True. If it is an int value, it represents
933
- ``input_columns`` and ``output_columns`` use this value as the unit to create shared memory.
934
- If it is a list, the first element represents the ``input_columns`` use this value as the unit to
935
- create shared memory, and the second element represents ``output_columns`` use this value as the unit
936
- to create shared memory. Default: ``None`` , allocate shared memory dynamically.
865
+ - max_rowsize(Union[int, list[int]], optional): Maximum size of row in MB that is used for shared memory
866
+ allocation to copy data between processes, the total occupied shared memory will increase as
867
+ ``num_parallel_workers`` and :func:`mindspore.dataset.config.set_prefetch_size` increase.
868
+ This is only used if ``python_multiprocessing`` is set to ``True``.
869
+ Default: ``None`` , allocate shared memory dynamically (deprecated in future version).
870
+
871
+ - If set to ``-1`` / ``None``, shared memory will be dynamically allocated with the
872
+ actual size of data.
873
+
874
+ - If it is an int value, it represents ``input_columns`` and ``output_columns`` use this value as the
875
+ unit to create shared memory.
876
+
877
+ - If it is a list, the first element represents the ``input_columns`` use this value as the unit to
878
+ create shared memory, and the second element represents ``output_columns`` use this value as the
879
+ unit to create shared memory.
937
880
 
938
881
  - cache (DatasetCache, optional): Use tensor caching service to speed up dataset processing.
939
882
  Default: ``None``, which means no cache is used.
@@ -946,8 +889,29 @@ class Dataset:
946
889
  Note:
947
890
  - Input `operations` accepts TensorOperations defined in mindspore.dataset part, plus user-defined
948
891
  Python functions (PyFuncs).
949
- - Do not add network computing operators from mindspore.nn and mindspore.ops or others into this
950
- `operations` .
892
+ - Setting the start method of multiprocessing to `spawn` mode by
893
+ ds.config.set_multiprocessing_start_method("spawn") with `python_ multiprocessing=True`
894
+ and `num_parallel_workers>1` supports adding network computing operators from mindspore.nn and
895
+ mindspore.ops or other network computing operators into this `operations` .
896
+ Otherwise, adding to `operations` is not supported.
897
+ - Currently only some scenarios support calling DVPP operators in Python functions passed in with the
898
+ `operations` parameter:
899
+
900
+ +---------------+----------------------------+----------------------------+----------------------------+
901
+ | | | Multiprocessing |
902
+ | | Multithreading +----------------------------+----------------------------+
903
+ | | | spawn | fork |
904
+ +===============+============================+============================+============================+
905
+ |Independent |Data Processing: support |Data Processing: support |Data Processing: support |
906
+ | | | | |
907
+ |process mode |Data Processing + Network |Data Processing + Network |Data Processing + Network |
908
+ | |training: not support |training: support |training: not support |
909
+ +---------------+----------------------------+----------------------------+----------------------------+
910
+ |Non-independent|Data Processing: support |Data Processing: support |Data Processing: support |
911
+ | | | | |
912
+ |process mode |Data Processing + Network |Data Processing + Network |Data Processing + Network |
913
+ | |training: support |training: support |training: not support |
914
+ +---------------+----------------------------+----------------------------+----------------------------+
951
915
 
952
916
  Returns:
953
917
  Dataset, a new dataset with the above operation applied.
@@ -1771,7 +1735,7 @@ class Dataset:
1771
1735
  Get the shapes of output data.
1772
1736
 
1773
1737
  Args:
1774
- estimate (bool): If `estimate` is ``False`` , will return the shapes of first data row.
1738
+ estimate (bool, optional): If `estimate` is ``False`` , will return the shapes of first data row.
1775
1739
  Otherwise, will iterate the whole dataset and return the estimated shapes of data row,
1776
1740
  where dynamic shape is marked as None (used in dynamic data shapes scenario).
1777
1741
  Default: ``False`` .
@@ -2348,10 +2312,10 @@ class SourceDataset(Dataset):
2348
2312
  self.shard_id = replace_none(shard_id, 0)
2349
2313
 
2350
2314
  if shuffle is not None and not isinstance(shuffle, (bool, Shuffle)):
2351
- raise TypeError("shuffle must be of boolean or enum of 'Shuffle' values like 'Shuffle.GLOBAL' or "
2352
- "'Shuffle.FILES' or 'Shuffle.INFILE'.")
2315
+ raise TypeError("shuffle must be of boolean or enum of 'Shuffle' values like 'Shuffle.ADAPTIVE' or "
2316
+ "'Shuffle.GLOBAL' or 'Shuffle.PARTIAL' or 'Shuffle.FILES' or 'Shuffle.INFILE'.")
2353
2317
 
2354
- self.shuffle_flag = 2 # Global shuffle
2318
+ self.shuffle_flag = 5 # Adaptive shuffle
2355
2319
  if not isinstance(shuffle, Shuffle):
2356
2320
  if shuffle is None or shuffle:
2357
2321
  self.shuffle_flag = 2 # Global shuffle
@@ -2364,6 +2328,10 @@ class SourceDataset(Dataset):
2364
2328
  self.shuffle_flag = 1 # Files shuffle
2365
2329
  elif shuffle == Shuffle.INFILE:
2366
2330
  self.shuffle_flag = 3 # Infile shuffle
2331
+ elif shuffle == Shuffle.ADAPTIVE:
2332
+ self.shuffle_flag = 5
2333
+ elif shuffle == Shuffle.PARTIAL:
2334
+ self.shuffle_flag = 4
2367
2335
 
2368
2336
  def parse(self, children=None):
2369
2337
  raise NotImplementedError("Dataset has to implement parse method.")
@@ -2420,15 +2388,23 @@ class MappableDataset(SourceDataset):
2420
2388
  def __init__(self, num_parallel_workers=None, sampler=None, num_samples=None, shuffle=None, num_shards=None,
2421
2389
  shard_id=None, cache=None):
2422
2390
  num_shards, shard_id = self._update_data_shard(num_shards, shard_id)
2391
+ if sampler is None:
2392
+ if shuffle is None or shuffle is True:
2393
+ shuffle = Shuffle.GLOBAL
2394
+ elif shuffle is False:
2395
+ shuffle = Shuffle.FALSE
2423
2396
  super().__init__(num_parallel_workers=num_parallel_workers, num_samples=num_samples, shuffle=shuffle,
2424
2397
  num_shards=num_shards, shard_id=shard_id, cache=cache)
2425
- self.shuffle_flag = replace_none(shuffle, True)
2426
2398
  self.sampler = samplers.select_sampler(num_samples, sampler, shuffle, num_shards, shard_id)
2427
2399
 
2428
2400
  def add_sampler(self, new_sampler):
2429
2401
  """
2430
2402
  Add a child sampler for the current dataset.
2431
2403
 
2404
+ Note:
2405
+ - If the sampler is added and it has a shuffle option, its value must be ``Shuffle.GLOBAL`` .
2406
+ Additionally, the original sampler's shuffle value cannot be ``Shuffle.PARTIAL`` .
2407
+
2432
2408
  Args:
2433
2409
  new_sampler (Sampler): The child sampler to be added.
2434
2410
 
@@ -2442,6 +2418,16 @@ class MappableDataset(SourceDataset):
2442
2418
  # Note: By adding a sampler, the sampled IDs will flow to the new_sampler
2443
2419
  # after first passing through the current samplers attached to this dataset.
2444
2420
  self.dataset_size = None
2421
+
2422
+ if self.sampler is not None and self.sampler.get_shuffle_mode() == Shuffle.PARTIAL:
2423
+ raise RuntimeError("When multiple samplers are used, ensure that the shuffle of the current sampler "
2424
+ "must not be Shuffle.PARTIAL.")
2425
+
2426
+ if new_sampler.get_shuffle_mode() != Shuffle.GLOBAL and new_sampler.get_shuffle_mode() != Shuffle.FALSE:
2427
+ raise RuntimeError("When multiple samplers are used, ensure that the shuffle of the input sampler "
2428
+ "must be Shuffle.FALSE or Shuffle.GLOBAL, but got: {}."
2429
+ .format(new_sampler.get_shuffle_mode()))
2430
+
2445
2431
  new_sampler.add_child(self.sampler)
2446
2432
  self.sampler = new_sampler
2447
2433
 
@@ -2604,7 +2590,7 @@ def _check_shm_usage(num_worker, queue_size, in_rowsize, out_rowsize):
2604
2590
  threshold_ratio = 0.8
2605
2591
  # Verify available size only when using static shared memory on Linux
2606
2592
  if platform.system().lower() not in {"windows", "darwin"} and in_rowsize != -1 and out_rowsize != -1:
2607
- device_num = _get_device_num()
2593
+ device_num = get_group_size()
2608
2594
  # In the cluster, _get_device_num indicates the number of the entire cluster. The maximum number of cards
2609
2595
  # on the ascend server is 8.
2610
2596
  if device_num > 1:
@@ -2690,11 +2676,6 @@ class BatchDataset(UnionBaseDataset):
2690
2676
  else:
2691
2677
  self.max_rowsize = [max_rowsize[0] * self.batch_size, max_rowsize[1] * self.batch_size]
2692
2678
 
2693
- def __del__(self):
2694
- if hasattr(self, "process_pool") and self.process_pool is not None:
2695
- self.process_pool.terminate()
2696
- del self.process_pool
2697
-
2698
2679
  def parse(self, children=None):
2699
2680
  return cde.BatchNode(children[0], self.batch_size, self.drop_remainder, False, self.input_columns,
2700
2681
  self.output_columns, self.batch_size_func, self.per_batch_map, {},
@@ -3033,7 +3014,7 @@ class SyncWaitDataset(UnionBaseDataset):
3033
3014
 
3034
3015
  class ShuffleDataset(UnionBaseDataset):
3035
3016
  """
3036
- The result of applying Shuffle operation to the input Dataset.
3017
+ The result of applying shuffle operation to the input Dataset.
3037
3018
 
3038
3019
  Args:
3039
3020
  input_dataset (Dataset): Input Dataset to be shuffled.
@@ -3387,6 +3368,7 @@ class _PythonMultiprocessing(cde.PythonMultiprocessingRuntime):
3387
3368
  # cache thread (get_ident()) to worker_id mapping in Python layer
3388
3369
  self.python_threads_to_workers = {}
3389
3370
  self.eof = None
3371
+ self.running = False
3390
3372
 
3391
3373
  def __del__(self):
3392
3374
  try:
@@ -3527,15 +3509,20 @@ class _PythonMultiprocessing(cde.PythonMultiprocessingRuntime):
3527
3509
 
3528
3510
  # Launch a clean process and register worker processes to be monitored by the watch dog.
3529
3511
  self._launch_monitor()
3512
+ self.running = True
3530
3513
 
3531
- atexit.register(self.terminate)
3514
+ # Register a termination function using weakref to avoid the object from unable to properly destruct.
3515
+ atexit.register(lambda cleanup: cleanup()() if cleanup() is not None else None,
3516
+ weakref.WeakMethod(self.terminate))
3532
3517
 
3533
3518
  def terminate(self):
3534
- # abort the monitor first and then close all the workers
3535
- self._abort_monitor()
3536
- self.close_all_workers()
3537
- if hasattr(self, "warning_ctl"):
3538
- del self.warning_ctl
3519
+ if self.running:
3520
+ # abort the monitor first and then close all the workers
3521
+ self._abort_monitor()
3522
+ self.close_all_workers()
3523
+ if hasattr(self, "warning_ctl"):
3524
+ del self.warning_ctl
3525
+ self.running = False
3539
3526
 
3540
3527
  def get_pids(self):
3541
3528
  """
@@ -3823,11 +3810,6 @@ class MapDataset(UnionBaseDataset):
3823
3810
  def __deepcopy__(self, memodict):
3824
3811
  return self.__safe_deepcopy__(memodict, exclude=("operations", "callbacks", "__transfer_dataset__"))
3825
3812
 
3826
- def __del__(self):
3827
- if hasattr(self, "process_pool") and self.process_pool is not None:
3828
- self.process_pool.terminate()
3829
- del self.process_pool
3830
-
3831
3813
  @staticmethod
3832
3814
  def __parse_op_name(op):
3833
3815
  """
@@ -4285,7 +4267,7 @@ class _ToDevice:
4285
4267
  if get_debug_mode():
4286
4268
  logger.error("MindData debugger cannot be used in dataset sink mode. Please manually turn off "
4287
4269
  "sink mode and try debugger again.")
4288
- ir_tree, self.api_tree = dataset.create_ir_tree()
4270
+ ir_tree, _ = dataset.create_ir_tree()
4289
4271
 
4290
4272
  self._runtime_context = cde.PythonRuntimeContext()
4291
4273
  self._runtime_context.Init()
@@ -4485,7 +4467,7 @@ class Schema:
4485
4467
  Class to represent a schema of a dataset.
4486
4468
 
4487
4469
  Args:
4488
- schema_file (str): Path of the schema file. Default: ``None``.
4470
+ schema_file (str, optional): Path of the schema file. Default: ``None``.
4489
4471
 
4490
4472
  Raises:
4491
4473
  RuntimeError: If schema file failed to load.