mindspore 2.4.1__cp311-cp311-win_amd64.whl → 2.5.0__cp311-cp311-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 (395) 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 +8 -3
  5. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  8. mindspore/_checkparam.py +0 -5
  9. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  10. mindspore/_extends/parse/compile_config.py +64 -0
  11. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  12. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +375 -0
  13. mindspore/_extends/parse/parser.py +23 -5
  14. mindspore/_extends/parse/standard_method.py +123 -27
  15. mindspore/_extends/pijit/pijit_func_white_list.py +1 -1
  16. mindspore/amp.py +7 -1
  17. mindspore/atlprov.dll +0 -0
  18. mindspore/avcodec-59.dll +0 -0
  19. mindspore/avdevice-59.dll +0 -0
  20. mindspore/avfilter-8.dll +0 -0
  21. mindspore/avformat-59.dll +0 -0
  22. mindspore/avutil-57.dll +0 -0
  23. mindspore/boost/boost_cell_wrapper.py +136 -41
  24. mindspore/c1.dll +0 -0
  25. mindspore/c1xx.dll +0 -0
  26. mindspore/c2.dll +0 -0
  27. mindspore/common/__init__.py +3 -1
  28. mindspore/common/_register_for_tensor.py +0 -1
  29. mindspore/common/_stub_tensor.py +25 -4
  30. mindspore/common/_tensor_cpp_method.py +17 -0
  31. mindspore/common/_tensor_docs.py +6132 -0
  32. mindspore/common/api.py +99 -25
  33. mindspore/common/dtype.py +34 -34
  34. mindspore/common/dump.py +2 -1
  35. mindspore/common/file_system.py +8 -1
  36. mindspore/common/generator.py +2 -0
  37. mindspore/common/hook_handle.py +3 -1
  38. mindspore/common/initializer.py +3 -4
  39. mindspore/common/lazy_inline.py +8 -2
  40. mindspore/common/mindir_util.py +10 -2
  41. mindspore/common/parameter.py +30 -27
  42. mindspore/common/tensor.py +713 -1337
  43. mindspore/communication/__init__.py +1 -1
  44. mindspore/communication/_comm_helper.py +10 -0
  45. mindspore/communication/comm_func.py +215 -173
  46. mindspore/communication/management.py +23 -20
  47. mindspore/context.py +292 -193
  48. mindspore/dataset/__init__.py +23 -19
  49. mindspore/dataset/callback/ds_callback.py +2 -1
  50. mindspore/dataset/core/config.py +84 -3
  51. mindspore/dataset/engine/cache_admin.py +3 -3
  52. mindspore/dataset/engine/cache_client.py +5 -4
  53. mindspore/dataset/engine/datasets.py +192 -149
  54. mindspore/dataset/engine/datasets_audio.py +14 -0
  55. mindspore/dataset/engine/datasets_standard_format.py +28 -11
  56. mindspore/dataset/engine/datasets_text.py +38 -1
  57. mindspore/dataset/engine/datasets_user_defined.py +125 -65
  58. mindspore/dataset/engine/datasets_vision.py +81 -8
  59. mindspore/dataset/engine/iterators.py +281 -63
  60. mindspore/dataset/engine/obs/util.py +8 -0
  61. mindspore/dataset/engine/queue.py +40 -0
  62. mindspore/dataset/engine/samplers.py +26 -2
  63. mindspore/dataset/engine/serializer_deserializer.py +1 -1
  64. mindspore/dataset/engine/validators.py +43 -11
  65. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  66. mindspore/dataset/transforms/transforms.py +29 -12
  67. mindspore/dataset/vision/validators.py +1 -2
  68. mindspore/device_context/__init__.py +21 -0
  69. mindspore/device_context/ascend/__init__.py +25 -0
  70. mindspore/device_context/ascend/device.py +72 -0
  71. mindspore/device_context/ascend/op_debug.py +94 -0
  72. mindspore/device_context/ascend/op_precision.py +193 -0
  73. mindspore/device_context/ascend/op_tuning.py +127 -0
  74. mindspore/device_context/cpu/__init__.py +25 -0
  75. mindspore/device_context/cpu/device.py +62 -0
  76. mindspore/device_context/cpu/op_tuning.py +43 -0
  77. mindspore/device_context/gpu/__init__.py +21 -0
  78. mindspore/device_context/gpu/device.py +70 -0
  79. mindspore/device_context/gpu/op_precision.py +67 -0
  80. mindspore/device_context/gpu/op_tuning.py +175 -0
  81. mindspore/device_manager.py +134 -0
  82. mindspore/dnnl.dll +0 -0
  83. mindspore/dpcmi.dll +0 -0
  84. mindspore/experimental/llm_boost/__init__.py +3 -2
  85. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  86. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
  87. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  88. mindspore/experimental/llm_boost/atb/boost_base.py +239 -64
  89. mindspore/experimental/llm_boost/atb/llama_boost.py +52 -30
  90. mindspore/experimental/llm_boost/atb/qwen_boost.py +47 -24
  91. mindspore/experimental/llm_boost/register.py +1 -0
  92. mindspore/experimental/optim/adadelta.py +26 -22
  93. mindspore/experimental/optim/adam.py +3 -0
  94. mindspore/experimental/optim/lr_scheduler.py +33 -24
  95. mindspore/experimental/optim/radam.py +33 -30
  96. mindspore/hal/device.py +28 -0
  97. mindspore/hal/event.py +17 -0
  98. mindspore/hal/memory.py +94 -3
  99. mindspore/hal/stream.py +91 -6
  100. mindspore/include/api/context.h +1 -2
  101. mindspore/include/dataset/constants.h +2 -2
  102. mindspore/jpeg62.dll +0 -0
  103. mindspore/log.py +12 -0
  104. mindspore/mindrecord/__init__.py +1 -1
  105. mindspore/mindrecord/config.py +17 -316
  106. mindspore/mindrecord/filereader.py +1 -9
  107. mindspore/mindrecord/filewriter.py +5 -15
  108. mindspore/mindrecord/mindpage.py +1 -9
  109. mindspore/mindspore_backend.dll +0 -0
  110. mindspore/mindspore_common.dll +0 -0
  111. mindspore/mindspore_core.dll +0 -0
  112. mindspore/mindspore_glog.dll +0 -0
  113. mindspore/mindspore_ops.dll +0 -0
  114. mindspore/mint/__init__.py +824 -218
  115. mindspore/mint/distributed/__init__.py +66 -4
  116. mindspore/mint/distributed/distributed.py +2594 -44
  117. mindspore/mint/linalg/__init__.py +6 -0
  118. mindspore/mint/nn/__init__.py +473 -14
  119. mindspore/mint/nn/functional.py +486 -11
  120. mindspore/mint/nn/layer/__init__.py +17 -4
  121. mindspore/mint/nn/layer/_functions.py +330 -0
  122. mindspore/mint/nn/layer/activation.py +169 -1
  123. mindspore/mint/nn/layer/basic.py +123 -0
  124. mindspore/mint/nn/layer/conv.py +727 -0
  125. mindspore/mint/nn/layer/normalization.py +215 -19
  126. mindspore/mint/nn/layer/padding.py +797 -0
  127. mindspore/mint/nn/layer/pooling.py +170 -0
  128. mindspore/mint/optim/__init__.py +2 -1
  129. mindspore/mint/optim/adam.py +223 -0
  130. mindspore/mint/optim/adamw.py +26 -19
  131. mindspore/mint/special/__init__.py +2 -1
  132. mindspore/msobj140.dll +0 -0
  133. mindspore/mspdb140.dll +0 -0
  134. mindspore/mspdbcore.dll +0 -0
  135. mindspore/mspdbst.dll +0 -0
  136. mindspore/mspft140.dll +0 -0
  137. mindspore/msvcdis140.dll +0 -0
  138. mindspore/msvcp140_1.dll +0 -0
  139. mindspore/msvcp140_2.dll +0 -0
  140. mindspore/msvcp140_atomic_wait.dll +0 -0
  141. mindspore/msvcp140_codecvt_ids.dll +0 -0
  142. mindspore/multiprocessing/__init__.py +5 -0
  143. mindspore/nn/__init__.py +2 -0
  144. mindspore/nn/cell.py +142 -21
  145. mindspore/nn/dynamic_lr.py +2 -1
  146. mindspore/nn/layer/activation.py +6 -6
  147. mindspore/nn/layer/basic.py +35 -25
  148. mindspore/nn/layer/channel_shuffle.py +3 -3
  149. mindspore/nn/layer/conv.py +3 -0
  150. mindspore/nn/layer/embedding.py +3 -3
  151. mindspore/nn/layer/normalization.py +8 -7
  152. mindspore/nn/layer/padding.py +4 -3
  153. mindspore/nn/layer/pooling.py +55 -23
  154. mindspore/nn/layer/rnn_cells.py +1 -1
  155. mindspore/nn/layer/rnns.py +2 -1
  156. mindspore/nn/layer/timedistributed.py +5 -5
  157. mindspore/nn/layer/transformer.py +48 -26
  158. mindspore/nn/learning_rate_schedule.py +5 -3
  159. mindspore/nn/loss/loss.py +31 -36
  160. mindspore/nn/optim/ada_grad.py +1 -0
  161. mindspore/nn/optim/adadelta.py +2 -2
  162. mindspore/nn/optim/adam.py +1 -1
  163. mindspore/nn/optim/lars.py +1 -4
  164. mindspore/nn/optim/optimizer.py +1 -1
  165. mindspore/nn/optim/rprop.py +2 -2
  166. mindspore/nn/optim/thor.py +2 -1
  167. mindspore/nn/utils/__init__.py +22 -0
  168. mindspore/nn/utils/init.py +73 -0
  169. mindspore/nn/wrap/cell_wrapper.py +4 -6
  170. mindspore/nn/wrap/loss_scale.py +3 -4
  171. mindspore/numpy/array_creations.py +60 -62
  172. mindspore/numpy/array_ops.py +148 -143
  173. mindspore/numpy/logic_ops.py +41 -42
  174. mindspore/numpy/math_ops.py +361 -359
  175. mindspore/numpy/utils.py +16 -16
  176. mindspore/numpy/utils_const.py +4 -4
  177. mindspore/opencv_core452.dll +0 -0
  178. mindspore/opencv_imgcodecs452.dll +0 -0
  179. mindspore/opencv_imgproc452.dll +0 -0
  180. mindspore/ops/__init__.py +2 -1
  181. mindspore/ops/_grad_experimental/grad_comm_ops.py +107 -8
  182. mindspore/ops/_grad_experimental/grad_debug_ops.py +6 -1
  183. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  184. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  185. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  186. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  187. mindspore/ops/_vmap/vmap_array_ops.py +20 -19
  188. mindspore/ops/_vmap/vmap_base.py +0 -2
  189. mindspore/ops/_vmap/vmap_grad_nn_ops.py +19 -13
  190. mindspore/ops/_vmap/vmap_math_ops.py +11 -9
  191. mindspore/ops/_vmap/vmap_nn_ops.py +20 -34
  192. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +149 -12
  193. mindspore/ops/auto_generate/gen_arg_handler.py +0 -61
  194. mindspore/ops/auto_generate/gen_extend_func.py +554 -60
  195. mindspore/ops/auto_generate/gen_ops_def.py +1621 -115
  196. mindspore/ops/auto_generate/gen_ops_prim.py +8027 -3411
  197. mindspore/ops/auto_generate/pyboost_inner_prim.py +183 -79
  198. mindspore/ops/composite/base.py +1 -1
  199. mindspore/ops/composite/multitype_ops/_compile_utils.py +229 -30
  200. mindspore/ops/composite/multitype_ops/pow_impl.py +0 -29
  201. mindspore/ops/function/__init__.py +12 -0
  202. mindspore/ops/function/array_func.py +561 -159
  203. mindspore/ops/function/clip_func.py +64 -0
  204. mindspore/ops/function/debug_func.py +28 -20
  205. mindspore/ops/function/image_func.py +1 -1
  206. mindspore/ops/function/linalg_func.py +5 -4
  207. mindspore/ops/function/math_func.py +1664 -294
  208. mindspore/ops/function/nn_func.py +988 -317
  209. mindspore/ops/function/parameter_func.py +3 -56
  210. mindspore/ops/function/random_func.py +243 -33
  211. mindspore/ops/function/sparse_unary_func.py +1 -1
  212. mindspore/ops/functional.py +18 -5
  213. mindspore/ops/functional_overload.py +897 -0
  214. mindspore/ops/operations/__init__.py +3 -2
  215. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  216. mindspore/ops/operations/_grad_ops.py +2 -34
  217. mindspore/ops/operations/_infer_ops.py +2 -1
  218. mindspore/ops/operations/_inner_ops.py +38 -8
  219. mindspore/ops/operations/array_ops.py +45 -303
  220. mindspore/ops/operations/comm_ops.py +23 -17
  221. mindspore/ops/operations/custom_ops.py +7 -49
  222. mindspore/ops/operations/debug_ops.py +42 -47
  223. mindspore/ops/operations/inner_ops.py +6 -4
  224. mindspore/ops/operations/linalg_ops.py +3 -2
  225. mindspore/ops/operations/manually_defined/ops_def.py +185 -104
  226. mindspore/ops/operations/math_ops.py +11 -216
  227. mindspore/ops/operations/nn_ops.py +153 -310
  228. mindspore/ops/primitive.py +23 -21
  229. mindspore/ops/tensor_method.py +1669 -0
  230. mindspore/ops_generate/aclnn_kernel_register_auto_cc_generator.py +110 -0
  231. mindspore/ops_generate/add_tensor_docs_generator.py +54 -0
  232. mindspore/ops_generate/arg_handler.py +0 -61
  233. mindspore/ops_generate/auto_grad_impl_cc_generator.py +135 -0
  234. mindspore/ops_generate/auto_grad_reg_cc_generator.py +93 -0
  235. mindspore/ops_generate/base_generator.py +11 -0
  236. mindspore/ops_generate/cpp_create_prim_instance_helper_generator.py +108 -0
  237. mindspore/ops_generate/functional_map_cpp_generator.py +491 -0
  238. mindspore/ops_generate/functional_overload_py_generator.py +110 -0
  239. mindspore/ops_generate/functions_cc_generator.py +233 -0
  240. mindspore/ops_generate/gen_aclnn_implement.py +110 -114
  241. mindspore/ops_generate/gen_constants.py +157 -3
  242. mindspore/ops_generate/gen_ops.py +245 -990
  243. mindspore/ops_generate/gen_pyboost_func.py +97 -998
  244. mindspore/ops_generate/gen_utils.py +119 -33
  245. mindspore/ops_generate/lite_ops_cpp_generator.py +155 -0
  246. mindspore/ops_generate/op_api_proto.py +206 -0
  247. mindspore/ops_generate/op_def_py_generator.py +131 -0
  248. mindspore/ops_generate/op_prim_py_generator.py +480 -0
  249. mindspore/ops_generate/op_proto.py +373 -108
  250. mindspore/ops_generate/op_template_parser.py +436 -0
  251. mindspore/ops_generate/ops_def_cc_generator.py +288 -0
  252. mindspore/ops_generate/ops_def_h_generator.py +74 -0
  253. mindspore/ops_generate/ops_name_h_generator.py +68 -0
  254. mindspore/ops_generate/ops_primitive_h_generator.py +81 -0
  255. mindspore/ops_generate/pyboost_functions_cpp_generator.py +370 -0
  256. mindspore/ops_generate/pyboost_functions_h_generator.py +68 -0
  257. mindspore/ops_generate/pyboost_functions_py_generator.py +148 -0
  258. mindspore/ops_generate/pyboost_grad_function_cpp_generator.py +154 -0
  259. mindspore/ops_generate/pyboost_inner_prim_generator.py +131 -0
  260. mindspore/ops_generate/pyboost_native_grad_functions_generator.py +268 -0
  261. mindspore/ops_generate/pyboost_op_cpp_code_generator.py +851 -0
  262. mindspore/ops_generate/pyboost_overload_functions_cpp_generator.py +344 -0
  263. mindspore/ops_generate/pyboost_utils.py +92 -33
  264. mindspore/ops_generate/template.py +294 -44
  265. mindspore/ops_generate/tensor_func_reg_cpp_generator.py +422 -0
  266. mindspore/parallel/__init__.py +3 -3
  267. mindspore/parallel/_auto_parallel_context.py +44 -34
  268. mindspore/parallel/_cell_wrapper.py +22 -3
  269. mindspore/parallel/_parallel_serialization.py +13 -2
  270. mindspore/parallel/_utils.py +4 -2
  271. mindspore/parallel/algo_parameter_config.py +1 -1
  272. mindspore/parallel/checkpoint_transform.py +44 -0
  273. mindspore/parallel/cluster/process_entity/_api.py +131 -37
  274. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  275. mindspore/parallel/cluster/run.py +20 -3
  276. mindspore/parallel/parameter_broadcast.py +1 -1
  277. mindspore/parallel/shard.py +3 -0
  278. mindspore/parallel/transform_safetensors.py +119 -253
  279. mindspore/pgodb140.dll +0 -0
  280. mindspore/pgort140.dll +0 -0
  281. mindspore/profiler/__init__.py +17 -4
  282. mindspore/profiler/analysis/__init__.py +0 -0
  283. mindspore/profiler/analysis/parser/__init__.py +0 -0
  284. mindspore/profiler/analysis/parser/ascend_cann_parser.py +166 -0
  285. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  286. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  287. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  288. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  289. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  290. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +261 -0
  291. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  292. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +84 -0
  293. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  294. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  295. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  296. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  297. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  298. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  299. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  300. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  301. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  302. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  303. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +260 -0
  304. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  305. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  306. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  307. mindspore/profiler/analysis/task_manager.py +131 -0
  308. mindspore/profiler/analysis/time_converter.py +84 -0
  309. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  310. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +333 -0
  311. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  312. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +252 -0
  313. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +313 -0
  314. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +322 -0
  315. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +265 -0
  316. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  317. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  318. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +97 -0
  319. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  320. mindspore/profiler/analysis/work_flow.py +73 -0
  321. mindspore/profiler/common/ascend_msprof_exporter.py +138 -0
  322. mindspore/profiler/common/command_executor.py +90 -0
  323. mindspore/profiler/common/constant.py +174 -3
  324. mindspore/profiler/common/file_manager.py +208 -0
  325. mindspore/profiler/common/log.py +130 -0
  326. mindspore/profiler/common/msprof_cmd_tool.py +202 -0
  327. mindspore/profiler/common/path_manager.py +371 -0
  328. mindspore/profiler/common/process_bar.py +168 -0
  329. mindspore/profiler/common/process_pool.py +9 -3
  330. mindspore/profiler/common/profiler_context.py +476 -0
  331. mindspore/profiler/common/profiler_info.py +304 -0
  332. mindspore/profiler/common/profiler_output_path.py +284 -0
  333. mindspore/profiler/common/profiler_parameters.py +210 -0
  334. mindspore/profiler/common/profiler_path_manager.py +120 -0
  335. mindspore/profiler/common/record_function.py +76 -0
  336. mindspore/profiler/common/tlv_decoder.py +76 -0
  337. mindspore/profiler/common/util.py +75 -2
  338. mindspore/profiler/dynamic_profiler.py +270 -37
  339. mindspore/profiler/envprofiler.py +138 -0
  340. mindspore/profiler/mstx.py +199 -0
  341. mindspore/profiler/platform/__init__.py +21 -0
  342. mindspore/profiler/platform/base_profiler.py +40 -0
  343. mindspore/profiler/platform/cpu_profiler.py +124 -0
  344. mindspore/profiler/platform/gpu_profiler.py +74 -0
  345. mindspore/profiler/platform/npu_profiler.py +309 -0
  346. mindspore/profiler/profiler.py +580 -93
  347. mindspore/profiler/profiler_action_controller.py +187 -0
  348. mindspore/profiler/profiler_interface.py +114 -0
  349. mindspore/profiler/schedule.py +208 -0
  350. mindspore/rewrite/api/symbol_tree.py +1 -2
  351. mindspore/run_check/_check_version.py +18 -13
  352. mindspore/runtime/__init__.py +37 -0
  353. mindspore/runtime/device.py +27 -0
  354. mindspore/runtime/event.py +209 -0
  355. mindspore/runtime/executor.py +148 -0
  356. mindspore/runtime/memory.py +392 -0
  357. mindspore/runtime/stream.py +460 -0
  358. mindspore/runtime/thread_bind_core.py +401 -0
  359. mindspore/swresample-4.dll +0 -0
  360. mindspore/swscale-6.dll +0 -0
  361. mindspore/tbbmalloc.dll +0 -0
  362. mindspore/tinyxml2.dll +0 -0
  363. mindspore/train/__init__.py +2 -2
  364. mindspore/train/_utils.py +53 -18
  365. mindspore/train/amp.py +8 -4
  366. mindspore/train/callback/_checkpoint.py +32 -18
  367. mindspore/train/callback/_early_stop.py +1 -1
  368. mindspore/train/callback/_flops_collector.py +105 -69
  369. mindspore/train/callback/_history.py +1 -1
  370. mindspore/train/callback/_summary_collector.py +44 -6
  371. mindspore/train/callback/_tft_register.py +37 -15
  372. mindspore/train/dataset_helper.py +11 -11
  373. mindspore/train/metrics/precision.py +4 -5
  374. mindspore/train/mind_ir_pb2.py +167 -46
  375. mindspore/train/model.py +13 -14
  376. mindspore/train/serialization.py +461 -72
  377. mindspore/train/summary/summary_record.py +1 -2
  378. mindspore/train/train_thor/model_thor.py +1 -1
  379. mindspore/turbojpeg.dll +0 -0
  380. mindspore/utils/__init__.py +4 -2
  381. mindspore/utils/dryrun.py +138 -0
  382. mindspore/utils/runtime_execution_order_check.py +550 -0
  383. mindspore/vcmeta.dll +0 -0
  384. mindspore/vcruntime140.dll +0 -0
  385. mindspore/vcruntime140_1.dll +0 -0
  386. mindspore/version.py +1 -1
  387. {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/METADATA +3 -4
  388. {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/RECORD +391 -265
  389. {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/entry_points.txt +1 -1
  390. mindspore/common/_tensor_overload.py +0 -139
  391. mindspore/mindspore_np_dtype.dll +0 -0
  392. mindspore/profiler/envprofiling.py +0 -254
  393. mindspore/profiler/profiling.py +0 -1926
  394. {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/WHEEL +0 -0
  395. {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,12 +12,30 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ============================================================================
15
- """Op Proto."""
16
- from pyboost_utils import convert_python_func_name_to_c, is_op_multi_output
17
15
 
16
+ """Op Proto module for defining operator prototypes and their arguments."""
18
17
 
19
- class Arg:
20
- def __init__(self, arg_name, arg_dtype, type_cast, is_type_id=False, as_init_arg=False, default=-1, inplace=''):
18
+ import gen_constants as K
19
+
20
+
21
+ class OpArg:
22
+ """
23
+ Represents an argument of an operator.
24
+
25
+ Attributes:
26
+ arg_name (str): The name of the argument.
27
+ arg_dtype (str): The data type of the argument.
28
+ type_cast (list): A list of type casts applicable to the argument.
29
+ is_type_id (bool): Indicates if the argument is a type identifier.
30
+ as_init_arg (bool): Indicates if the argument is an initialization argument.
31
+ default: The default value of the argument.
32
+ inplace (str): The name of the inplace tensor if applicable.
33
+ is_prim_init (bool): Indicates if the argument is a primitive initialization argument.
34
+ arg_handler (str): A handler for the argument, if applicable.
35
+ """
36
+
37
+ def __init__(self, arg_name, arg_dtype, type_cast, is_type_id=False, as_init_arg=False, default=-1, inplace='',
38
+ is_prim_init=False, arg_handler=''):
21
39
  self.arg_name = arg_name
22
40
  self.arg_dtype = arg_dtype
23
41
  self.type_cast = type_cast
@@ -25,121 +43,368 @@ class Arg:
25
43
  self.as_init_arg = as_init_arg
26
44
  self.default = default
27
45
  self.inplace = inplace
46
+ self.is_prim_init = is_prim_init
47
+ self.arg_handler = arg_handler
48
+
49
+
50
+ class OpArgsSignature:
51
+ """
52
+ Represents the signature of operator arguments.
53
+
54
+ Attributes:
55
+ rw_write (list): Arguments that are written to.
56
+ rw_read (list): Arguments that are read from.
57
+ rw_ref (list): Arguments that are passed by reference.
58
+ dtype_group (list): Grouping of data types for the arguments.
59
+ """
60
+
61
+ def __init__(self, rw_write=None, rw_read=None, rw_ref=None, dtype_group=None):
62
+ self.rw_write = rw_write
63
+ self.rw_read = rw_read
64
+ self.rw_ref = rw_ref
65
+ self.dtype_group = dtype_group
66
+
67
+
68
+ class OpFunction:
69
+ """
70
+ Represents the function associated with an operator.
71
+
72
+ Attributes:
73
+ disable (bool): Indicates if the function is disabled.
74
+ name (str): The name of the function.
75
+ """
76
+
77
+ def __init__(self, disable=False, name=''):
78
+ self.disable = disable
79
+ self.name = name
80
+
81
+
82
+ class OpClass:
83
+ """
84
+ Represents a class associated with an operator.
85
+
86
+ Attributes:
87
+ disable (bool): Indicates if the class is disabled.
88
+ name (str): The name of the class.
89
+ """
90
+
91
+ def __init__(self, disable=False, name=''):
92
+ self.disable = disable
93
+ self.name = name
94
+
95
+
96
+ class OpDispatch:
97
+ """
98
+ Represents the dispatch information for an operator.
99
+
100
+ Attributes:
101
+ enable (bool): Indicates if the dispatch is enabled.
102
+ is_comm_op (bool): Indicates if the dispatch is communication operator or not.
103
+ ascend (str): The dispatch type for the Ascend device.
104
+ cpu (str): The dispatch type for the CPU.
105
+ gpu (str): The dispatch type for the GPU.
106
+ """
107
+
108
+ def __init__(self, enable=False, is_comm_op=False, ascend='default', cpu='default', gpu='default'):
109
+ self.enable = enable
110
+ self.is_comm_op = is_comm_op
111
+ self.ascend = ascend
112
+ self.cpu = cpu
113
+ self.gpu = gpu
28
114
 
29
115
 
30
116
  class OpProto:
31
117
  """
32
- This class defines mindspore op prototype, we parse ops.yaml to the object, to auto generate primitive
33
- and pyboost function.
118
+ Defines a prototype for an operator in MindSpore.
119
+
120
+ This class is used to parse the operator definition from a YAML file and to generate
121
+ the necessary primitive and PyBoost functions.
122
+
123
+ Attributes:
124
+ op_name (str): The name of the operator.
125
+ op_args (list): A list of arguments for the operator.
126
+ op_function (OpFunction): The function associated with the operator.
127
+ op_class (OpClass): The class associated with the operator.
128
+ op_dispatch (OpDispatch): The dispatch information for the operator.
129
+ op_args_signature (OpArgsSignature): The signature of the operator's arguments.
130
+ op_returns (list): A list of return values for the operator.
131
+ op_view (bool): Indicates if the operator is a view operator.
34
132
  """
35
133
 
36
134
  def __init__(self,
37
- operator_name,
135
+ op_name,
38
136
  op_args,
39
- returns,
40
- class_name,
41
- is_pyboost,
42
- is_view,
43
- cpu,
44
- gpu,
45
- ascend,
46
- prim_init,
47
- is_dispatch,
48
- is_multi_output,
49
- is_comm_op):
50
- self.operator_name = operator_name
51
- self.class_name = class_name
137
+ op_function,
138
+ op_class,
139
+ op_dispatch,
140
+ op_args_signature,
141
+ op_returns,
142
+ op_view=False,
143
+ op_graph_view=False,
144
+ op_inplace=False,
145
+ op_labels=None,
146
+ op_deprecated=None,
147
+ bprop_expander=True):
148
+ self.op_name = op_name
52
149
  self.op_args = op_args
53
- self.returns = returns
54
- self.indexes = {arg.arg_name: index for index, arg in enumerate(op_args)}
55
- self.pyboost_function_name = "Pyboost_" + self.class_name
56
- self.is_pyboost = is_pyboost
57
- self.is_view = is_view
58
- self.cpu = cpu
59
- self.gpu = gpu
60
- self.ascend = ascend
61
- self.prim_init = prim_init
62
- self.is_dispatch = is_dispatch
63
- self.is_multi_output = is_multi_output
64
- self.is_comm_op = is_comm_op
150
+ self.op_function = op_function
151
+ self.op_class = op_class
152
+ self.op_dispatch = op_dispatch
153
+ self.op_args_signature = op_args_signature
154
+ self.op_returns = op_returns
155
+ self.op_view = op_view
156
+ self.op_graph_view = op_graph_view
157
+ self.op_inplace = op_inplace
158
+ self.op_labels = op_labels
159
+ self.op_deprecated = op_deprecated
160
+ self.bprop_expander = bprop_expander
65
161
 
66
162
  @staticmethod
67
- def get_device_special_name(dispatch, gpu, cpu, ascend):
68
- if 'GPU' in dispatch.keys():
69
- gpu = dispatch['GPU']
70
- if 'CPU' in dispatch.keys():
71
- cpu = dispatch['CPU']
72
- if 'Ascend' in dispatch.keys():
73
- ascend = dispatch['Ascend']
74
- return gpu, cpu, ascend
75
-
76
- @staticmethod
77
- def load_from_yaml(op_name, yaml):
163
+ def load_from_yaml(op_name, op_data):
78
164
  """
79
- load from yaml
80
- :param op_name:
81
- :param yaml:
82
- :return:
165
+ Loads an operator prototype from YAML data.
166
+
167
+ Args:
168
+ op_name (str): The name of the operation.
169
+ op_data (dict): A dictionary containing the operation data.
170
+
171
+ Returns:
172
+ OpProto: An instance of OpProto representing the operator.
83
173
  """
84
- if 'args' not in yaml.keys():
85
- raise TypeError("op define need key 'args'")
86
- args_dict = yaml.get('args')
87
- op_args = []
88
- default_str = 'default'
174
+ # check op keys
175
+ check_validation(op_name, op_data)
176
+ # get op args
177
+ op_args = get_op_args(op_name, op_data)
178
+ # get op return args
179
+ op_returns = get_op_returns(op_name, op_data)
180
+ # get op args signature
181
+ op_args_signature = get_op_args_signature(op_name, op_data)
182
+ # get op class
183
+ op_class = get_op_class(op_name, op_data)
184
+ # get op function
185
+ op_function = get_op_function(op_name, op_data)
186
+ # get op dispatch
187
+ op_dispatch = get_op_dispatch(op_name, op_data)
188
+ # get op view
189
+ op_view = op_data.get('view', False)
190
+ if not isinstance(op_view, bool):
191
+ raise TypeError(
192
+ f'The view value should be bool, but get {type(op_view)}, op name is {op_name}.')
193
+ # get op graph view
194
+ op_graph_view = op_data.get('graph_view', False)
195
+ if not isinstance(op_graph_view, bool):
196
+ raise TypeError(
197
+ f'The graph view value should be bool, but get {type(op_graph_view)}, op name is {op_name}.')
198
+ op_inplace = is_inplace_op(op_returns)
199
+ # get op labels
200
+ op_labels = op_data.get('labels', None)
201
+ # get op deprecated
202
+ op_deprecated = op_data.get('deprecated', None)
203
+ bprop_expander = op_data.get('bprop_expander', True)
204
+ op_proto = OpProto(op_name=op_name, op_args=op_args, op_returns=op_returns, op_function=op_function,
205
+ op_class=op_class, op_dispatch=op_dispatch, op_args_signature=op_args_signature,
206
+ op_view=op_view, op_graph_view=op_graph_view, op_inplace=op_inplace, op_labels=op_labels,
207
+ op_deprecated=op_deprecated, bprop_expander=bprop_expander)
208
+ return op_proto
209
+
210
+
211
+ def get_op_args_signature(op_name, op_data):
212
+ """
213
+ Retrieves the argument signature from the operation data.
214
+
215
+ Args:
216
+ op_data (dict): A dictionary containing the operation data.
217
+
218
+ Returns:
219
+ OpArgsSignature: An instance of OpArgsSignature containing the argument signature.
220
+ """
221
+ op_args_signature = op_data.get('args_signature', None)
222
+ if op_args_signature is not None:
223
+ args_signature_keys = op_args_signature.keys()
224
+ check_op_yaml_keys(op_name, set(args_signature_keys), K.ARG_SIGNATURE_KEYS)
225
+ rw_write = op_args_signature.get('rw_write', None)
226
+ rw_read = op_args_signature.get('rw_read', None)
227
+ rw_ref = op_args_signature.get('rw_ref', None)
228
+ dtype_group = op_args_signature.get('dtype_group', None)
229
+ return OpArgsSignature(rw_write, rw_read, rw_ref, dtype_group)
230
+ return None
231
+
232
+
233
+ def check_validation(op_name: str, op_data: dict):
234
+ """
235
+ Validates the operator data to ensure it contains necessary keys.
236
+
237
+ Args:
238
+ op_data (dict): The operator data to validate.
239
+
240
+ Raises:
241
+ TypeError: If the required keys 'args' or 'returns' are missing.
242
+ """
243
+ # check keys
244
+ check_op_yaml_keys(op_name, set(op_data.keys()), K.OP_KEYS)
245
+
246
+ # Those keys must in yaml
247
+ if 'args' not in op_data.keys():
248
+ raise TypeError(f"Op define miss key 'args', op name is {op_name}")
249
+ if 'returns' not in op_data.keys():
250
+ raise TypeError(f"Op define miss key 'returns', op name is {op_name}")
251
+
252
+
253
+ def get_op_args(op_name, op_data):
254
+ """
255
+ Retrieves the arguments for the operator from the operation data.
256
+
257
+ Args:
258
+ op_data (dict): A dictionary containing the operation data.
259
+
260
+ Returns:
261
+ list: A list of OpArg instances representing the arguments of the operator.
262
+ """
263
+ args_dict = op_data.get('args')
264
+ op_args = []
265
+ for arg_name in args_dict.keys():
266
+ arg_keys = args_dict[arg_name].keys()
267
+ check_op_yaml_keys(op_name, set(arg_keys), K.ARG_KEYS)
268
+ arg_dtype = args_dict[arg_name]['dtype']
269
+ if arg_dtype == 'TypeId':
270
+ arg_dtype = 'int'
271
+ default = None
272
+ as_init_arg = False
89
273
  is_type_id = False
90
274
  prim_init = False
91
- for arg_name in args_dict.keys():
92
- arg_dtype = args_dict[arg_name]['dtype']
93
- if arg_dtype == 'TypeId':
94
- arg_dtype = 'int'
95
- default = None
96
- as_init_arg = False
97
- is_type_id = False
98
- type_cast = []
99
- if default_str in args_dict[arg_name]:
100
- default = args_dict[arg_name][default_str]
101
- as_init_arg = True
102
- if 'prim_init' in args_dict[arg_name]:
103
- prim_init = args_dict[arg_name]['prim_init']
104
- if 'type_cast' in args_dict[arg_name]:
105
- type_cast = [cast_type.strip() for cast_type in args_dict[arg_name]['type_cast'].split(',')]
106
- arg_handler_key = 'arg_handler'
107
- if arg_handler_key in args_dict[arg_name] and args_dict[arg_name][arg_handler_key] == 'dtype_to_type_id':
108
- is_type_id = True
109
- arg = Arg(arg_name, arg_dtype, type_cast, is_type_id, as_init_arg, default)
110
- op_args.append(arg)
111
- if 'returns' not in yaml.keys():
112
- raise TypeError("op define need key 'returns'")
113
-
114
- is_pyboost = False
115
- is_dispatch = False
116
- is_comm_op = False
117
- gpu = default_str
118
- cpu = default_str
119
- ascend = default_str
120
- dispatch_key = 'dispatch'
121
- if dispatch_key in yaml.keys():
122
- is_dispatch = True
123
- is_pyboost = yaml[dispatch_key].get('enable')
124
- gpu, cpu, ascend = OpProto.get_device_special_name(yaml[dispatch_key], gpu, cpu, ascend)
125
- is_comm_op = yaml[dispatch_key].get('is_comm_op')
126
- return_dict = yaml['returns']
127
- class_name = convert_python_func_name_to_c(op_name)
128
- class_key = 'class'
129
- if class_key in yaml.keys() and 'name' in yaml[class_key].keys():
130
- class_name = yaml[class_key]['name']
131
- return_args = []
132
- for return_name in return_dict.keys():
133
- inplace = ''
134
- if 'inplace' in return_dict[return_name]:
135
- inplace = return_dict[return_name]['inplace']
136
- dtype = return_dict[return_name]['dtype']
137
- arg = Arg(return_name, dtype, type_cast=[], inplace=inplace)
138
- return_args.append(arg)
139
- is_multi_output = is_op_multi_output(return_args)
140
- is_view = False
141
- if 'view' in yaml.keys():
142
- is_view = True
143
- op_proto = OpProto(op_name, op_args, return_args, class_name,
144
- is_pyboost, is_view, cpu, gpu, ascend, prim_init, is_dispatch, is_multi_output, is_comm_op)
145
- return op_proto
275
+ type_cast = []
276
+ if 'default' in args_dict[arg_name]:
277
+ default = args_dict[arg_name]['default']
278
+ as_init_arg = True
279
+ # 当op_args任意一个参数有prim_init,该op就要在pyboost_inner_prim.py生成
280
+ if 'prim_init' in args_dict[arg_name] and args_dict[arg_name]['prim_init'] is True:
281
+ prim_init = True
282
+ if 'type_cast' in args_dict[arg_name]:
283
+ type_cast = [cast_type.strip() for cast_type in args_dict[arg_name]['type_cast'].split(',')]
284
+ arg_handler_key = 'arg_handler'
285
+ arg_handler = args_dict[arg_name].get(arg_handler_key, '')
286
+ if arg_handler_key in args_dict[arg_name] and args_dict[arg_name][arg_handler_key] == 'dtype_to_type_id':
287
+ is_type_id = True
288
+ op_arg = OpArg(arg_name, arg_dtype, type_cast, is_type_id, as_init_arg, default,
289
+ is_prim_init=prim_init, arg_handler=arg_handler)
290
+ op_args.append(op_arg)
291
+ return op_args
292
+
293
+
294
+ def get_op_returns(op_name, op_data):
295
+ """
296
+ Retrieves the return values for the operator from the operation data.
297
+
298
+ Args:
299
+ op_data (dict): A dictionary containing the operation data.
300
+
301
+ Returns:
302
+ list: A list of OpArg instances representing the return values of the operator.
303
+ """
304
+ op_return_args = []
305
+ return_dict = op_data['returns']
306
+ for return_name in return_dict.keys():
307
+ return_keys = return_dict[return_name].keys()
308
+ check_op_yaml_keys(op_name, set(return_keys), K.RETURN_KEYS)
309
+ inplace = ''
310
+ if 'inplace' in return_dict[return_name]:
311
+ inplace = return_dict[return_name]['inplace']
312
+ if 'dtype' not in return_dict[return_name]:
313
+ raise TypeError("op return args need key 'dtype'")
314
+ dtype = return_dict[return_name]['dtype']
315
+ arg = OpArg(return_name, dtype, type_cast=[], inplace=inplace)
316
+ op_return_args.append(arg)
317
+ return op_return_args
318
+
319
+
320
+ def get_op_dispatch(op_name, op_data):
321
+ """
322
+ Retrieves the dispatch information for the operator from the operation data.
323
+
324
+ Args:
325
+ op_data (dict): A dictionary containing the operation data.
326
+
327
+ Returns:
328
+ OpDispatch: An instance of OpDispatch containing the dispatch information.
329
+ """
330
+ op_dispatch = op_data.get('dispatch', {})
331
+ dispatch_keys = op_dispatch.keys()
332
+ check_op_yaml_keys(op_name, set(dispatch_keys), K.DISPATCH_KEYS)
333
+ if not op_dispatch:
334
+ return None
335
+ enable = op_dispatch.get('enable', False)
336
+ if not isinstance(enable, bool):
337
+ raise TypeError(
338
+ f'The dispatch enable value should be bool, but get {type(enable)}, op name is {op_name}.')
339
+ is_comm_op = op_dispatch.get('is_comm_op', False)
340
+ ascend = op_dispatch.get('Ascend', 'default')
341
+ cpu = op_dispatch.get('CPU', 'default')
342
+ gpu = op_dispatch.get('GPU', 'default')
343
+ return OpDispatch(enable, is_comm_op, ascend, cpu, gpu)
344
+
345
+
346
+ def get_op_class(op_name, op_data) -> OpClass:
347
+ """
348
+ Retrieves the class information for the operator from the operation data.
349
+
350
+ Args:
351
+ op_name (str): The name of the operation.
352
+ op_data (dict): A dictionary containing the operation data.
353
+
354
+ Returns:
355
+ OpClass: An instance of OpClass containing the class information for the operator.
356
+ """
357
+ op_class = op_data.get('class', {})
358
+ class_keys = op_class.keys()
359
+ check_op_yaml_keys(op_name, set(class_keys), K.CLASS_KEYS)
360
+ is_disable = op_class.get('disable', False)
361
+ if not isinstance(is_disable, bool):
362
+ raise TypeError(
363
+ f'The class disable value should be bool, but get {type(is_disable)}, op name is {op_name}.')
364
+ class_name = op_class.get('name', convert_python_func_name_to_c(op_name))
365
+ return OpClass(disable=is_disable, name=class_name)
366
+
367
+
368
+ def get_op_function(op_name, op_data) -> OpFunction:
369
+ """
370
+ Retrieves the function information for the operator from the operation data.
371
+
372
+ Args:
373
+ op_name (str): default operation function name.
374
+ op_data (dict): A dictionary containing the operation data.
375
+
376
+ Returns:
377
+ OpFunction: An instance of OpFunction containing the function information for the operator.
378
+ """
379
+ op_function = op_data.get('function', {})
380
+ function_keys = op_function.keys()
381
+ check_op_yaml_keys(op_name, set(function_keys), K.FUNCTION_KEYS)
382
+ is_disable = op_function.get('disable', False)
383
+ if not isinstance(is_disable, bool):
384
+ raise TypeError(
385
+ f'The function disable value should be bool, but get {type(is_disable)}, op name is {op_name}.')
386
+ function_name = op_function.get('name', op_name)
387
+ return OpFunction(disable=is_disable, name=function_name)
388
+
389
+
390
+ def convert_python_func_name_to_c(func_name: str) -> str:
391
+ return ''.join(word.capitalize() for word in func_name.split('_'))
392
+
393
+
394
+ def check_op_yaml_keys(op_name: str, input_keys: set, compare_keys: set):
395
+ diff_keys = input_keys - compare_keys
396
+ if diff_keys:
397
+ raise TypeError(
398
+ f'The definition of keys in yaml has faults, op name is {op_name}, wrong keys are {diff_keys}.')
399
+
400
+
401
+ def is_inplace_op(args):
402
+ """
403
+ is inplace op
404
+ :param args:
405
+ :return: bool
406
+ """
407
+ for arg in args:
408
+ if arg.inplace:
409
+ return True
410
+ return False