mindspore 2.5.0__cp310-cp310-win_amd64.whl → 2.6.0__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 (493) 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 +25 -194
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +109 -75
  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 +2014 -3386
  46. mindspore/common/api.py +386 -355
  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/generator.py +3 -0
  52. mindspore/common/hook_handle.py +5 -3
  53. mindspore/common/initializer.py +10 -6
  54. mindspore/common/jit_begin_end.py +94 -0
  55. mindspore/common/jit_config.py +6 -1
  56. mindspore/common/jit_context.py +76 -0
  57. mindspore/common/jit_trace.py +378 -0
  58. mindspore/common/lazy_inline.py +2 -2
  59. mindspore/common/mutable.py +5 -4
  60. mindspore/common/parameter.py +106 -39
  61. mindspore/common/seed.py +2 -2
  62. mindspore/common/sparse_tensor.py +23 -17
  63. mindspore/common/tensor.py +332 -714
  64. mindspore/communication/__init__.py +7 -5
  65. mindspore/communication/_comm_helper.py +47 -2
  66. mindspore/communication/comm_func.py +70 -53
  67. mindspore/communication/management.py +83 -17
  68. mindspore/context.py +228 -571
  69. mindspore/dataset/__init__.py +44 -20
  70. mindspore/dataset/audio/__init__.py +2 -8
  71. mindspore/dataset/audio/transforms.py +3 -17
  72. mindspore/dataset/core/config.py +3 -3
  73. mindspore/dataset/engine/cache_client.py +1 -1
  74. mindspore/dataset/engine/datasets.py +102 -120
  75. mindspore/dataset/engine/datasets_audio.py +22 -22
  76. mindspore/dataset/engine/datasets_standard_format.py +43 -24
  77. mindspore/dataset/engine/datasets_text.py +78 -85
  78. mindspore/dataset/engine/datasets_user_defined.py +109 -77
  79. mindspore/dataset/engine/datasets_vision.py +111 -108
  80. mindspore/dataset/engine/iterators.py +5 -3
  81. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  82. mindspore/dataset/engine/samplers.py +279 -57
  83. mindspore/dataset/engine/serializer_deserializer.py +2 -1
  84. mindspore/dataset/engine/validators.py +10 -0
  85. mindspore/dataset/text/__init__.py +7 -6
  86. mindspore/dataset/text/transforms.py +6 -5
  87. mindspore/dataset/text/utils.py +3 -3
  88. mindspore/dataset/transforms/__init__.py +0 -9
  89. mindspore/dataset/transforms/transforms.py +3 -3
  90. mindspore/dataset/utils/browse_dataset.py +1 -1
  91. mindspore/dataset/vision/__init__.py +2 -9
  92. mindspore/dataset/vision/transforms.py +202 -158
  93. mindspore/dataset/vision/utils.py +7 -5
  94. mindspore/device_context/ascend/op_debug.py +60 -1
  95. mindspore/device_context/ascend/op_tuning.py +0 -4
  96. mindspore/device_manager.py +39 -3
  97. mindspore/dnnl.dll +0 -0
  98. mindspore/dpcmi.dll +0 -0
  99. mindspore/experimental/es/embedding_service.py +35 -27
  100. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +0 -2
  101. mindspore/experimental/map_parameter.py +4 -4
  102. mindspore/experimental/optim/adadelta.py +22 -26
  103. mindspore/experimental/optim/adagrad.py +4 -4
  104. mindspore/experimental/optim/adam.py +4 -0
  105. mindspore/experimental/optim/adamax.py +4 -4
  106. mindspore/experimental/optim/adamw.py +4 -0
  107. mindspore/experimental/optim/asgd.py +1 -1
  108. mindspore/experimental/optim/lr_scheduler.py +40 -22
  109. mindspore/experimental/optim/radam.py +5 -5
  110. mindspore/experimental/optim/rprop.py +1 -1
  111. mindspore/experimental/optim/sgd.py +1 -1
  112. mindspore/hal/contiguous_tensors_handle.py +6 -10
  113. mindspore/hal/device.py +55 -81
  114. mindspore/hal/event.py +38 -55
  115. mindspore/hal/memory.py +115 -147
  116. mindspore/hal/stream.py +81 -125
  117. mindspore/include/dataset/constants.h +7 -4
  118. mindspore/include/dataset/execute.h +2 -2
  119. mindspore/jpeg62.dll +0 -0
  120. mindspore/log.py +40 -2
  121. mindspore/mindrecord/__init__.py +20 -7
  122. mindspore/mindspore_backend_common.dll +0 -0
  123. mindspore/mindspore_backend_manager.dll +0 -0
  124. mindspore/mindspore_common.dll +0 -0
  125. mindspore/mindspore_core.dll +0 -0
  126. mindspore/mindspore_dump.dll +0 -0
  127. mindspore/mindspore_frontend.dll +0 -0
  128. mindspore/mindspore_glog.dll +0 -0
  129. mindspore/mindspore_memory_pool.dll +0 -0
  130. mindspore/mindspore_ms_backend.dll +0 -0
  131. mindspore/mindspore_ops.dll +0 -0
  132. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  133. mindspore/mindspore_ops_kernel_common.dll +0 -0
  134. mindspore/mindspore_profiler.dll +0 -0
  135. mindspore/mindspore_pyboost.dll +0 -0
  136. mindspore/mindspore_pynative.dll +0 -0
  137. mindspore/mindspore_res_manager.dll +0 -0
  138. mindspore/mindspore_runtime_pipeline.dll +0 -0
  139. mindspore/mint/__init__.py +133 -702
  140. mindspore/mint/distributed/__init__.py +5 -1
  141. mindspore/mint/distributed/distributed.py +198 -113
  142. mindspore/mint/linalg/__init__.py +2 -0
  143. mindspore/mint/nn/__init__.py +280 -18
  144. mindspore/mint/nn/functional.py +282 -64
  145. mindspore/mint/nn/layer/__init__.py +4 -0
  146. mindspore/mint/nn/layer/_functions.py +7 -3
  147. mindspore/mint/nn/layer/activation.py +120 -13
  148. mindspore/mint/nn/layer/conv.py +234 -28
  149. mindspore/mint/nn/layer/normalization.py +15 -16
  150. mindspore/mint/nn/layer/padding.py +1 -1
  151. mindspore/mint/nn/layer/pooling.py +66 -1
  152. mindspore/mint/optim/__init__.py +2 -1
  153. mindspore/mint/optim/sgd.py +171 -0
  154. mindspore/msobj140.dll +0 -0
  155. mindspore/mspdb140.dll +0 -0
  156. mindspore/mspdbcore.dll +0 -0
  157. mindspore/mspdbst.dll +0 -0
  158. mindspore/mspft140.dll +0 -0
  159. mindspore/msvcdis140.dll +0 -0
  160. mindspore/msvcp140_1.dll +0 -0
  161. mindspore/msvcp140_2.dll +0 -0
  162. mindspore/msvcp140_atomic_wait.dll +0 -0
  163. mindspore/msvcp140_codecvt_ids.dll +0 -0
  164. mindspore/nn/__init__.py +4 -1
  165. mindspore/nn/cell.py +1253 -179
  166. mindspore/nn/layer/activation.py +23 -21
  167. mindspore/nn/layer/basic.py +22 -16
  168. mindspore/nn/layer/container.py +1 -1
  169. mindspore/nn/layer/conv.py +53 -42
  170. mindspore/nn/layer/embedding.py +9 -8
  171. mindspore/nn/layer/normalization.py +48 -42
  172. mindspore/nn/layer/pooling.py +75 -31
  173. mindspore/nn/layer/transformer.py +11 -10
  174. mindspore/nn/learning_rate_schedule.py +4 -2
  175. mindspore/nn/loss/loss.py +27 -19
  176. mindspore/nn/optim/ada_grad.py +6 -5
  177. mindspore/nn/optim/adadelta.py +9 -7
  178. mindspore/nn/optim/adafactor.py +1 -1
  179. mindspore/nn/optim/adam.py +18 -14
  180. mindspore/nn/optim/adamax.py +8 -7
  181. mindspore/nn/optim/adasum.py +5 -5
  182. mindspore/nn/optim/asgd.py +3 -1
  183. mindspore/nn/optim/ftrl.py +11 -9
  184. mindspore/nn/optim/lamb.py +1 -1
  185. mindspore/nn/optim/lazyadam.py +12 -10
  186. mindspore/nn/optim/momentum.py +7 -6
  187. mindspore/nn/optim/optimizer.py +2 -2
  188. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  189. mindspore/nn/optim/rmsprop.py +13 -12
  190. mindspore/nn/optim/rprop.py +9 -7
  191. mindspore/nn/optim/sgd.py +9 -6
  192. mindspore/nn/optim/tft_wrapper.py +5 -2
  193. mindspore/nn/probability/bijector/bijector.py +17 -11
  194. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  195. mindspore/nn/probability/bijector/invert.py +2 -2
  196. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  197. mindspore/nn/probability/bijector/softplus.py +3 -2
  198. mindspore/nn/probability/distribution/beta.py +3 -3
  199. mindspore/nn/probability/distribution/categorical.py +1 -1
  200. mindspore/nn/probability/distribution/cauchy.py +4 -2
  201. mindspore/nn/probability/distribution/exponential.py +6 -7
  202. mindspore/nn/probability/distribution/gamma.py +2 -2
  203. mindspore/nn/probability/distribution/gumbel.py +2 -2
  204. mindspore/nn/probability/distribution/half_normal.py +5 -3
  205. mindspore/nn/probability/distribution/logistic.py +5 -3
  206. mindspore/nn/probability/distribution/poisson.py +1 -1
  207. mindspore/nn/probability/distribution/uniform.py +5 -3
  208. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  209. mindspore/nn/reinforcement/tensor_array.py +1 -1
  210. mindspore/nn/wrap/__init__.py +6 -6
  211. mindspore/nn/wrap/cell_wrapper.py +178 -117
  212. mindspore/nn/wrap/grad_reducer.py +45 -36
  213. mindspore/nn/wrap/loss_scale.py +3 -3
  214. mindspore/numpy/array_creations.py +3 -3
  215. mindspore/numpy/array_ops.py +1 -1
  216. mindspore/numpy/utils.py +1 -2
  217. mindspore/numpy/utils_const.py +1 -2
  218. mindspore/opencv_core452.dll +0 -0
  219. mindspore/opencv_imgcodecs452.dll +0 -0
  220. mindspore/opencv_imgproc452.dll +0 -0
  221. mindspore/ops/__init__.py +3 -2
  222. mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
  223. mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
  224. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  225. mindspore/ops/_register_for_op.py +0 -11
  226. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  227. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
  228. mindspore/ops/_vmap/vmap_array_ops.py +32 -6
  229. mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
  230. mindspore/ops/_vmap/vmap_math_ops.py +4 -7
  231. mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
  232. mindspore/ops/auto_generate/__init__.py +4 -3
  233. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +127 -52
  234. mindspore/ops/auto_generate/gen_extend_func.py +286 -208
  235. mindspore/ops/auto_generate/gen_ops_def.py +2783 -2335
  236. mindspore/ops/auto_generate/gen_ops_prim.py +8992 -2686
  237. mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
  238. mindspore/ops/composite/__init__.py +2 -1
  239. mindspore/ops/composite/base.py +19 -24
  240. mindspore/ops/composite/math_ops.py +6 -16
  241. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  242. mindspore/ops/composite/multitype_ops/_compile_utils.py +4 -5
  243. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  244. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  245. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  246. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  247. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  248. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  249. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  250. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  251. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  252. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  253. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  254. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  255. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  256. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  257. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  258. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  259. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  260. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  261. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  262. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  263. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  264. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  265. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  266. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  267. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  268. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
  269. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  270. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  271. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  272. mindspore/ops/function/__init__.py +28 -2
  273. mindspore/ops/function/_add_attr_func.py +58 -0
  274. mindspore/ops/function/array_func.py +1631 -2347
  275. mindspore/ops/function/clip_func.py +38 -45
  276. mindspore/ops/function/debug_func.py +36 -44
  277. mindspore/ops/function/grad/__init__.py +1 -0
  278. mindspore/ops/function/grad/grad_func.py +104 -71
  279. mindspore/ops/function/image_func.py +1 -1
  280. mindspore/ops/function/linalg_func.py +46 -78
  281. mindspore/ops/function/math_func.py +3024 -3855
  282. mindspore/ops/function/nn_func.py +678 -274
  283. mindspore/ops/function/other_func.py +159 -1
  284. mindspore/ops/function/parameter_func.py +17 -30
  285. mindspore/ops/function/random_func.py +216 -361
  286. mindspore/ops/function/reshard_func.py +4 -70
  287. mindspore/ops/function/sparse_func.py +3 -3
  288. mindspore/ops/function/sparse_unary_func.py +5 -5
  289. mindspore/ops/function/spectral_func.py +25 -58
  290. mindspore/ops/function/vmap_func.py +26 -18
  291. mindspore/ops/functional.py +8 -5
  292. mindspore/ops/functional_overload.py +655 -4
  293. mindspore/ops/op_info_register.py +32 -244
  294. mindspore/ops/operations/__init__.py +21 -14
  295. mindspore/ops/operations/_custom_ops_utils.py +235 -0
  296. mindspore/ops/operations/_grad_ops.py +1 -10
  297. mindspore/ops/operations/_inner_ops.py +5 -76
  298. mindspore/ops/operations/_ms_kernel.py +4 -10
  299. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  300. mindspore/ops/operations/_scalar_ops.py +3 -2
  301. mindspore/ops/operations/_sequence_ops.py +1 -1
  302. mindspore/ops/operations/_tensor_array.py +1 -1
  303. mindspore/ops/operations/array_ops.py +39 -24
  304. mindspore/ops/operations/comm_ops.py +150 -107
  305. mindspore/ops/operations/custom_ops.py +287 -32
  306. mindspore/ops/operations/debug_ops.py +119 -16
  307. mindspore/ops/operations/inner_ops.py +1 -1
  308. mindspore/ops/operations/linalg_ops.py +1 -58
  309. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  310. mindspore/ops/operations/manually_defined/ops_def.py +746 -79
  311. mindspore/ops/operations/math_ops.py +21 -18
  312. mindspore/ops/operations/nn_ops.py +67 -224
  313. mindspore/ops/operations/other_ops.py +62 -9
  314. mindspore/ops/operations/random_ops.py +13 -7
  315. mindspore/ops/operations/reshard_ops.py +1 -1
  316. mindspore/ops/operations/sparse_ops.py +2 -2
  317. mindspore/ops/primitive.py +43 -32
  318. mindspore/ops/tensor_method.py +243 -17
  319. mindspore/ops_generate/__init__.py +0 -5
  320. mindspore/ops_generate/aclnn/__init__.py +0 -0
  321. mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
  322. mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
  323. mindspore/ops_generate/api/__init__.py +0 -0
  324. mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
  325. mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
  326. mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
  327. mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
  328. mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
  329. mindspore/ops_generate/api/gen_api.py +103 -0
  330. mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
  331. mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
  332. mindspore/ops_generate/common/__init__.py +0 -0
  333. mindspore/ops_generate/common/gen_constants.py +91 -0
  334. mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
  335. mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
  336. mindspore/ops_generate/{template.py → common/template.py} +96 -84
  337. mindspore/ops_generate/gen_ops.py +23 -325
  338. mindspore/ops_generate/op_def/__init__.py +0 -0
  339. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  340. mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
  341. mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -10
  342. mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
  343. mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
  344. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  345. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  346. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  347. mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
  348. mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
  349. mindspore/ops_generate/pyboost/__init__.py +0 -0
  350. mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
  351. mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
  352. mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
  353. mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
  354. mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
  355. mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
  356. mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
  357. mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
  358. mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
  359. mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
  360. mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
  361. mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
  362. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
  363. mindspore/ops_generate/resources/__init__.py +0 -0
  364. mindspore/ops_generate/resources/resource_list.py +30 -0
  365. mindspore/ops_generate/resources/resource_loader.py +36 -0
  366. mindspore/ops_generate/resources/resource_manager.py +64 -0
  367. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  368. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  369. mindspore/parallel/__init__.py +6 -2
  370. mindspore/parallel/_auto_parallel_context.py +140 -12
  371. mindspore/parallel/_cell_wrapper.py +132 -15
  372. mindspore/parallel/_parallel_serialization.py +95 -4
  373. mindspore/parallel/_ps_context.py +1 -1
  374. mindspore/parallel/_recovery_context.py +7 -2
  375. mindspore/parallel/_tensor.py +142 -18
  376. mindspore/parallel/_utils.py +198 -25
  377. mindspore/parallel/algo_parameter_config.py +3 -3
  378. mindspore/parallel/auto_parallel.py +732 -0
  379. mindspore/parallel/checkpoint_convert.py +159 -0
  380. mindspore/parallel/checkpoint_transform.py +658 -37
  381. mindspore/parallel/cluster/process_entity/_api.py +151 -19
  382. mindspore/parallel/cluster/run.py +1 -1
  383. mindspore/parallel/function/__init__.py +24 -0
  384. mindspore/parallel/function/reshard_func.py +258 -0
  385. mindspore/parallel/nn/__init__.py +25 -0
  386. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  387. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  388. mindspore/parallel/parameter_broadcast.py +24 -13
  389. mindspore/parallel/shard.py +137 -62
  390. mindspore/parallel/transform_safetensors.py +288 -95
  391. mindspore/pgodb140.dll +0 -0
  392. mindspore/pgort140.dll +0 -0
  393. mindspore/profiler/__init__.py +9 -5
  394. mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
  395. mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
  396. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
  397. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +25 -0
  398. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  399. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
  400. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
  401. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
  402. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
  403. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
  404. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
  405. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
  406. mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
  407. mindspore/profiler/common/constant.py +12 -0
  408. mindspore/profiler/common/msprof_cmd_tool.py +42 -23
  409. mindspore/profiler/common/path_manager.py +24 -0
  410. mindspore/profiler/common/profiler_context.py +26 -2
  411. mindspore/profiler/common/profiler_meta_data.py +74 -0
  412. mindspore/profiler/common/profiler_parameters.py +59 -18
  413. mindspore/profiler/common/profiler_path_manager.py +66 -7
  414. mindspore/profiler/dynamic_profiler.py +112 -79
  415. mindspore/profiler/envprofiler.py +26 -1
  416. mindspore/profiler/experimental_config.py +197 -0
  417. mindspore/profiler/mstx.py +57 -14
  418. mindspore/profiler/platform/npu_profiler.py +33 -7
  419. mindspore/profiler/profiler.py +541 -45
  420. mindspore/profiler/profiler_action_controller.py +1 -1
  421. mindspore/profiler/profiler_interface.py +4 -0
  422. mindspore/profiler/schedule.py +57 -22
  423. mindspore/rewrite/api/node.py +15 -13
  424. mindspore/rewrite/api/symbol_tree.py +1 -1
  425. mindspore/run_check/_check_version.py +25 -14
  426. mindspore/run_check/run_check.py +1 -1
  427. mindspore/runtime/__init__.py +2 -2
  428. mindspore/runtime/executor.py +40 -11
  429. mindspore/runtime/memory.py +37 -13
  430. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  431. mindspore/swresample-4.dll +0 -0
  432. mindspore/swscale-6.dll +0 -0
  433. mindspore/tbbmalloc.dll +0 -0
  434. mindspore/tinyxml2.dll +0 -0
  435. mindspore/train/__init__.py +8 -8
  436. mindspore/train/_utils.py +43 -9
  437. mindspore/train/amp.py +1 -1
  438. mindspore/train/callback/__init__.py +2 -2
  439. mindspore/train/callback/_callback.py +2 -16
  440. mindspore/train/callback/_checkpoint.py +24 -40
  441. mindspore/train/callback/_cluster_monitor.py +14 -18
  442. mindspore/train/callback/_flops_collector.py +2 -3
  443. mindspore/train/callback/_history.py +7 -4
  444. mindspore/train/callback/_lambda_callback.py +2 -2
  445. mindspore/train/callback/_landscape.py +0 -3
  446. mindspore/train/callback/_loss_monitor.py +2 -1
  447. mindspore/train/callback/_on_request_exit.py +6 -5
  448. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  449. mindspore/train/callback/_summary_collector.py +8 -13
  450. mindspore/train/callback/_time_monitor.py +2 -1
  451. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -105
  452. mindspore/train/data_sink.py +25 -2
  453. mindspore/train/dataset_helper.py +4 -5
  454. mindspore/train/loss_scale_manager.py +8 -7
  455. mindspore/train/metrics/accuracy.py +3 -3
  456. mindspore/train/metrics/confusion_matrix.py +9 -9
  457. mindspore/train/metrics/error.py +3 -3
  458. mindspore/train/metrics/hausdorff_distance.py +4 -4
  459. mindspore/train/metrics/mean_surface_distance.py +3 -3
  460. mindspore/train/metrics/metric.py +0 -12
  461. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  462. mindspore/train/metrics/precision.py +8 -6
  463. mindspore/train/metrics/recall.py +9 -9
  464. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  465. mindspore/train/mind_ir_pb2.py +19 -12
  466. mindspore/train/model.py +262 -127
  467. mindspore/train/serialization.py +246 -988
  468. mindspore/train/summary/_summary_adapter.py +2 -2
  469. mindspore/train/summary/summary_record.py +1 -1
  470. mindspore/turbojpeg.dll +0 -0
  471. mindspore/utils/__init__.py +3 -2
  472. mindspore/utils/dryrun.py +4 -2
  473. mindspore/utils/hooks.py +81 -0
  474. mindspore/utils/runtime_execution_order_check.py +2 -0
  475. mindspore/utils/utils.py +138 -4
  476. mindspore/vcmeta.dll +0 -0
  477. mindspore/vcruntime140.dll +0 -0
  478. mindspore/vcruntime140_1.dll +0 -0
  479. mindspore/version.py +1 -1
  480. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/METADATA +2 -1
  481. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/RECORD +485 -440
  482. mindspore/_install_custom.py +0 -43
  483. mindspore/common/_register_for_adapter.py +0 -74
  484. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  485. mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
  486. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  487. mindspore/ops_generate/gen_constants.py +0 -190
  488. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  489. mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
  490. /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
  491. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
  492. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +0 -0
  493. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -17,15 +17,16 @@
