mindspore 2.1.0__cp38-cp38-manylinux1_x86_64.whl → 2.2.10__cp38-cp38-manylinux1_x86_64.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 (580) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -1
  3. mindspore/_akg/akg/build_module.py +5 -6
  4. mindspore/_akg/akg/composite/build_module.py +46 -19
  5. mindspore/_akg/akg/composite/split_stitch.py +10 -11
  6. mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
  7. mindspore/_akg/akg/tvm/api.py +4 -3
  8. mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
  9. mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
  10. mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
  11. mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
  12. mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
  13. mindspore/_akg/akg/tvm/build_module.py +16 -1
  14. mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
  15. mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
  16. mindspore/_akg/akg/tvm/ir_builder.py +1 -1
  17. mindspore/_akg/akg/tvm/module.py +1 -2
  18. mindspore/_akg/akg/tvm/stmt.py +2 -2
  19. mindspore/_akg/akg/utils/ascend_profilier/__init__.py +0 -0
  20. mindspore/_akg/akg/utils/ascend_profilier/cann_file_parser.py +76 -0
  21. mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
  22. mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
  23. mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
  24. mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
  25. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
  26. mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
  27. mindspore/_akg/akg/utils/kernel_exec.py +98 -274
  28. mindspore/_akg/akg/utils/result_analysis.py +4 -24
  29. mindspore/_akg/akg/utils/tbe_codegen_utils.py +219 -0
  30. mindspore/_akg/akg/utils/util.py +38 -0
  31. mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
  32. mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
  33. mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
  34. mindspore/_check_jit_forbidden_api.py +3 -1
  35. mindspore/_checkparam.py +23 -29
  36. mindspore/_extends/graph_kernel/__init__.py +0 -1
  37. mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
  38. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  39. mindspore/_extends/graph_kernel/splitter.py +4 -11
  40. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
  41. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
  42. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  43. mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
  44. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
  45. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
  46. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  47. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  48. mindspore/_extends/parse/__init__.py +12 -15
  49. mindspore/_extends/parse/namespace.py +7 -33
  50. mindspore/_extends/parse/parser.py +61 -71
  51. mindspore/_extends/parse/resources.py +1 -1
  52. mindspore/_extends/parse/standard_method.py +74 -104
  53. mindspore/_extends/parse/trope.py +1 -1
  54. mindspore/_extends/remote/kernel_build_server.py +25 -7
  55. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  56. mindspore/_install_custom.py +43 -0
  57. mindspore/_mindspore_offline_debug.cpython-38-x86_64-linux-gnu.so +0 -0
  58. mindspore/amp.py +47 -11
  59. mindspore/bin/cache_admin +0 -0
  60. mindspore/bin/cache_server +0 -0
  61. mindspore/boost/boost.py +1 -8
  62. mindspore/boost/boost_cell_wrapper.py +3 -2
  63. mindspore/boost/grad_accumulation.py +1 -1
  64. mindspore/boost/group_loss_scale_manager.py +8 -7
  65. mindspore/common/__init__.py +5 -3
  66. mindspore/common/_jit_fallback_utils.py +6 -0
  67. mindspore/common/_register_for_adapter.py +2 -0
  68. mindspore/common/_register_for_tensor.py +2 -2
  69. mindspore/common/_stub_tensor.py +13 -0
  70. mindspore/common/_utils.py +13 -0
  71. mindspore/common/api.py +174 -259
  72. mindspore/common/auto_dynamic_shape.py +494 -0
  73. mindspore/common/dtype.py +18 -11
  74. mindspore/common/dump.py +6 -4
  75. mindspore/common/initializer.py +14 -14
  76. mindspore/common/jit_config.py +33 -15
  77. mindspore/common/lazy_inline.py +126 -7
  78. mindspore/common/mindir_util.py +101 -0
  79. mindspore/common/parameter.py +51 -41
  80. mindspore/common/seed.py +4 -4
  81. mindspore/common/sparse_tensor.py +13 -14
  82. mindspore/common/tensor.py +243 -165
  83. mindspore/communication/__init__.py +7 -4
  84. mindspore/communication/_comm_helper.py +83 -4
  85. mindspore/communication/management.py +152 -84
  86. mindspore/config/op_info.config +14 -3
  87. mindspore/config/super_bar_config.json +4 -2
  88. mindspore/context.py +152 -61
  89. mindspore/dataset/__init__.py +5 -5
  90. mindspore/dataset/audio/__init__.py +2 -2
  91. mindspore/dataset/audio/transforms.py +52 -52
  92. mindspore/dataset/callback/ds_callback.py +16 -2
  93. mindspore/dataset/core/config.py +68 -51
  94. mindspore/dataset/engine/cache_client.py +28 -5
  95. mindspore/dataset/engine/datasets.py +250 -112
  96. mindspore/dataset/engine/datasets_audio.py +43 -211
  97. mindspore/dataset/engine/datasets_standard_format.py +16 -35
  98. mindspore/dataset/engine/datasets_text.py +43 -67
  99. mindspore/dataset/engine/datasets_user_defined.py +86 -100
  100. mindspore/dataset/engine/datasets_vision.py +219 -1029
  101. mindspore/dataset/engine/iterators.py +11 -4
  102. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
  103. mindspore/dataset/engine/obs/util.py +3 -0
  104. mindspore/dataset/engine/samplers.py +1 -1
  105. mindspore/dataset/engine/validators.py +19 -5
  106. mindspore/dataset/text/__init__.py +3 -3
  107. mindspore/dataset/text/transforms.py +101 -127
  108. mindspore/dataset/text/utils.py +205 -138
  109. mindspore/dataset/transforms/__init__.py +1 -1
  110. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  111. mindspore/dataset/transforms/transforms.py +95 -40
  112. mindspore/dataset/utils/browse_dataset.py +8 -2
  113. mindspore/dataset/utils/line_reader.py +17 -19
  114. mindspore/dataset/vision/__init__.py +3 -3
  115. mindspore/dataset/vision/c_transforms.py +6 -3
  116. mindspore/dataset/vision/transforms.py +409 -287
  117. mindspore/dataset/vision/utils.py +13 -14
  118. mindspore/dataset/vision/validators.py +11 -1
  119. mindspore/experimental/map_parameter.py +14 -0
  120. mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
  121. mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
  122. mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
  123. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  124. mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
  125. mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
  126. mindspore/gen_ops.py +273 -0
  127. mindspore/include/OWNERS +0 -1
  128. mindspore/include/api/data_type.h +2 -1
  129. mindspore/include/api/graph.h +0 -15
  130. mindspore/include/api/kernel.h +2 -0
  131. mindspore/include/api/kernel_api.h +37 -12
  132. mindspore/include/api/model.h +17 -14
  133. mindspore/include/api/status.h +8 -3
  134. mindspore/include/api/types.h +37 -4
  135. mindspore/include/c_api/ms/abstract.h +67 -0
  136. mindspore/include/c_api/ms/attribute.h +197 -0
  137. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  138. mindspore/include/c_api/ms/base/macros.h +32 -0
  139. mindspore/include/c_api/ms/base/status.h +33 -0
  140. mindspore/include/c_api/ms/base/types.h +282 -0
  141. mindspore/include/c_api/ms/context.h +102 -0
  142. mindspore/include/c_api/ms/graph.h +160 -0
  143. mindspore/include/c_api/ms/node.h +606 -0
  144. mindspore/include/c_api/ms/tensor.h +161 -0
  145. mindspore/include/c_api/ms/value.h +84 -0
  146. mindspore/include/dataset/constants.h +6 -5
  147. mindspore/include/dataset/execute.h +23 -13
  148. mindspore/include/dataset/text.h +26 -26
  149. mindspore/include/dataset/transforms.h +13 -13
  150. mindspore/include/dataset/vision.h +60 -60
  151. mindspore/include/dataset/vision_ascend.h +5 -6
  152. mindspore/include/dataset/vision_lite.h +17 -17
  153. mindspore/include/mindapi/base/type_id.h +1 -0
  154. mindspore/include/mindapi/base/types.h +1 -0
  155. mindspore/lib/libdnnl.so.2 +0 -0
  156. mindspore/lib/libjemalloc.so.2 +0 -0
  157. mindspore/lib/libmindspore.so +0 -0
  158. mindspore/lib/libmindspore_backend.so +0 -0
  159. mindspore/lib/libmindspore_common.so +0 -0
  160. mindspore/lib/libmindspore_core.so +0 -0
  161. mindspore/lib/libmindspore_glog.so.0 +0 -0
  162. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  163. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  164. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  165. mindspore/lib/libmindspore_shared_lib.so +0 -0
  166. mindspore/lib/libnnacl.so +0 -0
  167. mindspore/lib/libopencv_core.so.4.5 +0 -0
  168. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  169. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  170. mindspore/lib/libps_cache.so +0 -0
  171. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
  172. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
  173. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
  174. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
  175. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  176. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  177. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  178. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  179. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  180. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  181. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  182. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  183. mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
  184. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  185. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  186. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8928 -0
  187. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  188. mindspore/lib/plugin/ascend/libakg.so +0 -0
  189. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  190. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  191. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  192. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  193. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  194. mindspore/lib/plugin/cpu/libakg.so +0 -0
  195. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  196. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  197. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  198. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  199. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  200. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  201. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  202. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  203. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  204. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  205. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  206. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  207. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  208. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  209. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  210. mindspore/nn/__init__.py +0 -2
  211. mindspore/nn/cell.py +313 -74
  212. mindspore/nn/dynamic_lr.py +21 -21
  213. mindspore/nn/layer/activation.py +22 -30
  214. mindspore/nn/layer/basic.py +15 -13
  215. mindspore/nn/layer/channel_shuffle.py +1 -1
  216. mindspore/nn/layer/container.py +271 -9
  217. mindspore/nn/layer/conv.py +323 -204
  218. mindspore/nn/layer/dense.py +8 -5
  219. mindspore/nn/layer/embedding.py +33 -27
  220. mindspore/nn/layer/flash_attention.py +141 -88
  221. mindspore/nn/layer/image.py +8 -6
  222. mindspore/nn/layer/math.py +16 -25
  223. mindspore/nn/layer/normalization.py +107 -66
  224. mindspore/nn/layer/padding.py +1 -1
  225. mindspore/nn/layer/pooling.py +131 -109
  226. mindspore/nn/layer/rnn_cells.py +27 -22
  227. mindspore/nn/layer/rnns.py +13 -16
  228. mindspore/nn/layer/thor_layer.py +1 -1
  229. mindspore/nn/layer/transformer.py +221 -154
  230. mindspore/nn/learning_rate_schedule.py +9 -1
  231. mindspore/nn/loss/loss.py +235 -174
  232. mindspore/nn/optim/ada_grad.py +2 -1
  233. mindspore/nn/optim/adadelta.py +1 -0
  234. mindspore/nn/optim/adafactor.py +2 -1
  235. mindspore/nn/optim/adam.py +7 -4
  236. mindspore/nn/optim/adamax.py +3 -2
  237. mindspore/nn/optim/adasum.py +2 -2
  238. mindspore/nn/optim/asgd.py +2 -3
  239. mindspore/nn/optim/ftrl.py +6 -5
  240. mindspore/nn/optim/lamb.py +7 -4
  241. mindspore/nn/optim/lars.py +1 -1
  242. mindspore/nn/optim/lazyadam.py +5 -3
  243. mindspore/nn/optim/momentum.py +2 -1
  244. mindspore/nn/optim/optimizer.py +53 -4
  245. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  246. mindspore/nn/optim/rmsprop.py +4 -3
  247. mindspore/nn/optim/rprop.py +23 -12
  248. mindspore/nn/optim/sgd.py +26 -11
  249. mindspore/nn/optim/thor.py +9 -7
  250. mindspore/nn/probability/bijector/bijector.py +5 -5
  251. mindspore/nn/probability/bijector/power_transform.py +27 -27
  252. mindspore/nn/probability/bijector/softplus.py +3 -3
  253. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  254. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  255. mindspore/nn/probability/distribution/beta.py +3 -3
  256. mindspore/nn/probability/distribution/categorical.py +7 -7
  257. mindspore/nn/probability/distribution/cauchy.py +0 -1
  258. mindspore/nn/probability/distribution/distribution.py +3 -3
  259. mindspore/nn/probability/distribution/gamma.py +3 -3
  260. mindspore/nn/probability/distribution/geometric.py +4 -4
  261. mindspore/nn/probability/distribution/gumbel.py +4 -4
  262. mindspore/nn/probability/distribution/log_normal.py +2 -2
  263. mindspore/nn/probability/distribution/logistic.py +2 -2
  264. mindspore/nn/probability/distribution/poisson.py +4 -4
  265. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  266. mindspore/nn/probability/distribution/uniform.py +6 -6
  267. mindspore/nn/wrap/cell_wrapper.py +84 -34
  268. mindspore/nn/wrap/grad_reducer.py +8 -5
  269. mindspore/nn/wrap/loss_scale.py +105 -42
  270. mindspore/numpy/array_creations.py +1 -2
  271. mindspore/numpy/array_ops.py +3 -2
  272. mindspore/numpy/utils_const.py +5 -5
  273. mindspore/offline_debug/convert_async.py +2 -2
  274. mindspore/ops/_grad_experimental/__init__.py +0 -5
  275. mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
  276. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  277. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  278. mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
  279. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  280. mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
  281. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  282. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  283. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  284. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
  285. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
  286. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
  287. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
  288. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
  289. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
  290. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  291. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  292. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  293. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  294. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  295. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  296. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  297. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  298. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  299. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  300. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  301. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  302. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  303. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  304. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  305. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  306. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  307. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  308. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  309. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  310. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  311. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  312. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  313. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  314. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  315. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  316. mindspore/ops/_primitive_cache.py +1 -1
  317. mindspore/ops/_tracefunc.py +45 -13
  318. mindspore/ops/_utils/utils.py +6 -1
  319. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  320. mindspore/ops/_vmap/vmap_base.py +3 -3
  321. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  322. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  323. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  324. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  325. mindspore/ops/arg_dtype_cast.py +54 -0
  326. mindspore/ops/composite/base.py +37 -10
  327. mindspore/ops/composite/math_ops.py +5 -4
  328. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  329. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  330. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  331. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  332. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  333. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  334. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  335. mindspore/ops/deprecated.py +304 -0
  336. mindspore/ops/function/__init__.py +4 -1
  337. mindspore/ops/function/array_func.py +174 -193
  338. mindspore/ops/function/clip_func.py +81 -13
  339. mindspore/ops/function/debug_func.py +1 -1
  340. mindspore/ops/function/grad/grad_func.py +18 -9
  341. mindspore/ops/function/image_func.py +10 -4
  342. mindspore/ops/function/linalg_func.py +5 -5
  343. mindspore/ops/function/math_func.py +575 -386
  344. mindspore/ops/function/nn_func.py +568 -260
  345. mindspore/ops/function/random_func.py +88 -57
  346. mindspore/ops/function/sparse_func.py +1 -1
  347. mindspore/ops/function/sparse_unary_func.py +14 -12
  348. mindspore/ops/function/vmap_func.py +6 -5
  349. mindspore/ops/functional.py +15 -10
  350. mindspore/ops/op_info_register.py +244 -25
  351. mindspore/ops/operations/__init__.py +28 -19
  352. mindspore/ops/operations/_grad_ops.py +72 -7
  353. mindspore/ops/operations/_inner_ops.py +350 -17
  354. mindspore/ops/operations/_quant_ops.py +4 -8
  355. mindspore/ops/operations/_sequence_ops.py +42 -0
  356. mindspore/ops/operations/array_ops.py +68 -282
  357. mindspore/ops/operations/comm_ops.py +107 -59
  358. mindspore/ops/operations/custom_ops.py +94 -70
  359. mindspore/ops/operations/debug_ops.py +8 -4
  360. mindspore/ops/operations/image_ops.py +18 -12
  361. mindspore/ops/operations/inner_ops.py +26 -3
  362. mindspore/ops/operations/math_ops.py +189 -141
  363. mindspore/ops/operations/nn_ops.py +794 -489
  364. mindspore/ops/operations/other_ops.py +0 -22
  365. mindspore/ops/operations/random_ops.py +53 -111
  366. mindspore/ops/operations/sparse_ops.py +3 -1
  367. mindspore/ops/primitive.py +24 -18
  368. mindspore/parallel/_auto_parallel_context.py +68 -8
  369. mindspore/parallel/_cost_model_context.py +2 -2
  370. mindspore/parallel/_offload_context.py +17 -3
  371. mindspore/parallel/_parallel_serialization.py +12 -5
  372. mindspore/parallel/_ps_context.py +12 -0
  373. mindspore/parallel/_tensor.py +18 -13
  374. mindspore/parallel/_transformer/layers.py +5 -3
  375. mindspore/parallel/_transformer/loss.py +1 -0
  376. mindspore/parallel/_transformer/moe.py +2 -2
  377. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  378. mindspore/parallel/_transformer/transformer.py +23 -3
  379. mindspore/parallel/_utils.py +11 -7
  380. mindspore/parallel/algo_parameter_config.py +85 -5
  381. mindspore/parallel/checkpoint_transform.py +19 -12
  382. mindspore/parallel/shard.py +21 -14
  383. mindspore/profiler/common/struct_type.py +3 -3
  384. mindspore/profiler/common/util.py +4 -2
  385. mindspore/profiler/envprofiling.py +1 -1
  386. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  387. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  388. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  389. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  390. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  391. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  392. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  393. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  394. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  395. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  396. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  397. mindspore/profiler/parser/flops_parser.py +15 -11
  398. mindspore/profiler/parser/framework_parser.py +38 -22
  399. mindspore/profiler/parser/hccl_parser.py +16 -12
  400. mindspore/profiler/parser/integrator.py +22 -11
  401. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  402. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  403. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  404. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  405. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  406. mindspore/profiler/parser/optime_parser.py +1 -1
  407. mindspore/profiler/parser/profiler_info.py +21 -2
  408. mindspore/profiler/parser/step_trace_parser.py +11 -14
  409. mindspore/profiler/profiling.py +179 -89
  410. mindspore/rewrite/api/node.py +102 -19
  411. mindspore/rewrite/api/node_type.py +5 -1
  412. mindspore/rewrite/api/pattern_engine.py +1 -1
  413. mindspore/rewrite/api/scoped_value.py +9 -17
  414. mindspore/rewrite/api/symbol_tree.py +131 -47
  415. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  416. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  417. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  418. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  419. mindspore/rewrite/common/rewrite_elog.py +5 -1
  420. mindspore/rewrite/namer.py +33 -24
  421. mindspore/rewrite/namespace.py +14 -5
  422. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  423. mindspore/rewrite/node/call_function.py +79 -0
  424. mindspore/rewrite/node/cell_container.py +135 -0
  425. mindspore/rewrite/node/control_flow.py +88 -0
  426. mindspore/rewrite/{node.py → node/node.py} +273 -234
  427. mindspore/rewrite/node/node_manager.py +254 -0
  428. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  429. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  430. mindspore/rewrite/parsers/assign_parser.py +216 -221
  431. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  432. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  433. mindspore/rewrite/parsers/constant_parser.py +9 -6
  434. mindspore/rewrite/parsers/container_parser.py +9 -7
  435. mindspore/rewrite/parsers/for_parser.py +36 -15
  436. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  437. mindspore/rewrite/parsers/if_parser.py +28 -24
  438. mindspore/rewrite/parsers/module_parser.py +196 -25
  439. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  440. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  441. mindspore/rewrite/parsers/return_parser.py +6 -6
  442. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  443. mindspore/rewrite/sparsify/utils.py +1 -1
  444. mindspore/rewrite/symbol_tree.py +523 -578
  445. mindspore/rewrite/symbol_tree_builder.py +9 -193
  446. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  447. mindspore/run_check/_check_version.py +6 -4
  448. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  449. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  450. mindspore/scipy/linalg.py +1 -1
  451. mindspore/scipy/optimize/minimize.py +7 -3
  452. mindspore/train/_utils.py +7 -3
  453. mindspore/train/amp.py +323 -123
  454. mindspore/train/anf_ir_pb2.py +14 -2
  455. mindspore/train/callback/_backup_and_restore.py +2 -12
  456. mindspore/train/callback/_callback.py +29 -4
  457. mindspore/train/callback/_checkpoint.py +23 -8
  458. mindspore/train/callback/_early_stop.py +2 -2
  459. mindspore/train/callback/_landscape.py +4 -4
  460. mindspore/train/callback/_loss_monitor.py +2 -2
  461. mindspore/train/callback/_on_request_exit.py +2 -2
  462. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  463. mindspore/train/callback/_summary_collector.py +15 -8
  464. mindspore/train/callback/_time_monitor.py +58 -5
  465. mindspore/train/data_sink.py +5 -11
  466. mindspore/train/dataset_helper.py +84 -57
  467. mindspore/train/loss_scale_manager.py +2 -2
  468. mindspore/train/metrics/__init__.py +3 -3
  469. mindspore/train/metrics/cosine_similarity.py +1 -1
  470. mindspore/train/metrics/hausdorff_distance.py +3 -2
  471. mindspore/train/metrics/mean_surface_distance.py +3 -2
  472. mindspore/train/metrics/metric.py +39 -19
  473. mindspore/train/metrics/roc.py +2 -2
  474. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  475. mindspore/train/mind_ir_pb2.py +85 -36
  476. mindspore/train/model.py +187 -47
  477. mindspore/train/serialization.py +487 -161
  478. mindspore/train/summary/_summary_adapter.py +1 -1
  479. mindspore/train/summary/_writer_pool.py +3 -2
  480. mindspore/train/summary/summary_record.py +37 -17
  481. mindspore/train/train_thor/convert_utils.py +3 -3
  482. mindspore/train/train_thor/dataset_helper.py +1 -1
  483. mindspore/version.py +1 -1
  484. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/METADATA +6 -7
  485. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/RECORD +488 -528
  486. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/entry_points.txt +0 -1
  487. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  488. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  489. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  490. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  491. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  492. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  493. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  494. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  495. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  496. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  497. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  498. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  499. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  500. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  501. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  502. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  503. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  504. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  505. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  506. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  507. mindspore/_extends/graph_kernel/expander.py +0 -80
  508. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  509. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  510. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  511. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  512. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  513. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  514. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  515. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  516. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  517. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  518. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  519. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  520. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  521. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  522. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  523. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  524. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  525. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  526. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  527. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  528. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  529. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  530. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  531. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  532. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  533. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  534. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  535. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  536. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  537. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  538. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  539. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  540. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  541. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  542. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  543. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  544. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  545. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  546. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  547. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  548. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  549. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  550. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  551. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  552. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  553. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  554. mindspore/dataset/datapreprocess/__init__.py +0 -20
  555. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  556. mindspore/include/api/net.h +0 -142
  557. mindspore/nn/lr_scheduler.py +0 -262
  558. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  559. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  560. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  561. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  562. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  563. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  564. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  565. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  566. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  567. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  568. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  569. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  570. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  571. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  572. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  573. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  574. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  575. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  576. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  577. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  578. mindspore/rewrite/node_visitor.py +0 -44
  579. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/WHEEL +0 -0
  580. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,494 @@
