mindspore 2.4.10__cp311-cp311-win_amd64.whl → 2.6.0rc1__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 (602) 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 +13 -6
  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/_check_jit_forbidden_api.py +3 -0
  9. mindspore/_checkparam.py +3 -38
  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/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  14. mindspore/_extends/parse/__init__.py +6 -7
  15. mindspore/_extends/parse/compile_config.py +83 -0
  16. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  17. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
  18. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  19. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  20. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  21. mindspore/_extends/parse/parser.py +46 -197
  22. mindspore/_extends/parse/resources.py +1 -5
  23. mindspore/_extends/parse/standard_method.py +217 -98
  24. mindspore/_extends/pijit/__init__.py +2 -2
  25. mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
  26. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  27. mindspore/_extends/utils.py +1 -1
  28. mindspore/amp.py +11 -5
  29. mindspore/atlprov.dll +0 -0
  30. mindspore/avcodec-59.dll +0 -0
  31. mindspore/avdevice-59.dll +0 -0
  32. mindspore/avfilter-8.dll +0 -0
  33. mindspore/avformat-59.dll +0 -0
  34. mindspore/avutil-57.dll +0 -0
  35. mindspore/boost/__init__.py +2 -2
  36. mindspore/boost/base.py +3 -7
  37. mindspore/boost/boost_cell_wrapper.py +138 -43
  38. mindspore/c1.dll +0 -0
  39. mindspore/c1xx.dll +0 -0
  40. mindspore/c2.dll +0 -0
  41. mindspore/common/__init__.py +6 -3
  42. mindspore/common/_grad_function.py +56 -0
  43. mindspore/common/_pijit_context.py +14 -5
  44. mindspore/common/_register_for_tensor.py +1 -2
  45. mindspore/common/_stub_tensor.py +30 -14
  46. mindspore/common/_tensor_cpp_method.py +17 -0
  47. mindspore/common/_tensor_docs.py +4760 -0
  48. mindspore/common/api.py +435 -371
  49. mindspore/common/auto_dynamic_shape.py +41 -44
  50. mindspore/common/dtype.py +39 -36
  51. mindspore/common/dump.py +9 -6
  52. mindspore/common/file_system.py +9 -1
  53. mindspore/common/generator.py +2 -0
  54. mindspore/common/hook_handle.py +6 -2
  55. mindspore/common/initializer.py +13 -10
  56. mindspore/common/jit_begin_end.py +94 -0
  57. mindspore/common/jit_config.py +6 -1
  58. mindspore/common/jit_context.py +76 -0
  59. mindspore/common/jit_trace.py +378 -0
  60. mindspore/common/lazy_inline.py +9 -3
  61. mindspore/common/mindir_util.py +10 -2
  62. mindspore/common/mutable.py +5 -4
  63. mindspore/common/parameter.py +135 -52
  64. mindspore/common/seed.py +2 -2
  65. mindspore/common/sparse_tensor.py +23 -17
  66. mindspore/common/tensor.py +951 -1992
  67. mindspore/communication/__init__.py +7 -5
  68. mindspore/communication/_comm_helper.py +52 -2
  69. mindspore/communication/comm_func.py +240 -181
  70. mindspore/communication/management.py +95 -26
  71. mindspore/context.py +314 -566
  72. mindspore/dataset/__init__.py +65 -37
  73. mindspore/dataset/audio/__init__.py +2 -8
  74. mindspore/dataset/audio/transforms.py +3 -17
  75. mindspore/dataset/callback/ds_callback.py +2 -1
  76. mindspore/dataset/core/config.py +87 -6
  77. mindspore/dataset/engine/cache_admin.py +3 -3
  78. mindspore/dataset/engine/cache_client.py +6 -5
  79. mindspore/dataset/engine/datasets.py +292 -267
  80. mindspore/dataset/engine/datasets_audio.py +22 -8
  81. mindspore/dataset/engine/datasets_standard_format.py +46 -27
  82. mindspore/dataset/engine/datasets_text.py +78 -48
  83. mindspore/dataset/engine/datasets_user_defined.py +182 -116
  84. mindspore/dataset/engine/datasets_vision.py +120 -44
  85. mindspore/dataset/engine/iterators.py +283 -63
  86. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  87. mindspore/dataset/engine/obs/util.py +8 -0
  88. mindspore/dataset/engine/queue.py +40 -0
  89. mindspore/dataset/engine/samplers.py +289 -43
  90. mindspore/dataset/engine/serializer_deserializer.py +3 -2
  91. mindspore/dataset/engine/validators.py +53 -11
  92. mindspore/dataset/text/__init__.py +7 -6
  93. mindspore/dataset/text/transforms.py +6 -5
  94. mindspore/dataset/text/utils.py +3 -3
  95. mindspore/dataset/transforms/__init__.py +0 -9
  96. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  97. mindspore/dataset/transforms/transforms.py +31 -14
  98. mindspore/dataset/utils/browse_dataset.py +1 -1
  99. mindspore/dataset/vision/__init__.py +2 -9
  100. mindspore/dataset/vision/transforms.py +202 -158
  101. mindspore/dataset/vision/utils.py +7 -5
  102. mindspore/dataset/vision/validators.py +1 -2
  103. mindspore/device_context/__init__.py +21 -0
  104. mindspore/device_context/ascend/__init__.py +25 -0
  105. mindspore/device_context/ascend/device.py +72 -0
  106. mindspore/device_context/ascend/op_debug.py +153 -0
  107. mindspore/device_context/ascend/op_precision.py +193 -0
  108. mindspore/device_context/ascend/op_tuning.py +123 -0
  109. mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
  110. mindspore/device_context/cpu/device.py +62 -0
  111. mindspore/device_context/cpu/op_tuning.py +43 -0
  112. mindspore/device_context/gpu/__init__.py +21 -0
  113. mindspore/device_context/gpu/device.py +70 -0
  114. mindspore/device_context/gpu/op_precision.py +67 -0
  115. mindspore/device_context/gpu/op_tuning.py +175 -0
  116. mindspore/device_manager.py +170 -0
  117. mindspore/dnnl.dll +0 -0
  118. mindspore/dpcmi.dll +0 -0
  119. mindspore/experimental/es/embedding_service.py +35 -27
  120. mindspore/experimental/llm_boost/__init__.py +1 -0
  121. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  122. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
  123. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  124. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  125. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  126. mindspore/experimental/llm_boost/register.py +1 -0
  127. mindspore/experimental/map_parameter.py +4 -4
  128. mindspore/experimental/optim/adadelta.py +6 -6
  129. mindspore/experimental/optim/adagrad.py +4 -4
  130. mindspore/experimental/optim/adam.py +7 -0
  131. mindspore/experimental/optim/adamax.py +4 -4
  132. mindspore/experimental/optim/adamw.py +4 -0
  133. mindspore/experimental/optim/asgd.py +1 -1
  134. mindspore/experimental/optim/lr_scheduler.py +73 -46
  135. mindspore/experimental/optim/radam.py +34 -31
  136. mindspore/experimental/optim/rprop.py +1 -1
  137. mindspore/experimental/optim/sgd.py +1 -1
  138. mindspore/hal/contiguous_tensors_handle.py +6 -10
  139. mindspore/hal/device.py +55 -53
  140. mindspore/hal/event.py +52 -52
  141. mindspore/hal/memory.py +157 -117
  142. mindspore/hal/stream.py +150 -109
  143. mindspore/include/api/context.h +0 -1
  144. mindspore/include/dataset/constants.h +7 -4
  145. mindspore/include/dataset/execute.h +2 -2
  146. mindspore/jpeg62.dll +0 -0
  147. mindspore/log.py +50 -0
  148. mindspore/mindrecord/__init__.py +21 -8
  149. mindspore/mindrecord/config.py +17 -316
  150. mindspore/mindrecord/filereader.py +1 -9
  151. mindspore/mindrecord/filewriter.py +5 -15
  152. mindspore/mindrecord/mindpage.py +1 -9
  153. mindspore/mindspore_backend_common.dll +0 -0
  154. mindspore/mindspore_backend_manager.dll +0 -0
  155. mindspore/mindspore_common.dll +0 -0
  156. mindspore/mindspore_core.dll +0 -0
  157. mindspore/mindspore_dump.dll +0 -0
  158. mindspore/mindspore_frontend.dll +0 -0
  159. mindspore/mindspore_glog.dll +0 -0
  160. mindspore/mindspore_memory_pool.dll +0 -0
  161. mindspore/mindspore_ms_backend.dll +0 -0
  162. mindspore/mindspore_ops.dll +0 -0
  163. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  164. mindspore/mindspore_ops_kernel_common.dll +0 -0
  165. mindspore/mindspore_profiler.dll +0 -0
  166. mindspore/mindspore_pyboost.dll +0 -0
  167. mindspore/mindspore_pynative.dll +0 -0
  168. mindspore/mindspore_res_manager.dll +0 -0
  169. mindspore/mindspore_runtime_pipeline.dll +0 -0
  170. mindspore/mint/__init__.py +796 -759
  171. mindspore/mint/distributed/__init__.py +70 -4
  172. mindspore/mint/distributed/distributed.py +2679 -44
  173. mindspore/mint/linalg/__init__.py +8 -0
  174. mindspore/mint/nn/__init__.py +743 -22
  175. mindspore/mint/nn/functional.py +716 -23
  176. mindspore/mint/nn/layer/__init__.py +21 -4
  177. mindspore/mint/nn/layer/_functions.py +334 -0
  178. mindspore/mint/nn/layer/activation.py +276 -1
  179. mindspore/mint/nn/layer/basic.py +123 -0
  180. mindspore/mint/nn/layer/conv.py +921 -0
  181. mindspore/mint/nn/layer/normalization.py +223 -28
  182. mindspore/mint/nn/layer/padding.py +797 -0
  183. mindspore/mint/nn/layer/pooling.py +235 -0
  184. mindspore/mint/optim/__init__.py +3 -1
  185. mindspore/mint/optim/adam.py +223 -0
  186. mindspore/mint/optim/adamw.py +26 -19
  187. mindspore/mint/optim/sgd.py +171 -0
  188. mindspore/mint/special/__init__.py +2 -1
  189. mindspore/msobj140.dll +0 -0
  190. mindspore/mspdb140.dll +0 -0
  191. mindspore/mspdbcore.dll +0 -0
  192. mindspore/mspdbst.dll +0 -0
  193. mindspore/mspft140.dll +0 -0
  194. mindspore/msvcdis140.dll +0 -0
  195. mindspore/msvcp140_1.dll +0 -0
  196. mindspore/msvcp140_2.dll +0 -0
  197. mindspore/msvcp140_atomic_wait.dll +0 -0
  198. mindspore/msvcp140_codecvt_ids.dll +0 -0
  199. mindspore/multiprocessing/__init__.py +5 -0
  200. mindspore/nn/__init__.py +4 -1
  201. mindspore/nn/cell.py +1370 -189
  202. mindspore/nn/dynamic_lr.py +2 -1
  203. mindspore/nn/layer/activation.py +29 -27
  204. mindspore/nn/layer/basic.py +51 -35
  205. mindspore/nn/layer/channel_shuffle.py +3 -3
  206. mindspore/nn/layer/container.py +1 -1
  207. mindspore/nn/layer/conv.py +22 -17
  208. mindspore/nn/layer/embedding.py +12 -11
  209. mindspore/nn/layer/normalization.py +56 -49
  210. mindspore/nn/layer/padding.py +4 -3
  211. mindspore/nn/layer/pooling.py +120 -42
  212. mindspore/nn/layer/rnn_cells.py +1 -1
  213. mindspore/nn/layer/rnns.py +2 -1
  214. mindspore/nn/layer/timedistributed.py +5 -5
  215. mindspore/nn/layer/transformer.py +59 -36
  216. mindspore/nn/learning_rate_schedule.py +8 -4
  217. mindspore/nn/loss/loss.py +58 -55
  218. mindspore/nn/optim/ada_grad.py +7 -5
  219. mindspore/nn/optim/adadelta.py +11 -9
  220. mindspore/nn/optim/adafactor.py +1 -1
  221. mindspore/nn/optim/adam.py +17 -13
  222. mindspore/nn/optim/adamax.py +8 -7
  223. mindspore/nn/optim/adasum.py +5 -5
  224. mindspore/nn/optim/asgd.py +1 -1
  225. mindspore/nn/optim/ftrl.py +11 -9
  226. mindspore/nn/optim/lamb.py +1 -1
  227. mindspore/nn/optim/lars.py +1 -4
  228. mindspore/nn/optim/lazyadam.py +12 -10
  229. mindspore/nn/optim/momentum.py +7 -6
  230. mindspore/nn/optim/optimizer.py +3 -3
  231. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  232. mindspore/nn/optim/rmsprop.py +13 -12
  233. mindspore/nn/optim/rprop.py +11 -9
  234. mindspore/nn/optim/sgd.py +9 -6
  235. mindspore/nn/optim/tft_wrapper.py +5 -2
  236. mindspore/nn/optim/thor.py +2 -1
  237. mindspore/nn/probability/bijector/bijector.py +17 -11
  238. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  239. mindspore/nn/probability/bijector/invert.py +2 -2
  240. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  241. mindspore/nn/probability/bijector/softplus.py +3 -2
  242. mindspore/nn/probability/distribution/beta.py +3 -3
  243. mindspore/nn/probability/distribution/categorical.py +1 -1
  244. mindspore/nn/probability/distribution/cauchy.py +4 -2
  245. mindspore/nn/probability/distribution/exponential.py +6 -7
  246. mindspore/nn/probability/distribution/gamma.py +2 -2
  247. mindspore/nn/probability/distribution/gumbel.py +2 -2
  248. mindspore/nn/probability/distribution/half_normal.py +5 -3
  249. mindspore/nn/probability/distribution/logistic.py +5 -3
  250. mindspore/nn/probability/distribution/poisson.py +1 -1
  251. mindspore/nn/probability/distribution/uniform.py +5 -3
  252. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  253. mindspore/nn/reinforcement/tensor_array.py +1 -1
  254. mindspore/nn/utils/init.py +13 -11
  255. mindspore/nn/wrap/__init__.py +6 -6
  256. mindspore/nn/wrap/cell_wrapper.py +181 -122
  257. mindspore/nn/wrap/grad_reducer.py +45 -36
  258. mindspore/nn/wrap/loss_scale.py +6 -7
  259. mindspore/numpy/array_creations.py +63 -65
  260. mindspore/numpy/array_ops.py +149 -144
  261. mindspore/numpy/logic_ops.py +41 -42
  262. mindspore/numpy/math_ops.py +365 -363
  263. mindspore/numpy/utils.py +17 -18
  264. mindspore/numpy/utils_const.py +5 -6
  265. mindspore/opencv_core452.dll +0 -0
  266. mindspore/opencv_imgcodecs452.dll +0 -0
  267. mindspore/opencv_imgproc452.dll +0 -0
  268. mindspore/ops/__init__.py +5 -3
  269. mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
  270. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
  271. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  272. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  273. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  274. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  275. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  276. mindspore/ops/_register_for_op.py +0 -11
  277. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  278. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
  279. mindspore/ops/_vmap/vmap_array_ops.py +27 -25
  280. mindspore/ops/_vmap/vmap_base.py +0 -2
  281. mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
  282. mindspore/ops/_vmap/vmap_math_ops.py +15 -16
  283. mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
  284. mindspore/ops/auto_generate/__init__.py +4 -3
  285. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +236 -46
  286. mindspore/ops/auto_generate/gen_extend_func.py +764 -124
  287. mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
  288. mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
  289. mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
  290. mindspore/ops/composite/__init__.py +2 -1
  291. mindspore/ops/composite/base.py +20 -25
  292. mindspore/ops/composite/math_ops.py +6 -16
  293. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  294. mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
  295. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  296. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  297. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  298. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  299. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  300. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  301. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  302. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  303. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  304. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  305. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  306. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  307. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  308. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  309. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  310. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  311. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  312. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  313. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  314. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  315. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  316. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  317. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  318. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  319. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  320. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
  321. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  322. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  323. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  324. mindspore/ops/function/__init__.py +40 -2
  325. mindspore/ops/function/_add_attr_func.py +58 -0
  326. mindspore/ops/function/array_func.py +2089 -2403
  327. mindspore/ops/function/clip_func.py +80 -23
  328. mindspore/ops/function/debug_func.py +57 -57
  329. mindspore/ops/function/grad/__init__.py +1 -0
  330. mindspore/ops/function/grad/grad_func.py +104 -71
  331. mindspore/ops/function/image_func.py +2 -2
  332. mindspore/ops/function/linalg_func.py +47 -78
  333. mindspore/ops/function/math_func.py +4501 -3802
  334. mindspore/ops/function/nn_func.py +1726 -620
  335. mindspore/ops/function/other_func.py +159 -1
  336. mindspore/ops/function/parameter_func.py +18 -84
  337. mindspore/ops/function/random_func.py +440 -387
  338. mindspore/ops/function/reshard_func.py +4 -70
  339. mindspore/ops/function/sparse_func.py +3 -3
  340. mindspore/ops/function/sparse_unary_func.py +6 -6
  341. mindspore/ops/function/spectral_func.py +25 -58
  342. mindspore/ops/function/vmap_func.py +24 -17
  343. mindspore/ops/functional.py +22 -7
  344. mindspore/ops/functional_overload.py +1440 -0
  345. mindspore/ops/op_info_register.py +32 -244
  346. mindspore/ops/operations/__init__.py +13 -7
  347. mindspore/ops/operations/_custom_ops_utils.py +247 -0
  348. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  349. mindspore/ops/operations/_grad_ops.py +2 -43
  350. mindspore/ops/operations/_infer_ops.py +2 -1
  351. mindspore/ops/operations/_inner_ops.py +43 -84
  352. mindspore/ops/operations/_ms_kernel.py +4 -10
  353. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  354. mindspore/ops/operations/_scalar_ops.py +3 -2
  355. mindspore/ops/operations/_sequence_ops.py +1 -1
  356. mindspore/ops/operations/_tensor_array.py +1 -1
  357. mindspore/ops/operations/array_ops.py +81 -324
  358. mindspore/ops/operations/comm_ops.py +154 -108
  359. mindspore/ops/operations/custom_ops.py +232 -78
  360. mindspore/ops/operations/debug_ops.py +153 -59
  361. mindspore/ops/operations/inner_ops.py +7 -5
  362. mindspore/ops/operations/linalg_ops.py +1 -57
  363. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  364. mindspore/ops/operations/manually_defined/ops_def.py +928 -180
  365. mindspore/ops/operations/math_ops.py +32 -234
  366. mindspore/ops/operations/nn_ops.py +210 -498
  367. mindspore/ops/operations/other_ops.py +62 -9
  368. mindspore/ops/operations/random_ops.py +13 -7
  369. mindspore/ops/operations/reshard_ops.py +1 -1
  370. mindspore/ops/operations/sparse_ops.py +2 -2
  371. mindspore/ops/primitive.py +66 -53
  372. mindspore/ops/tensor_method.py +1888 -0
  373. mindspore/ops_generate/__init__.py +0 -5
  374. mindspore/ops_generate/aclnn/__init__.py +0 -0
  375. mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
  376. mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
  377. mindspore/ops_generate/api/__init__.py +0 -0
  378. mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
  379. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
  380. mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
  381. mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
  382. mindspore/ops_generate/api/functions_cc_generator.py +237 -0
  383. mindspore/ops_generate/api/gen_api.py +103 -0
  384. mindspore/ops_generate/api/op_api_proto.py +235 -0
  385. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
  386. mindspore/ops_generate/common/__init__.py +0 -0
  387. mindspore/ops_generate/common/base_generator.py +11 -0
  388. mindspore/ops_generate/common/gen_constants.py +91 -0
  389. mindspore/ops_generate/common/gen_utils.py +348 -0
  390. mindspore/ops_generate/common/op_proto.py +473 -0
  391. mindspore/ops_generate/common/template.py +523 -0
  392. mindspore/ops_generate/gen_ops.py +22 -1069
  393. mindspore/ops_generate/op_def/__init__.py +0 -0
  394. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  395. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
  396. mindspore/ops_generate/op_def/ops_def_cc_generator.py +299 -0
  397. mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
  398. mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
  399. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  400. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  401. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  402. mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
  403. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
  404. mindspore/ops_generate/pyboost/__init__.py +0 -0
  405. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
  406. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
  407. mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
  408. mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
  409. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
  410. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
  411. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
  412. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
  413. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
  414. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
  415. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
  416. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
  417. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
  418. mindspore/ops_generate/resources/__init__.py +0 -0
  419. mindspore/ops_generate/resources/resource_list.py +30 -0
  420. mindspore/ops_generate/resources/resource_loader.py +36 -0
  421. mindspore/ops_generate/resources/resource_manager.py +64 -0
  422. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  423. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  424. mindspore/parallel/__init__.py +7 -3
  425. mindspore/parallel/_auto_parallel_context.py +152 -34
  426. mindspore/parallel/_cell_wrapper.py +130 -15
  427. mindspore/parallel/_parallel_serialization.py +107 -5
  428. mindspore/parallel/_ps_context.py +1 -1
  429. mindspore/parallel/_recovery_context.py +7 -2
  430. mindspore/parallel/_tensor.py +142 -18
  431. mindspore/parallel/_utils.py +199 -23
  432. mindspore/parallel/algo_parameter_config.py +4 -4
  433. mindspore/parallel/auto_parallel.py +732 -0
  434. mindspore/parallel/checkpoint_convert.py +159 -0
  435. mindspore/parallel/checkpoint_transform.py +698 -35
  436. mindspore/parallel/cluster/process_entity/_api.py +276 -50
  437. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  438. mindspore/parallel/cluster/run.py +21 -4
  439. mindspore/parallel/function/__init__.py +24 -0
  440. mindspore/parallel/function/reshard_func.py +259 -0
  441. mindspore/parallel/nn/__init__.py +25 -0
  442. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  443. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  444. mindspore/parallel/parameter_broadcast.py +25 -14
  445. mindspore/parallel/shard.py +137 -58
  446. mindspore/parallel/transform_safetensors.py +363 -305
  447. mindspore/pgodb140.dll +0 -0
  448. mindspore/pgort140.dll +0 -0
  449. mindspore/profiler/__init__.py +22 -5
  450. mindspore/profiler/analysis/__init__.py +0 -0
  451. mindspore/profiler/analysis/parser/__init__.py +0 -0
  452. mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
  453. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  454. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  455. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  456. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  457. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  458. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
  459. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  460. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +106 -0
  461. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  462. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  463. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  464. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  465. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  466. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  467. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  468. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  469. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  470. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  471. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
  472. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  473. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  474. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  475. mindspore/profiler/analysis/task_manager.py +131 -0
  476. mindspore/profiler/analysis/time_converter.py +84 -0
  477. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  478. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
  479. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  480. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
  481. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
  482. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
  483. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
  484. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  485. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  486. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
  487. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  488. mindspore/profiler/analysis/work_flow.py +73 -0
  489. mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
  490. mindspore/profiler/common/command_executor.py +90 -0
  491. mindspore/profiler/common/constant.py +186 -3
  492. mindspore/profiler/common/file_manager.py +208 -0
  493. mindspore/profiler/common/log.py +130 -0
  494. mindspore/profiler/common/msprof_cmd_tool.py +221 -0
  495. mindspore/profiler/common/path_manager.py +395 -0
  496. mindspore/profiler/common/process_bar.py +168 -0
  497. mindspore/profiler/common/process_pool.py +9 -3
  498. mindspore/profiler/common/profiler_context.py +500 -0
  499. mindspore/profiler/common/profiler_info.py +304 -0
  500. mindspore/profiler/common/profiler_meta_data.py +74 -0
  501. mindspore/profiler/common/profiler_output_path.py +284 -0
  502. mindspore/profiler/common/profiler_parameters.py +251 -0
  503. mindspore/profiler/common/profiler_path_manager.py +179 -0
  504. mindspore/profiler/common/record_function.py +76 -0
  505. mindspore/profiler/common/tlv_decoder.py +76 -0
  506. mindspore/profiler/common/util.py +75 -2
  507. mindspore/profiler/dynamic_profiler.py +341 -75
  508. mindspore/profiler/envprofiler.py +163 -0
  509. mindspore/profiler/experimental_config.py +197 -0
  510. mindspore/profiler/mstx.py +242 -0
  511. mindspore/profiler/platform/__init__.py +21 -0
  512. mindspore/profiler/platform/base_profiler.py +40 -0
  513. mindspore/profiler/platform/cpu_profiler.py +124 -0
  514. mindspore/profiler/platform/gpu_profiler.py +74 -0
  515. mindspore/profiler/platform/npu_profiler.py +335 -0
  516. mindspore/profiler/profiler.py +1073 -90
  517. mindspore/profiler/profiler_action_controller.py +187 -0
  518. mindspore/profiler/profiler_interface.py +118 -0
  519. mindspore/profiler/schedule.py +243 -0
  520. mindspore/rewrite/api/node.py +15 -13
  521. mindspore/rewrite/api/symbol_tree.py +2 -3
  522. mindspore/run_check/_check_version.py +27 -20
  523. mindspore/run_check/run_check.py +1 -1
  524. mindspore/runtime/__init__.py +37 -0
  525. mindspore/runtime/device.py +27 -0
  526. mindspore/runtime/event.py +209 -0
  527. mindspore/runtime/executor.py +177 -0
  528. mindspore/runtime/memory.py +409 -0
  529. mindspore/runtime/stream.py +460 -0
  530. mindspore/runtime/thread_bind_core.py +401 -0
  531. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  532. mindspore/swresample-4.dll +0 -0
  533. mindspore/swscale-6.dll +0 -0
  534. mindspore/tbbmalloc.dll +0 -0
  535. mindspore/tinyxml2.dll +0 -0
  536. mindspore/train/__init__.py +8 -8
  537. mindspore/train/_utils.py +88 -25
  538. mindspore/train/amp.py +9 -5
  539. mindspore/train/callback/__init__.py +2 -2
  540. mindspore/train/callback/_callback.py +2 -16
  541. mindspore/train/callback/_checkpoint.py +53 -55
  542. mindspore/train/callback/_cluster_monitor.py +14 -18
  543. mindspore/train/callback/_early_stop.py +1 -1
  544. mindspore/train/callback/_flops_collector.py +103 -68
  545. mindspore/train/callback/_history.py +8 -5
  546. mindspore/train/callback/_lambda_callback.py +2 -2
  547. mindspore/train/callback/_landscape.py +0 -3
  548. mindspore/train/callback/_loss_monitor.py +2 -1
  549. mindspore/train/callback/_on_request_exit.py +6 -5
  550. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  551. mindspore/train/callback/_summary_collector.py +52 -19
  552. mindspore/train/callback/_time_monitor.py +2 -1
  553. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -107
  554. mindspore/train/data_sink.py +25 -2
  555. mindspore/train/dataset_helper.py +15 -16
  556. mindspore/train/loss_scale_manager.py +8 -7
  557. mindspore/train/metrics/accuracy.py +3 -3
  558. mindspore/train/metrics/confusion_matrix.py +9 -9
  559. mindspore/train/metrics/error.py +3 -3
  560. mindspore/train/metrics/hausdorff_distance.py +4 -4
  561. mindspore/train/metrics/mean_surface_distance.py +3 -3
  562. mindspore/train/metrics/metric.py +0 -12
  563. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  564. mindspore/train/metrics/precision.py +11 -10
  565. mindspore/train/metrics/recall.py +9 -9
  566. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  567. mindspore/train/mind_ir_pb2.py +174 -46
  568. mindspore/train/model.py +184 -113
  569. mindspore/train/serialization.py +622 -978
  570. mindspore/train/summary/_summary_adapter.py +2 -2
  571. mindspore/train/summary/summary_record.py +2 -3
  572. mindspore/train/train_thor/model_thor.py +1 -1
  573. mindspore/turbojpeg.dll +0 -0
  574. mindspore/utils/__init__.py +6 -3
  575. mindspore/utils/dryrun.py +140 -0
  576. mindspore/utils/hooks.py +81 -0
  577. mindspore/utils/runtime_execution_order_check.py +550 -0
  578. mindspore/utils/utils.py +138 -4
  579. mindspore/vcmeta.dll +0 -0
  580. mindspore/vcruntime140.dll +0 -0
  581. mindspore/vcruntime140_1.dll +0 -0
  582. mindspore/version.py +1 -1
  583. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
  584. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +587 -418
  585. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +1 -1
  586. mindspore/_install_custom.py +0 -43
  587. mindspore/common/_register_for_adapter.py +0 -74
  588. mindspore/common/_tensor_overload.py +0 -139
  589. mindspore/mindspore_np_dtype.dll +0 -0
  590. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  591. mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
  592. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  593. mindspore/ops_generate/gen_aclnn_implement.py +0 -263
  594. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  595. mindspore/ops_generate/gen_pyboost_func.py +0 -1052
  596. mindspore/ops_generate/gen_utils.py +0 -209
  597. mindspore/ops_generate/op_proto.py +0 -145
  598. mindspore/ops_generate/template.py +0 -261
  599. mindspore/profiler/envprofiling.py +0 -254
  600. mindspore/profiler/profiling.py +0 -1926
  601. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
  602. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.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