17
17
  """Providing auto dynamic shape interface methods."""
18
18
 
19
19
  import os
20
+ import math
20
21
  from mindspore import log as logger
21
- from mindspore._c_expression import GraphExecutor_, Tensor
22
+ from mindspore._c_expression import GraphExecutor_, JitExecutor_, TensorPy as Tensor
22
23
  from mindspore.common._utils import is_shape_unknown, is_dim_unknown
23
24
  from mindspore.common.parameter import Parameter
24
25
 
25
26
  SHAPE_DIM_ANY = -1
26
27
  SHAPE_RANK_ANY = -2
27
28
 
28
- auto_dynamic_shepe_dict = {}
29
+ auto_dynamic_shape_dict = {}
29
30
 
30
31
 
31
32
  class _AutoDynamicShapeManager:
@@ -37,8 +38,6 @@ class _AutoDynamicShapeManager:
37
38
  self.generalize_shape_cache = []
38
39
  self.real_phase_and_compile_args_dict = {}
39
40
  self.generalize_phase_and_compile_args_dict = {}
40
- self._graph_executor = GraphExecutor_.get_instance()
41
-
42
41
 
43
42
  def __del__(self):
44
43
  self.real_shape_cache = []
@@ -167,7 +166,8 @@ class _AutoDynamicShapeManager:
167
166
  else:
168
167
  delete_cache = set()
169
168
  delete_cache.add(delete_phase)
170
- self._graph_executor.del_net_res(None, delete_cache)
169
+ GraphExecutor_.get_instance().del_net_res(None, delete_cache)
170
+ JitExecutor_.get_instance().del_net_res(None, delete_cache)
171
171
  del self.generalize_phase_and_compile_args_dict[delete_phase]
172
172
 
173
173
  # step3: delete compile args
@@ -186,8 +186,8 @@ class _AutoDynamicShapeManager:
186
186
  if isinstance(arg, Tensor) and isinstance(cache, Tensor):
187
187
  if not self.is_tensor_equal(arg, cache):
188
188
  return False
189
- elif isinstance(arg, int) and isinstance(cache, int):
190
- if arg != cache:
189
+ elif isinstance(arg, (int, float)) and isinstance(cache, (int, float)):
190
+ if not math.isclose(arg, cache):
191
191
  return False
192
192
  elif isinstance(arg, (tuple, list)) and isinstance(cache, (tuple, list)):
193
193
  if not self._compare_input_args_and_cache_args(arg, cache):
@@ -199,22 +199,19 @@ class _AutoIdentifyDynamicShape:
199
199
  """
200
200
  Represents a function auto identify dynamic shape.
201
201
  """