1
+ # This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
2
+ #
3
+ # Copyright 2020-2023 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
+ """Providing auto dynamic shape interface methods."""
18
+
19
+ import os
20
+ from mindspore import log as logger
21
+ from mindspore._c_expression import GraphExecutor_, Tensor
22
+ from mindspore.common._utils import is_shape_unknown, is_dim_unknown
23
+ from mindspore.common.parameter import Parameter
24
+
25
+ SHAPE_DIM_ANY = -1
26
+ SHAPE_RANK_ANY = -2
27
+
28
+ auto_dynamic_shepe_dict = {}
29
+
30
+
31
+ class _AutoDynamicShapeManager:
32
+ """
33
+ Represents a function to manage auto identify dynamic shape.
34
+ """
35
+ def __init__(self):
36
+ self.real_shape_cache = []
37
+ self.generalize_shape_cache = []
38
+ self.real_phase_and_compile_args_dict = {}
39
+ self.generalize_phase_and_compile_args_dict = {}
40
+ self._graph_executor = GraphExecutor_.get_instance()
41
+
42
+
43
+ def __del__(self):
44
+ self.real_shape_cache = []
45
+ self.generalize_shape_cache = []
46
+ self.real_phase_and_compile_args_dict = {}
47
+ self.generalize_phase_and_compile_args_dict = {}
48
+
49
+
50
+ @staticmethod
51
+ def is_tensor_equal(input_elem, cache_elem):
52
+ """check two tensor or param is equal"""
53
+ if input_elem.shape == cache_elem.shape and input_elem.dtype == cache_elem.dtype:
54
+ return True
55
+ return False
56
+
57
+
58
+ @staticmethod
59
+ def _get_input_generalize_number(arg_list, is_shape_input):
60
+ """check two tensor or param is equal"""
61
+ count = 0
62
+ if is_shape_input:
63
+ for arg in arg_list:
64
+ if is_shape_unknown(arg):
65
+ count = count + 1
66
+ else:
67
+ for arg in arg_list:
68
+ if isinstance(arg, Tensor) and is_shape_unknown(arg.shape):
69
+ count = count + 1
70
+ return count
71
+
72
+
73
+ def get_real_shape_cache_number(self):
74
+ """get real shape cache number"""
75
+ return len(self.real_shape_cache)
76
+
77
+
78
+ def get_real_shape_cache(self):
79
+ """get real shape cache"""
80
+ return self.real_shape_cache
81
+
82
+
83
+ def get_generalize_shape_cache_number(self):
84
+ """get generalize shape cache number"""
85
+ return len(self.generalize_shape_cache)
86
+
87
+
88
+ def get_generalize_shape_cache(self):
89
+ """get generalize shape cache"""
90
+ return self.generalize_shape_cache
91
+
92
+
93
+ def get_cache_by_type(self, cache_type):
94
+ """get cache by type"""
95
+ if cache_type == "real":
96
+ shape_cache = self.real_shape_cache
97
+ else:
98
+ shape_cache = self.generalize_shape_cache
99
+
100
+ return shape_cache
101
+
102
+
103
+ def get_compile_args_shape_without_sink(self, input_args, res_shape):
104
+ """get compile args shape with out sink mode"""
105
+ for arg in input_args:
106
+ if isinstance(arg, Tensor):
107
+ res_shape.append(arg.shape)
108
+ elif isinstance(arg, (int, float)):
109
+ res_shape.append([])
110
+ elif isinstance(arg, (tuple, list)):
111
+ tmp_shape = []
112
+ self.get_compile_args_shape_without_sink(arg, tmp_shape)
113
+ res_shape.append(tmp_shape)
114
+
115
+
116
+ def get_compile_args_shape(self, input_args, is_sink_mode):
117
+ """get compile args shape"""
118
+ if is_sink_mode:
119
+ return input_args
120
+
121
+ res_shape = []
122
+ self.get_compile_args_shape_without_sink(input_args, res_shape)
123
+ return res_shape
124
+
125
+
126
+ def find_compile_args_in_shape_cache(self, input_args, cache_type):
127
+ """find compile args in real or generalize shape cache"""
128
+ shape_cache = self.get_cache_by_type(cache_type)
129
+ for cache_args in shape_cache:
130
+ res = self._compare_input_args_and_cache_args(input_args, cache_args)
131
+ if res:
132
+ return True
133
+ return False
134
+
135
+
136
+ def update_phase_and_compile_args(self, compile_args, phase, save_cache_number, is_sink_mode, aux=None):
137
+ """update compile args and phase"""
138
+
139
+ if phase in self.real_phase_and_compile_args_dict:
140
+ logger.debug(f'phase=%r is in real phase and compile args dict.', phase)
141
+ return
142
+
143
+ if phase in self.generalize_phase_and_compile_args_dict:
144
+ logger.debug(f'phase=%r is in generalize phase and compile args dict.', phase)
145
+ return
146
+
147
+ if len(self.real_shape_cache) < 2:
148
+ logger.debug(f'The real shape cache number is {len(self.real_shape_cache)}, is less than 2,'
149
+ f'phase=%r should be saved in real shape cache.', phase)
150
+ self.real_phase_and_compile_args_dict[phase] = compile_args
151
+ self.real_shape_cache.append(compile_args)
152
+ return
153
+
154
+ max_save_cache_number = save_cache_number - 2
155
+
156
+ if len(self.generalize_phase_and_compile_args_dict) >= max_save_cache_number:
157
+ # step1: find delete phase
158
+ phase_list = list(self.generalize_phase_and_compile_args_dict.keys())
159
+ delete_phase = phase_list[0]
160
+ delete_compile_args = self.generalize_phase_and_compile_args_dict.get(delete_phase)
161
+
162
+ # step2: delete phase cache
163
+ if is_sink_mode:
164
+ if hasattr(aux, '__network_manage__') and delete_phase in aux.__network_manage__:
165
+ del aux.__network_manage__[delete_phase]
166
+ del self.generalize_phase_and_compile_args_dict[delete_phase]
167
+ else:
168
+ delete_cache = set()
169
+ delete_cache.add(delete_phase)
170
+ self._graph_executor.del_net_res(None, delete_cache)
171
+ del self.generalize_phase_and_compile_args_dict[delete_phase]
172
+
173
+ # step3: delete compile args
174
+ self.generalize_shape_cache.remove(delete_compile_args)
175
+
176
+ # step3 save phase and compile args into cache
177
+ logger.info(f'The generalize shape cache number is {len(self.generalize_shape_cache)}, is less than '
178
+ f'{max_save_cache_number}, phase=%r should be saved in generalize shape cache.', phase)
179
+ self.generalize_phase_and_compile_args_dict[phase] = compile_args
180
+ self.generalize_shape_cache.append(compile_args)
181
+
182
+
183
+ def _compare_input_args_and_cache_args(self, input_args, cache_args):
184
+ """compare input args and cache args"""
185
+ for (input, cache) in zip(input_args, cache_args):
186
+ if isinstance(input, Tensor) and isinstance(cache, Tensor):
187
+ if not self.is_tensor_equal(input, cache):
188
+ return False
189
+ elif isinstance(input, int) and isinstance(cache, int):
190
+ if input != cache:
191
+ return False
192
+ elif isinstance(input, (tuple, list)) and isinstance(cache, (tuple, list)):
193
+ if not self._compare_input_args_and_cache_args(input, cache):
194
+ return False
195
+ return True
196
+
197
+
198
+ class _AutoIdentifyDynamicShape:
199
+ """
200
+ Represents a function auto identify dynamic shape.
201
+ """
202
+ def __init__(self):
203
+ self.all_shape_cache = {}
204
+ self.is_sink_mode = False
205
+ self.is_enable_auto_dynamic_shape = True
206
+ self.save_cache_number = 3
207
+ self.enable_auto_identify = os.getenv('MS_AUTO_DYNAMIC_SHAPE_ENABLE')
208
+ self.auto_dynamic_shape_manager = _AutoDynamicShapeManager()
209
+
210
+
211
+ def __del__(self):
212
+ self.all_shape_cache = {}
213
+ self.is_sink_mode = False
214
+ self.is_enable_auto_dynamic_shape = True
215
+ self.save_cache_number = 3
216
+
217
+
218
+ def _check_input_args_number(self, args_list):
219
+ """check input arg number"""
220
+ if self.auto_dynamic_shape_manager.get_real_shape_cache_number() > 0:
221
+ first_real_cache = self.auto_dynamic_shape_manager.get_real_shape_cache()[0]
222
+ if len(first_real_cache) != len(args_list):
223
+ return False
224
+ return True
225
+
226
+
227
+ def _check_input_tensor_type(self, args_list, cache_list):
228
+ """check input args type"""
229
+ for (arg, cache) in zip(args_list, cache_list):
230
+ if isinstance(arg, Tensor) and isinstance(cache, Tensor):
231
+ if arg.dtype != cache.dtype:
232
+ logger.debug((f'input tensor type = {arg.dtype}, cache tensor type = {cache.dtype}, '
233
+ f'tensor types are not same.'))
234
+ return False
235
+ elif isinstance(arg, (tuple, list)) and isinstance(cache, (tuple, list)):
236
+ res = self._check_input_tensor_type(arg, cache)
237
+ if not res:
238
+ 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
+ return False
243
+ elif isinstance(arg, Tensor) and not isinstance(cache, Tensor):
244
+ return False
245
+ elif isinstance(arg, (int, float)) and not isinstance(cache, (int, float)):
246
+ return False
247
+ elif isinstance(arg, (tuple, list)) and not isinstance(cache, (tuple, list)):
248
+ return False
249
+ return True
250
+
251
+
252
+ def _check_input_number_and_type(self, args_list):
253
+ """check input number and type"""
254
+ res = self._check_input_args_number(args_list)
255
+ if not res:
256
+ return False
257
+
258
+ if self.auto_dynamic_shape_manager.get_real_shape_cache_number() > 0:
259
+ cache_list = self.auto_dynamic_shape_manager.get_real_shape_cache()[0]
260
+ res = self._check_input_tensor_type(args_list, cache_list)
261
+ if not res:
262
+ return False
263
+ return True
264
+
265
+
266
+ def _is_enable_auto_dynamic_shape(self, args_list, is_sink_mode):
267
+ """is enable auto identify shape"""
268
+ if not is_sink_mode and not args_list:
269
+ 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
+ for elem in args_list:
278
+ if elem is None:
279
+ continue
280
+ if not isinstance(elem, (list, tuple, Tensor, int, float)):
281
+ return False
282
+ if isinstance(elem, Tensor) and (is_shape_unknown(elem.shape) or (not elem.shape)):
283
+ return False
284
+ if not is_sink_mode and isinstance(elem, (list, tuple)):
285
+ return self._is_enable_auto_dynamic_shape(elem, is_sink_mode)
286
+ return True
287
+
288
+
289
+ @staticmethod
290
+ def _do_generalize_in_sink(arg, cache, input_index, cache_index, cache_type):
291
+ """do generalize in sink, input rank must be 2"""
292
+ if not arg:
293
+ raise ValueError("In sink mode, cell input can not be scalar.")
294
+
295
+ if arg == cache:
296
+ return cache
297
+
298
+ shape_value = []
299
+ if len(arg) != len(cache):
300
+ shape_value.append(SHAPE_RANK_ANY)
301
+ else:
302
+ for _ in arg:
303
+ shape_value.append(SHAPE_DIM_ANY)
304
+ logger.info((f'In the {cache_type} cache[{cache_index}], the {input_index}th input tensor shape is {arg},'
305
+ f'cache shape is {cache}, not equal, need generalize to {shape_value}.'))
306
+ return shape_value
307
+
308
+ def update_phase_and_compile_args(self, args, phase, is_sink_mode, aux=None):
309
+ """save compile args and phase into dict"""
310
+ if not self.is_enable_auto_dynamic_shape:
311
+ return
312
+ self.auto_dynamic_shape_manager.update_phase_and_compile_args(args, phase, self.save_cache_number,
313
+ is_sink_mode, aux)
314
+
315
+
316
+ def _generate_with_generalize_shape(self, generalize_shape_args, is_sink_mode, args_list):
317
+ """generate with generalize_shape """
318
+ new_generalize_shape, can_generalize = self._do_generalize_shape("generalize", generalize_shape_args,
319
+ is_sink_mode)
320
+ if not can_generalize:
321
+ return args_list
322
+
323
+ res_shape = self.auto_dynamic_shape_manager.get_compile_args_shape(new_generalize_shape, is_sink_mode)
324
+ logger.info((f'generalize with generalize shape cache, compile args shape = {res_shape}'))
325
+ return new_generalize_shape
326
+
327
+ def auto_dynamic_generate_compile_args(self, args_list, is_sink_mode):
328
+ """generate compile args in auto dynamic shape"""
329
+ if not self._check_input_number_and_type(args_list) or \
330
+ not self._is_enable_auto_dynamic_shape(args_list, is_sink_mode):
331
+ self.is_enable_auto_dynamic_shape = False
332
+ return args_list
333
+ self.is_sink_mode = is_sink_mode
334
+
335
+ res_shape = self.auto_dynamic_shape_manager.get_compile_args_shape(args_list, is_sink_mode)
336
+ logger.debug((f'input args list shape = {res_shape}.'))
337
+
338
+ # step1: find cache in real_shape_cache.
339
+ if self._check_real_shape_cache(res_shape, args_list):
340
+ return args_list
341
+
342
+ # step2: if can not find cache in real_shape_cache, then generate it
343
+ generalize_shape_args, can_generalize = self._do_generalize_shape("real", args_list, is_sink_mode)
344
+ if not can_generalize:
345
+ return args_list
346
+
347
+ if self.auto_dynamic_shape_manager.get_generalize_shape_cache_number() == 0:
348
+ res_shape = self.auto_dynamic_shape_manager.get_compile_args_shape(generalize_shape_args, is_sink_mode)
349
+ logger.info((f'generalize shape cache cap is smaller than 1, compile args shape = {res_shape}.'))
350
+ return generalize_shape_args
351
+
352
+ # step3: find generalize_shape in generalize_shape_cache
353
+ is_generalize_shape_exist = \
354
+ self.auto_dynamic_shape_manager.find_compile_args_in_shape_cache(generalize_shape_args, "generalize")
355
+
356
+ # step 4: if can not find cache in generalize_shape_cache, then generate it again
357
+ if not is_generalize_shape_exist:
358
+ return self._generate_with_generalize_shape(generalize_shape_args, is_sink_mode, args_list)
359
+
360
+ res_shape = self.auto_dynamic_shape_manager.get_compile_args_shape(generalize_shape_args, is_sink_mode)
361
+ logger.debug((f'find compile args in generalize shape cache, compile args shape={res_shape}'))
362
+ return generalize_shape_args
363
+
364
+
365
+ def _cal_unknown_shape_count(self, generalize_shape_args, is_sink_mode):
366
+ """generalize shape by compare with real shape cache, and return the least generalize input."""
367
+ unknown_shape_count = 0
368
+ unknown_rank_count = 0
369
+ for elem in generalize_shape_args:
370
+ if isinstance(elem, (list, tuple)):
371
+ rank_count, shape_count = self._cal_unknown_shape_count(elem, is_sink_mode)
372
+ unknown_rank_count = unknown_rank_count + rank_count
373
+ unknown_shape_count = unknown_shape_count + shape_count
374
+ if isinstance(elem, Tensor):
375
+ if is_shape_unknown(elem.shape):
376
+ unknown_shape_count = unknown_shape_count + 1
377
+ if is_dim_unknown(elem.shape):
378
+ unknown_rank_count = unknown_rank_count + 1
379
+ if is_sink_mode and isinstance(elem, int):
380
+ if elem == SHAPE_DIM_ANY:
381
+ unknown_shape_count = unknown_shape_count + 1
382
+ if elem == SHAPE_RANK_ANY:
383
+ unknown_rank_count = unknown_rank_count + 1
384
+ return unknown_rank_count, unknown_shape_count
385
+
386
+
387
+ def _do_generalize_one_input_shape(self, input_args, cache_args, cache_type, index, is_sink_mode):
388
+ """do generalize shape one input by cache"""
389
+ def generalize_tensor(arg, cache, i):
390
+ if self.auto_dynamic_shape_manager.is_tensor_equal(arg, cache):
391
+ return arg
392
+
393
+ shape_value = []
394
+ if len(arg.shape) != len(cache.shape):
395
+ shape_value.append(SHAPE_RANK_ANY)
396
+ else:
397
+ shape_value = [SHAPE_DIM_ANY for _ in range(len(arg.shape))]
398
+ shape_tuple = tuple(shape_value)
399
+ logger.info((f'In the {cache_type} cache[{index}], the {i}th input tensor shape is {arg.shape},'
400
+ f'cache shape is {cache.shape}, not equal, need generalize to {shape_tuple}.'))
401
+ return Tensor(shape=shape_tuple, dtype=arg.dtype)
402
+
403
+ def generalize_sequence(arg, cache, i):
404
+ if is_sink_mode:
405
+ # when is_sink_mode=True, input must be the shape of Tensor.
406
+ res = self._do_generalize_in_sink(arg, cache, i, index, cache_type)
407
+ return res
408
+
409
+ res = self._do_generalize_one_input_shape(arg, cache, cache_type, index, is_sink_mode)
410
+ return res
411
+
412
+ generalize_one_shape = []
413
+ for i, (arg, cache) in enumerate(zip(input_args, cache_args)):
414
+ if isinstance(arg, Parameter) and isinstance(cache, Parameter):
415
+ if self.auto_dynamic_shape_manager.is_tensor_equal(arg, cache):
416
+ generalize_one_shape.append(arg)
417
+ continue
418
+
419
+ logger.info("In auto dynamic shape mode, parameter must be equal, it can not be generalize.")
420
+ return input_args, False
421
+
422
+ if isinstance(arg, Tensor) and isinstance(cache, Tensor):
423
+ res = generalize_tensor(arg, cache, i)
424
+ generalize_one_shape.append(res)
425
+ elif isinstance(arg, (tuple, list)) and isinstance(cache, (tuple, list)):
426
+ res = generalize_sequence(arg, cache, i)
427
+ generalize_one_shape.append(res)
428
+ elif isinstance(arg, int) and isinstance(cache, int):
429
+ # when is_sink_mode=False, the input must may be scalar, or the value of list/tuple.
430
+ # is_sink_mode can not be True
431
+ if arg == cache:
432
+ generalize_one_shape.append(arg)
433
+ else:
434
+ logger.info("In auto dynamic shape mode, scalar/tuple/list must be equal, it can not be " \
435
+ "generalize.")
436
+ return input_args, False
437
+ elif arg is None and cache is None:
438
+ generalize_one_shape.append(arg)
439
+
440
+ return generalize_one_shape, True
441
+
442
+
443
+
444
+ def _do_generalize_shape(self, cache_type, input_args, is_sink_mode):
445
+ """do generalize shape by cache"""
446
+ shape_cache = self.auto_dynamic_shape_manager.get_cache_by_type(cache_type)
447
+ all_generalize_shape_args = []
448
+ for index, cache_args in enumerate(shape_cache):
449
+ generalize_shape, can_generalize = self._do_generalize_one_input_shape(input_args, cache_args, cache_type,
450
+ index, is_sink_mode)
451
+ if not can_generalize:
452
+ return generalize_shape, False
453
+ all_generalize_shape_args.append(tuple(generalize_shape))
454
+
455
+ unknown_shape_dict = {}
456
+ for generalize_shape_args in all_generalize_shape_args:
457
+ unknown_rank_count, unknown_shape_count = self._cal_unknown_shape_count(generalize_shape_args, is_sink_mode)
458
+ unknown_count = (unknown_rank_count, unknown_shape_count)
459
+ if unknown_count not in unknown_shape_dict:
460
+ unknown_shape_dict[unknown_count] = generalize_shape_args
461
+
462
+ keys = list(unknown_shape_dict.keys())
463
+ keys.sort(key=lambda x: (x[0], x[1]))
464
+ return unknown_shape_dict.get(keys[0]), True
465
+
466
+ _auto_dynamic_shape = _AutoIdentifyDynamicShape()
467
+
468
+
469
+ def get_auto_dynamic_shape_args(compile_args, key_id):
470
+ """get auto dynamic shape args."""
471
+ if key_id not in auto_dynamic_shepe_dict:
472
+ auto_dynamic_shepe_dict[key_id] = _AutoIdentifyDynamicShape()
473
+ compile_args = auto_dynamic_shepe_dict[key_id].auto_dynamic_generate_compile_args(compile_args, False)
474
+ return compile_args
475
+
476
+
477
+ def update_auto_dynamic_shape_phase(compile_args, key_id, phase):
478
+ """update auto dynamic shape phase."""
479
+ if key_id in auto_dynamic_shepe_dict:
480
+ auto_dynamic_shepe_dict[key_id].update_phase_and_compile_args(compile_args, phase, False)
481
+
482
+
483
+ def get_auto_dynamic_shape_args_with_check_input_signature(compile_args, key_id, input_signature):
484
+ """get auto dynamic shape args."""
485
+ if input_signature is None:
486
+ return get_auto_dynamic_shape_args(compile_args, key_id)
487
+ return compile_args
488
+
489
+
490
+ def update_auto_dynamic_shape_phase_with_check_input_signature(compile_args, key_id, phase, input_signature):
491
+ """update auto dynamic shape phase."""
492
+ if input_signature is None:
493
+ if key_id in auto_dynamic_shepe_dict:
494
+ auto_dynamic_shepe_dict[key_id].update_phase_and_compile_args(compile_args, phase, False)
mindspore/common/dtype.py CHANGED
@@ -42,7 +42,8 @@ __dtype__ = [
42
42
  "string", "type_none",
43
43
  "TensorType", "_null",
44
44
  "Type", "Int",
45
- "complex64", "complex128"
45
+ "complex64", "complex128",
46
+ "bfloat16"
46
47
  ]
