mindspore 2.1.0__cp38-cp38-manylinux1_x86_64.whl → 2.2.0__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 (550) 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 +49 -16
  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/composite_op_helper.py +9 -10
  20. mindspore/_akg/akg/utils/kernel_exec.py +58 -260
  21. mindspore/_akg/akg/utils/result_analysis.py +4 -24
  22. mindspore/_akg/akg/utils/tbe_codegen_utils.py +198 -0
  23. mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
  24. mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
  25. mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
  26. mindspore/_check_jit_forbidden_api.py +3 -1
  27. mindspore/_checkparam.py +26 -32
  28. mindspore/_extends/graph_kernel/__init__.py +0 -1
  29. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  30. mindspore/_extends/graph_kernel/splitter.py +1 -9
  31. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
  32. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +2 -2
  33. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  34. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
  35. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +4 -4
  36. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  37. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  38. mindspore/_extends/parse/__init__.py +12 -15
  39. mindspore/_extends/parse/namespace.py +7 -33
  40. mindspore/_extends/parse/parser.py +61 -71
  41. mindspore/_extends/parse/resources.py +1 -1
  42. mindspore/_extends/parse/standard_method.py +72 -95
  43. mindspore/_extends/parse/trope.py +1 -1
  44. mindspore/_extends/remote/kernel_build_server.py +24 -7
  45. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  46. mindspore/_install_custom.py +43 -0
  47. mindspore/_mindspore_offline_debug.cpython-38-x86_64-linux-gnu.so +0 -0
  48. mindspore/amp.py +47 -11
  49. mindspore/bin/cache_admin +0 -0
  50. mindspore/bin/cache_server +0 -0
  51. mindspore/boost/boost.py +1 -8
  52. mindspore/boost/boost_cell_wrapper.py +3 -2
  53. mindspore/boost/grad_accumulation.py +1 -1
  54. mindspore/boost/group_loss_scale_manager.py +8 -7
  55. mindspore/common/__init__.py +5 -3
  56. mindspore/common/_jit_fallback_utils.py +6 -0
  57. mindspore/common/_register_for_adapter.py +2 -0
  58. mindspore/common/_register_for_tensor.py +2 -2
  59. mindspore/common/_stub_tensor.py +13 -0
  60. mindspore/common/_utils.py +13 -0
  61. mindspore/common/api.py +173 -258
  62. mindspore/common/auto_dynamic_shape.py +498 -0
  63. mindspore/common/dtype.py +18 -11
  64. mindspore/common/dump.py +6 -4
  65. mindspore/common/initializer.py +14 -14
  66. mindspore/common/jit_config.py +33 -15
  67. mindspore/common/lazy_inline.py +126 -7
  68. mindspore/common/mindir_util.py +101 -0
  69. mindspore/common/parameter.py +51 -41
  70. mindspore/common/seed.py +4 -4
  71. mindspore/common/sparse_tensor.py +13 -14
  72. mindspore/common/tensor.py +240 -145
  73. mindspore/communication/__init__.py +7 -4
  74. mindspore/communication/_comm_helper.py +83 -4
  75. mindspore/communication/management.py +152 -84
  76. mindspore/config/op_info.config +13 -2
  77. mindspore/config/super_bar_config.json +4 -2
  78. mindspore/context.py +143 -59
  79. mindspore/dataset/__init__.py +5 -5
  80. mindspore/dataset/audio/__init__.py +2 -2
  81. mindspore/dataset/audio/transforms.py +52 -52
  82. mindspore/dataset/callback/ds_callback.py +16 -2
  83. mindspore/dataset/core/config.py +68 -51
  84. mindspore/dataset/engine/cache_client.py +28 -5
  85. mindspore/dataset/engine/datasets.py +250 -112
  86. mindspore/dataset/engine/datasets_audio.py +43 -211
  87. mindspore/dataset/engine/datasets_standard_format.py +11 -35
  88. mindspore/dataset/engine/datasets_text.py +43 -67
  89. mindspore/dataset/engine/datasets_user_defined.py +86 -100
  90. mindspore/dataset/engine/datasets_vision.py +219 -1029
  91. mindspore/dataset/engine/iterators.py +11 -4
  92. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
  93. mindspore/dataset/engine/obs/util.py +3 -0
  94. mindspore/dataset/engine/samplers.py +1 -1
  95. mindspore/dataset/engine/validators.py +19 -5
  96. mindspore/dataset/text/__init__.py +3 -3
  97. mindspore/dataset/text/transforms.py +101 -127
  98. mindspore/dataset/text/utils.py +205 -138
  99. mindspore/dataset/transforms/__init__.py +1 -1
  100. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  101. mindspore/dataset/transforms/transforms.py +95 -40
  102. mindspore/dataset/utils/browse_dataset.py +8 -2
  103. mindspore/dataset/utils/line_reader.py +17 -19
  104. mindspore/dataset/vision/__init__.py +3 -3
  105. mindspore/dataset/vision/c_transforms.py +6 -3
  106. mindspore/dataset/vision/transforms.py +409 -287
  107. mindspore/dataset/vision/utils.py +13 -14
  108. mindspore/dataset/vision/validators.py +11 -1
  109. mindspore/experimental/map_parameter.py +14 -0
  110. mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
  111. mindspore/{nn/optim_ex → experimental/optim}/adam.py +59 -66
  112. mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
  113. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  114. mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
  115. mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
  116. mindspore/gen_ops.py +273 -0
  117. mindspore/include/OWNERS +0 -1
  118. mindspore/include/api/data_type.h +2 -1
  119. mindspore/include/api/graph.h +0 -15
  120. mindspore/include/api/kernel.h +2 -0
  121. mindspore/include/api/kernel_api.h +37 -12
  122. mindspore/include/api/model.h +0 -14
  123. mindspore/include/api/types.h +37 -4
  124. mindspore/include/c_api/ms/abstract.h +67 -0
  125. mindspore/include/c_api/ms/attribute.h +197 -0
  126. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  127. mindspore/include/c_api/ms/base/macros.h +32 -0
  128. mindspore/include/c_api/ms/base/status.h +33 -0
  129. mindspore/include/c_api/ms/base/types.h +282 -0
  130. mindspore/include/c_api/ms/context.h +102 -0
  131. mindspore/include/c_api/ms/graph.h +160 -0
  132. mindspore/include/c_api/ms/node.h +606 -0
  133. mindspore/include/c_api/ms/tensor.h +161 -0
  134. mindspore/include/c_api/ms/value.h +84 -0
  135. mindspore/include/dataset/constants.h +6 -5
  136. mindspore/include/dataset/execute.h +23 -13
  137. mindspore/include/dataset/text.h +26 -26
  138. mindspore/include/dataset/transforms.h +13 -13
  139. mindspore/include/dataset/vision.h +60 -60
  140. mindspore/include/dataset/vision_ascend.h +5 -6
  141. mindspore/include/dataset/vision_lite.h +17 -17
  142. mindspore/include/mindapi/base/type_id.h +1 -0
  143. mindspore/include/mindapi/base/types.h +1 -0
  144. mindspore/lib/libdnnl.so.2 +0 -0
  145. mindspore/lib/libjemalloc.so.2 +0 -0
  146. mindspore/lib/libmindspore.so +0 -0
  147. mindspore/lib/libmindspore_backend.so +0 -0
  148. mindspore/lib/libmindspore_common.so +0 -0
  149. mindspore/lib/libmindspore_core.so +0 -0
  150. mindspore/lib/libmindspore_glog.so.0 +0 -0
  151. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  152. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  153. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  154. mindspore/lib/libmindspore_shared_lib.so +0 -0
  155. mindspore/lib/libnnacl.so +0 -0
  156. mindspore/lib/libopencv_core.so.4.5 +0 -0
  157. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  158. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  159. mindspore/lib/libps_cache.so +0 -0
  160. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  161. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  162. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +9000 -0
  163. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  164. mindspore/lib/plugin/ascend/libakg.so +0 -0
  165. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  166. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  167. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  168. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  169. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  170. mindspore/lib/plugin/cpu/libakg.so +0 -0
  171. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  172. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  173. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  174. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  175. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  176. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  177. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  178. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  179. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  180. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  181. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  182. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  183. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  184. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  185. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  186. mindspore/nn/__init__.py +0 -2
  187. mindspore/nn/cell.py +316 -74
  188. mindspore/nn/dynamic_lr.py +21 -21
  189. mindspore/nn/layer/activation.py +21 -28
  190. mindspore/nn/layer/basic.py +15 -13
  191. mindspore/nn/layer/channel_shuffle.py +1 -1
  192. mindspore/nn/layer/container.py +271 -9
  193. mindspore/nn/layer/conv.py +310 -207
  194. mindspore/nn/layer/dense.py +8 -5
  195. mindspore/nn/layer/embedding.py +33 -27
  196. mindspore/nn/layer/flash_attention.py +82 -41
  197. mindspore/nn/layer/image.py +8 -6
  198. mindspore/nn/layer/math.py +13 -18
  199. mindspore/nn/layer/normalization.py +107 -66
  200. mindspore/nn/layer/padding.py +1 -1
  201. mindspore/nn/layer/pooling.py +131 -109
  202. mindspore/nn/layer/rnn_cells.py +22 -17
  203. mindspore/nn/layer/rnns.py +13 -16
  204. mindspore/nn/layer/thor_layer.py +1 -1
  205. mindspore/nn/layer/transformer.py +221 -154
  206. mindspore/nn/learning_rate_schedule.py +9 -1
  207. mindspore/nn/loss/loss.py +235 -174
  208. mindspore/nn/optim/ada_grad.py +2 -1
  209. mindspore/nn/optim/adadelta.py +1 -0
  210. mindspore/nn/optim/adafactor.py +2 -1
  211. mindspore/nn/optim/adam.py +7 -4
  212. mindspore/nn/optim/adamax.py +3 -2
  213. mindspore/nn/optim/adasum.py +2 -2
  214. mindspore/nn/optim/asgd.py +2 -3
  215. mindspore/nn/optim/ftrl.py +6 -5
  216. mindspore/nn/optim/lamb.py +7 -4
  217. mindspore/nn/optim/lars.py +1 -1
  218. mindspore/nn/optim/lazyadam.py +5 -3
  219. mindspore/nn/optim/momentum.py +2 -1
  220. mindspore/nn/optim/optimizer.py +53 -4
  221. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  222. mindspore/nn/optim/rmsprop.py +4 -3
  223. mindspore/nn/optim/rprop.py +23 -12
  224. mindspore/nn/optim/sgd.py +26 -11
  225. mindspore/nn/optim/thor.py +9 -7
  226. mindspore/nn/probability/bijector/bijector.py +5 -5
  227. mindspore/nn/probability/bijector/power_transform.py +27 -27
  228. mindspore/nn/probability/bijector/softplus.py +3 -3
  229. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  230. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  231. mindspore/nn/probability/distribution/beta.py +3 -3
  232. mindspore/nn/probability/distribution/categorical.py +7 -7
  233. mindspore/nn/probability/distribution/cauchy.py +0 -1
  234. mindspore/nn/probability/distribution/distribution.py +3 -3
  235. mindspore/nn/probability/distribution/gamma.py +3 -3
  236. mindspore/nn/probability/distribution/geometric.py +4 -4
  237. mindspore/nn/probability/distribution/gumbel.py +4 -4
  238. mindspore/nn/probability/distribution/log_normal.py +2 -2
  239. mindspore/nn/probability/distribution/logistic.py +2 -2
  240. mindspore/nn/probability/distribution/poisson.py +4 -4
  241. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  242. mindspore/nn/probability/distribution/uniform.py +6 -6
  243. mindspore/nn/wrap/cell_wrapper.py +78 -34
  244. mindspore/nn/wrap/grad_reducer.py +8 -5
  245. mindspore/nn/wrap/loss_scale.py +105 -42
  246. mindspore/numpy/array_creations.py +1 -2
  247. mindspore/numpy/array_ops.py +3 -2
  248. mindspore/offline_debug/convert_async.py +2 -2
  249. mindspore/ops/_grad_experimental/__init__.py +0 -5
  250. mindspore/ops/_grad_experimental/grad_array_ops.py +1 -2
  251. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  252. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  253. mindspore/ops/_grad_experimental/grad_implementations.py +10 -0
  254. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  255. mindspore/ops/_grad_experimental/grad_math_ops.py +0 -181
  256. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  257. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  258. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
  259. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
  260. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
  261. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
  262. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
  263. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
  264. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  265. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  266. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  267. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  268. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  269. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  270. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  271. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  272. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  273. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  274. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  275. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  276. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  277. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  278. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  279. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  280. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  281. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  282. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  283. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  284. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  285. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  286. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  287. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  288. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  289. mindspore/ops/_primitive_cache.py +1 -1
  290. mindspore/ops/_tracefunc.py +45 -13
  291. mindspore/ops/_utils/utils.py +4 -1
  292. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  293. mindspore/ops/_vmap/vmap_base.py +3 -3
  294. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  295. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  296. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  297. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  298. mindspore/ops/arg_dtype_cast.py +54 -0
  299. mindspore/ops/composite/base.py +37 -10
  300. mindspore/ops/composite/math_ops.py +5 -4
  301. mindspore/ops/composite/multitype_ops/_compile_utils.py +273 -72
  302. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  303. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  304. mindspore/ops/composite/multitype_ops/getitem_impl.py +40 -2
  305. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  306. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  307. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  308. mindspore/ops/deprecated.py +304 -0
  309. mindspore/ops/function/__init__.py +4 -1
  310. mindspore/ops/function/array_func.py +167 -189
  311. mindspore/ops/function/clip_func.py +81 -13
  312. mindspore/ops/function/debug_func.py +1 -1
  313. mindspore/ops/function/grad/grad_func.py +18 -8
  314. mindspore/ops/function/image_func.py +10 -4
  315. mindspore/ops/function/linalg_func.py +5 -5
  316. mindspore/ops/function/math_func.py +575 -386
  317. mindspore/ops/function/nn_func.py +470 -251
  318. mindspore/ops/function/random_func.py +86 -56
  319. mindspore/ops/function/sparse_func.py +1 -1
  320. mindspore/ops/function/sparse_unary_func.py +14 -12
  321. mindspore/ops/function/vmap_func.py +6 -5
  322. mindspore/ops/functional.py +15 -10
  323. mindspore/ops/op_info_register.py +235 -19
  324. mindspore/ops/operations/__init__.py +25 -17
  325. mindspore/ops/operations/_grad_ops.py +52 -7
  326. mindspore/ops/operations/_inner_ops.py +213 -12
  327. mindspore/ops/operations/_quant_ops.py +4 -8
  328. mindspore/ops/operations/_sequence_ops.py +42 -0
  329. mindspore/ops/operations/array_ops.py +64 -280
  330. mindspore/ops/operations/comm_ops.py +105 -57
  331. mindspore/ops/operations/custom_ops.py +10 -3
  332. mindspore/ops/operations/debug_ops.py +8 -4
  333. mindspore/ops/operations/image_ops.py +18 -12
  334. mindspore/ops/operations/math_ops.py +185 -138
  335. mindspore/ops/operations/nn_ops.py +716 -492
  336. mindspore/ops/operations/other_ops.py +0 -22
  337. mindspore/ops/operations/random_ops.py +53 -111
  338. mindspore/ops/operations/sparse_ops.py +3 -1
  339. mindspore/ops/primitive.py +24 -18
  340. mindspore/parallel/_auto_parallel_context.py +68 -8
  341. mindspore/parallel/_cost_model_context.py +2 -2
  342. mindspore/parallel/_offload_context.py +17 -3
  343. mindspore/parallel/_parallel_serialization.py +2 -2
  344. mindspore/parallel/_ps_context.py +12 -0
  345. mindspore/parallel/_tensor.py +14 -12
  346. mindspore/parallel/_transformer/layers.py +5 -3
  347. mindspore/parallel/_transformer/loss.py +1 -0
  348. mindspore/parallel/_transformer/moe.py +2 -2
  349. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  350. mindspore/parallel/_transformer/transformer.py +23 -3
  351. mindspore/parallel/_utils.py +11 -7
  352. mindspore/parallel/algo_parameter_config.py +85 -5
  353. mindspore/parallel/checkpoint_transform.py +6 -10
  354. mindspore/parallel/shard.py +4 -4
  355. mindspore/profiler/common/struct_type.py +3 -3
  356. mindspore/profiler/common/util.py +3 -2
  357. mindspore/profiler/envprofiling.py +1 -1
  358. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  359. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  360. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  361. mindspore/profiler/parser/ascend_hccl_generator.py +17 -12
  362. mindspore/profiler/parser/ascend_msprof_exporter.py +104 -252
  363. mindspore/profiler/parser/ascend_msprof_generator.py +8 -8
  364. mindspore/profiler/parser/ascend_op_generator.py +5 -5
  365. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  366. mindspore/profiler/parser/ascend_timeline_generator.py +9 -6
  367. mindspore/profiler/parser/base_timeline_generator.py +9 -7
  368. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +14 -10
  369. mindspore/profiler/parser/flops_parser.py +15 -11
  370. mindspore/profiler/parser/framework_parser.py +37 -21
  371. mindspore/profiler/parser/hccl_parser.py +16 -12
  372. mindspore/profiler/parser/integrator.py +22 -11
  373. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  374. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  375. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  376. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  377. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  378. mindspore/profiler/parser/optime_parser.py +1 -1
  379. mindspore/profiler/parser/profiler_info.py +2 -2
  380. mindspore/profiler/parser/step_trace_parser.py +11 -14
  381. mindspore/profiler/profiling.py +139 -71
  382. mindspore/rewrite/api/node.py +102 -19
  383. mindspore/rewrite/api/node_type.py +5 -1
  384. mindspore/rewrite/api/scoped_value.py +9 -17
  385. mindspore/rewrite/api/symbol_tree.py +131 -47
  386. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  387. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  388. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  389. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  390. mindspore/rewrite/common/rewrite_elog.py +5 -1
  391. mindspore/rewrite/namer.py +33 -24
  392. mindspore/rewrite/namespace.py +14 -5
  393. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  394. mindspore/rewrite/node/call_function.py +79 -0
  395. mindspore/rewrite/node/cell_container.py +135 -0
  396. mindspore/rewrite/node/control_flow.py +88 -0
  397. mindspore/rewrite/{node.py → node/node.py} +273 -234
  398. mindspore/rewrite/node/node_manager.py +254 -0
  399. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  400. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  401. mindspore/rewrite/parsers/assign_parser.py +216 -221
  402. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  403. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  404. mindspore/rewrite/parsers/constant_parser.py +9 -6
  405. mindspore/rewrite/parsers/container_parser.py +9 -7
  406. mindspore/rewrite/parsers/for_parser.py +36 -15
  407. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  408. mindspore/rewrite/parsers/if_parser.py +28 -24
  409. mindspore/rewrite/parsers/module_parser.py +196 -25
  410. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  411. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  412. mindspore/rewrite/parsers/return_parser.py +6 -6
  413. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  414. mindspore/rewrite/sparsify/utils.py +1 -1
  415. mindspore/rewrite/symbol_tree.py +525 -577
  416. mindspore/rewrite/symbol_tree_builder.py +9 -193
  417. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  418. mindspore/run_check/_check_version.py +2 -2
  419. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  420. mindspore/safeguard/rewrite_obfuscation.py +517 -0
  421. mindspore/scipy/linalg.py +1 -1
  422. mindspore/scipy/optimize/minimize.py +7 -3
  423. mindspore/train/_utils.py +7 -3
  424. mindspore/train/amp.py +323 -123
  425. mindspore/train/anf_ir_pb2.py +14 -2
  426. mindspore/train/callback/_backup_and_restore.py +2 -12
  427. mindspore/train/callback/_callback.py +29 -4
  428. mindspore/train/callback/_checkpoint.py +23 -8
  429. mindspore/train/callback/_early_stop.py +2 -2
  430. mindspore/train/callback/_landscape.py +4 -4
  431. mindspore/train/callback/_loss_monitor.py +2 -2
  432. mindspore/train/callback/_on_request_exit.py +2 -2
  433. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  434. mindspore/train/callback/_summary_collector.py +14 -7
  435. mindspore/train/callback/_time_monitor.py +58 -5
  436. mindspore/train/data_sink.py +5 -11
  437. mindspore/train/dataset_helper.py +83 -57
  438. mindspore/train/loss_scale_manager.py +2 -2
  439. mindspore/train/metrics/__init__.py +3 -3
  440. mindspore/train/metrics/cosine_similarity.py +1 -1
  441. mindspore/train/metrics/hausdorff_distance.py +3 -2
  442. mindspore/train/metrics/mean_surface_distance.py +3 -2
  443. mindspore/train/metrics/metric.py +39 -19
  444. mindspore/train/metrics/roc.py +2 -2
  445. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  446. mindspore/train/mind_ir_pb2.py +85 -36
  447. mindspore/train/model.py +185 -45
  448. mindspore/train/serialization.py +390 -150
  449. mindspore/train/summary/_writer_pool.py +3 -2
  450. mindspore/train/summary/summary_record.py +14 -10
  451. mindspore/train/train_thor/convert_utils.py +3 -3
  452. mindspore/train/train_thor/dataset_helper.py +1 -1
  453. mindspore/version.py +1 -1
  454. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/METADATA +6 -7
  455. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/RECORD +458 -518
  456. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/entry_points.txt +0 -1
  457. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  458. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  459. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  460. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  461. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  462. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  463. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  464. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  465. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  466. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  467. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  468. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  469. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  470. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  471. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  472. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  473. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  474. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  475. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  476. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  477. mindspore/_extends/graph_kernel/expander.py +0 -80
  478. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  479. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  480. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  481. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  482. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  483. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  484. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  485. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  486. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  487. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  488. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  489. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  490. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  491. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  492. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  493. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  494. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  495. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  496. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  497. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  498. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  499. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  500. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  501. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  502. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  503. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  504. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  505. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  506. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  507. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  508. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  509. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  510. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  511. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  512. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  513. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  514. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  515. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  516. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  517. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  518. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  519. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  520. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  521. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  522. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  523. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  524. mindspore/dataset/datapreprocess/__init__.py +0 -20
  525. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  526. mindspore/include/api/net.h +0 -142
  527. mindspore/nn/lr_scheduler.py +0 -262
  528. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  529. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  530. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  531. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  532. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  533. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  534. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  535. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  536. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  537. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  538. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  539. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  540. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  541. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  542. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  543. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  544. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  545. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  546. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  547. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  548. mindspore/rewrite/node_visitor.py +0 -44
  549. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/WHEEL +0 -0
  550. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/top_level.txt +0 -0