202
- def __init__(self):
202
+ def __init__(self, auto_dynamic=False):
203
203
  self.all_shape_cache = {}
204
204
  self.is_sink_mode = False
205
- self.is_enable_auto_dynamic_shape = True
205
+ self.is_enable_auto_dynamic_shape = auto_dynamic or os.getenv('MS_AUTO_DYNAMIC_SHAPE_ENABLE') == '1'
206
206
  self.save_cache_number = 3
207
- self.enable_auto_identify = os.getenv('MS_AUTO_DYNAMIC_SHAPE_ENABLE')
208
207
  self.auto_dynamic_shape_manager = _AutoDynamicShapeManager()
209
208
 
210
-
211
209
  def __del__(self):
212
210
  self.all_shape_cache = {}
213
211
  self.is_sink_mode = False
214
212
  self.is_enable_auto_dynamic_shape = True
215
213
  self.save_cache_number = 3
216
214
 
217
-
218
215
  def _check_input_args_number(self, args_list):
219
216
  """check input arg number"""
220
217
  if self.auto_dynamic_shape_manager.get_real_shape_cache_number() > 0:
@@ -223,6 +220,12 @@ class _AutoIdentifyDynamicShape:
223
220
  return False
224
221
  return True
225
222
 
223
+ def _check_input_int_float(self, arg, cache):
224
+ """check arg type is int or float"""
225
+ if (isinstance(arg, int) and not isinstance(cache, int)) or \
226
+ (isinstance(arg, float) and not isinstance(cache, float)):
227
+ return False
228
+ return math.isclose(arg, cache)
226
229
 