@@ -59,58 +59,58 @@ __all__.extend(__dtype__)
59
59
  __all__.extend(__method__)
60
60
 
61
61
  # type definition
62
- bool_ = typing.Bool()
62
+ bool_ = typing.kBool
63
63
 
64
- qint4x2 = typing.Int(4)
65
- int8 = typing.Int(8)
64
+ qint4x2 = typing.kInt4
65
+ int8 = typing.kInt8
66
66
  byte = int8
67
- int16 = typing.Int(16)
67
+ int16 = typing.kInt16
68
68
  short = int16
69
- int32 = typing.Int(32)
69
+ int32 = typing.kInt32
70
70
  intc = int32
71
- int64 = typing.Int(64)
71
+ int64 = typing.kInt64
72
72
  intp = int64
73
73
 
74
- uint8 = typing.UInt(8)
74
+ uint8 = typing.kUInt8
75
75
  ubyte = uint8
76
- uint16 = typing.UInt(16)
76
+ uint16 = typing.kUInt16
77
77
  ushort = uint16
78
- uint32 = typing.UInt(32)
78
+ uint32 = typing.kUInt32
79
79
  uintc = uint32
80
- uint64 = typing.UInt(64)
80
+ uint64 = typing.kUInt64
81
81
  uintp = uint64