@@ -23,16 +23,17 @@ from mindspore.common._stub_tensor import StubTensor
23
23
  from mindspore.ops import composite as C
24
24
  from mindspore.ops.operations.array_ops import Cast
25
25
  from mindspore.ops.operations._scalar_ops import bit_or, bit_and
26
+ from mindspore.ops.operations.comm_ops import ReduceOp
26
27
  from mindspore.ops import signature as sig
27
28
  from mindspore.ops.operations.math_ops import _infer_shape_reduce
28
- from mindspore.ops.primitive import PrimitiveWithCheck, PrimitiveWithInfer, prim_attr_register, Primitive, _run_op
29
- from mindspore import context
29
+ from mindspore.ops.primitive import PrimitiveWithCheck, PrimitiveWithInfer, prim_attr_register, Primitive,\
30
+ _run_op, _check_contains_variable
30
31
  from mindspore._c_expression import Tensor as Tensor_
31
32
  from mindspore._c_expression import typing
32
33
  from mindspore import _checkparam as validator
33
34
  from mindspore.common import dtype as mstype
34
35
  from mindspore.common.parameter import Parameter
35
- from mindspore.communication.management import GlobalComm
36
+ from mindspore.communication.management import GlobalComm, get_rank
36
37
  from mindspore.common.api import _pynative_executor