227
230
  def _check_input_tensor_type(self, args_list, cache_list):
228
231
  """check input args type"""
@@ -236,19 +239,15 @@ class _AutoIdentifyDynamicShape:
236
239
  res = self._check_input_tensor_type(arg, cache)
237
240
  if not res:
238
241
  return False
239
- elif (isinstance(arg, int) and isinstance(cache, int)) or \
240
- (isinstance(arg, float) and isinstance(cache, float)):
241
- if arg != cache:
242
+ elif isinstance(arg, (int, float)):
243
+ if not self._check_input_int_float(arg, cache):
242
244
  return False
243
245
  elif isinstance(arg, Tensor) and not isinstance(cache, Tensor):
244
246
  return False
245
- elif isinstance(arg, (int, float)) and not isinstance(cache, (int, float)):
246
- return False
247
247
  elif isinstance(arg, (tuple, list)) and not isinstance(cache, (tuple, list)):
248
248
  return False
249
249
  return True
250
250
 
251
-
252
251
  def _check_input_number_and_type(self, args_list):
253
252
  """check input number and type"""
254
253
  res = self._check_input_args_number(args_list)
@@ -262,18 +261,10 @@ class _AutoIdentifyDynamicShape:
262
261
  return False
263
262
  return True
264
263
 
265
-
266
264
  def _is_enable_auto_dynamic_shape(self, args_list, is_sink_mode):
267
265
  """is enable auto identify shape"""
268
266
  if not is_sink_mode and not args_list:
269
267
  return False
270
-
271
- if not self.enable_auto_identify:
272
- self.enable_auto_identify = "0"
273
-
274
- if self.enable_auto_identify == "0":
275
- return False
276
-
277
268
  for elem in args_list:
278
269
  if elem is None:
279
270
  continue
@@ -285,7 +276,6 @@ class _AutoIdentifyDynamicShape:
285
276
  return self._is_enable_auto_dynamic_shape(elem, is_sink_mode)
286
277
  return True
287
278
 
288
-
289
279
  @staticmethod
290
280
  def _do_generalize_in_sink(input_arg, cache, input_index, cache_index, cache_type):
291
281
  """do generalize in sink, input rank must be 2"""
@@ -340,8 +330,9 @@ class _AutoIdentifyDynamicShape:
340
330
 
341
331
  def auto_dynamic_generate_compile_args(self, args_list, is_sink_mode):
342
332
  """generate compile args in auto dynamic shape"""
343
- if not self._check_input_number_and_type(args_list) or \
344
- not self._is_enable_auto_dynamic_shape(args_list, is_sink_mode):
333
+ if not self.is_enable_auto_dynamic_shape or \
334
+ not self._is_enable_auto_dynamic_shape(args_list, is_sink_mode) or \
335
+ not self._check_input_number_and_type(args_list):
345
336
  self.is_enable_auto_dynamic_shape = False
346
337
  return args_list
347
338
  self.is_sink_mode = is_sink_mode
@@ -415,11 +406,12 @@ class _AutoIdentifyDynamicShape:
415
406
  return Tensor(shape=shape_tuple, dtype=arg.dtype)
416
407
 
417
408
  def generalize_sequence(arg, cache, i):
409
+ if not hasattr(arg, "__ms_mutable__"):
410
+ return arg, False
418
411
  if is_sink_mode:
419
412
  # when is_sink_mode=True, input must be the shape of Tensor.
420
413
  res = self._do_generalize_in_sink(arg, cache, i, index, cache_type)
421
414
  return res