82
82
 
83
- float16 = typing.Float(16)
83
+ float16 = typing.kFloat16
84
84
  half = float16
85
- float32 = typing.Float(32)
85
+ float32 = typing.kFloat32
86
86
  single = float32
87
- float64 = typing.Float(64)
87
+ float64 = typing.kFloat64
88
88
  double = float64
89
- bfloat16 = typing.BFloat(16)
90
- complex64 = typing.Complex(64)
91
- complex128 = typing.Complex(128)
92
-
93
- number = typing.Number()
94
- int_ = typing.Int()
95
- uint = typing.UInt()
96
- float_ = typing.Float()
97
- string = typing.String()
98
- list_ = typing.List()
99
- tuple_ = typing.Tuple()
100
- type_none = typing.TypeNone()
101
- _null = typing.TypeNull()
102
-
103
- tensor_type = typing.TensorType()
104
- index_slices = typing.RowTensorType()
105
- coo_tensor = typing.COOTensorType()
106
- csr_tensor = typing.CSRTensorType()
89
+ bfloat16 = typing.kBFloat16
90
+ complex64 = typing.kComplex64
91
+ complex128 = typing.kComplex128
92
+
93
+ number = typing.kNumber
94
+ int_ = typing.kInt
95
+ uint = typing.kUInt
96
+ float_ = typing.kFloat
97
+ string = typing.kString
98
+ list_ = typing.kList
99
+ tuple_ = typing.kTuple
100
+ type_none = typing.kTypeNone
101
+ _null = typing.kTypeNull
102
+
103
+ tensor_type = typing.kTensorType
104
+ index_slices = typing.kRowTensorType
105
+ coo_tensor = typing.kCOOTensorType
106
+ csr_tensor = typing.kCSRTensorType
107
107
  undetermined = typing.UndeterminedType()