37
38
  from mindspore.common._register_for_adapter import ms_adapter_registry
38
39
  from mindspore import ops
@@ -74,11 +75,11 @@ class ExtractImagePatches(Primitive):
74
75
  - valid: Means that the taken patch area must be completely covered in the original image.
75
76
 
76
77
  Inputs:
77
- - **input_x** (Tensor) - A 4-D tensor whose shape is :math:`(in_batch, in_depth, in_row, in_col)`.
78
+ - **input_x** (Tensor) - A 4-D tensor whose shape is :math:`(in\_batch, in\_depth, in\_row, in\_col)`.
78
79
 
79
80
  Outputs:
80
81
  Tensor, a 4-D tensor whose data type is same as 'input_x', and the shape
81
- is :math:`(out_batch, out_depth, out_row, out_col)`,where the out_batch is the same as the in_batch
82
+ is :math:`(out\_batch, out\_depth, out\_row, out\_col)`,where the out_batch is the same as the in_batch
82
83
  and
83
84
 
84
85
  .. math::
@@ -121,7 +122,6 @@ class ExtractImagePatches(Primitive):
121
122
  validator.check_value_type('padding', padding, [str], self.name)
122
123
  self.padding = validator.check_string(padding.upper(), ['VALID', 'SAME'], 'padding', self.name)