422
-
423
415
  res = self._do_generalize_one_input_shape(arg, cache, cache_type, index, is_sink_mode)
424
416
  return res
425
417
 
@@ -437,12 +429,16 @@ class _AutoIdentifyDynamicShape:
437
429
  res = generalize_tensor(arg, cache, i)
438
430
  generalize_one_shape.append(res)
439
431
  elif isinstance(arg, (tuple, list)) and isinstance(cache, (tuple, list)):
440
- res = generalize_sequence(arg, cache, i)
441
- generalize_one_shape.append(res)
442
- elif isinstance(arg, int) and isinstance(cache, int):
432
+ gen_seq_shape, can_generalize = generalize_sequence(arg, cache, i)
433
+ if not can_generalize:
434
+ return input_args, False
435
+ if isinstance(arg, tuple):
436
+ gen_seq_shape = tuple(gen_seq_shape)
437
+ generalize_one_shape.append(gen_seq_shape)
438
+ elif isinstance(arg, (int, float)) and isinstance(cache, (int, float)):
443
439
  # when is_sink_mode=False, the input must may be scalar, or the value of list/tuple.
444
440
  # is_sink_mode can not be True
445
- if arg == cache:
441
+ if math.isclose(arg, cache):
446
442
  generalize_one_shape.append(arg)
447
443
  else:
448
444
  logger.info("In auto dynamic shape mode, scalar/tuple/list must be equal, it can not be " \
@@ -479,29 +475,30 @@ class _AutoIdentifyDynamicShape:
479
475
  _auto_dynamic_shape = _AutoIdentifyDynamicShape()
480
476
 
481
477
 
482
- def get_auto_dynamic_shape_args(compile_args, key_id):
478
+ def get_auto_dynamic_shape_args(compile_args, key_id, enable_auto_dynamic=False):
483
479
  """get auto dynamic shape args."""
484
- if key_id not in auto_dynamic_shepe_dict:
485
- auto_dynamic_shepe_dict[key_id] = _AutoIdentifyDynamicShape()
486
- compile_args = auto_dynamic_shepe_dict[key_id].auto_dynamic_generate_compile_args(compile_args, False)
480
+ if key_id not in auto_dynamic_shape_dict:
481
+ auto_dynamic_shape_dict[key_id] = _AutoIdentifyDynamicShape(enable_auto_dynamic)
482
+ compile_args = auto_dynamic_shape_dict[key_id].auto_dynamic_generate_compile_args(compile_args, False)
487
483
  return compile_args
488
484
 
489
485
 
490
486
  def update_auto_dynamic_shape_phase(compile_args, key_id, phase):
491
487
  """update auto dynamic shape phase."""
492
- if key_id in auto_dynamic_shepe_dict:
493
- auto_dynamic_shepe_dict[key_id].update_phase_and_compile_args(compile_args, phase, False)
488
+ if key_id in auto_dynamic_shape_dict:
489
+ auto_dynamic_shape_dict[key_id].update_phase_and_compile_args(compile_args, phase, False)
494
490
 
495
491
 
496
- def get_auto_dynamic_shape_args_with_check_input_signature(compile_args, key_id, input_signature):
492
+ def get_auto_dynamic_shape_args_with_check_input_signature(compile_args, key_id, input_signature,
493
+ enable_auto_dynamic=False):
497
494
  """get auto dynamic shape args."""
498
495
  if input_signature is None:
499
- return get_auto_dynamic_shape_args(compile_args, key_id)
496
+ return get_auto_dynamic_shape_args(compile_args, key_id, enable_auto_dynamic)
500
497
  return compile_args
501
498
 
502
499
 
503
500
  def update_auto_dynamic_shape_phase_with_check_input_signature(compile_args, key_id, phase, input_signature):
504
501
  """update auto dynamic shape phase."""
505
502
  if input_signature is None:
506
- if key_id in auto_dynamic_shepe_dict:
507
- auto_dynamic_shepe_dict[key_id].update_phase_and_compile_args(compile_args, phase, False)
503
+ if key_id in auto_dynamic_shape_dict:
504
+ auto_dynamic_shape_dict[key_id].update_phase_and_compile_args(compile_args, phase, False)
mindspore/common/dtype.py CHANGED
@@ -279,8 +279,11 @@ def dtype_to_nptype(type_):
279
279
  complex64: np.complex64,
280
280
  complex128: np.complex128,
281
281
  }
282
- if np_version_valid(False):
283
- _dtype_nptype_dict.update({bfloat16: np_bfloat16})
282
+ if type_ == bfloat16:
283
+ if not np_version_valid(True):
284
+ raise TypeError("The Numpy bfloat16 data type is not supported now, please ensure that the current "
285
+ "Numpy version is not less than the version when the mindspore is compiled.")
286
+ return np_bfloat16
284
287
  return _dtype_nptype_dict[type_]
285
288
 
286
289
 
mindspore/common/dump.py CHANGED
@@ -27,17 +27,19 @@ def set_dump(target, enabled=True):
27
27
  `target` should be an instance of :class:`mindspore.nn.Cell` or :class:`mindspore.ops.Primitive` .
28
28
  Please note that this API takes effect only when Synchronous Dump is enabled and the `dump_mode`
29
29
  field in dump config file is ``"2"`` . See the `dump document
30
- <https://www.mindspore.cn/docs/en/master/model_train/debug/dump.html>`_ for details.
30
+ <https://www.mindspore.cn/tutorials/en/master/debug/dump.html>`_ for details.
31
31
  The default enabled status for
32
32
  a :class:`mindspore.nn.Cell` or :class:`mindspore.ops.Primitive` is False.
33
33
 
34
34
  Note:
35
- 1. This API only supports being called before training starts.
35
+ 1. This API is only effective for GRAPH_MODE whose graph compilation level is O0/O1 with Ascend backend,
36
+ and can not work for fusion Primitive operators.
37
+ 2. This API only supports being called before training starts.
36
38
  If you call this API during training, it may not be effective.
37
- 2. After using `set_dump(Cell, True)` , operators in forward and backward
39
+ 3. After using `set_dump(Cell, True)` , operators in forward and backward
38
40
  computation (computation generated by the grad operations) of the