108
108
 
109
109
  function = typing.Function()
110
110
  symbolic_key = typing.SymbolicKeyType()
111
- env_type = typing.EnvType()
112
- type_type = typing.TypeType()
113
- type_refkey = typing.RefKeyType()
111
+ env_type = typing.kTypeEnv
112
+ type_type = typing.kTypeType
113
+ type_refkey = typing.kRefKeyType
114
114
 
115
115
  Int = typing.Int
116
116
  Float = typing.Float
@@ -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,14 +59,15 @@ 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
64
66
  >>> import mindspore.nn as nn
65
67
  >>> from mindspore import Tensor, set_dump
66
68
  >>>
67
- >>> ms.set_context(device_target="Ascend", mode=ms.GRAPH_MODE)
69
+ >>> ms.set_context(mode=ms.GRAPH_MODE)
70
+ >>> ms.set_device(device_target="Ascend")
68
71
  >>>
69
72
  >>> class MyNet(nn.Cell):
70
73
  ... def __init__(self):
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  # ============================================================================
15
15
  """File system registration management"""
16
+ from mindspore import log as logger
16
17
 
17
18
 
18
19
  class FileSystem:
@@ -40,11 +41,18 @@ def _register_mindio_file_system(fs: FileSystem):
40
41
  import mindio