123
124
  self.add_prim_attr("padding", self.padding)
124
- self.is_ge = context.get_context("enable_ge")
125
125
 
126
126
 
127
127
  class Quant(PrimitiveWithInfer):
@@ -502,6 +502,109 @@ class Receive(PrimitiveWithInfer):
502
502
  return self.get_attr_dict()['dtype']
503
503
 
504
504
 
505
+ class Reduce(PrimitiveWithInfer):
506
+ """
507
+ Reduces tensor across the processes in the specified communication group.
508
+
509
+ Note:
510
+ Only process with destination rank receives the reduced output.
511
+ Other processes only get a tensor with shape [1], which has no mathematical meaning.
512
+
513
+ Args:
514
+ dest_rank (int): Specifies the rank of the process that receives the reduced output.
515
+ op (str, optional): Specifies an operation used for element-wise reductions, like sum, prod, max, and min.
516
+ On the CPU, only 'sum' is supported. Default: ``ReduceOp.SUM`` .
517
+ group (str, optional): The communication group to work on.
518
+ Default: "hccl_world_group" on Ascend, "nccl_world_group" on GPU.
519
+
520
+ Inputs:
521
+ - **input_x** (Tensor) - The shape of tensor is :math:`(x_1, x_2, ..., x_R)`.
522
+
523
+ Examples:
524
+ >>> import mindspore.ops as ops
525
+ >>> import mindspore.nn as nn
526
+ >>> from mindspore.communication import init
527
+ >>> from mindspore import Tensor
528
+ >>> import numpy as np
529
+ >>> # Launch 4 processes.
530
+ >>> init()
531
+ >>> class ReduceNet(nn.Cell):
532
+ >>> def __init__(self):
533
+ >>> super(Net, self).__init__()
534
+ >>> self.reduce = ops.Reduce(dest_rank=1)
535
+ >>>
536
+ >>> def construct(self, x):
537
+ >>> out = self.reduce(x)
538
+ >>> return out
539
+ >>> input = Tensor(np.ones([2, 8]).astype(np.float32))
540
+ >>> net = ReduceNet()
541
+ >>> output = net(input)
542
+ >>> print(output)
543
+ Process with rank 1: [[4. 4. 4. 4. 4. 4. 4. 4.]
544
+ [4. 4. 4. 4. 4. 4. 4. 4.]],
545
+ Other proesses: [0.].
546
+ """
547
+
548
+ @prim_attr_register
549
+ def __init__(self, dest_rank, op=ReduceOp.SUM, group=GlobalComm.WORLD_COMM_GROUP):
550
+ self.dest_rank = dest_rank
551
+ self.op = op
552
+ self.group = group
553
+
554
+ def infer_shape(self, x_shape):
555
+ # The process with dest_rank returns the reduced output.
556
+ # Other processes only gets a tensor with shape [1], which has no mathematical meaning.
557
+ if self.dest_rank == get_rank():
558
+ return x_shape
559
+ return [1]
560
+
561
+ def infer_dtype(self, x_dtype):
562
+ return x_dtype
563
+
564
+
565
+ class Barrier(PrimitiveWithInfer):
566
+ """
567
+ Synchronizes all processes in the specified group.
568
+
569
+ Note:
570
+ After calling this collective operator,
571
+ this process will be blocked until all other processes in the group call this operator.
572
+
573
+ Args:
574
+ group (str, optional): The communication group to work on.
575
+ Default: "hccl_world_group" on Ascend, "nccl_world_group" on GPU.
576
+
577
+ Examples:
578
+ >>> import mindspore.ops as ops
579
+ >>> import mindspore.nn as nn
580
+ >>> from mindspore.communication import init
581
+ >>> from mindspore import Tensor
582
+ >>> import numpy as np
583
+ >>> # Launch 4 processes.
584
+ >>> init()
585
+ >>> class BarrierNet(nn.Cell):
586
+ >>> def __init__(self):
587
+ >>> super(Net, self).__init__()
588
+ >>> self.barrier = ops.Barrier()
589
+ >>>
590
+ >>> def construct(self):
591
+ >>> self.barrier()
592
+ >>> net = BarrierNet()
593
+ >>> net()
594
+ """
595
+
596
+ @prim_attr_register
597
+ def __init__(self, group=GlobalComm.WORLD_COMM_GROUP):
598
+ self.group = group
599
+ self.add_prim_attr("side_effect_mem", True)
600
+
601
+ def infer_shape(self):
602
+ return [1]
603
+
604
+ def infer_dtype(self):
605
+ return mstype.float32
606
+
607
+
505
608
  class MatrixSetDiag(PrimitiveWithInfer):