39
41
  cell will be dumped.
40
- 3. For :class:`mindspore.nn.SoftmaxCrossEntropyWithLogits` layer, the forward
42
+ 4. For :class:`mindspore.nn.SoftmaxCrossEntropyWithLogits` layer, the forward
41
43
  computation and backward computation use the same set of
42
44
  operators. So you can only see dump data from backward computation.
43
45
  Please note that :class:`mindspore.nn.SoftmaxCrossEntropyWithLogits` layer will also use
@@ -57,7 +59,7 @@ def set_dump(target, enabled=True):
57
59
  .. note::
58
60
  Please set environment variable `MINDSPORE_DUMP_CONFIG` to the dump config file and set `dump_mode` field
59
61
  in dump config file to 2 before running this example.
60
- See `dump document <https://www.mindspore.cn/docs/en/master/model_train/debug/dump.html>`_ for details.
62
+ See `dump document <https://www.mindspore.cn/tutorials/en/master/debug/dump.html>`_ for details.
61
63
 
62
64
  >>> import numpy as np
63
65
  >>> import mindspore as ms
@@ -23,6 +23,7 @@ class FileSystem:
23
23
  self.create_args = ("ab",)
24
24
  self.open = open
25
25
  self.open_args = ("rb",)
26
+ self.backend = "basic"
26
27
 
27
28
 
28
29
  def _register_basic_file_system(fs: FileSystem):
@@ -52,4 +53,6 @@ def _register_mindio_file_system(fs: FileSystem):
52
53
  fs.create_args = ()
53
54
  fs.open = mindio.open_file
54
55
  fs.open_args = ()
56
+ fs.backend = "mindio"
57
+ logger.info("The weights are stored using MindIO as the backend.")
55
58
  return True
@@ -56,6 +56,9 @@ class Generator:
56
56
  A generator that manages the state of random numbers and provides seed and offset for random functions.
57
57
  When the seed and offset are fixed, the random function generates the same random sequence.
58
58
 
59
+ .. note::
60
+ Graph mode does not support the use of multiple generators at the same time for now.
61
+
59
62
  Supported Platforms:
60
63
  ``Ascend`` ``GPU`` ``CPU``
61
64
 
@@ -15,7 +15,7 @@
15
15
  """The removable handle for cell hook function."""
16
16
  from __future__ import absolute_import
17
17
  import weakref
18
- from mindspore._c_expression import Tensor as Tensor_
18
+ from mindspore._c_expression import TensorPy as Tensor_
19
19
 
20
20
 
21
21
  class _TensorHookHandle:
@@ -31,7 +31,7 @@ class _TensorHookHandle:
31
31
 
32
32
  def __init__(self, tensor):
33
33
  self.id = None
34
- self.tensor = tensor
34
+ self.tensor_ref = weakref.ref(tensor)
35
35
 
36
36
  def remove(self):
37
37
  """
@@ -67,7 +67,9 @@ class _TensorHookHandle:
67
67
  """
68
68
  if self.id is not None:
69
69
  Tensor_.remove_hook(self.id)
70
- self.tensor._remove_hook() # pylint:disable=protected-access
70
+ tensor = self.tensor_ref()
71
+ if tensor is not None:
72
+ tensor._remove_hook() # pylint:disable=protected-access
71
73
 
72
74
 
73
75
  class HookHandle:
@@ -369,9 +369,9 @@ class HeUniform(Initializer):
369
369
  .. math::
370
370
  boundary = \text{gain} \times \sqrt{\frac{3}{fan\_mode}}
371
371
 
372
- where :math:`gain` is an optional scaling factor. If :math:`fan\_mode` is ``'fan_in'``,
373
- it is the number of input units of the weight tensor. If :math:`fan\_mode` is ``'fan_out'``,
374
- it is the number of output units of the weight tensor.
372
+ where :math:`gain` is an optional scaling factor. If `mode` is ``'fan_in'``,
373
+ :math:`fan\_mode` in the formula is the number of input units of the weight tensor. If `mode` is ``'fan_out'``,
374
+ :math:`fan\_mode` is the number of output units of the weight tensor.
375
375
 
376
376
  For details of HeUniform algorithm, please check
377
377
  `<https://arxiv.org/abs/1502.01852>`_.
@@ -651,12 +651,16 @@ class Orthogonal(Initializer):
651
651
  class VarianceScaling(Initializer):