41
42
  except ImportError:
42
43
  return False
43
- if mindio.initialize() != 0:
44
+ try:
45
+ ret = mindio.initialize()
46
+ except AttributeError as e:
47
+ logger.warning(f"Failed to initialize MindIO: {e}")
48
+ return False
49
+ if ret != 0:
50
+ logger.warning(f"Failed to initialize MindIO: ret = {ret}")
44
51
  return False
45
52
  fs.create = mindio.create_file
46
53
  fs.create_args = ()
47
54
  fs.open = mindio.open_file
48
55
  fs.open_args = ()
49
56
  fs.backend = "mindio"
57
+ logger.info("The weights are stored using MindIO as the backend.")
50
58
  return True
@@ -80,6 +80,7 @@ class Generator:
80
80
  Tensor(0, mstype.int64), name="offset", requires_grad=False)
81
81
 
82
82
  self._generator = GeneratorOp().set_device("CPU")
83
+ self._generator.add_prim_attr("manual_seed", False)
83
84
  self._to_scalar = TensorToScalar()
84
85
 
85
86
  def set_state(self, state):
@@ -125,6 +126,7 @@ class Generator:
125
126
  raise TypeError("Seed must be an integer.")
126
127
  seed = Tensor(seed, mstype.int64)
127
128
  self._generator(MANUAL_SEED, (self._seed, self._offset, seed))