506
609
  r"""
507
610
  Modifies the batched diagonal part of a batched tensor.
@@ -1843,16 +1946,32 @@ class Format(PrimitiveWithInfer):
1843
1946
  def __init__(self):
1844
1947
  self.init_prim_io_names(inputs=['string', 'args'], outputs=['string'])
1845
1948
 
1949
+
1846
1950
  def __infer__(self, str_, *var):
1847
- str_value = str_["value"]
1951
+ def check_variable(str_, var):
1952
+ if _check_contains_variable(str_['dtype'], str_['value']):
1953
+ return True
1954
+
1955
+ for item in var:
1956
+ if _check_contains_variable(item['dtype'], item['value']):
1957
+ return True
1958
+ return False
1959
+
1960
+
1961
+ if check_variable(str_, var):
1962
+ return {'dtype': mstype.string, 'shape': [], 'value': None}
1963
+
1964
+
1965
+ str_value = str_['value']
1966
+ kwargs = dict()
1848
1967
  var_value = list()
1849
- if str_value is None and str_["dtype"] is not None:
1850
- raise ValueError("str.format not support to input a variable.")
1968
+
1851
1969
  for item in var:
1852
- if item["value"] is None and item["dtype"] is not None:
1853
- raise ValueError("str.format not support to input a variable.")
1970
+ if isinstance(item["dtype"], typing.Keyword):
1971
+ kwargs.update(item["value"])
1854
1972
  var_value.append(item["value"])
1855
- value = str_value.format(*var_value)
1973
+
1974
+ value = str_value.format(*var_value, **kwargs)
1856
1975
  return {'dtype': mstype.string, 'shape': [], 'value': value}
1857
1976
 
1858
1977
 
@@ -2588,3 +2707,85 @@ class IsConstant(Primitive):
2588
2707
 
2589
2708
  def __call__(self, x):
2590
2709
  return True
2710
+
2711
+
2712
+ class SelectView(Primitive):
2713
+ r"""
2714
+ Select tensor of view
2715
+ """
2716
+
2717
+ @prim_attr_register
2718
+ def __init__(self):
2719
+ self.init_prim_io_names(inputs=['input_tensor', 'input_indices', 'axis'], outputs=['output'])
2720
+
2721
+
2722
+ class CopyWithSlice(Primitive):
2723
+ r"""
2724
+ Copy data to discontinuous tensor
2725
+ """
2726
+ @prim_attr_register
2727
+ def __init__(self):
2728
+ self.add_prim_attr('side_effect_mem', True)
2729
+ self.init_prim_io_names(inputs=['x', 'y'], outputs=['x'])
2730
+
2731
+
2732
+ class MoeFFN(Primitive):
2733
+ r"""
2734
+ The MoeFFN computation is similar to Feed-Forward Network, it contains matmul + gelu + matmul.
2735
+
2736
+ Args:
2737
+ activation (string): The activation type, set to 'fastgelu' or 'gelu'.
2738
+ Only support 'fastgelu' for now. Default: "fastgelu".
2739
+
2740
+ Inputs:
2741
+ - **x** (Tensor) - The input tensor with data type of int8, float16.
2742
+ Input tensor of shape :math:`(batch\_size * seq\_length, hidden\_size)`.
2743
+ - **expert_tokens** (Tensor]) - The expert tokens tensor with data type of int64.
2744
+ Expert tokens tensor of shape :math:`(16,)`. For example, `(2, 1, 0, .., 9)`
2745
+ indicate that the 0th expert deals with 2 tokens, the 1th expert deals with 1 tokens,
2746
+ the 2th expert do noting and so on.
2747
+ - **weight1** (Tensor) - The weight1 tensor with data type of float16.
2748
+ Weight1 tensor of shape :math:`(expert\_num, hidden\_size, ffn\_hidden\_size)`.
2749
+ - **bias1** (Tensor) - The bias1 tensor with data type of float16.
2750
+ Bias1 tensor of shape :math:`(expert\_num, ffn\_hidden\_size)`.
2751
+ - **weight2** (Tensor) - The weight2 tensor with data type of float16.
2752
+ Weight2 tensor of shape :math:`(expert\_num, ffn\_hidden\_size, hidden\_size)`.
2753
+ - **bias2** (Tensor) - The bias2 tensor with data type of float16.
2754
+ Bias2 tensor of shape :math:`(expert\_num, hidden\_size)`.
2755
+ - **scale** (Tensor) - The scale tensor with data type of float16. Not enable now.
2756
+ - **offset** (Tensor) - The offset tensor with data type of float16. Not enable now.
2757
+ - **deq_scale1** (Tensor) - The deq_scale1 tensor with data type of float16. Not enable now.
2758
+ - **deq_scale2** (Tensor) - The deq_scale2 tensor with data type of float16. Not enable now.
2759
+
2760
+ Outputs:
2761
+ Tensor of shape :math:`(batch\_size * seq\_length, hidden\_size)`. With data type of float16.
2762
+
2763
+ Supported Platforms:
2764
+ ``Ascend``
2765
+
2766
+ Examples:
2767
+ >>> from mindspore.ops.operations import _inner_ops
2768
+ >>> b = 4
2769
+ >>> s = 128
2770
+ >>> h = 1024
2771
+ >>> h_f = 4 * h
2772
+ >>> e = 16
2773
+ >>> x = Tensor(np.random.randn(b * s, h).astype(np.float16))
2774
+ >>> expert_tokens = Tensor(np.random.randn(e).astype(np.int64))
2775
+ >>> w1 = Tensor(np.random.randn(e, h, h_f).astype(np.float16))
2776
+ >>> bias1 = Tensor(np.random.randn(e, h_f).astype(np.float16))
2777
+ >>> w2 = Tensor(np.random.randn(e, h_f, h).astype(np.float16))
2778
+ >>> bias2 = Tensor(np.random.randn(e, h).astype(np.float16))
2779
+ >>> moe_ffn = _inner_ops.MoeFFN("fastgelu")
2780
+ >>> output = moe_ffn(x, w1, bias1, w2, bias2)
2781
+ >>> print(output)
2782
+ """
2783
+
2784
+ @prim_attr_register
2785
+ def __init__(self, activation):
2786
+ """Initialize MoeFFN."""
2787
+ self.init_prim_io_names(inputs=["x", "expert_tokens", "weight1", "bias1",
2788
+ "weight2", "bias2", "scale", "offset", "deq_scale1"
2789
+ "deq_scale2"],
2790
+ outputs=["y"])
2791
+ self.activation = activation
@@ -269,7 +269,7 @@ class FakeLearnedScaleQuantPerLayer(PrimitiveWithInfer):
269
269
  - **quant_max** (Tensor) : Value of the quantization range.
270
270
 
271
271
  Outputs:
272
- - Tensor: Simulates quantize tensor of `input_x`,with the same type and shape as the `input_x`.
272
+ - Tensor: Simulates quantize tensor of `input_x`, with the same type and shape as the `input_x`.
273
273
 
274
274
  Examples:
275
275
  >>> input_tensor = Tensor(np.random.rand(3, 16, 5, 5), mstype.float32)
@@ -419,7 +419,7 @@ class FakeLearnedScaleQuantPerChannel(PrimitiveWithInfer):
419
419
  - **quant_max** (Tensor) : Value of the quantization range.
420
420
 
421
421
  Outputs:
422
- - Tensor: Simulates quantize tensor of `input_x`,with the same type and shape as the `input_x`.
422
+ - Tensor: Simulates quantize tensor of `input_x`, with the same type and shape as the `input_x`.
423
423
 
424
424
  Examples:
425
425
  >>> input_tensor = Tensor(np.random.rand(3, 16, 5, 5), mstype.float32)
@@ -975,7 +975,7 @@ class FakeQuantPerChannel(PrimitiveWithInfer):
975
975
  >>> result = fake_quant(input_x, _min, _max)
976
976
  """