652
652
  r"""
653
653
  Generates an random array with scaling in order to initialize a tensor.
654
+
654
655
  When `distribution` is 'truncated_normal' or 'untruncated_normal', the value will be sampled from truncated or
655
656
  untruncated normal distribution with a mean of 0 and a scaled standard deviation
656
- :math:`stddev = \sqrt{\frac{scale}{n}}`. :math:`n` will be the number of input units if `mode` is ``'fan_in'``,
657
+ :math:`stddev = \sqrt{\frac{scale}{n}}`.
658
+
659
+ :math:`n` will be the number of input units if `mode` is ``'fan_in'``,
657
660
  while :math:`n` will be
658
661
  the number of output units if `mode` is ``'fan_out'``. :math:`n` will be the average of ``'fan_in'``
659
662
  and ``'fan_out'`` if `mode` is ``'fan_avg'``.
663
+
660
664
  When `distribution` is ``'uniform'``, the value will be sampled from a uniform distribution within the limit of
661
665
  :math:`[-\sqrt{\frac{3*scale}{n}}, \sqrt{\frac{3*scale}{n}}]`.
662
666
 
@@ -825,6 +829,8 @@ def initializer(init, shape=None, dtype=mstype.float32):
825
829
  Args:
826
830
  init (Union[Tensor, str, Initializer, numbers.Number]): Initialize value.
827
831
 
832
+ - `Tensor`: The tensor will be called to initialize tensor.
833
+
828
834
  - `str`: The `init` should be the alias of the class inheriting from `Initializer` and the corresponding
829
835
  class will be called in practice. The value of `init` can be ``"normal"``, ``"ones"`` or
830
836
  ``"zeros"``, etc.
@@ -833,8 +839,6 @@ def initializer(init, shape=None, dtype=mstype.float32):
833
839
 
834
840
  - `numbers.Number`: The `Constant` will be called to initialize tensor.
835
841
 
836
- - `Tensor`: The tensor will be called to initialize tensor.
837
-
838
842
  shape (Union[tuple, list, int]): The shape of the initialized tensor. Default: ``None`` .
839
843
  dtype (:class:`mindspore.dtype`): The type of data in initialized tensor. Default: ``mstype.float32`` .
840
844
 
@@ -0,0 +1,94 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """JIT begin/end for various JIT context compile."""
17
+
18
+ from .jit_trace import _jit_trace_begin, _jit_trace_end
19
+
20
+
21
+ def _jit_begin(fn_name, *args):
22
+ """
23
+ Start to build a MindIR func graph for a code snippet.
24
+
25
+ This allows the MindSpore runtime to apply optimizations based on generated func graph.
26
+
27
+ Note:
28
+ Use it with `jit_end` cooperatively.
29
+
30
+ Also see: :func:`jit_end`.
31
+
32
+ Args:
33
+ fn_name (str): The name of func graph to be built.
34
+ args (tuple): The arguments of func graph.
35
+
36
+ Supported Platforms:
37
+ ``Ascend`` ``GPU`` ``CPU``
38
+
39
+ Examples:
40
+ >>> import numpy as np
41
+ >>> from mindspore import Tensor
42
+ >>> from mindspore.common.jit_begin_end import _jit_begin as jit_begin
43
+ >>> from mindspore.common.jit_begin_end import _jit_end as jit_end
44
+ ...
45
+ >>> x = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
46
+ >>> y = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
47
+ >>> def tensor_add(x, y):
48
+ ... jit_begin(x, y)
49
+ ... z = x + y
50
+ ... z = jit_end(z)
51
+ ... return z
52
+ ...
53
+ >>> out = tensor_add(x, y)
54
+ """
55
+ return _jit_trace_begin(fn_name, *args)
56
+
57
+
58
+ def _jit_end(*output_args):
59
+ """
60
+ Finish building a MindIR func graph for a code snippet.
61
+
62
+ This allows the MindSpore runtime to apply optimizations based on generated func graph.
63
+
64
+ Note:
65
+ Use it with `jit_begin` cooperatively.
66
+
67
+ Also see: :func:`jit_begin`.
68
+
69
+ Args:
70
+ output_args (tuple): The output of func graph.
71
+
72
+ Returns:
73
+ The same as args `output_args`.
74
+
75
+ Supported Platforms:
76
+ ``Ascend`` ``GPU`` ``CPU``
77
+
78
+ Examples:
79
+ >>> import numpy as np
80
+ >>> from mindspore import Tensor
81
+ >>> from mindspore.common.jit_begin_end import _jit_begin as jit_begin
82
+ >>> from mindspore.common.jit_begin_end import _jit_end as jit_end
83
+ ...
84
+ >>> x = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
85
+ >>> y = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
86
+ >>> def tensor_add(x, y):
87
+ ... jit_begin(x, y)
88
+ ... z = x + y
89
+ ... z = jit_end(z)
90
+ ... return z
91
+ ...
92
+ >>> out = tensor_add(x, y)
93
+ """
94
+ return _jit_trace_end(*output_args)
@@ -21,7 +21,7 @@ class JitConfig:
21
21
  Args:
22
22
  jit_level (str, optional): Used to control the compilation optimization level.
23
23
  Supports ["O0", "O1", "O2"]. Default: ``""`` , The framework automatically selects the execution method.
24
- Not recommended, it is recommended to use the jit decorator.
24
+ Not recommended, it is recommended to use the JIT decorator.
25
25
 
26
26
  - ``"O0"``: Except for optimizations that may affect functionality, all other optimizations are turned off,
27
27
  adopt KernelByKernel execution mode.
@@ -96,3 +96,8 @@ class JitConfig:
96
96
  self.jit_config_dict["jit_syntax_level"] = jit_syntax_level
97
97
  self.jit_config_dict["debug_level"] = debug_level
98
98
  self.jit_config_dict["infer_boost"] = infer_boost
99
+ if "backend" not in self.jit_config_dict:
100
+ if jit_level == "O0" or jit_level == "O1":
101
+ self.jit_config_dict["backend"] = "ms_backend"
102
+ elif jit_level == "O2":
103
+ self.jit_config_dict["backend"] = "GE"
@@ -0,0 +1,76 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """JIT Context for various JIT compile."""
17
+
18
+
19
+ class JitContext():
20
+ """JIT context"""
21
+ def __init__(self):
22
+ self._compiled = False
23
+ self._result = None
24
+ self._phase = None
25
+ self._args = None
26
+
27
+ def run_op(self, prim, prim_res, *args):
28
+ raise AttributeError("For 'JitContext', the method 'run_op' is not defined.")
29
+
30
+ @property
31
+ def compiled(self):
32
+ return self._compiled
33
+
34
+ @compiled.setter
35
+ def compiled(self, value):
36
+ if not isinstance(value, bool):
37
+ raise TypeError(f"For 'JitContext', the property 'compiled' must be bool type, but got type {type(value)}.")
38
+ self._compiled = value
39
+
40
+ @property
41
+ def result(self):
42
+ return self._result
43
+
44
+ @result.setter
45
+ def result(self, value):
46
+ self._result = value
47
+
48
+ @property
49
+ def phase(self):
50
+ return self._phase
51
+
52
+ @phase.setter
53
+ def phase(self, value):
54
+ if not isinstance(value, str):
55
+ raise TypeError(f"For 'JitContext', the property 'phase' must be str type, but got type {type(value)}.")
56
+ self._phase = value
57
+
58
+ @property
59
+ def args(self):
60
+ return self._args
61
+
62
+ @args.setter
63
+ def args(self, value):
64
+ self._args = value
65
+
66
+
67
+ _jit_context = None
68
+
69
+
70
+ def set_jit_context(new_jit_context):
71
+ global _jit_context
72
+ _jit_context = new_jit_context
73
+
74
+
75
+ def jit_context():
76
+ return _jit_context