129
+ self._generator.add_prim_attr("manual_seed", True)
128
130
  return self
129
131
 
130
132
  def initial_seed(self):
@@ -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:
@@ -29,8 +29,9 @@ class _TensorHookHandle:
29
29
  ``Ascend`` ``GPU`` ``CPU``
30
30
  """
31
31
 
32
- def __init__(self):
32
+ def __init__(self, tensor):
33
33
  self.id = None
34
+ self.tensor_ref = weakref.ref(tensor)
34
35
 
35
36
  def remove(self):
36
37
  """
@@ -66,6 +67,9 @@ class _TensorHookHandle:
66
67
  """
67
68
  if self.id is not None:
68
69
  Tensor_.remove_hook(self.id)
70
+ tensor = self.tensor_ref()
71
+ if tensor is not None:
72
+ tensor._remove_hook() # pylint:disable=protected-access
69
73
 
70
74
 
71
75
  class HookHandle:
@@ -36,9 +36,7 @@ class Initializer:
36
36
  Note:
37
37
  Initializers are intended to be used for delayed initialization in parallel mode rather than Tensor
38
38
  initialization. If you have to use Initializers to create a Tensor, :func:`mindspore.Tensor.init_data` should be
39
- followed in most of the cases. For more information, please refer to `mindspore.Tensor.init_data
40
- <https://www.mindspore.cn/docs/en/master/api_python/mindspore/Tensor/mindspore.Tensor.init_data.html#
41
- mindspore-tensor-init-data>`_ .
39
+ followed in most of the cases. For more information, please refer to :func:`mindspore.Tensor.init_data` .
42
40
 
43
41
  Args:
44
42
  kwargs (dict): Keyword arguments for Initializer.
@@ -371,9 +369,9 @@ class HeUniform(Initializer):
371
369
  .. math::
372
370
  boundary = \text{gain} \times \sqrt{\frac{3}{fan\_mode}}
373
371
 
374
- where :math:`gain` is an optional scaling factor. If :math:`fan\_mode` is ``'fan_in'``,
375
- it is the number of input units of the weight tensor. If :math:`fan\_mode` is ``'fan_out'``,
376
- 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.
377
375
 
378
376
  For details of HeUniform algorithm, please check
379
377
  `<https://arxiv.org/abs/1502.01852>`_.
@@ -653,12 +651,16 @@ class Orthogonal(Initializer):
653
651
  class VarianceScaling(Initializer):
654
652
  r"""
