mindspore 2.5.0__cp311-cp311-win_amd64.whl → 2.6.0__cp311-cp311-win_amd64.whl

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

Potentially problematic release.


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

Files changed (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.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 -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
@@ -1,43 +0,0 @@
1
- # Copyright 2023 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
- """install custom op files"""
16
-
17
- import os
18
- import platform
19
- import importlib.util
20
- from mindspore import log as logger
21
-
22
-
23
- def _install_custom():
24
- """install custom op files"""
25
- if platform.system() != "Linux":
26
- return
27
- custom_op_path = os.environ.get("MS_DEV_CUSTOM_OPP_PATH")
28
- if not custom_op_path:
29
- return
30
- if not os.path.isdir(custom_op_path):
31
- logger.warning("The path set in env 'MS_DEV_CUSTOM_OPP_PATH' is not a directory: '{}'".format(custom_op_path))
32
- else:
33
- for file_name in os.listdir(custom_op_path):
34
- file_path = os.path.join(custom_op_path, file_name)
35
- if os.path.isfile(file_path) and file_name.endswith(".py") and file_name != "__init__.py":
36
- logger.info("start import file: '{}'".format(file_path))
37
- mod_spec = importlib.util.spec_from_file_location(os.path.splitext(file_name)[0], file_path)
38
- mod = importlib.util.module_from_spec(mod_spec)
39
- mod_spec.loader.exec_module(mod)
40
- os.environ.pop("MS_DEV_CUSTOM_OPP_PATH")
41
-
42
-
43
- _install_custom()
@@ -1,74 +0,0 @@
1
- # Copyright 2022-2023 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
- """Registry MSAdapter config."""
17
-
18
-
19
- class Registry:
20
- """Registry class for ms adapter."""
21
-
22
- def __init__(self):
23
- self.is_registered = False
24
- self._tensor = None
25
- self._parameter = None
26
- self._convert_map = {}
27
- self.convert_adapter_tensor_map = {}
28
-
29
- @property
30
- def tensor(self):
31
- """Return the registered tensor."""
32
- if self._tensor is None:
33
- raise ValueError("Before using Tensor in MSAdapter, please call 'set_adapter_config'.")
34
- return self._tensor
35
-
36
- @property
37
- def parameter(self):
38
- """Return the registered parrameter."""
39
- if self._parameter is None:
40
- raise ValueError("Before using Parameter in MSAdapter, please call 'set_adapter_config'.")
41
- return self._parameter
42
-
43
- @property
44
- def convert_map(self):
45
- """Return the registered convert map."""
46
- return self._convert_map
47
-
48
- def register_tensor(self, value):
49
- """Register the tensor of ms adapter."""
50
- if self._tensor is not None:
51
- raise ValueError("Repeated registration of tensor in ms adapter config.")
52
- self._tensor = value
53
- self.is_registered = True
54
-
55
- def register_parameter(self, value):
56
- """Register the parameter of ms adapter."""
57
- if self._parameter is not None:
58
- raise ValueError("Repeated registration of Parameter in ms adapter config.")
59
- self._parameter = value
60
-
61
- def register_convert_map(self, value):
62
- """Register the convert map of ms adapter."""
63
- if not isinstance(value, dict):
64
- raise ValueError(f"Expect a dict type, but got {type(value)}.")
65
- self._convert_map = value
66
-
67
- def register_convert_adapter_tensor_map(self, value):
68
- """Register the convert map for adapter tensor."""
69
- if not isinstance(value, dict):
70
- raise ValueError(f"Expect a dict type, but got {type(value)}.")
71
- self.convert_adapter_tensor_map = value
72
-
73
-
74
- ms_adapter_registry = Registry()
@@ -1,252 +0,0 @@
1
- # This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
2
- #
3
- # Copyright 2023-2024 Huawei Technologies Co., Ltd
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- # ============================================================================
17
- """Operator argument data type cast function."""
18
-
19
- import mindspore as ms
20
- from mindspore import ops
21
- from mindspore.common.tensor import Tensor
22
- from mindspore.ops.operations._sequence_ops import TensorToScalar, TensorToTuple
23
- from mindspore.ops_generate.gen_ops_inner_prim import TupleToList, ListToTuple
24
- from mindspore._c_expression import OpDtype
25
-
26
- tensor_to_tuple_ = TensorToTuple()
27
- tuple_to_list = TupleToList()
28
- list_to_tuple = ListToTuple()
29
-
30
-
31
- def int_to_float(data):
32
- return float(data)
33
-
34
-
35
- def scalar_to_tuple(data):
36
- return (data,)
37
-
38
-
39
- def tensor_to_tuple(data):
40
- # Since tuple is not supported for precision conversion during KernelSelect, the original int32 tensor input cases
41
- # would be failed. Thus, the tuple precision is raised from int32 to int64 at frontend. But sequence data type cast
42
- # must be adapted in future version.
43
- if data.dtype == ms.int32:
44
- data = ops.cast(data, ms.int64)
45
- return tensor_to_tuple_(data)
46
-
47
-
48
- def scalar_to_tensor(data):
49
- if isinstance(data, bool):
50
- return ops.scalar_to_tensor(data, ms.bool_)
51
- if isinstance(data, int):
52
- return ops.scalar_to_tensor(data, ms.int32)
53
- if isinstance(data, float):
54
- return ops.scalar_to_tensor(data, ms.float32)
55
- return ops.scalar_to_tensor(data)
56
-
57
-
58
- def tuple_to_tensor(data):
59
- return ops.tuple_to_array(data)
60
-
61
-
62
- def list_to_tensor(data):
63
- return ops.tuple_to_array(list_to_tuple(data))
64
-
65
-
66
- # There will be some problems in using OpDtype.xxx directly in GRAPH_MODE, so convert it to int.
67
- # type
68
- DT_TYPE_VAL = int(OpDtype.DT_TYPE)
69
- # scalar
70
- DT_INT_VAL = int(OpDtype.DT_INT)
71
- DT_FLOAT_VAL = int(OpDtype.DT_FLOAT)
72
- DT_BOOL_VAL = int(OpDtype.DT_BOOL)
73
- DT_NUMBER_VAL = int(OpDtype.DT_NUMBER)
74
- # tuple
75
- DT_TUPLE_BOOL_VAL = int(OpDtype.DT_TUPLE_BOOL)
76
- DT_TUPLE_INT_VAL = int(OpDtype.DT_TUPLE_INT)
77
- DT_TUPLE_FLOAT_VAL = int(OpDtype.DT_TUPLE_FLOAT)
78
- DT_TUPLE_NUMBER_VAL = int(OpDtype.DT_TUPLE_NUMBER)
79
- DT_TUPLE_TENSOR_VAL = int(OpDtype.DT_TUPLE_TENSOR)
80
- DT_TUPLE_STR_VAL = int(OpDtype.DT_TUPLE_STR)
81
- DT_TUPLE_ANY_VAL = int(OpDtype.DT_TUPLE_ANY)
82
- # list
83
- DT_LIST_BOOL_VAL = int(OpDtype.DT_LIST_BOOL)
84
- DT_LIST_INT_VAL = int(OpDtype.DT_LIST_INT)
85
- DT_LIST_FLOAT_VAL = int(OpDtype.DT_LIST_FLOAT)
86
- DT_LIST_NUMBER_VAL = int(OpDtype.DT_LIST_NUMBER)
87
- DT_LIST_TENSOR_VAL = int(OpDtype.DT_LIST_TENSOR)
88
- DT_LIST_STR_VAL = int(OpDtype.DT_LIST_STR)
89
- DT_LIST_ANY_VAL = int(OpDtype.DT_LIST_ANY)
90
- # tensor
91
- DT_TENSOR_VAL = int(OpDtype.DT_TENSOR)
92
-
93
- dtype_to_string = {
94
- DT_INT_VAL: "int",
95
- DT_FLOAT_VAL: "float",
96
- DT_BOOL_VAL: "bool",
97
- DT_NUMBER_VAL: "number",
98
- DT_TENSOR_VAL: "Tensor",
99
- DT_TUPLE_BOOL_VAL: "tuple of bool",
100
- DT_TUPLE_INT_VAL: "tuple of int",
101
- DT_TUPLE_FLOAT_VAL: "tuple of float",
102
- DT_TUPLE_NUMBER_VAL: "tuple of number",
103
- DT_TUPLE_TENSOR_VAL: "tuple of tensor",
104
- DT_TUPLE_STR_VAL: "tuple of string",
105
- DT_TUPLE_ANY_VAL: "tuple of Any",
106
- DT_LIST_BOOL_VAL: "list of bool",
107
- DT_LIST_INT_VAL: "list of int",
108
- DT_LIST_FLOAT_VAL: "list of float",
109
- DT_LIST_NUMBER_VAL: "list of number",
110
- DT_LIST_TENSOR_VAL: "list of Tensor",
111
- DT_LIST_STR_VAL: "list of string",
112
- DT_LIST_ANY_VAL: "list of Any"
113
- }
114
-
115
-
116
- def is_tuple(type_id):
117
- """
118
- Check type id is tuple.
119
- """
120
- return type_id in (DT_TUPLE_BOOL_VAL, DT_TUPLE_INT_VAL, DT_TUPLE_FLOAT_VAL, DT_TUPLE_NUMBER_VAL,
121
- DT_TUPLE_TENSOR_VAL, DT_TUPLE_STR_VAL, DT_TUPLE_ANY_VAL)
122
-
123
-
124
- def is_list(type_id):
125
- """
126
- Check type id is list.
127
- """
128
- return type_id in (DT_LIST_BOOL_VAL, DT_LIST_INT_VAL, DT_LIST_FLOAT_VAL, DT_LIST_NUMBER_VAL,
129
- DT_LIST_TENSOR_VAL,
130
- DT_LIST_STR_VAL, DT_LIST_ANY_VAL)
131
-
132
-
133
- def is_number(type_id):
134
- """
135
- Check type id is number.
136
- """
137
- return type_id in (DT_INT_VAL, DT_FLOAT_VAL, DT_BOOL_VAL, DT_NUMBER_VAL)
138
-
139
-
140
- def is_instance_of(data, type_id):
141
- """
142
- Instead isinstance(obj, type).
143
- """
144
- if type_id == DT_INT_VAL:
145
- return isinstance(data, int)
146
- if type_id == DT_FLOAT_VAL:
147
- return isinstance(data, float)
148
- if type_id == DT_BOOL_VAL:
149
- return isinstance(data, bool)
150
- if is_number(type_id):
151
- return isinstance(data, (int, float, bool))
152
- if is_tuple(type_id):
153
- return isinstance(data, tuple)
154
- if is_list(type_id):
155
- return isinstance(data, list)
156
- if type_id == DT_TENSOR_VAL:
157
- return isinstance(data, Tensor)
158
- return False
159
-
160
-
161
- def is_instance_in(data, type_id):
162
- """
163
- Instead isinstance(obj, tuple_types).
164
- """
165
- if not isinstance(type_id, tuple):
166
- return is_instance_of(data, type_id)
167
- for type_id_i in type_id:
168
- if is_instance_of(data, type_id_i):
169
- return True
170
- return False
171
-
172
-
173
- def get_support_dtype_list(src_type, dst_type):
174
- """
175
- Get support dtype list.
176
- """
177
- support_list = ""
178
- if isinstance(src_type, tuple):
179
- for dtype in src_type:
180
- support_list += dtype_to_string.get(dtype) + ", "
181
- else:
182
- support_list += dtype_to_string.get(src_type) + ", "
183
- support_list += dtype_to_string.get(dst_type)
184
- return support_list
185
-
186
-
187
- def to_py_number(data, dst_type):
188
- """Convert tensor to python number"""
189
- if dst_type == DT_INT_VAL:
190
- data = ops.cast(data, ms.int64)
191
- elif dst_type == DT_FLOAT_VAL:
192
- data = ops.cast(data, ms.float32)
193
- elif dst_type == DT_NUMBER_VAL:
194
- src_type = data.dtype
195
- if src_type in (ms.uint8, ms.uint16, ms.uint32, ms.uint64,
196
- ms.int8, ms.int16, ms.int32, ms.int64):
197
- data = ops.cast(data, ms.int64)
198
- elif src_type in (ms.bfloat16, ms.float16, ms.float32, ms.float64):
199
- data = ops.cast(data, ms.float32)
200
- return TensorToScalar()(data)
201
-
202
-
203
- def do_type_cast(data, dst_type):
204
- """Type conversion."""
205
- if is_instance_of(data, dst_type):
206
- return data
207
- if dst_type == DT_FLOAT_VAL:
208
- if isinstance(data, int):
209
- return int_to_float(data)
210
- elif is_tuple(dst_type):
211
- if isinstance(data, (int, float, bool)):
212
- return scalar_to_tuple(data)
213
- if isinstance(data, list):
214
- return list_to_tuple(data)
215
- if isinstance(data, Tensor):
216
- return tensor_to_tuple(data)
217
- elif is_list(dst_type):
218
- if isinstance(data, (int, float, bool)):
219
- return tuple_to_list(scalar_to_tuple(data))
220
- if isinstance(data, tuple):
221
- return tuple_to_list(data)
222
- if isinstance(data, Tensor):
223
- return tuple_to_list(tensor_to_tuple(data))
224
- elif dst_type == DT_TENSOR_VAL:
225
- if isinstance(data, (int, float, bool)):
226
- return scalar_to_tensor(data)
227
- if isinstance(data, tuple):
228
- return tuple_to_tensor(data)
229
- if isinstance(data, list):
230
- return list_to_tensor(data)
231
- elif is_number(dst_type):
232
- if isinstance(data, Tensor):
233
- return to_py_number(data, dst_type)
234
- raise TypeError("Type conversion failed.")
235
-
236
-
237
- def type_it(op_name, arg_name, data, src_type, dst_type):
238
- """
239
- cast operator argument data type.
240
- """
241
- if isinstance(data, type(None)):
242
- return data
243
- if not isinstance(src_type, tuple):
244
- src_type = int(src_type)
245
- else:
246
- src_type = tuple((int(t) for t in src_type))
247
- dst_type = int(dst_type)
248
- if not is_instance_in(data, src_type) and not is_instance_of(data, dst_type):
249
- support_list = get_support_dtype_list(src_type, dst_type)
250
- raise TypeError(f"For '{op_name}', the type of '{arg_name}' should be one of '[{support_list}]', "
251
- f"but got {type(data)}.")
252
- return do_type_cast(data, dst_type)
@@ -1,136 +0,0 @@
1
- # Copyright 2023 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
- """Operator argument handle function."""
16
-
17
- from mindspore.ops_generate.gen_ops_inner_prim import DtypeToEnum, StringToEnum
18
- # Enum Class:
19
- from mindspore._c_expression import FormatEnum as Format
20
- from mindspore._c_expression import ReductionEnum as Reduction
21
- from mindspore.common import Tensor
22
- from mindspore.common import dtype as mstype
23
-
24
-
25
- def arg_invalid_info(op_name, arg_name, arg_val):
26
- """
27
- generate invalid msg.
28
- """
29
- return f"For '{op_name}', the value of '{arg_name}' is invalid: '{arg_val}'."
30
-
31
-
32
- def to_pair(op_name, arg_name, arg_val):
33
- """
34
- convert arg_val: int/tuple[int*2] -> tuple[int*2].
35
- """
36
- if isinstance(arg_val, (int, float)):
37
- return (arg_val, arg_val)
38
- if isinstance(arg_val, (list, tuple)):
39
- return arg_val
40
- raise ValueError(arg_invalid_info(op_name, arg_name, arg_val))
41
-
42
-
43
- def to_kernel_size(op_name, arg_name, kernel_size):
44
- """
45
- convert kernel_size: int/tuple[int*4] -> tuple[int*2].
46
- """
47
- if isinstance(kernel_size, int):
48
- return (kernel_size, kernel_size)
49
- if isinstance(kernel_size, (tuple, list)):
50
- if len(kernel_size) == 4:
51
- return (kernel_size[2], kernel_size[3])
52
- return kernel_size
53
- raise ValueError(arg_invalid_info(op_name, arg_name, kernel_size))
54
-
55
-
56
- def to_strides(op_name, arg_name, stride):
57
- """
58
- convert strides: int/tuple[int*4] -> tuple[int*2].
59
- """
60
- if isinstance(stride, int):
61
- return (stride, stride)
62
- if isinstance(stride, (tuple, list)):
63
- if len(stride) == 4:
64
- return (stride[2], stride[3])
65
- return stride
66
- raise ValueError(arg_invalid_info(op_name, arg_name, stride))
67
-
68
-
69
- def to_rates(op_name, arg_name, rates):
70
- """
71
- convert rates: int/tuple[int*4] -> tuple[int*2].
72
- """
73
- if isinstance(rates, int):
74
- return (rates, rates)
75
- if isinstance(rates, (tuple, list)):
76
- if len(rates) == 4:
77
- return (rates[2], rates[3])
78
- return rates
79
- raise ValueError(arg_invalid_info(op_name, arg_name, rates))
80
-
81
-
82
- def to_dilations(op_name, arg_name, dilation):
83
- """
84
- convert dilations: int/tuple[int*4] -> tuple[int*2].
85
- """
86
- if isinstance(dilation, int):
87
- return (dilation, dilation)
88
- if isinstance(dilation, (tuple, list)):
89
- if len(dilation) == 4:
90
- return (dilation[2], dilation[3])
91
- return dilation
92
- raise ValueError(arg_invalid_info(op_name, arg_name, dilation))
93
-
94
-
95
- def to_output_padding(op_name, arg_name, output_padding):
96
- """
97
- convert output_padding: int/tuple[int*4] -> tuple[int*2].
98
- """
99
- if isinstance(output_padding, int):
100
- return (output_padding, output_padding)
101
- if isinstance(output_padding, (tuple, list)):
102
- if len(output_padding) == 4:
103
- return (output_padding[2], output_padding[3])
104
- return output_padding
105
- raise ValueError(arg_invalid_info(op_name, arg_name, output_padding))
106
-
107
-
108
- def to_2d_paddings(op_name, arg_name, pad):
109
- """
110
- convert paddings: int -> tuple[int*2].
111
- """
112
- if isinstance(pad, int):
113
- return (pad,) * 2
114
- if isinstance(pad, (tuple, list)):
115
- return pad
116
- raise ValueError(arg_invalid_info(op_name, arg_name, pad))
117
-
118
-
119
- def generator_handler(op_name, arg_name, inputs):
120
- """
121
- convert constant value in tuple to tensor
122
- """
123
- new_inputs = []
124
- for input_ in inputs:
125
- if isinstance(input_, int):
126
- new_inputs.append(Tensor(input_, mstype.int64))
127
- else:
128
- new_inputs.append(input_)
129
- return tuple(new_inputs)
130
-
131
- dtype_to_type_id = DtypeToEnum()
132
-
133
- # string to enum
134
- # A function for converting str type to enum type are written here,
135
- # but the backend supports str input, and converting str input to enum input is not necessary.
136
- str_to_enum = StringToEnum()
@@ -1,41 +0,0 @@
1
- # Copyright 2022 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
- """Register pyfunc for opaque_func_cpu_kernel"""
17
-
18
- from mindspore.ops._register_for_op import OpaquePredicateRegistry
19
-
20
-
21
- registered_func_name = OpaquePredicateRegistry()
22
-
23
-
24
- def add_opaque_predicate(fn_name, func):
25
- """restore opaque predicate functions"""
26
- registered_func_name.register(fn_name, func)
27
-
28
-
29
- def get_opaque_predicate(fn_name):
30
- """get opaque predicate function by their name"""
31
- return registered_func_name.get(fn_name)
32
-
33
-
34
- def get_func_names():
35
- """get function names"""
36
- return registered_func_name.func_names
37
-
38
-
39
- def clean_funcs():
40
- """clean restored functions"""
41
- registered_func_name.func_names = []