47
48
 
48
49
  __method__ = [
@@ -81,6 +82,7 @@ float32 = typing.Float(32)
81
82
  single = float32
82
83
  float64 = typing.Float(64)
83
84
  double = float64
85
+ bfloat16 = typing.BFloat(16)
84
86
  complex64 = typing.Complex(64)
85
87
  complex128 = typing.Complex(128)
86
88
 
@@ -136,6 +138,7 @@ number_type = (int8,
136
138
  float16,
137
139
  float32,
138
140
  float64,
141
+ bfloat16,
139
142
  complex64,
140
143
  complex128,)
141
144
 
@@ -144,9 +147,9 @@ uint_type = (uint8, uint16, uint32, uint64,)
144
147
  float_type = (float16, float32, float64,)
145
148
  signed_type = (int8, byte, int16, short, int32, intc, int64,
146
149
  intp, float16, half, float32, single, float64,
147
- double, complex64, complex128)
150
+ double, bfloat16, complex64, complex128)
148
151
  complex_type = (complex64, complex128,)
149
- all_types = (bool_, int8, uint8, int16, int32, int64, float16, float32, float64, complex64, complex128)
152
+ all_types = (bool_, int8, uint8, int16, int32, int64, float16, float32, float64, bfloat16, complex64, complex128)
150
153
  implicit_conversion_seq = {t: idx for idx, t in enumerate(all_types)}