655
653
  Generates an random array with scaling in order to initialize a tensor.
654
+
656
655
  When `distribution` is 'truncated_normal' or 'untruncated_normal', the value will be sampled from truncated or
657
656
  untruncated normal distribution with a mean of 0 and a scaled standard deviation
658
- :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'``,
659
660
  while :math:`n` will be
660
661
  the number of output units if `mode` is ``'fan_out'``. :math:`n` will be the average of ``'fan_in'``
661
662
  and ``'fan_out'`` if `mode` is ``'fan_avg'``.
663
+
662
664
  When `distribution` is ``'uniform'``, the value will be sampled from a uniform distribution within the limit of
663
665
  :math:`[-\sqrt{\frac{3*scale}{n}}, \sqrt{\frac{3*scale}{n}}]`.
664
666
 
@@ -827,6 +829,8 @@ def initializer(init, shape=None, dtype=mstype.float32):
827
829
  Args:
828
830
  init (Union[Tensor, str, Initializer, numbers.Number]): Initialize value.
829
831
 
832
+ - `Tensor`: The tensor will be called to initialize tensor.
833
+
830
834
  - `str`: The `init` should be the alias of the class inheriting from `Initializer` and the corresponding
831
835
  class will be called in practice. The value of `init` can be ``"normal"``, ``"ones"`` or
832
836
  ``"zeros"``, etc.
@@ -835,13 +839,12 @@ def initializer(init, shape=None, dtype=mstype.float32):
835
839
 
836
840
  - `numbers.Number`: The `Constant` will be called to initialize tensor.
837
841
 
838
- - `Tensor`: The tensor will be called to initialize tensor.
839
-
840
842
  shape (Union[tuple, list, int]): The shape of the initialized tensor. Default: ``None`` .
841
843
  dtype (:class:`mindspore.dtype`): The type of data in initialized tensor. Default: ``mstype.float32`` .
842
844
 
843
845
  Returns:
844
- Tensor, return is Tensor object.
846
+ Returns a Tensor with the shape specified by the input `shape`. If `shape` is ``None``,
847
+ the returned Tensor will have the same shape as ``init``.
845
848
 
846
849
  Raises:
847
850
  TypeError: The type of the argument 'init' is not correct.
@@ -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"