977
977
  support_quant_bit = [4, 7, 8]
978
- ascend_support_x_rank = [2, 4]
978
+ ascend_support_x_rank = [2, 3, 4]
979
979
 
980
980
  @prim_attr_register
981
981
  def __init__(self,
@@ -1008,11 +1008,7 @@ class FakeQuantPerChannel(PrimitiveWithInfer):
1008
1008
  self.ema_decay = validator.check_float_range(ema_decay, 0, 1, validator.INC_BOTH, 'ema_decay', self.name)
1009
1009
  self.num_bits = validator.check_positive_int(num_bits, 'num_bits', self.name)
1010
1010
  self.quant_delay = validator.check_non_negative_int(quant_delay, 'quant_delay', self.name)
1011
- if self.is_ascend:
1012
- self.channel_axis = validator.check_int_range(channel_axis, 0, 1, validator.INC_BOTH,
1013
- 'channel_axis', self.name)
1014
- else:
1015
- self.channel_axis = validator.check_non_negative_int(channel_axis, 'channel_axis', self.name)
1011
+ self.channel_axis = validator.check_non_negative_int(channel_axis, 'channel_axis', self.name)
1016
1012
  self.init_prim_io_names(inputs=['x', 'min', 'max'], outputs=['out'])
1017
1013
 
1018
1014
  def infer_shape(self, x_shape, min_shape, max_shape):
@@ -196,6 +196,9 @@ class SequenceSlice(Primitive):
196
196
  """Initialize SequenceSlice"""
197
197
  self.init_prim_io_names(inputs=['seq', 'start', 'stop', 'step'], outputs=['output_data'])
198
198
 
199
+ def __call__(self, sequence, start, stop, step):
200
+ return sequence[start:stop:step]
201
+
199
202
 
200
203
  class InSequence(Primitive):
201
204
  r"""
@@ -223,6 +226,9 @@ class InSequence(Primitive):
223
226
  """Initialize ListAppend"""
224
227
  self.init_prim_io_names(inputs=['element', 'input_data'], outputs=['output_data'])
225
228
 
229
+ def __call__(self, target, sequence):
230
+ return target in sequence
231
+
226
232
 
227
233
  class SequenceSliceSetItem(Primitive):
228
234
  r"""
@@ -291,6 +297,9 @@ class SequenceAdd(Primitive):
291
297
  """Initialize SequenceAdd"""
292
298
  self.init_prim_io_names(inputs=['input_1', 'input_2'], outputs=['output_data'])
293
299
 
300
+ def __call__(self, x, y):
301
+ return x + y
302
+
294
303
 
295
304
  class SequenceAddOffset(Primitive):
296
305
  r"""
@@ -536,6 +545,9 @@ class SequenceCount(Primitive):
536
545
  """Initialize SequenceCount"""
537
546
  self.init_prim_io_names(inputs=['sequence', 'target'], outputs=['output_data'])
538
547
 
548
+ def __call__(self, sequence, target):
549
+ return sequence.count(target)
550
+
539
551
 
540
552
  class SequenceIndex(Primitive):
541
553
  r"""
@@ -566,6 +578,9 @@ class SequenceIndex(Primitive):
566
578
  """Initialize SequenceIndex"""
567
579
  self.init_prim_io_names(inputs=['sequence', 'target', 'start', 'end'], outputs=['output_data'])
568
580
 
581
+ def __call__(self, sequence, target, start=None, end=None):
582
+ return sequence.index(target, start, end)
583
+
569
584
 
570
585
  class SequenceMul(Primitive):
571
586
  r"""
@@ -594,6 +609,9 @@ class SequenceMul(Primitive):
594
609
  """Initialize SequenceMul"""
595
610
  self.init_prim_io_names(inputs=['sequence', 'scalar'], outputs=['output_data'])
596
611
 
612
+ def __call__(self, sequence, scalar):
613
+ return sequence * scalar
614
+
597
615
 
598
616
  class SequenceZerosLike(Primitive):
599
617
  r"""
@@ -946,6 +964,9 @@ class tuple_greater_than(Primitive):
946
964
  self.init_prim_io_names(
947
965
  inputs=['input_0', 'input_1'], outputs=['output_data'])
948
966
 
967
+ def __call__(self, x, y):
968
+ return x > y
969
+
949
970
 
950
971
  class tuple_greater_equal(Primitive):
951
972
  r"""
@@ -974,6 +995,9 @@ class tuple_greater_equal(Primitive):
974
995
  self.init_prim_io_names(
975
996
  inputs=['input_0', 'input_1'], outputs=['output_data'])
976
997
 
998
+ def __call__(self, x, y):
999
+ return x >= y
1000
+
977
1001
 
978
1002
  class list_greater_than(Primitive):
979
1003
  r"""
@@ -1002,6 +1026,9 @@ class list_greater_than(Primitive):
1002
1026
  self.init_prim_io_names(
1003
1027
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1004
1028
 
1029
+ def __call__(self, x, y):
1030
+ return x > y
1031
+
1005
1032
 
1006
1033
  class list_greater_equal(Primitive):
1007
1034
  r"""
@@ -1030,6 +1057,9 @@ class list_greater_equal(Primitive):
1030
1057
  self.init_prim_io_names(
1031
1058
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1032
1059
 
1060
+ def __call__(self, x, y):
1061
+ return x >= y
1062
+
1033
1063
 
1034
1064
  class tuple_lt(Primitive):
1035
1065
  r"""
@@ -1058,6 +1088,9 @@ class tuple_lt(Primitive):
1058
1088
  self.init_prim_io_names(
1059
1089
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1060
1090
 
1091
+ def __call__(self, x, y):
1092
+ return x < y
1093
+
1061
1094
 
1062
1095
  class list_lt(Primitive):
1063
1096
  r"""
@@ -1086,6 +1119,9 @@ class list_lt(Primitive):
1086
1119
  self.init_prim_io_names(
1087
1120
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1088
1121
 
1122
+ def __call__(self, x, y):
1123
+ return x < y
1124
+
1089
1125
 
1090
1126
  class tuple_le(Primitive):
1091
1127
  r"""
@@ -1114,6 +1150,9 @@ class tuple_le(Primitive):
1114
1150
  self.init_prim_io_names(
1115
1151
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1116
1152
 
1153
+ def __call__(self, x, y):
1154
+ return x <= y
1155
+
1117
1156
 
1118
1157
  class list_le(Primitive):
1119
1158
  r"""
@@ -1141,3 +1180,6 @@ class list_le(Primitive):
1141
1180
  """Initialize list_le"""
1142
1181
  self.init_prim_io_names(
1143
1182
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1183
+
1184
+ def __call__(self, x, y):
1185
+ return x <= y