151
154
 
152
155
  _simple_types = {
@@ -189,8 +192,9 @@ def pytype_to_dtype(obj):
189
192
 
190
193
  Examples:
191
194
  >>> import mindspore as ms
192
- >>> ms.dtype_to_nptype(bool)
193
- mindspore.bool_
195
+ >>> out = ms.pytype_to_dtype(bool)
196
+ >>> print(out)
197
+ Bool
194
198
  """
195
199
 
196
200
  if isinstance(obj, np.dtype):
@@ -240,11 +244,11 @@ def get_py_obj_dtype(obj):
240
244
 
241
245
 
242
246
  def dtype_to_nptype(type_):
243
- """
247
+ r"""
244
248
  Convert MindSpore dtype to numpy data type.
245
249
 
246
250
  Args:
247
- type_ (:class:`mindspore.dtype`): MindSpore's dtype.
251
+ type\_ (:class:`mindspore.dtype`): MindSpore's dtype.
248
252
 
249
253
  Returns:
250
254
  The data type of numpy.
@@ -270,22 +274,24 @@ def dtype_to_nptype(type_):
270
274
  float64: np.float64,
271
275
  complex64: np.complex64,
272
276
  complex128: np.complex128,
277
+ bfloat16: np.float32,
273
278
  }[type_]
274
279
 
275
280
 
276
281
  def dtype_to_pytype(type_):
277
- """
282
+ r"""
278
283
  Convert MindSpore dtype to python data type.
279
284
 
280
285
  Args:
281
- type_ (:class:`mindspore.dtype`): MindSpore's dtype.
286
+ type\_ (:class:`mindspore.dtype`): MindSpore's dtype.
282
287
 
283
288
  Returns:
284
289
  Type of python.
285
290
 
286
291
  Examples:
287
292
  >>> import mindspore as ms
288
- >>> ms.dtype_to_nptype(ms.bool_)
293
+ >>> out = ms.dtype_to_pytype(ms.bool_)
294
+ >>> print(out)
289
295
  <class 'bool'>
290
296
  """
291
297
 
@@ -304,6 +310,7 @@ def dtype_to_pytype(type_):
304
310
  float16: float,
305
311
  float32: float,
306
312
  float64: float,
313
+ bfloat16: float,
307
314
  list_: list,
308
315
  tuple_: tuple,
309
316
  string: str,
@@ -341,7 +348,7 @@ class QuantDtype(enum.Enum):
341
348
  """
342
349
  An enum for quant datatype, contains `INT1` ~ `INT16`, `UINT1` ~ `UINT16`.
343
350
 
344
- `QuantDtype` is defined in `dtype.py <https://gitee.com/mindspore/mindspore/blob/r2.1/mindspore/python/mindspore/
351
+ `QuantDtype` is defined in `dtype.py <https://gitee.com/mindspore/mindspore/tree/r2.2/mindspore/python/mindspore/
345
352
  common/dtype.py>`_, use command below to import:
346
353
 
347
354
  .. code-block::
mindspore/common/dump.py CHANGED
@@ -27,7 +27,7 @@ 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 Asynchronous Dump is enabled and the `dump_mode`
29
29
  field in dump config file is ``"2"`` . See the `dump document <https://www.mindspore.cn/tutorials/
30
- experts/en/r2.1/debug/dump.html>`_ for details. The default enabled status for
30
+ experts/en/r2.2/debug/dump.html>`_ for details. The default enabled status for
31
31
  a :class:`mindspore.nn.Cell` or :class:`mindspore.ops.Primitive` is False.
32
32
 
33
33
  .. warning::
@@ -57,9 +57,11 @@ def set_dump(target, enabled=True):
57
57
  ``Ascend``
58
58
 
59
59
  Examples:
60
- >>> # Please set the dump config file and environment variable before
61
- >>> # running this example to actually get the dump data.
62
- >>> # See the document of this API for details.
60
+ .. note::
61
+ Please set environment variable `MINDSPORE_DUMP_CONFIG` to the dump config file and set `dump_mode` field
62
+ in dump config file to 2 before running this example.
63
+ See `dump document <https://www.mindspore.cn/tutorials/experts/en/r2.2/debug/dump.html>`_ for details.
64
+
63
65
  >>> import numpy as np
64
66
  >>> import mindspore as ms
65
67
  >>> import mindspore.nn as nn