mindspore 2.2.14__cp39-cp39-manylinux1_x86_64.whl → 2.3.0rc1__cp39-cp39-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 (1154) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -4
  3. mindspore/_akg/akg/composite/build_module.py +155 -11
  4. mindspore/_akg/akg/config/repository.json +38 -0
  5. mindspore/_akg/akg/ms/info_version_adapt.py +29 -0
  6. mindspore/_akg/akg/tvm/contrib/nvcc.py +4 -1
  7. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +2 -1
  8. mindspore/_akg/akg/utils/composite_op_helper.py +4 -2
  9. mindspore/_akg/akg/utils/dump_ascend_meta.py +2 -2
  10. mindspore/_akg/akg/utils/gen_random.py +14 -8
  11. mindspore/_akg/akg/utils/op_dsl.py +11 -0
  12. mindspore/_akg/akg/utils/tbe_codegen_utils.py +5 -5
  13. mindspore/_c_dataengine.cpython-39-x86_64-linux-gnu.so +0 -0
  14. mindspore/_c_expression.cpython-39-x86_64-linux-gnu.so +0 -0
  15. mindspore/_c_mindrecord.cpython-39-x86_64-linux-gnu.so +0 -0
  16. mindspore/_checkparam.py +58 -0
  17. mindspore/_extends/builtin_operations.py +2 -1
  18. mindspore/_extends/graph_kernel/model/graph_parallel.py +16 -6
  19. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +3 -16
  20. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +16 -4
  21. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +1 -0
  22. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  23. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +2 -1
  24. mindspore/_extends/parallel_compile/akg_compiler/util.py +5 -2
  25. mindspore/_extends/parse/__init__.py +18 -14
  26. mindspore/_extends/parse/compile_config.py +229 -0
  27. mindspore/_extends/parse/parser.py +155 -59
  28. mindspore/_extends/parse/resources.py +40 -7
  29. mindspore/_extends/parse/standard_method.py +124 -204
  30. mindspore/_extends/remote/kernel_build_server.py +2 -0
  31. mindspore/_mindspore_offline_debug.cpython-39-x86_64-linux-gnu.so +0 -0
  32. mindspore/_profiler.py +30 -0
  33. mindspore/amp.py +24 -18
  34. mindspore/bin/cache_admin +0 -0
  35. mindspore/bin/cache_server +0 -0
  36. mindspore/boost/boost_cell_wrapper.py +1 -1
  37. mindspore/boost/group_loss_scale_manager.py +1 -1
  38. mindspore/common/__init__.py +3 -1
  39. mindspore/common/_jit_fallback_utils.py +2 -3
  40. mindspore/common/_register_for_adapter.py +7 -0
  41. mindspore/common/_stub_tensor.py +6 -1
  42. mindspore/common/_utils.py +5 -17
  43. mindspore/common/api.py +91 -48
  44. mindspore/common/auto_dynamic_shape.py +27 -14
  45. mindspore/common/dtype.py +5 -4
  46. mindspore/common/dump.py +5 -4
  47. mindspore/common/initializer.py +1 -1
  48. mindspore/common/jit_config.py +20 -11
  49. mindspore/common/lazy_inline.py +58 -17
  50. mindspore/common/mindir_util.py +12 -2
  51. mindspore/common/mutable.py +79 -14
  52. mindspore/common/parameter.py +19 -4
  53. mindspore/common/seed.py +9 -9
  54. mindspore/common/sparse_tensor.py +251 -18
  55. mindspore/common/symbol.py +122 -0
  56. mindspore/common/tensor.py +321 -433
  57. mindspore/communication/__init__.py +3 -3
  58. mindspore/communication/_comm_helper.py +5 -0
  59. mindspore/communication/management.py +53 -38
  60. mindspore/config/op_info.config +22 -54
  61. mindspore/context.py +167 -59
  62. mindspore/dataset/__init__.py +5 -5
  63. mindspore/dataset/audio/__init__.py +6 -6
  64. mindspore/dataset/audio/transforms.py +711 -158
  65. mindspore/dataset/callback/ds_callback.py +2 -2
  66. mindspore/dataset/engine/cache_client.py +2 -2
  67. mindspore/dataset/engine/datasets.py +72 -38
  68. mindspore/dataset/engine/datasets_audio.py +14 -14
  69. mindspore/dataset/engine/datasets_standard_format.py +33 -3
  70. mindspore/dataset/engine/datasets_text.py +38 -38
  71. mindspore/dataset/engine/datasets_user_defined.py +7 -7
  72. mindspore/dataset/engine/datasets_vision.py +75 -71
  73. mindspore/dataset/engine/offload.py +5 -7
  74. mindspore/dataset/text/__init__.py +3 -3
  75. mindspore/dataset/text/transforms.py +408 -121
  76. mindspore/dataset/text/utils.py +9 -9
  77. mindspore/dataset/transforms/__init__.py +1 -1
  78. mindspore/dataset/transforms/transforms.py +261 -76
  79. mindspore/dataset/utils/browse_dataset.py +9 -9
  80. mindspore/dataset/vision/__init__.py +3 -3
  81. mindspore/dataset/vision/c_transforms.py +5 -5
  82. mindspore/dataset/vision/transforms.py +2264 -514
  83. mindspore/dataset/vision/utils.py +40 -9
  84. mindspore/dataset/vision/validators.py +7 -1
  85. mindspore/experimental/optim/__init__.py +12 -2
  86. mindspore/experimental/optim/adadelta.py +161 -0
  87. mindspore/experimental/optim/adagrad.py +168 -0
  88. mindspore/experimental/optim/adam.py +35 -34
  89. mindspore/experimental/optim/adamax.py +170 -0
  90. mindspore/experimental/optim/adamw.py +40 -16
  91. mindspore/experimental/optim/asgd.py +153 -0
  92. mindspore/experimental/optim/lr_scheduler.py +60 -119
  93. mindspore/experimental/optim/nadam.py +157 -0
  94. mindspore/experimental/optim/optimizer.py +15 -8
  95. mindspore/experimental/optim/radam.py +194 -0
  96. mindspore/experimental/optim/rmsprop.py +154 -0
  97. mindspore/experimental/optim/rprop.py +164 -0
  98. mindspore/experimental/optim/sgd.py +28 -19
  99. mindspore/hal/__init__.py +34 -0
  100. mindspore/hal/_ascend.py +57 -0
  101. mindspore/hal/_base.py +57 -0
  102. mindspore/hal/_cpu.py +56 -0
  103. mindspore/hal/_gpu.py +57 -0
  104. mindspore/hal/device.py +356 -0
  105. mindspore/hal/event.py +179 -0
  106. mindspore/hal/stream.py +337 -0
  107. mindspore/include/api/data_type.h +2 -2
  108. mindspore/include/api/dual_abi_helper.h +16 -3
  109. mindspore/include/api/model.h +1 -3
  110. mindspore/include/api/status.h +14 -0
  111. mindspore/include/c_api/model_c.h +173 -0
  112. mindspore/include/c_api/ms/base/types.h +1 -0
  113. mindspore/include/c_api/types_c.h +19 -0
  114. mindspore/include/dataset/execute.h +1 -3
  115. mindspore/include/mindapi/base/format.h +125 -23
  116. mindspore/include/mindapi/base/types.h +7 -0
  117. mindspore/lib/libdnnl.so.2 +0 -0
  118. mindspore/lib/libmindspore.so +0 -0
  119. mindspore/lib/libmindspore_backend.so +0 -0
  120. mindspore/lib/libmindspore_common.so +0 -0
  121. mindspore/lib/libmindspore_core.so +0 -0
  122. mindspore/lib/libmindspore_glog.so.0 +0 -0
  123. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  124. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  125. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  126. mindspore/lib/libmindspore_shared_lib.so +0 -0
  127. mindspore/lib/libmpi_adapter.so +0 -0
  128. mindspore/lib/libmpi_collective.so +0 -0
  129. mindspore/lib/libnnacl.so +0 -0
  130. mindspore/lib/libopencv_core.so.4.5 +0 -0
  131. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  132. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  133. mindspore/lib/libps_cache.so +0 -0
  134. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +2044 -154
  135. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +2044 -33
  136. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/build_tbe_kernel.py +529 -0
  137. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/compiler.py +56 -0
  138. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/custom.py +1109 -0
  139. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/get_file_path.py +36 -0
  140. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +0 -2
  141. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/tbe_topi.py +556 -0
  142. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +0 -2
  143. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  144. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +6325 -1767
  145. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  146. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_add_custom.h +49 -0
  147. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_decoder_kv_cache.h +59 -0
  148. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_prompt_kv_cache.h +59 -0
  149. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/lib/libcust_opapi.so +0 -0
  150. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +52 -0
  151. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +232 -0
  152. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +232 -0
  153. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/add_custom.cpp +81 -0
  154. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/add_custom.py +134 -0
  155. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/decoder_kv_cache.cpp +192 -0
  156. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/decoder_kv_cache.py +134 -0
  157. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/prompt_kv_cache.cpp +274 -0
  158. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/prompt_kv_cache.py +134 -0
  159. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/op_tiling/lib/linux/x86_64/libcust_opmaster_rt2.0.so +0 -0
  160. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/op_tiling/liboptiling.so +0 -0
  161. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_proto/inc/op_proto.h +39 -0
  162. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_proto/lib/linux/x86_64/libcust_opsproto_rt2.0.so +0 -0
  163. mindspore/lib/plugin/ascend/libakg.so +0 -0
  164. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  165. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  166. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  167. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  168. mindspore/lib/plugin/cpu/libakg.so +0 -0
  169. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  170. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  171. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  172. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  173. mindspore/lib/plugin/gpu10.1/libnvidia_collective.so +0 -0
  174. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  175. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  176. mindspore/lib/plugin/gpu11.1/libnvidia_collective.so +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/gpu11.6/libnvidia_collective.so +0 -0
  180. mindspore/lib/plugin/{libmindspore_ascend.so.1 → 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/__init__.py +5 -1
  185. mindspore/mindrecord/config.py +809 -0
  186. mindspore/mindrecord/filereader.py +25 -0
  187. mindspore/mindrecord/filewriter.py +74 -56
  188. mindspore/mindrecord/mindpage.py +40 -6
  189. mindspore/mindrecord/shardutils.py +3 -2
  190. mindspore/mindrecord/shardwriter.py +7 -0
  191. mindspore/mindrecord/tools/cifar100_to_mr.py +8 -13
  192. mindspore/mindrecord/tools/cifar10_to_mr.py +9 -15
  193. mindspore/mindrecord/tools/csv_to_mr.py +4 -9
  194. mindspore/mindrecord/tools/imagenet_to_mr.py +3 -8
  195. mindspore/mindrecord/tools/mnist_to_mr.py +7 -12
  196. mindspore/mindrecord/tools/tfrecord_to_mr.py +1 -6
  197. mindspore/multiprocessing/__init__.py +68 -0
  198. mindspore/nn/cell.py +86 -133
  199. mindspore/nn/dynamic_lr.py +2 -2
  200. mindspore/nn/layer/activation.py +79 -90
  201. mindspore/nn/layer/basic.py +4 -80
  202. mindspore/nn/layer/channel_shuffle.py +3 -16
  203. mindspore/nn/layer/container.py +3 -3
  204. mindspore/nn/layer/conv.py +71 -71
  205. mindspore/nn/layer/embedding.py +105 -44
  206. mindspore/nn/layer/image.py +4 -7
  207. mindspore/nn/layer/normalization.py +46 -38
  208. mindspore/nn/layer/padding.py +26 -39
  209. mindspore/nn/layer/pooling.py +13 -9
  210. mindspore/nn/layer/rnn_cells.py +5 -15
  211. mindspore/nn/layer/rnns.py +6 -5
  212. mindspore/nn/layer/thor_layer.py +1 -2
  213. mindspore/nn/layer/timedistributed.py +1 -1
  214. mindspore/nn/layer/transformer.py +52 -50
  215. mindspore/nn/learning_rate_schedule.py +6 -5
  216. mindspore/nn/loss/loss.py +43 -64
  217. mindspore/nn/optim/ada_grad.py +4 -2
  218. mindspore/nn/optim/adadelta.py +3 -1
  219. mindspore/nn/optim/adafactor.py +1 -1
  220. mindspore/nn/optim/adam.py +102 -181
  221. mindspore/nn/optim/adamax.py +4 -2
  222. mindspore/nn/optim/adasum.py +2 -2
  223. mindspore/nn/optim/asgd.py +4 -2
  224. mindspore/nn/optim/ftrl.py +31 -61
  225. mindspore/nn/optim/lamb.py +5 -3
  226. mindspore/nn/optim/lars.py +2 -2
  227. mindspore/nn/optim/lazyadam.py +6 -4
  228. mindspore/nn/optim/momentum.py +13 -25
  229. mindspore/nn/optim/optimizer.py +6 -3
  230. mindspore/nn/optim/proximal_ada_grad.py +4 -2
  231. mindspore/nn/optim/rmsprop.py +9 -3
  232. mindspore/nn/optim/rprop.py +4 -2
  233. mindspore/nn/optim/sgd.py +6 -5
  234. mindspore/nn/optim/thor.py +2 -2
  235. mindspore/nn/probability/distribution/_utils/custom_ops.py +2 -2
  236. mindspore/nn/probability/distribution/beta.py +2 -2
  237. mindspore/nn/probability/distribution/categorical.py +4 -6
  238. mindspore/nn/probability/distribution/cauchy.py +2 -2
  239. mindspore/nn/probability/distribution/exponential.py +1 -1
  240. mindspore/nn/probability/distribution/gumbel.py +2 -2
  241. mindspore/nn/probability/distribution/poisson.py +2 -2
  242. mindspore/nn/probability/distribution/uniform.py +2 -2
  243. mindspore/nn/reinforcement/_tensors_queue.py +13 -1
  244. mindspore/nn/wrap/__init__.py +2 -1
  245. mindspore/nn/wrap/cell_wrapper.py +33 -12
  246. mindspore/nn/wrap/grad_reducer.py +148 -8
  247. mindspore/nn/wrap/loss_scale.py +7 -7
  248. mindspore/numpy/__init__.py +2 -0
  249. mindspore/numpy/array_creations.py +2 -0
  250. mindspore/numpy/array_ops.py +1 -5
  251. mindspore/numpy/fft.py +431 -0
  252. mindspore/numpy/math_ops.py +54 -60
  253. mindspore/numpy/utils.py +3 -0
  254. mindspore/ops/__init__.py +5 -4
  255. mindspore/ops/_grad_experimental/grad_array_ops.py +4 -129
  256. mindspore/ops/_grad_experimental/grad_comm_ops.py +16 -22
  257. mindspore/ops/_grad_experimental/grad_math_ops.py +68 -283
  258. mindspore/ops/_grad_experimental/grad_nn_ops.py +0 -53
  259. mindspore/ops/_grad_experimental/grad_quant_ops.py +3 -3
  260. mindspore/ops/_grad_experimental/grad_sparse.py +1 -1
  261. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  262. mindspore/ops/_op_impl/__init__.py +0 -1
  263. mindspore/ops/_op_impl/aicpu/gamma.py +2 -0
  264. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +1 -1
  265. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +1 -3
  266. mindspore/ops/_op_impl/aicpu/poisson.py +2 -0
  267. mindspore/ops/_op_impl/cpu/__init__.py +1 -3
  268. mindspore/ops/_op_impl/cpu/adam.py +2 -2
  269. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +3 -2
  270. mindspore/ops/_op_impl/cpu/maximum_grad.py +16 -14
  271. mindspore/ops/_op_impl/cpu/minimum_grad.py +8 -0
  272. mindspore/ops/_vmap/vmap_array_ops.py +137 -101
  273. mindspore/ops/_vmap/vmap_base.py +8 -1
  274. mindspore/ops/_vmap/vmap_grad_math_ops.py +95 -9
  275. mindspore/ops/_vmap/vmap_grad_nn_ops.py +102 -56
  276. mindspore/ops/_vmap/vmap_image_ops.py +70 -13
  277. mindspore/ops/_vmap/vmap_math_ops.py +74 -49
  278. mindspore/ops/_vmap/vmap_nn_ops.py +164 -89
  279. mindspore/ops/_vmap/vmap_other_ops.py +1 -1
  280. mindspore/ops/auto_generate/__init__.py +31 -0
  281. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +133 -0
  282. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +248 -0
  283. mindspore/ops/auto_generate/gen_arg_handler.py +147 -0
  284. mindspore/ops/auto_generate/gen_extend_func.py +130 -0
  285. mindspore/ops/auto_generate/gen_ops_def.py +4786 -0
  286. mindspore/ops/auto_generate/gen_ops_prim.py +8335 -0
  287. mindspore/ops/auto_generate/pyboost_inner_prim.py +77 -0
  288. mindspore/ops/composite/__init__.py +5 -2
  289. mindspore/ops/composite/base.py +118 -17
  290. mindspore/ops/composite/math_ops.py +9 -48
  291. mindspore/ops/composite/multitype_ops/_compile_utils.py +166 -601
  292. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +15 -133
  293. mindspore/ops/composite/multitype_ops/add_impl.py +6 -0
  294. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +6 -0
  295. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +6 -0
  296. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +6 -0
  297. mindspore/ops/composite/multitype_ops/div_impl.py +8 -0
  298. mindspore/ops/composite/multitype_ops/equal_impl.py +6 -0
  299. mindspore/ops/composite/multitype_ops/floordiv_impl.py +8 -0
  300. mindspore/ops/composite/multitype_ops/getitem_impl.py +6 -0
  301. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +6 -0
  302. mindspore/ops/composite/multitype_ops/greater_impl.py +6 -0
  303. mindspore/ops/composite/multitype_ops/in_impl.py +8 -2
  304. mindspore/ops/composite/multitype_ops/left_shift_impl.py +6 -0
  305. mindspore/ops/composite/multitype_ops/less_equal_impl.py +6 -0
  306. mindspore/ops/composite/multitype_ops/less_impl.py +6 -0
  307. mindspore/ops/composite/multitype_ops/logic_not_impl.py +6 -0
  308. mindspore/ops/composite/multitype_ops/logical_and_impl.py +6 -0
  309. mindspore/ops/composite/multitype_ops/logical_or_impl.py +6 -0
  310. mindspore/ops/composite/multitype_ops/mod_impl.py +6 -0
  311. mindspore/ops/composite/multitype_ops/mul_impl.py +6 -0
  312. mindspore/ops/composite/multitype_ops/negative_impl.py +9 -3
  313. mindspore/ops/composite/multitype_ops/not_equal_impl.py +6 -0
  314. mindspore/ops/composite/multitype_ops/not_in_impl.py +6 -1
  315. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -2
  316. mindspore/ops/composite/multitype_ops/pow_impl.py +6 -0
  317. mindspore/ops/composite/multitype_ops/right_shift_impl.py +6 -0
  318. mindspore/ops/composite/multitype_ops/setitem_impl.py +32 -21
  319. mindspore/ops/composite/multitype_ops/sub_impl.py +6 -0
  320. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +6 -3
  321. mindspore/ops/deprecated.py +14 -3
  322. mindspore/ops/extend/__init__.py +46 -0
  323. mindspore/ops/extend/array_func.py +152 -0
  324. mindspore/ops/extend/math_func.py +76 -0
  325. mindspore/ops/{_op_impl/tbe/atomic_addr_clean.py → extend/nn_func.py} +5 -15
  326. mindspore/ops/function/__init__.py +19 -11
  327. mindspore/ops/function/array_func.py +251 -1440
  328. mindspore/ops/function/clip_func.py +12 -13
  329. mindspore/ops/function/debug_func.py +1 -4
  330. mindspore/ops/function/fft_func.py +31 -0
  331. mindspore/ops/function/grad/grad_func.py +24 -17
  332. mindspore/ops/function/image_func.py +27 -21
  333. mindspore/ops/function/linalg_func.py +35 -68
  334. mindspore/ops/function/math_func.py +451 -2360
  335. mindspore/ops/function/nn_func.py +459 -780
  336. mindspore/ops/function/other_func.py +4 -5
  337. mindspore/ops/function/parameter_func.py +5 -93
  338. mindspore/ops/function/random_func.py +24 -80
  339. mindspore/ops/function/sparse_unary_func.py +9 -16
  340. mindspore/ops/function/spectral_func.py +1 -1
  341. mindspore/ops/function/vmap_func.py +14 -14
  342. mindspore/ops/functional.py +56 -62
  343. mindspore/ops/op_info_register.py +22 -19
  344. mindspore/ops/operations/__init__.py +19 -19
  345. mindspore/ops/operations/_grad_ops.py +20 -723
  346. mindspore/ops/operations/_inner_ops.py +178 -286
  347. mindspore/ops/operations/_scalar_ops.py +5 -480
  348. mindspore/ops/operations/_sequence_ops.py +4 -34
  349. mindspore/ops/operations/array_ops.py +99 -2491
  350. mindspore/ops/operations/comm_ops.py +38 -46
  351. mindspore/ops/operations/custom_ops.py +8 -8
  352. mindspore/ops/operations/debug_ops.py +100 -31
  353. mindspore/ops/operations/image_ops.py +1 -217
  354. mindspore/ops/operations/inner_ops.py +3 -38
  355. mindspore/ops/operations/linalg_ops.py +1 -49
  356. mindspore/{rewrite/ast_transformers → ops/operations/manually_defined}/__init__.py +11 -4
  357. mindspore/ops/operations/manually_defined/_inner.py +61 -0
  358. mindspore/ops/operations/manually_defined/ops_def.py +1391 -0
  359. mindspore/ops/operations/math_ops.py +703 -4601
  360. mindspore/ops/operations/nn_ops.py +374 -1748
  361. mindspore/ops/operations/other_ops.py +50 -42
  362. mindspore/ops/operations/random_ops.py +3 -52
  363. mindspore/ops/primitive.py +196 -96
  364. mindspore/ops_generate/__init__.py +27 -0
  365. mindspore/ops_generate/arg_dtype_cast.py +248 -0
  366. mindspore/ops_generate/arg_handler.py +147 -0
  367. mindspore/ops_generate/gen_aclnn_implement.py +266 -0
  368. mindspore/ops_generate/gen_ops.py +1062 -0
  369. mindspore/ops_generate/gen_ops_inner_prim.py +129 -0
  370. mindspore/ops_generate/gen_pyboost_func.py +932 -0
  371. mindspore/ops_generate/gen_utils.py +188 -0
  372. mindspore/ops_generate/op_proto.py +138 -0
  373. mindspore/ops_generate/pyboost_utils.py +364 -0
  374. mindspore/ops_generate/template.py +238 -0
  375. mindspore/parallel/__init__.py +5 -4
  376. mindspore/parallel/_auto_parallel_context.py +21 -76
  377. mindspore/parallel/_cell_wrapper.py +16 -9
  378. mindspore/parallel/_cost_model_context.py +1 -1
  379. mindspore/parallel/_dp_allreduce_fusion.py +159 -159
  380. mindspore/parallel/_parallel_serialization.py +30 -46
  381. mindspore/parallel/_ps_context.py +1 -1
  382. mindspore/parallel/_recovery_context.py +1 -1
  383. mindspore/parallel/_tensor.py +19 -7
  384. mindspore/parallel/_transformer/__init__.py +1 -1
  385. mindspore/parallel/_transformer/layers.py +1 -1
  386. mindspore/parallel/_transformer/loss.py +1 -1
  387. mindspore/parallel/_transformer/moe.py +1 -1
  388. mindspore/parallel/_transformer/op_parallel_config.py +1 -1
  389. mindspore/parallel/_transformer/transformer.py +1 -1
  390. mindspore/parallel/_utils.py +131 -6
  391. mindspore/parallel/algo_parameter_config.py +6 -6
  392. mindspore/parallel/checkpoint_transform.py +180 -196
  393. mindspore/parallel/cluster/__init__.py +15 -0
  394. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  395. mindspore/parallel/cluster/process_entity/_api.py +345 -0
  396. mindspore/parallel/cluster/process_entity/_utils.py +116 -0
  397. mindspore/parallel/cluster/run.py +139 -0
  398. mindspore/parallel/mpi/__init__.py +1 -1
  399. mindspore/parallel/mpi/_mpi_config.py +1 -1
  400. mindspore/parallel/parameter_broadcast.py +152 -0
  401. mindspore/parallel/shard.py +99 -2
  402. mindspore/profiler/common/util.py +20 -0
  403. mindspore/profiler/envprofiling.py +1 -1
  404. mindspore/{_extends/parallel_compile/tbe_compiler → profiler/parser/ascend_analysis}/__init__.py +1 -1
  405. mindspore/profiler/parser/ascend_analysis/constant.py +66 -0
  406. mindspore/profiler/parser/ascend_analysis/file_manager.py +77 -0
  407. mindspore/profiler/parser/ascend_analysis/function_event.py +146 -0
  408. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +108 -0
  409. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +80 -0
  410. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +52 -0
  411. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +104 -0
  412. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  413. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +59 -0
  414. mindspore/profiler/parser/ascend_cluster_generator.py +14 -9
  415. mindspore/profiler/parser/ascend_communicate_generator.py +0 -1
  416. mindspore/profiler/parser/ascend_flops_generator.py +20 -4
  417. mindspore/profiler/parser/ascend_hccl_generator.py +25 -277
  418. mindspore/profiler/parser/ascend_msprof_exporter.py +112 -132
  419. mindspore/profiler/parser/ascend_msprof_generator.py +68 -285
  420. mindspore/profiler/parser/ascend_op_generator.py +75 -42
  421. mindspore/profiler/parser/ascend_timeline_generator.py +293 -135
  422. mindspore/profiler/parser/base_timeline_generator.py +6 -0
  423. mindspore/profiler/parser/framework_parser.py +3 -2
  424. mindspore/profiler/parser/integrator.py +3 -1
  425. mindspore/profiler/parser/msadvisor_analyzer.py +1 -1
  426. mindspore/profiler/parser/msadvisor_parser.py +1 -1
  427. mindspore/profiler/parser/profiler_info.py +5 -0
  428. mindspore/profiler/profiling.py +296 -166
  429. mindspore/rewrite/__init__.py +2 -13
  430. mindspore/rewrite/api/node.py +121 -35
  431. mindspore/rewrite/api/pattern_engine.py +2 -3
  432. mindspore/rewrite/api/scoped_value.py +16 -15
  433. mindspore/rewrite/api/symbol_tree.py +45 -29
  434. mindspore/rewrite/ast_helpers/__init__.py +3 -6
  435. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  436. mindspore/rewrite/ast_helpers/ast_finder.py +48 -0
  437. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  438. mindspore/rewrite/ast_helpers/ast_modifier.py +160 -92
  439. mindspore/rewrite/common/__init__.py +1 -2
  440. mindspore/rewrite/common/config.py +24 -0
  441. mindspore/rewrite/common/{rewrite_elog.py → error_log.py} +39 -39
  442. mindspore/rewrite/{namer.py → common/namer.py} +63 -18
  443. mindspore/rewrite/common/namespace.py +118 -0
  444. mindspore/rewrite/node/__init__.py +5 -5
  445. mindspore/rewrite/node/call_function.py +23 -7
  446. mindspore/rewrite/node/cell_container.py +7 -3
  447. mindspore/rewrite/node/control_flow.py +53 -28
  448. mindspore/rewrite/node/node.py +212 -196
  449. mindspore/rewrite/node/node_manager.py +51 -22
  450. mindspore/rewrite/node/node_topological_manager.py +3 -23
  451. mindspore/rewrite/parsers/__init__.py +12 -0
  452. mindspore/rewrite/parsers/arguments_parser.py +8 -9
  453. mindspore/rewrite/parsers/assign_parser.py +635 -413
  454. mindspore/rewrite/parsers/attribute_parser.py +3 -4
  455. mindspore/rewrite/parsers/class_def_parser.py +107 -144
  456. mindspore/rewrite/parsers/constant_parser.py +5 -5
  457. mindspore/rewrite/parsers/container_parser.py +4 -6
  458. mindspore/rewrite/parsers/expr_parser.py +55 -0
  459. mindspore/rewrite/parsers/for_parser.py +31 -98
  460. mindspore/rewrite/parsers/function_def_parser.py +13 -5
  461. mindspore/rewrite/parsers/if_parser.py +28 -10
  462. mindspore/rewrite/parsers/module_parser.py +8 -182
  463. mindspore/rewrite/parsers/parser.py +1 -5
  464. mindspore/rewrite/parsers/parser_register.py +1 -1
  465. mindspore/rewrite/parsers/return_parser.py +5 -10
  466. mindspore/rewrite/parsers/while_parser.py +59 -0
  467. mindspore/rewrite/sparsify/utils.py +1 -1
  468. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  469. mindspore/rewrite/{symbol_tree.py → symbol_tree/symbol_tree.py} +704 -185
  470. mindspore/rewrite/{symbol_tree_builder.py → symbol_tree/symbol_tree_builder.py} +8 -8
  471. mindspore/rewrite/{symbol_tree_dumper.py → symbol_tree/symbol_tree_dumper.py} +4 -4
  472. mindspore/run_check/_check_version.py +6 -14
  473. mindspore/run_check/run_check.py +1 -1
  474. mindspore/safeguard/rewrite_obfuscation.py +9 -19
  475. mindspore/scipy/__init__.py +2 -1
  476. mindspore/scipy/fft.py +133 -0
  477. mindspore/scipy/linalg.py +140 -55
  478. mindspore/scipy/ops.py +15 -71
  479. mindspore/scipy/ops_grad.py +5 -34
  480. mindspore/scipy/optimize/line_search.py +2 -2
  481. mindspore/scipy/optimize/minimize.py +1 -1
  482. mindspore/train/__init__.py +3 -2
  483. mindspore/train/_utils.py +178 -4
  484. mindspore/train/amp.py +167 -245
  485. mindspore/train/callback/_backup_and_restore.py +4 -4
  486. mindspore/train/callback/_callback.py +4 -4
  487. mindspore/train/callback/_checkpoint.py +39 -13
  488. mindspore/train/callback/_early_stop.py +2 -2
  489. mindspore/train/callback/_landscape.py +14 -8
  490. mindspore/train/callback/_loss_monitor.py +2 -2
  491. mindspore/train/callback/_on_request_exit.py +2 -2
  492. mindspore/train/callback/_reduce_lr_on_plateau.py +2 -2
  493. mindspore/train/callback/_summary_collector.py +7 -7
  494. mindspore/train/callback/_time_monitor.py +2 -2
  495. mindspore/train/data_sink.py +1 -1
  496. mindspore/train/dataset_helper.py +13 -4
  497. mindspore/train/loss_scale_manager.py +2 -2
  498. mindspore/train/metrics/accuracy.py +7 -7
  499. mindspore/train/metrics/confusion_matrix.py +8 -6
  500. mindspore/train/metrics/cosine_similarity.py +6 -4
  501. mindspore/train/metrics/error.py +2 -2
  502. mindspore/train/metrics/metric.py +3 -3
  503. mindspore/train/metrics/perplexity.py +2 -1
  504. mindspore/train/metrics/topk.py +2 -2
  505. mindspore/train/mind_ir_pb2.py +75 -6
  506. mindspore/train/model.py +24 -22
  507. mindspore/train/serialization.py +256 -132
  508. mindspore/train/summary/summary_record.py +51 -28
  509. mindspore/train/train_thor/convert_utils.py +3 -3
  510. mindspore/version.py +1 -1
  511. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc1.dist-info}/METADATA +2 -2
  512. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc1.dist-info}/RECORD +515 -1061
  513. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc1.dist-info}/entry_points.txt +1 -0
  514. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +0 -662
  515. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +0 -377
  516. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +0 -201
  517. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +0 -515
  518. mindspore/config/super_bar_config.json +0 -544
  519. mindspore/gen_ops.py +0 -273
  520. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  521. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  522. mindspore/nn/layer/flash_attention.py +0 -189
  523. mindspore/ops/_op_impl/cpu/concat.py +0 -39
  524. mindspore/ops/_op_impl/cpu/tensor_shape.py +0 -42
  525. mindspore/ops/_op_impl/tbe/__init__.py +0 -47
  526. mindspore/ops/_op_impl/tbe/abs.py +0 -38
  527. mindspore/ops/_op_impl/tbe/abs_ds.py +0 -39
  528. mindspore/ops/_op_impl/tbe/abs_grad.py +0 -43
  529. mindspore/ops/_op_impl/tbe/abs_grad_ds.py +0 -44
  530. mindspore/ops/_op_impl/tbe/accumulate_n_v2.py +0 -41
  531. mindspore/ops/_op_impl/tbe/accumulate_n_v2_ds.py +0 -42
  532. mindspore/ops/_op_impl/tbe/acos.py +0 -37
  533. mindspore/ops/_op_impl/tbe/acos_ds.py +0 -38
  534. mindspore/ops/_op_impl/tbe/acos_grad.py +0 -43
  535. mindspore/ops/_op_impl/tbe/acos_grad_ds.py +0 -44
  536. mindspore/ops/_op_impl/tbe/acosh.py +0 -37
  537. mindspore/ops/_op_impl/tbe/acosh_ds.py +0 -38
  538. mindspore/ops/_op_impl/tbe/acosh_grad.py +0 -43
  539. mindspore/ops/_op_impl/tbe/acosh_grad_ds.py +0 -44
  540. mindspore/ops/_op_impl/tbe/act_ulq_clamp_max_grad.py +0 -38
  541. mindspore/ops/_op_impl/tbe/act_ulq_clamp_min_grad.py +0 -38
  542. mindspore/ops/_op_impl/tbe/acts_ulq.py +0 -45
  543. mindspore/ops/_op_impl/tbe/acts_ulq_input_grad.py +0 -38
  544. mindspore/ops/_op_impl/tbe/adam_apply_one.py +0 -50
  545. mindspore/ops/_op_impl/tbe/adam_apply_one_assign.py +0 -53
  546. mindspore/ops/_op_impl/tbe/adam_apply_one_ds.py +0 -51
  547. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay.py +0 -54
  548. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_assign.py +0 -54
  549. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_ds.py +0 -55
  550. mindspore/ops/_op_impl/tbe/adaptive_max_pool2d.py +0 -37
  551. mindspore/ops/_op_impl/tbe/add.py +0 -42
  552. mindspore/ops/_op_impl/tbe/add_ds.py +0 -43
  553. mindspore/ops/_op_impl/tbe/add_n.py +0 -39
  554. mindspore/ops/_op_impl/tbe/add_n_ds.py +0 -40
  555. mindspore/ops/_op_impl/tbe/addcdiv.py +0 -41
  556. mindspore/ops/_op_impl/tbe/addcdiv_ds.py +0 -42
  557. mindspore/ops/_op_impl/tbe/addcmul.py +0 -43
  558. mindspore/ops/_op_impl/tbe/addcmul_ds.py +0 -44
  559. mindspore/ops/_op_impl/tbe/apply_ada_max.py +0 -68
  560. mindspore/ops/_op_impl/tbe/apply_ada_max_ds.py +0 -69
  561. mindspore/ops/_op_impl/tbe/apply_adadelta.py +0 -66
  562. mindspore/ops/_op_impl/tbe/apply_adadelta_ds.py +0 -67
  563. mindspore/ops/_op_impl/tbe/apply_adagrad.py +0 -55
  564. mindspore/ops/_op_impl/tbe/apply_adagrad_d_a.py +0 -67
  565. mindspore/ops/_op_impl/tbe/apply_adagrad_ds.py +0 -56
  566. mindspore/ops/_op_impl/tbe/apply_adagrad_v2.py +0 -48
  567. mindspore/ops/_op_impl/tbe/apply_adagrad_v2_ds.py +0 -49
  568. mindspore/ops/_op_impl/tbe/apply_adam.py +0 -79
  569. mindspore/ops/_op_impl/tbe/apply_adam_ds.py +0 -80
  570. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad.py +0 -60
  571. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad_ds.py +0 -61
  572. mindspore/ops/_op_impl/tbe/apply_add_sign.py +0 -65
  573. mindspore/ops/_op_impl/tbe/apply_add_sign_ds.py +0 -66
  574. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop.py +0 -77
  575. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop_ds.py +0 -78
  576. mindspore/ops/_op_impl/tbe/apply_ftrl.py +0 -67
  577. mindspore/ops/_op_impl/tbe/apply_ftrl_ds.py +0 -68
  578. mindspore/ops/_op_impl/tbe/apply_gradient_descent.py +0 -44
  579. mindspore/ops/_op_impl/tbe/apply_gradient_descent_ds.py +0 -45
  580. mindspore/ops/_op_impl/tbe/apply_keras_momentum.py +0 -49
  581. mindspore/ops/_op_impl/tbe/apply_momentum.py +0 -64
  582. mindspore/ops/_op_impl/tbe/apply_momentum_ds.py +0 -65
  583. mindspore/ops/_op_impl/tbe/apply_power_sign.py +0 -65
  584. mindspore/ops/_op_impl/tbe/apply_power_sign_ds.py +0 -66
  585. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad.py +0 -57
  586. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad_ds.py +0 -58
  587. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent.py +0 -54
  588. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent_ds.py +0 -55
  589. mindspore/ops/_op_impl/tbe/apply_rms_prop.py +0 -52
  590. mindspore/ops/_op_impl/tbe/approximate_equal.py +0 -39
  591. mindspore/ops/_op_impl/tbe/approximate_equal_ds.py +0 -40
  592. mindspore/ops/_op_impl/tbe/arg_max.py +0 -38
  593. mindspore/ops/_op_impl/tbe/arg_max_with_value.py +0 -38
  594. mindspore/ops/_op_impl/tbe/arg_max_with_value_ds.py +0 -39
  595. mindspore/ops/_op_impl/tbe/arg_min.py +0 -38
  596. mindspore/ops/_op_impl/tbe/arg_min_v2_ds.py +0 -40
  597. mindspore/ops/_op_impl/tbe/arg_min_with_value.py +0 -38
  598. mindspore/ops/_op_impl/tbe/arg_min_with_value_ds.py +0 -39
  599. mindspore/ops/_op_impl/tbe/asin.py +0 -37
  600. mindspore/ops/_op_impl/tbe/asin_ds.py +0 -38
  601. mindspore/ops/_op_impl/tbe/asin_grad.py +0 -43
  602. mindspore/ops/_op_impl/tbe/asin_grad_ds.py +0 -44
  603. mindspore/ops/_op_impl/tbe/asinh.py +0 -37
  604. mindspore/ops/_op_impl/tbe/asinh_ds.py +0 -38
  605. mindspore/ops/_op_impl/tbe/asinh_grad.py +0 -43
  606. mindspore/ops/_op_impl/tbe/asinh_grad_ds.py +0 -44
  607. mindspore/ops/_op_impl/tbe/assign.py +0 -79
  608. mindspore/ops/_op_impl/tbe/assign_add.py +0 -59
  609. mindspore/ops/_op_impl/tbe/assign_add_ds.py +0 -60
  610. mindspore/ops/_op_impl/tbe/assign_ds.py +0 -80
  611. mindspore/ops/_op_impl/tbe/assign_sub.py +0 -55
  612. mindspore/ops/_op_impl/tbe/assign_sub_ds.py +0 -56
  613. mindspore/ops/_op_impl/tbe/atan.py +0 -37
  614. mindspore/ops/_op_impl/tbe/atan2.py +0 -38
  615. mindspore/ops/_op_impl/tbe/atan2_ds.py +0 -39
  616. mindspore/ops/_op_impl/tbe/atan_ds.py +0 -38
  617. mindspore/ops/_op_impl/tbe/atan_grad.py +0 -43
  618. mindspore/ops/_op_impl/tbe/atan_grad_ds.py +0 -44
  619. mindspore/ops/_op_impl/tbe/atanh.py +0 -37
  620. mindspore/ops/_op_impl/tbe/atanh_ds.py +0 -38
  621. mindspore/ops/_op_impl/tbe/avg_pool.py +0 -43
  622. mindspore/ops/_op_impl/tbe/avg_pool_3d.py +0 -44
  623. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +0 -45
  624. mindspore/ops/_op_impl/tbe/avg_pool_ds.py +0 -44
  625. mindspore/ops/_op_impl/tbe/avg_pool_grad.py +0 -42
  626. mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +0 -42
  627. mindspore/ops/_op_impl/tbe/basic_lstm_cell.py +0 -57
  628. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad.py +0 -50
  629. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -51
  630. mindspore/ops/_op_impl/tbe/basic_lstm_cell_input_grad.py +0 -42
  631. mindspore/ops/_op_impl/tbe/basic_lstm_cell_weight_grad.py +0 -41
  632. mindspore/ops/_op_impl/tbe/batch_matmul.py +0 -42
  633. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +0 -41
  634. mindspore/ops/_op_impl/tbe/batch_matmul_v2.py +0 -47
  635. mindspore/ops/_op_impl/tbe/batch_to_space.py +0 -38
  636. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +0 -38
  637. mindspore/ops/_op_impl/tbe/batch_to_space_nd_ds.py +0 -39
  638. mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +0 -41
  639. mindspore/ops/_op_impl/tbe/batchnorm.py +0 -58
  640. mindspore/ops/_op_impl/tbe/batchnorm_grad.py +0 -58
  641. mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +0 -42
  642. mindspore/ops/_op_impl/tbe/bessel_i0e.py +0 -37
  643. mindspore/ops/_op_impl/tbe/bessel_i0e_ds.py +0 -38
  644. mindspore/ops/_op_impl/tbe/bessel_i1e.py +0 -37
  645. mindspore/ops/_op_impl/tbe/bessel_i1e_ds.py +0 -38
  646. mindspore/ops/_op_impl/tbe/bias_add.py +0 -38
  647. mindspore/ops/_op_impl/tbe/bias_add_ds.py +0 -39
  648. mindspore/ops/_op_impl/tbe/bias_add_grad.py +0 -53
  649. mindspore/ops/_op_impl/tbe/binary_cross_entropy.py +0 -39
  650. mindspore/ops/_op_impl/tbe/binary_cross_entropy_ds.py +0 -40
  651. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad.py +0 -44
  652. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad_ds.py +0 -45
  653. mindspore/ops/_op_impl/tbe/bitwise_and.py +0 -39
  654. mindspore/ops/_op_impl/tbe/bitwise_and_ds.py +0 -40
  655. mindspore/ops/_op_impl/tbe/bitwise_or.py +0 -39
  656. mindspore/ops/_op_impl/tbe/bitwise_or_ds.py +0 -40
  657. mindspore/ops/_op_impl/tbe/bitwise_xor.py +0 -39
  658. mindspore/ops/_op_impl/tbe/bitwise_xor_ds.py +0 -40
  659. mindspore/ops/_op_impl/tbe/bn_infer.py +0 -43
  660. mindspore/ops/_op_impl/tbe/bn_infer_ds.py +0 -45
  661. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +0 -41
  662. mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +0 -40
  663. mindspore/ops/_op_impl/tbe/bn_inference.py +0 -50
  664. mindspore/ops/_op_impl/tbe/bn_training_reduce.py +0 -38
  665. mindspore/ops/_op_impl/tbe/bn_training_reduce_ds.py +0 -39
  666. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad.py +0 -46
  667. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad_ds.py +0 -47
  668. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -52
  669. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -53
  670. mindspore/ops/_op_impl/tbe/bn_training_update_grad.py +0 -44
  671. mindspore/ops/_op_impl/tbe/bn_training_update_grad_ds.py +0 -45
  672. mindspore/ops/_op_impl/tbe/bn_training_update_v2.py +0 -48
  673. mindspore/ops/_op_impl/tbe/bn_training_update_v3.py +0 -51
  674. mindspore/ops/_op_impl/tbe/bounding_box_decode.py +0 -41
  675. mindspore/ops/_op_impl/tbe/bounding_box_decode_ds.py +0 -42
  676. mindspore/ops/_op_impl/tbe/bounding_box_encode.py +0 -38
  677. mindspore/ops/_op_impl/tbe/broadcast_to.py +0 -40
  678. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +0 -44
  679. mindspore/ops/_op_impl/tbe/cast.py +0 -55
  680. mindspore/ops/_op_impl/tbe/cast_ds.py +0 -58
  681. mindspore/ops/_op_impl/tbe/cdist.py +0 -38
  682. mindspore/ops/_op_impl/tbe/cdist_grad.py +0 -42
  683. mindspore/ops/_op_impl/tbe/ceil.py +0 -37
  684. mindspore/ops/_op_impl/tbe/ceil_ds.py +0 -38
  685. mindspore/ops/_op_impl/tbe/celu.py +0 -39
  686. mindspore/ops/_op_impl/tbe/centralization.py +0 -39
  687. mindspore/ops/_op_impl/tbe/check_valid.py +0 -38
  688. mindspore/ops/_op_impl/tbe/check_valid_ds.py +0 -39
  689. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum.py +0 -41
  690. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum_ds.py +0 -42
  691. mindspore/ops/_op_impl/tbe/clip_by_value.py +0 -41
  692. mindspore/ops/_op_impl/tbe/clip_by_value_ds.py +0 -42
  693. mindspore/ops/_op_impl/tbe/concat.py +0 -40
  694. mindspore/ops/_op_impl/tbe/concat_ds.py +0 -38
  695. mindspore/ops/_op_impl/tbe/confusion_matrix.py +0 -63
  696. mindspore/ops/_op_impl/tbe/confusion_mul_grad.py +0 -40
  697. mindspore/ops/_op_impl/tbe/confusion_softmax_grad.py +0 -41
  698. mindspore/ops/_op_impl/tbe/confusion_transpose_d.py +0 -39
  699. mindspore/ops/_op_impl/tbe/conv2d.py +0 -47
  700. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter.py +0 -42
  701. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter_ds.py +0 -43
  702. mindspore/ops/_op_impl/tbe/conv2d_backprop_input.py +0 -42
  703. mindspore/ops/_op_impl/tbe/conv2d_backprop_input_ds.py +0 -44
  704. mindspore/ops/_op_impl/tbe/conv2d_ds.py +0 -47
  705. mindspore/ops/_op_impl/tbe/conv2d_transpose.py +0 -48
  706. mindspore/ops/_op_impl/tbe/conv3d.py +0 -45
  707. mindspore/ops/_op_impl/tbe/conv3d_backprop_filter.py +0 -42
  708. mindspore/ops/_op_impl/tbe/conv3d_backprop_input.py +0 -42
  709. mindspore/ops/_op_impl/tbe/conv3d_transpose.py +0 -47
  710. mindspore/ops/_op_impl/tbe/conv3d_transpose_ds.py +0 -48
  711. mindspore/ops/_op_impl/tbe/cos.py +0 -37
  712. mindspore/ops/_op_impl/tbe/cos_ds.py +0 -38
  713. mindspore/ops/_op_impl/tbe/cosh.py +0 -37
  714. mindspore/ops/_op_impl/tbe/cosh_ds.py +0 -38
  715. mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -42
  716. mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -44
  717. mindspore/ops/_op_impl/tbe/cum_sum.py +0 -42
  718. mindspore/ops/_op_impl/tbe/cum_sum_ds.py +0 -44
  719. mindspore/ops/_op_impl/tbe/cummin.py +0 -41
  720. mindspore/ops/_op_impl/tbe/cumprod.py +0 -42
  721. mindspore/ops/_op_impl/tbe/data_format_dim_map.py +0 -38
  722. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +0 -40
  723. mindspore/ops/_op_impl/tbe/deformable_offsets.py +0 -45
  724. mindspore/ops/_op_impl/tbe/deformable_offsets_grad.py +0 -48
  725. mindspore/ops/_op_impl/tbe/depth_to_space_ds.py +0 -49
  726. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +0 -44
  727. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_filter.py +0 -41
  728. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_input.py +0 -41
  729. mindspore/ops/_op_impl/tbe/diag.py +0 -38
  730. mindspore/ops/_op_impl/tbe/diag_part.py +0 -38
  731. mindspore/ops/_op_impl/tbe/dilation.py +0 -40
  732. mindspore/ops/_op_impl/tbe/div.py +0 -41
  733. mindspore/ops/_op_impl/tbe/div_ds.py +0 -42
  734. mindspore/ops/_op_impl/tbe/div_no_nan.py +0 -41
  735. mindspore/ops/_op_impl/tbe/div_no_nan_ds.py +0 -42
  736. mindspore/ops/_op_impl/tbe/dropout_do_mask.py +0 -38
  737. mindspore/ops/_op_impl/tbe/dropout_do_mask_ds.py +0 -39
  738. mindspore/ops/_op_impl/tbe/dropout_do_mask_v3.py +0 -39
  739. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +0 -34
  740. mindspore/ops/_op_impl/tbe/dynamic_gru_v2.py +0 -95
  741. mindspore/ops/_op_impl/tbe/dynamic_rnn.py +0 -82
  742. mindspore/ops/_op_impl/tbe/elu.py +0 -38
  743. mindspore/ops/_op_impl/tbe/elu_ds.py +0 -39
  744. mindspore/ops/_op_impl/tbe/elu_grad.py +0 -43
  745. mindspore/ops/_op_impl/tbe/elu_grad_ds.py +0 -44
  746. mindspore/ops/_op_impl/tbe/equal.py +0 -42
  747. mindspore/ops/_op_impl/tbe/equal_ds.py +0 -42
  748. mindspore/ops/_op_impl/tbe/erf.py +0 -37
  749. mindspore/ops/_op_impl/tbe/erf_ds.py +0 -38
  750. mindspore/ops/_op_impl/tbe/erfc.py +0 -37
  751. mindspore/ops/_op_impl/tbe/erfc_ds.py +0 -38
  752. mindspore/ops/_op_impl/tbe/erfinv.py +0 -36
  753. mindspore/ops/_op_impl/tbe/exp.py +0 -40
  754. mindspore/ops/_op_impl/tbe/exp_ds.py +0 -41
  755. mindspore/ops/_op_impl/tbe/expand_dims.py +0 -38
  756. mindspore/ops/_op_impl/tbe/expm1.py +0 -37
  757. mindspore/ops/_op_impl/tbe/expm1_ds.py +0 -38
  758. mindspore/ops/_op_impl/tbe/extract_image_patches.py +0 -41
  759. mindspore/ops/_op_impl/tbe/extract_volume_patches.py +0 -39
  760. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars.py +0 -39
  761. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_gradient.py +0 -43
  762. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel.py +0 -39
  763. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel_gradient.py +0 -43
  764. mindspore/ops/_op_impl/tbe/fast_gelu.py +0 -37
  765. mindspore/ops/_op_impl/tbe/fast_gelu_ds.py +0 -38
  766. mindspore/ops/_op_impl/tbe/fast_gelu_grad.py +0 -41
  767. mindspore/ops/_op_impl/tbe/fast_gelu_grad_ds.py +0 -42
  768. mindspore/ops/_op_impl/tbe/fill.py +0 -56
  769. mindspore/ops/_op_impl/tbe/fill_ds.py +0 -42
  770. mindspore/ops/_op_impl/tbe/flatten.py +0 -48
  771. mindspore/ops/_op_impl/tbe/floor.py +0 -37
  772. mindspore/ops/_op_impl/tbe/floor_div.py +0 -41
  773. mindspore/ops/_op_impl/tbe/floor_div_ds.py +0 -42
  774. mindspore/ops/_op_impl/tbe/floor_ds.py +0 -38
  775. mindspore/ops/_op_impl/tbe/floor_mod.py +0 -39
  776. mindspore/ops/_op_impl/tbe/floor_mod_ds.py +0 -40
  777. mindspore/ops/_op_impl/tbe/fused_dbn_dw.py +0 -52
  778. mindspore/ops/_op_impl/tbe/fused_mul_add.py +0 -38
  779. mindspore/ops/_op_impl/tbe/fused_mul_add_n.py +0 -48
  780. mindspore/ops/_op_impl/tbe/fused_mul_add_n_l2loss.py +0 -53
  781. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum.py +0 -57
  782. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum_extern.py +0 -67
  783. mindspore/ops/_op_impl/tbe/gather_nd.py +0 -52
  784. mindspore/ops/_op_impl/tbe/gather_nd_ds.py +0 -48
  785. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  786. mindspore/ops/_op_impl/tbe/gather_v2_ds.py +0 -68
  787. mindspore/ops/_op_impl/tbe/gelu.py +0 -37
  788. mindspore/ops/_op_impl/tbe/gelu_ds.py +0 -38
  789. mindspore/ops/_op_impl/tbe/gelu_grad.py +0 -42
  790. mindspore/ops/_op_impl/tbe/gelu_grad_ds.py +0 -43
  791. mindspore/ops/_op_impl/tbe/ger.py +0 -43
  792. mindspore/ops/_op_impl/tbe/ger_ds.py +0 -44
  793. mindspore/ops/_op_impl/tbe/greater.py +0 -43
  794. mindspore/ops/_op_impl/tbe/greater_equal.py +0 -41
  795. mindspore/ops/_op_impl/tbe/greater_equal_ds.py +0 -42
  796. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad.py +0 -51
  797. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad_cell.py +0 -52
  798. mindspore/ops/_op_impl/tbe/hard_swish.py +0 -37
  799. mindspore/ops/_op_impl/tbe/hard_swish_ds.py +0 -38
  800. mindspore/ops/_op_impl/tbe/hard_swish_grad.py +0 -41
  801. mindspore/ops/_op_impl/tbe/hard_swish_grad_ds.py +0 -42
  802. mindspore/ops/_op_impl/tbe/histogram_fixed_width.py +0 -40
  803. mindspore/ops/_op_impl/tbe/hshrink.py +0 -33
  804. mindspore/ops/_op_impl/tbe/hshrink_grad.py +0 -37
  805. mindspore/ops/_op_impl/tbe/hsigmoid.py +0 -45
  806. mindspore/ops/_op_impl/tbe/hsigmoid_grad.py +0 -39
  807. mindspore/ops/_op_impl/tbe/ifmr.py +0 -47
  808. mindspore/ops/_op_impl/tbe/ifmr_ds.py +0 -48
  809. mindspore/ops/_op_impl/tbe/im2col.py +0 -42
  810. mindspore/ops/_op_impl/tbe/in_top_k.py +0 -37
  811. mindspore/ops/_op_impl/tbe/inplace_add.py +0 -39
  812. mindspore/ops/_op_impl/tbe/inplace_index_add.py +0 -46
  813. mindspore/ops/_op_impl/tbe/inplace_sub.py +0 -39
  814. mindspore/ops/_op_impl/tbe/inplace_update.py +0 -39
  815. mindspore/ops/_op_impl/tbe/inplace_update_ds.py +0 -40
  816. mindspore/ops/_op_impl/tbe/inv.py +0 -38
  817. mindspore/ops/_op_impl/tbe/inv_ds.py +0 -39
  818. mindspore/ops/_op_impl/tbe/inv_grad.py +0 -40
  819. mindspore/ops/_op_impl/tbe/inv_grad_ds.py +0 -41
  820. mindspore/ops/_op_impl/tbe/invert.py +0 -37
  821. mindspore/ops/_op_impl/tbe/invert_ds.py +0 -38
  822. mindspore/ops/_op_impl/tbe/iou.py +0 -38
  823. mindspore/ops/_op_impl/tbe/iou_ds.py +0 -39
  824. mindspore/ops/_op_impl/tbe/is_close.py +0 -40
  825. mindspore/ops/_op_impl/tbe/kl_div_loss.py +0 -38
  826. mindspore/ops/_op_impl/tbe/kl_div_loss_ds.py +0 -39
  827. mindspore/ops/_op_impl/tbe/kl_div_loss_grad.py +0 -40
  828. mindspore/ops/_op_impl/tbe/l2_loss.py +0 -36
  829. mindspore/ops/_op_impl/tbe/l2_loss_ds.py +0 -37
  830. mindspore/ops/_op_impl/tbe/l2_normalize.py +0 -38
  831. mindspore/ops/_op_impl/tbe/l2_normalize_grad.py +0 -40
  832. mindspore/ops/_op_impl/tbe/lamb_apply_optimizer_assign.py +0 -55
  833. mindspore/ops/_op_impl/tbe/lamb_apply_weight_assign.py +0 -42
  834. mindspore/ops/_op_impl/tbe/lamb_next_mv.py +0 -59
  835. mindspore/ops/_op_impl/tbe/lamb_next_mv_with_decay.py +0 -59
  836. mindspore/ops/_op_impl/tbe/lamb_next_right.py +0 -44
  837. mindspore/ops/_op_impl/tbe/lamb_update_with_lr.py +0 -48
  838. mindspore/ops/_op_impl/tbe/lamb_update_with_lr_v2.py +0 -44
  839. mindspore/ops/_op_impl/tbe/lars_update.py +0 -50
  840. mindspore/ops/_op_impl/tbe/lars_update_ds.py +0 -51
  841. mindspore/ops/_op_impl/tbe/layer_norm.py +0 -46
  842. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop.py +0 -44
  843. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_ds.py +0 -45
  844. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -40
  845. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2_ds.py +0 -41
  846. mindspore/ops/_op_impl/tbe/layer_norm_ds.py +0 -47
  847. mindspore/ops/_op_impl/tbe/layer_norm_grad.py +0 -48
  848. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop.py +0 -43
  849. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_ds.py +0 -44
  850. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2.py +0 -45
  851. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2_ds.py +0 -45
  852. mindspore/ops/_op_impl/tbe/lerp.py +0 -38
  853. mindspore/ops/_op_impl/tbe/less.py +0 -41
  854. mindspore/ops/_op_impl/tbe/less_ds.py +0 -42
  855. mindspore/ops/_op_impl/tbe/less_equal.py +0 -41
  856. mindspore/ops/_op_impl/tbe/less_equal_ds.py +0 -42
  857. mindspore/ops/_op_impl/tbe/log.py +0 -40
  858. mindspore/ops/_op_impl/tbe/log1p.py +0 -37
  859. mindspore/ops/_op_impl/tbe/log1p_ds.py +0 -38
  860. mindspore/ops/_op_impl/tbe/log_ds.py +0 -41
  861. mindspore/ops/_op_impl/tbe/logical_and.py +0 -37
  862. mindspore/ops/_op_impl/tbe/logical_and_ds.py +0 -38
  863. mindspore/ops/_op_impl/tbe/logical_not.py +0 -36
  864. mindspore/ops/_op_impl/tbe/logical_not_ds.py +0 -37
  865. mindspore/ops/_op_impl/tbe/logical_or.py +0 -37
  866. mindspore/ops/_op_impl/tbe/logical_or_ds.py +0 -38
  867. mindspore/ops/_op_impl/tbe/logsoftmax.py +0 -37
  868. mindspore/ops/_op_impl/tbe/logsoftmax_ds.py +0 -38
  869. mindspore/ops/_op_impl/tbe/logsoftmax_grad.py +0 -38
  870. mindspore/ops/_op_impl/tbe/logsoftmax_grad_ds.py +0 -39
  871. mindspore/ops/_op_impl/tbe/lp_norm.py +0 -40
  872. mindspore/ops/_op_impl/tbe/lp_norm_ds.py +0 -41
  873. mindspore/ops/_op_impl/tbe/lrn.py +0 -41
  874. mindspore/ops/_op_impl/tbe/lrn_grad.py +0 -42
  875. mindspore/ops/_op_impl/tbe/lstm_input_grad.py +0 -51
  876. mindspore/ops/_op_impl/tbe/masked_fill.py +0 -40
  877. mindspore/ops/_op_impl/tbe/masked_fill_ds.py +0 -41
  878. mindspore/ops/_op_impl/tbe/matmul.py +0 -53
  879. mindspore/ops/_op_impl/tbe/matmul_ds.py +0 -47
  880. mindspore/ops/_op_impl/tbe/matmul_v2.py +0 -50
  881. mindspore/ops/_op_impl/tbe/matrix_diag.py +0 -45
  882. mindspore/ops/_op_impl/tbe/matrix_diag_part.py +0 -45
  883. mindspore/ops/_op_impl/tbe/matrix_set_diag.py +0 -46
  884. mindspore/ops/_op_impl/tbe/max_pool.py +0 -39
  885. mindspore/ops/_op_impl/tbe/max_pool3d.py +0 -44
  886. mindspore/ops/_op_impl/tbe/max_pool3d_grad.py +0 -43
  887. mindspore/ops/_op_impl/tbe/max_pool3d_grad_grad.py +0 -44
  888. mindspore/ops/_op_impl/tbe/max_pool_ds.py +0 -40
  889. mindspore/ops/_op_impl/tbe/max_pool_grad.py +0 -43
  890. mindspore/ops/_op_impl/tbe/max_pool_grad_grad.py +0 -41
  891. mindspore/ops/_op_impl/tbe/max_pool_grad_grad_with_argmax.py +0 -41
  892. mindspore/ops/_op_impl/tbe/max_pool_grad_with_argmax.py +0 -42
  893. mindspore/ops/_op_impl/tbe/max_pool_with_argmax.py +0 -40
  894. mindspore/ops/_op_impl/tbe/maximum.py +0 -39
  895. mindspore/ops/_op_impl/tbe/maximum_ds.py +0 -40
  896. mindspore/ops/_op_impl/tbe/maximum_grad.py +0 -46
  897. mindspore/ops/_op_impl/tbe/maximum_grad_ds.py +0 -47
  898. mindspore/ops/_op_impl/tbe/mem_set.py +0 -38
  899. mindspore/ops/_op_impl/tbe/minimum.py +0 -40
  900. mindspore/ops/_op_impl/tbe/minimum_ds.py +0 -41
  901. mindspore/ops/_op_impl/tbe/minimum_grad.py +0 -46
  902. mindspore/ops/_op_impl/tbe/minimum_grad_ds.py +0 -47
  903. mindspore/ops/_op_impl/tbe/mish.py +0 -37
  904. mindspore/ops/_op_impl/tbe/mod.py +0 -41
  905. mindspore/ops/_op_impl/tbe/mod_ds.py +0 -42
  906. mindspore/ops/_op_impl/tbe/mul.py +0 -37
  907. mindspore/ops/_op_impl/tbe/mul_ds.py +0 -38
  908. mindspore/ops/_op_impl/tbe/mul_no_nan.py +0 -39
  909. mindspore/ops/_op_impl/tbe/mul_no_nan_ds.py +0 -40
  910. mindspore/ops/_op_impl/tbe/multilabel_margin_loss.py +0 -39
  911. mindspore/ops/_op_impl/tbe/neg.py +0 -39
  912. mindspore/ops/_op_impl/tbe/neg_ds.py +0 -40
  913. mindspore/ops/_op_impl/tbe/new_im2col.py +0 -40
  914. mindspore/ops/_op_impl/tbe/nll_loss.py +0 -41
  915. mindspore/ops/_op_impl/tbe/nll_loss_grad.py +0 -44
  916. mindspore/ops/_op_impl/tbe/nms_with_mask.py +0 -39
  917. mindspore/ops/_op_impl/tbe/not_equal.py +0 -41
  918. mindspore/ops/_op_impl/tbe/not_equal_ds.py +0 -42
  919. mindspore/ops/_op_impl/tbe/npu_alloc_float_status.py +0 -34
  920. mindspore/ops/_op_impl/tbe/npu_clear_float_status.py +0 -35
  921. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +0 -35
  922. mindspore/ops/_op_impl/tbe/npu_get_float_status.py +0 -35
  923. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +0 -35
  924. mindspore/ops/_op_impl/tbe/one_hot.py +0 -48
  925. mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -45
  926. mindspore/ops/_op_impl/tbe/ones_like.py +0 -40
  927. mindspore/ops/_op_impl/tbe/ones_like_ds.py +0 -41
  928. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling.py +0 -40
  929. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling_grad.py +0 -40
  930. mindspore/ops/_op_impl/tbe/pack.py +0 -58
  931. mindspore/ops/_op_impl/tbe/pack_ds.py +0 -59
  932. mindspore/ops/_op_impl/tbe/pad_d.py +0 -40
  933. mindspore/ops/_op_impl/tbe/pad_d_ds.py +0 -41
  934. mindspore/ops/_op_impl/tbe/parallel_concat.py +0 -70
  935. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear.py +0 -45
  936. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear_grad.py +0 -44
  937. mindspore/ops/_op_impl/tbe/pdist.py +0 -36
  938. mindspore/ops/_op_impl/tbe/pooling.py +0 -46
  939. mindspore/ops/_op_impl/tbe/population_count.py +0 -38
  940. mindspore/ops/_op_impl/tbe/pow.py +0 -41
  941. mindspore/ops/_op_impl/tbe/pow_ds.py +0 -42
  942. mindspore/ops/_op_impl/tbe/prelu.py +0 -37
  943. mindspore/ops/_op_impl/tbe/prelu_ds.py +0 -38
  944. mindspore/ops/_op_impl/tbe/prelu_grad.py +0 -40
  945. mindspore/ops/_op_impl/tbe/range.py +0 -39
  946. mindspore/ops/_op_impl/tbe/real_div.py +0 -38
  947. mindspore/ops/_op_impl/tbe/real_div_ds.py +0 -39
  948. mindspore/ops/_op_impl/tbe/reciprocal.py +0 -36
  949. mindspore/ops/_op_impl/tbe/reciprocal_ds.py +0 -37
  950. mindspore/ops/_op_impl/tbe/reciprocal_grad.py +0 -38
  951. mindspore/ops/_op_impl/tbe/reciprocal_grad_ds.py +0 -39
  952. mindspore/ops/_op_impl/tbe/reduce_all.py +0 -38
  953. mindspore/ops/_op_impl/tbe/reduce_all_ds.py +0 -39
  954. mindspore/ops/_op_impl/tbe/reduce_any.py +0 -38
  955. mindspore/ops/_op_impl/tbe/reduce_any_ds.py +0 -39
  956. mindspore/ops/_op_impl/tbe/reduce_max.py +0 -43
  957. mindspore/ops/_op_impl/tbe/reduce_max_ds.py +0 -41
  958. mindspore/ops/_op_impl/tbe/reduce_mean.py +0 -40
  959. mindspore/ops/_op_impl/tbe/reduce_mean_ds.py +0 -42
  960. mindspore/ops/_op_impl/tbe/reduce_min.py +0 -41
  961. mindspore/ops/_op_impl/tbe/reduce_min_ds.py +0 -41
  962. mindspore/ops/_op_impl/tbe/reduce_prod.py +0 -42
  963. mindspore/ops/_op_impl/tbe/reduce_prod_ds.py +0 -41
  964. mindspore/ops/_op_impl/tbe/reduce_std.py +0 -44
  965. mindspore/ops/_op_impl/tbe/reduce_sum.py +0 -39
  966. mindspore/ops/_op_impl/tbe/reduce_sum_ds.py +0 -41
  967. mindspore/ops/_op_impl/tbe/relu.py +0 -39
  968. mindspore/ops/_op_impl/tbe/relu6.py +0 -38
  969. mindspore/ops/_op_impl/tbe/relu6_ds.py +0 -39
  970. mindspore/ops/_op_impl/tbe/relu6_grad.py +0 -43
  971. mindspore/ops/_op_impl/tbe/relu6_grad_ds.py +0 -44
  972. mindspore/ops/_op_impl/tbe/relu_ds.py +0 -40
  973. mindspore/ops/_op_impl/tbe/relu_grad.py +0 -41
  974. mindspore/ops/_op_impl/tbe/relu_grad_ds.py +0 -42
  975. mindspore/ops/_op_impl/tbe/relu_grad_v2.py +0 -40
  976. mindspore/ops/_op_impl/tbe/relu_grad_v2_ds.py +0 -41
  977. mindspore/ops/_op_impl/tbe/relu_v2.py +0 -40
  978. mindspore/ops/_op_impl/tbe/relu_v2_ds.py +0 -41
  979. mindspore/ops/_op_impl/tbe/renorm.py +0 -39
  980. mindspore/ops/_op_impl/tbe/resize_bilinear.py +0 -40
  981. mindspore/ops/_op_impl/tbe/resize_bilinear_grad.py +0 -41
  982. mindspore/ops/_op_impl/tbe/resize_bilinear_v2.py +0 -43
  983. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor.py +0 -40
  984. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_ds.py +0 -40
  985. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad.py +0 -39
  986. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad_ds.py +0 -42
  987. mindspore/ops/_op_impl/tbe/reverse_v2_d.py +0 -37
  988. mindspore/ops/_op_impl/tbe/rint.py +0 -37
  989. mindspore/ops/_op_impl/tbe/rint_ds.py +0 -38
  990. mindspore/ops/_op_impl/tbe/roi_align.py +0 -43
  991. mindspore/ops/_op_impl/tbe/roi_align_ds.py +0 -44
  992. mindspore/ops/_op_impl/tbe/roi_align_grad.py +0 -43
  993. mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +0 -44
  994. mindspore/ops/_op_impl/tbe/roll.py +0 -42
  995. mindspore/ops/_op_impl/tbe/round.py +0 -38
  996. mindspore/ops/_op_impl/tbe/round_ds.py +0 -39
  997. mindspore/ops/_op_impl/tbe/rsqrt.py +0 -37
  998. mindspore/ops/_op_impl/tbe/rsqrt_ds.py +0 -38
  999. mindspore/ops/_op_impl/tbe/rsqrt_grad.py +0 -40
  1000. mindspore/ops/_op_impl/tbe/rsqrt_grad_ds.py +0 -41
  1001. mindspore/ops/_op_impl/tbe/scatter_add.py +0 -44
  1002. mindspore/ops/_op_impl/tbe/scatter_div.py +0 -46
  1003. mindspore/ops/_op_impl/tbe/scatter_max.py +0 -45
  1004. mindspore/ops/_op_impl/tbe/scatter_min.py +0 -45
  1005. mindspore/ops/_op_impl/tbe/scatter_mul.py +0 -44
  1006. mindspore/ops/_op_impl/tbe/scatter_nd.py +0 -41
  1007. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -45
  1008. mindspore/ops/_op_impl/tbe/scatter_nd_d.py +0 -41
  1009. mindspore/ops/_op_impl/tbe/scatter_nd_ds.py +0 -49
  1010. mindspore/ops/_op_impl/tbe/scatter_nd_sub.py +0 -47
  1011. mindspore/ops/_op_impl/tbe/scatter_nd_sub_ds.py +0 -48
  1012. mindspore/ops/_op_impl/tbe/scatter_nd_update.py +0 -47
  1013. mindspore/ops/_op_impl/tbe/scatter_nd_update_ds.py +0 -48
  1014. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add.py +0 -39
  1015. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add_ds.py +0 -40
  1016. mindspore/ops/_op_impl/tbe/scatter_sub.py +0 -47
  1017. mindspore/ops/_op_impl/tbe/scatter_sub_ds.py +0 -48
  1018. mindspore/ops/_op_impl/tbe/scatter_update.py +0 -43
  1019. mindspore/ops/_op_impl/tbe/select.py +0 -38
  1020. mindspore/ops/_op_impl/tbe/select_ds.py +0 -39
  1021. mindspore/ops/_op_impl/tbe/selu.py +0 -39
  1022. mindspore/ops/_op_impl/tbe/selu_ds.py +0 -40
  1023. mindspore/ops/_op_impl/tbe/sgd.py +0 -62
  1024. mindspore/ops/_op_impl/tbe/sigmoid.py +0 -37
  1025. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits.py +0 -41
  1026. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_ds.py +0 -42
  1027. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad.py +0 -42
  1028. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad_ds.py +0 -43
  1029. mindspore/ops/_op_impl/tbe/sigmoid_ds.py +0 -38
  1030. mindspore/ops/_op_impl/tbe/sigmoid_grad.py +0 -39
  1031. mindspore/ops/_op_impl/tbe/sigmoid_grad_ds.py +0 -40
  1032. mindspore/ops/_op_impl/tbe/sign.py +0 -38
  1033. mindspore/ops/_op_impl/tbe/sign_ds.py +0 -39
  1034. mindspore/ops/_op_impl/tbe/sin.py +0 -37
  1035. mindspore/ops/_op_impl/tbe/sin_ds.py +0 -38
  1036. mindspore/ops/_op_impl/tbe/sinh.py +0 -37
  1037. mindspore/ops/_op_impl/tbe/sinh_ds.py +0 -38
  1038. mindspore/ops/_op_impl/tbe/slice.py +0 -58
  1039. mindspore/ops/_op_impl/tbe/smooth_l1_loss.py +0 -45
  1040. mindspore/ops/_op_impl/tbe/smooth_l1_loss_ds.py +0 -46
  1041. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad.py +0 -46
  1042. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad_ds.py +0 -47
  1043. mindspore/ops/_op_impl/tbe/soft_margin_loss.py +0 -38
  1044. mindspore/ops/_op_impl/tbe/soft_margin_loss_grad.py +0 -39
  1045. mindspore/ops/_op_impl/tbe/soft_shrink.py +0 -36
  1046. mindspore/ops/_op_impl/tbe/soft_shrink_grad.py +0 -38
  1047. mindspore/ops/_op_impl/tbe/softmax.py +0 -37
  1048. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits.py +0 -38
  1049. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits_ds.py +0 -39
  1050. mindspore/ops/_op_impl/tbe/softmax_ds.py +0 -38
  1051. mindspore/ops/_op_impl/tbe/softmax_grad_ext.py +0 -42
  1052. mindspore/ops/_op_impl/tbe/softmax_v2_with_dropout_do_mask_v3.py +0 -39
  1053. mindspore/ops/_op_impl/tbe/softplus.py +0 -37
  1054. mindspore/ops/_op_impl/tbe/softplus_ds.py +0 -38
  1055. mindspore/ops/_op_impl/tbe/softplus_grad.py +0 -38
  1056. mindspore/ops/_op_impl/tbe/softplus_grad_ds.py +0 -38
  1057. mindspore/ops/_op_impl/tbe/softsign.py +0 -37
  1058. mindspore/ops/_op_impl/tbe/softsign_ds.py +0 -38
  1059. mindspore/ops/_op_impl/tbe/sort.py +0 -38
  1060. mindspore/ops/_op_impl/tbe/sort_ds.py +0 -39
  1061. mindspore/ops/_op_impl/tbe/space_to_batch.py +0 -38
  1062. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +0 -38
  1063. mindspore/ops/_op_impl/tbe/space_to_depth.py +0 -47
  1064. mindspore/ops/_op_impl/tbe/sparse_apply_adadelta.py +0 -56
  1065. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad.py +0 -45
  1066. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_ds.py +0 -46
  1067. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2.py +0 -46
  1068. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2_ds.py +0 -47
  1069. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d.py +0 -53
  1070. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d_ds.py +0 -50
  1071. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_v2.py +0 -50
  1072. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad.py +0 -66
  1073. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad_ds.py +0 -67
  1074. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop.py +0 -57
  1075. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop_ds.py +0 -58
  1076. mindspore/ops/_op_impl/tbe/sparse_gather_v2.py +0 -56
  1077. mindspore/ops/_op_impl/tbe/sparse_gather_v2_ds.py +0 -58
  1078. mindspore/ops/_op_impl/tbe/split_d.py +0 -38
  1079. mindspore/ops/_op_impl/tbe/split_d_ds.py +0 -39
  1080. mindspore/ops/_op_impl/tbe/split_v.py +0 -39
  1081. mindspore/ops/_op_impl/tbe/splitv.py +0 -39
  1082. mindspore/ops/_op_impl/tbe/sqrt.py +0 -37
  1083. mindspore/ops/_op_impl/tbe/sqrt_ds.py +0 -38
  1084. mindspore/ops/_op_impl/tbe/sqrt_grad.py +0 -43
  1085. mindspore/ops/_op_impl/tbe/sqrt_grad_ds.py +0 -44
  1086. mindspore/ops/_op_impl/tbe/square.py +0 -38
  1087. mindspore/ops/_op_impl/tbe/square_ds.py +0 -39
  1088. mindspore/ops/_op_impl/tbe/square_sum_all.py +0 -40
  1089. mindspore/ops/_op_impl/tbe/square_sum_all_ds.py +0 -41
  1090. mindspore/ops/_op_impl/tbe/square_sum_v1.py +0 -38
  1091. mindspore/ops/_op_impl/tbe/square_sum_v1_ds.py +0 -39
  1092. mindspore/ops/_op_impl/tbe/square_sum_v2.py +0 -39
  1093. mindspore/ops/_op_impl/tbe/squared_difference.py +0 -39
  1094. mindspore/ops/_op_impl/tbe/squared_difference_ds.py +0 -41
  1095. mindspore/ops/_op_impl/tbe/squeeze.py +0 -37
  1096. mindspore/ops/_op_impl/tbe/strided_read.py +0 -38
  1097. mindspore/ops/_op_impl/tbe/strided_slice_d.py +0 -44
  1098. mindspore/ops/_op_impl/tbe/strided_slice_ds.py +0 -71
  1099. mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +0 -51
  1100. mindspore/ops/_op_impl/tbe/strided_slice_grad_ds.py +0 -57
  1101. mindspore/ops/_op_impl/tbe/strided_write.py +0 -38
  1102. mindspore/ops/_op_impl/tbe/sub.py +0 -39
  1103. mindspore/ops/_op_impl/tbe/sub_ds.py +0 -40
  1104. mindspore/ops/_op_impl/tbe/tan.py +0 -38
  1105. mindspore/ops/_op_impl/tbe/tan_ds.py +0 -39
  1106. mindspore/ops/_op_impl/tbe/tanh.py +0 -37
  1107. mindspore/ops/_op_impl/tbe/tanh_ds.py +0 -38
  1108. mindspore/ops/_op_impl/tbe/tanh_grad.py +0 -39
  1109. mindspore/ops/_op_impl/tbe/tanh_grad_ds.py +0 -40
  1110. mindspore/ops/_op_impl/tbe/tensor_move.py +0 -49
  1111. mindspore/ops/_op_impl/tbe/tensor_move_ds.py +0 -50
  1112. mindspore/ops/_op_impl/tbe/tensor_scatter_update.py +0 -41
  1113. mindspore/ops/_op_impl/tbe/tile.py +0 -37
  1114. mindspore/ops/_op_impl/tbe/tile_ds.py +0 -42
  1115. mindspore/ops/_op_impl/tbe/top_k.py +0 -42
  1116. mindspore/ops/_op_impl/tbe/top_k_ds.py +0 -43
  1117. mindspore/ops/_op_impl/tbe/trans_data.py +0 -167
  1118. mindspore/ops/_op_impl/tbe/trans_data_ds.py +0 -180
  1119. mindspore/ops/_op_impl/tbe/trans_data_rnn.py +0 -44
  1120. mindspore/ops/_op_impl/tbe/transpose.py +0 -60
  1121. mindspore/ops/_op_impl/tbe/transpose_d.py +0 -47
  1122. mindspore/ops/_op_impl/tbe/transpose_nod.py +0 -60
  1123. mindspore/ops/_op_impl/tbe/trunc.py +0 -39
  1124. mindspore/ops/_op_impl/tbe/truncate_div.py +0 -41
  1125. mindspore/ops/_op_impl/tbe/truncate_div_ds.py +0 -42
  1126. mindspore/ops/_op_impl/tbe/truncate_mod.py +0 -41
  1127. mindspore/ops/_op_impl/tbe/truncate_mod_ds.py +0 -42
  1128. mindspore/ops/_op_impl/tbe/unpack.py +0 -38
  1129. mindspore/ops/_op_impl/tbe/unpack_ds.py +0 -39
  1130. mindspore/ops/_op_impl/tbe/unsorted_segment_max.py +0 -49
  1131. mindspore/ops/_op_impl/tbe/unsorted_segment_max_ds.py +0 -40
  1132. mindspore/ops/_op_impl/tbe/unsorted_segment_min.py +0 -49
  1133. mindspore/ops/_op_impl/tbe/unsorted_segment_min_ds.py +0 -40
  1134. mindspore/ops/_op_impl/tbe/unsorted_segment_prod.py +0 -49
  1135. mindspore/ops/_op_impl/tbe/unsorted_segment_prod_ds.py +0 -38
  1136. mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +0 -38
  1137. mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +0 -41
  1138. mindspore/ops/_op_impl/tbe/wts_arq.py +0 -40
  1139. mindspore/ops/_op_impl/tbe/xdivy.py +0 -38
  1140. mindspore/ops/_op_impl/tbe/xdivy_ds.py +0 -39
  1141. mindspore/ops/_op_impl/tbe/xlogy.py +0 -38
  1142. mindspore/ops/_op_impl/tbe/xlogy_ds.py +0 -39
  1143. mindspore/ops/_op_impl/tbe/zeros_like.py +0 -41
  1144. mindspore/ops/_op_impl/tbe/zeros_like_ds.py +0 -42
  1145. mindspore/ops/_tracefunc.py +0 -241
  1146. mindspore/ops/arg_dtype_cast.py +0 -54
  1147. mindspore/rewrite/api/tree_node_helper.py +0 -60
  1148. mindspore/rewrite/ast_creator_register.py +0 -37
  1149. mindspore/rewrite/ast_helpers/ast_creator.py +0 -115
  1150. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +0 -267
  1151. mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +0 -228
  1152. mindspore/rewrite/namespace.py +0 -53
  1153. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc1.dist-info}/WHEEL +0 -0
  1154. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc1.dist-info}/top_level.txt +0 -0
@@ -24,13 +24,13 @@ from mindspore.ops import operations as P
24
24
  from mindspore.ops.composite import base
25
25
  from mindspore.ops._primitive_cache import _get_cache_prim
26
26
  from mindspore.ops.operations._inner_ops import TensorCopySlices, SliceGetItem, \
27
- TopTypeof, issubclass_, IsParameter, GetitemTensorIndexInfo, SetitemTensorIndexInfo, \
27
+ TopTypeof, IsParameter, GetitemTensorIndexInfo, SetitemTensorIndexInfo, \
28
28
  SelectView, CopyWithSlice
29
+ from mindspore.ops.operations._sequence_ops import TensorToTuple, TensorToScalar, TupleToTensor
29
30
  from mindspore.common import dtype as mstype
30
31
  from mindspore.common._register_for_tensor import tensor_operator_registry
31
32
  from mindspore.common.initializer import Zero
32
- from mindspore.common import Tensor, CSRTensor, COOTensor
33
- from mindspore.common import mutable
33
+ from mindspore.common import Tensor, CSRTensor, COOTensor, mutable
34
34
  from mindspore import ops
35
35
  from mindspore.ops.primitive import _primexpr
36
36
  from mindspore import _checkparam as validator
@@ -317,24 +317,25 @@ def tensor_item(data, *args):
317
317
  # transform a.item(tuple(int)) -> a.item(int1,int2...intN)
318
318
  if data.ndim == 0:
319
319
  _check_scalar_tensor_args(args)
320
- return data.asnumpy().item()
320
+ return TensorToScalar()(data)
321
321
  if len(args) == 1 and isinstance(args[0], tuple):
322
322
  args = args[0]
323
323
 
324
324
  args_types = hyper_map(F.typeof, args)
325
325
  if not args or const_utils.judge_index_type(args_types[0], mstype.type_none):
326
326
  if data.shape == (1,):
327
- return data.asnumpy().item()
327
+ return TensorToScalar()(data[0])
328
328
  const_utils.raise_value_error("Can only convert an array of size 1 to a Python scalar")
329
329
 
330
330
  if not const_utils.judge_indexes_types(args_types, mstype.int64):
331
331
  const_utils.raise_type_error("The index object cannot be interpreted as an integer")
332
332
 
333
333
  if len(args) == data.ndim:
334
- return _tensor_getitem_by_tuple_slice(data, args)
334
+ return tensor_index_by_tuple(data, args)
335
335
  if len(args) > 1:
336
336
  const_utils.raise_value_error("Incorrect number of indices for array")
337
- return _tensor_index_by_integer(F.reshape(data, (-1,)), args[0])
337
+ output = _tensor_index_by_integer(F.reshape(data, (-1,)), args[0])
338
+ return TensorToScalar()(output)
338
339
 
339
340
 
340
341
  def tensor_itemset(data, *args):
@@ -521,24 +522,45 @@ def _expand_data_dims(data, tuple_index):
521
522
  return data, tuple_index_new
522
523
 
523
524
 
524
- def convert_variable_to_tensor_slice(slice_index):
525
- """convert mutable scalar to tensor"""
526
- start = slice_get_item(slice_index, "start")
527
- stop = slice_get_item(slice_index, "stop")
528
- step = slice_get_item(slice_index, "step")
529
- find_mutable_scalar = False
530
- if isinstance(start, int) and not F.isconstant(start):
531
- start = ops.Cast()(start, mstype.int64)
532
- find_mutable_scalar = True
533
- if isinstance(stop, int) and not F.isconstant(stop):
534
- stop = ops.Cast()(stop, mstype.int64)
535
- find_mutable_scalar = True
536
- if isinstance(step, int) and not F.isconstant(step):
537
- step = ops.Cast()(step, mstype.int64)
538
- find_mutable_scalar = True
539
- if find_mutable_scalar:
540
- return F.make_slice(start, stop, step)
541
- return slice_index
525
+ def _convert_list_index_to_tensor(list_index):
526
+ """convert list to tensor"""
527
+ has_bool = False
528
+ has_int = False
529
+ has_no_bool_int = False
530
+ for idx in list_index:
531
+ if isinstance(idx, bool):
532
+ has_bool = True
533
+ elif isinstance(idx, int):
534
+ has_int = True
535
+ else:
536
+ has_no_bool_int = True
537
+
538
+ all_bool = has_bool and not has_int and not has_no_bool_int
539
+ all_int = has_int and not has_bool and not has_no_bool_int
540
+ all_bool_or_int = not has_no_bool_int
541
+
542
+ if all_int:
543
+ index_tensor = TupleToTensor()(tuple(list_index), mstype.int64)
544
+ return index_tensor
545
+
546
+
547
+ if all_bool:
548
+ index_tensor = TupleToTensor()(tuple(list_index), mstype.bool_)
549
+ return index_tensor
550
+
551
+ # convert bool to int if index is mixture of (bool, int)
552
+ if all_bool_or_int:
553
+ new_index = []
554
+ for idx in list_index:
555
+ if isinstance(idx, bool):
556
+ new_idx = int(idx)
557
+ new_index.append(new_idx)
558
+ else:
559
+ new_index.append(idx)
560
+ index_tensor = TupleToTensor()(tuple(new_index), mstype.int64)
561
+ return index_tensor
562
+
563
+ return None
542
564
 
543
565
 
544
566
  class _TensorIndexGetitem(base.TensorIndexGetitem_):
@@ -564,26 +586,6 @@ def tensor_index_by_slice(data, slice_index):
564
586
  return _tensor_index_getitem(data, slice_index)
565
587
 
566
588
 
567
- def get_stride_info_from_slice(data, slice_index):
568
- """get the stride info from slice index"""
569
- data_shape = F.dyn_shape(data)
570
- begin_strides, end_strides, step_strides = [], [], []
571
- start, stop, step = get_slice_stride(slice_index, data_shape[0])
572
- if start.ndim > 0:
573
- start = start.item()
574
- if stop.ndim > 0:
575
- stop = stop.item()
576
- if step.ndim > 0:
577
- step = step.item()
578
- begin_strides.append(start)
579
- end_strides.append(stop)
580
- step_strides.append(step)
581
- begin_tensor = stack(begin_strides)
582
- end_tensor = stack(end_strides)
583
- step_tensor = stack(step_strides)
584
- return begin_tensor, end_tensor, step_tensor
585
-
586
-
587
589
  def tensor_index_by_number(data, number_index):
588
590
  """Tensor getitem by a Number which may be integer/float/bool value"""
589
591
  if isinstance(number_index, bool):
@@ -607,31 +609,18 @@ def _tensor_index_by_bool(data, bool_value):
607
609
  return output
608
610
 
609
611
 
610
- def get_stride_info_from_integer(tensor_int):
612
+ def get_stride_info_from_integer(int_index):
611
613
  """Convert integer to slice"""
612
- begin_strides = [tensor_int]
613
- end_strides = [tensor_int + 1]
614
- step_strides = [const_utils.make_tensor(1)]
615
- begin_tensor = stack(begin_strides)
616
- end_tensor = stack(end_strides)
617
- step_tensor = stack(step_strides)
618
- return begin_tensor, end_tensor, step_tensor
614
+ begin_strides = (int_index,)
615
+ end_strides = (int_index + 1,)
616
+ step_strides = (1,)
617
+ return begin_strides, end_strides, step_strides
619
618
 
620
619
 
621
620
  def _tensor_index_by_integer(data, int_index):
622
621
  """Tensor getitem by a single integer number"""
623
- data_shape = F.shape(data)
624
- if F.is_sequence_value_unknown(data_shape) or not F.isconstant(int_index):
625
- tensor_index = _scalar_to_tensor(int_index)
626
- begin_strides, end_strides, step_strides = get_stride_info_from_integer(tensor_index)
627
- else:
628
- if not data_shape:
629
- const_utils.raise_type_error("Cannot iterate over a scalar tensor.")
630
- if data.ndim < 1 or data.ndim > 8:
631
- const_utils.raise_value_error("Expect Tensor to have dimension between 1 and 8.")
632
- transformed_number = const_utils.check_range(int_index, data_shape[0])
633
- begin_strides, end_strides, step_strides = \
634
- const_utils.get_stride_info_from_integer(data_shape, transformed_number)
622
+ begin_strides, end_strides, step_strides = get_stride_info_from_integer(int_index)
623
+
635
624
  shrink_axis_mask = 1
636
625
  begin_mask = 0
637
626
  end_mask = 0
@@ -664,6 +653,7 @@ def tensor_index_by_tensor(data, tensor_index):
664
653
  if not F.is_sequence_value_unknown(F.shape(data)):
665
654
  const_utils.judge_data_dim(data.ndim, min_data_dim, max_data_dim)
666
655
  if const_utils.check_type_isinstance(F.dtype(tensor_index), mstype.Int):
656
+ tensor_index = F.select(tensor_index < 0, tensor_index + F.shape(data)[0], tensor_index)
667
657
  return F.gather(data, tensor_index, 0)
668
658
  if const_utils.check_type_isinstance(F.dtype(tensor_index), mstype.Bool):
669
659
  return tensor_index_by_bool_tensor(data, tensor_index)
@@ -676,27 +666,23 @@ def tensor_index_by_tensor(data, tensor_index):
676
666
  def tensor_index_by_list(data, list_index):
677
667
  """Tensor getitem by list of int and bool"""
678
668
  min_data_dim, max_data_dim = 1, 8
679
- const_utils.judge_data_dim(data.ndim, min_data_dim, max_data_dim)
669
+ if F.isconstant(data.ndim):
670
+ const_utils.judge_data_dim(data.ndim, min_data_dim, max_data_dim)
680
671
 
681
672
  data_shape = F.shape(data)
682
- indexes_types = hyper_map(toptypeof, list_index)
683
- if const_utils.check_type_isinstance(indexes_types, (mstype.Bool, mstype.Int)) \
684
- and not F.is_sequence_value_unknown(list_index):
685
- if not F.isconstant(data_shape[0]):
686
- if all(isinstance(i, bool) for i in list_index):
687
- if F.dyn_shape(data)[0] != len(list_index):
688
- raise IndexError(
689
- f'dimension is {F.dyn_shape(data)[0]} but corresponding boolean dimension is {len(list_index)}')
690
- tensor_index = Tensor(list_index).nonzero()
691
- return F.gather_nd(data, tensor_index)
692
- tensor_index = const_utils.sequence_to_index(list_index, None)
693
- else:
694
- tensor_index = const_utils.sequence_to_index(
695
- list_index, data_shape[0])
696
- if tensor_index is False:
697
- const_utils.raise_index_error(
698
- "When tensor is indexed by list, the list can't be empty.")
699
- return F.gather(data, tensor_index, 0)
673
+ if F.isconstant(data_shape[0]) and all(isinstance(i, bool) for i in list_index):
674
+ if data_shape[0] != len(list_index):
675
+ raise IndexError(
676
+ f'dimension is {data_shape[0]} but corresponding boolean dimension is {len(list_index)}')
677
+ tensor_index = Tensor(list_index).nonzero()
678
+ return F.gather_nd(data, tensor_index)
679
+
680
+ if not list_index:
681
+ const_utils.raise_index_error("When tensor is indexed by list, the list can't be empty.")
682
+
683
+ index_tensor = _convert_list_index_to_tensor(list_index)
684
+ if index_tensor is not None:
685
+ return tensor_index_by_tensor(data, index_tensor)
700
686
 
701
687
  tuple_index_new = ()
702
688
  for index in list_index:
@@ -704,16 +690,6 @@ def tensor_index_by_list(data, list_index):
704
690
  return tensor_index_by_tuple(data, tuple_index_new)
705
691
 
706
692
 
707
- def convert_tupleslice_to_tensor(tuple_index):
708
- """convert mutable scalar in slice to tensor"""
709
- new_tuple_index = []
710
- for item in tuple_index:
711
- if isinstance(item, slice):
712
- item = convert_variable_to_tensor_slice(item)
713
- new_tuple_index.append(item)
714
- return tuple(new_tuple_index)
715
-
716
-
717
693
  def judge_tuple_index_dim_check_error(index_dim, data_dim):
718
694
  """raise IndexError when tuple_index's dim is invalid"""
719
695
  if index_dim > data_dim:
@@ -721,29 +697,6 @@ def judge_tuple_index_dim_check_error(index_dim, data_dim):
721
697
  f"dim of index:{index_dim}, dim of data:{data_dim}")
722
698
 
723
699
 
724
- class _HandleEmptySlice(base.HandleEmptySlice_):
725
- """
726
- Getting item of Tensor.
727
-
728
- Args:
729
- data (Tensor): A tuple to be sliced.
730
- index: Index of tensor.
731
-
732
- Returns:
733
- Type is the same as the element type of data.
734
- """
735
-
736
- def __init__(self, name):
737
- """Initialize _HandleEmptySlice."""
738
- base.HandleEmptySlice_.__init__(self, name)
739
-
740
- def __call__(self, *args):
741
- pass
742
-
743
-
744
- _handle_empty_slice = _HandleEmptySlice('handle_zero_tuple_index')
745
-
746
-
747
700
  def judge_tuple_index_dim(data, tuple_index):
748
701
  """Judge whether tuple_index's dim is valid"""
749
702
  data_dim = data.ndim
@@ -756,50 +709,20 @@ def judge_tuple_index_dim(data, tuple_index):
756
709
  judge_tuple_index_dim_check_error(index_dim, data_dim)
757
710
 
758
711
 
759
- def judge_simple_tuple_index(data, tuple_index):
760
- """Judge whether tuple_index is simple index, which not rollback to cpu ops."""
761
- op_name = const_utils.TENSOR_GETITEM
762
- indexes_types = hyper_map(toptypeof, tuple_index)
763
- contain_type = const_utils.tuple_index_type_cnt(indexes_types, op_name)
764
- return F.isconstant(tuple_index) and contain_type == const_utils.ALL_BASIC \
765
- and F.is_sequence_value_unknown(F.shape(data)) and F.isconstant(F.rank(data))
766
-
767
-
768
712
  def tensor_index_by_tuple(data, tuple_index):
769
713
  """Tensor getitem by tuple of various types with None"""
770
714
  if not tuple_index:
771
715
  return data
772
- if judge_simple_tuple_index(data, tuple_index):
773
- tuple_index = convert_tupleslice_to_tensor(tuple_index)
774
- op_name = const_utils.TENSOR_GETITEM
775
- tuple_index = _transform_ellipsis_to_slice(data, tuple_index, op_name)
776
- min_data_dim, max_data_dim = 1, 8
777
- const_utils.judge_data_dim(data.ndim, min_data_dim, max_data_dim)
778
- return _tensor_getitem_by_tuple_slice(data, tuple_index)
779
716
 
780
717
  if not F.is_sequence_value_unknown(F.shape(data)):
781
718
  judge_tuple_index_dim(data, tuple_index)
782
719
  tuple_index, zero_index, non_zero_shapes = _handle_bool_tensor(tuple_index)
783
720
  for non_zero_shape in non_zero_shapes:
784
- if F.reduce_min(non_zero_shape) == 0:
721
+ if 0 in non_zero_shape:
785
722
  tuple_index = zero_index
786
723
  break
787
- if not F.is_sequence_value_unknown(F.shape(data)) and F.isconstant(tuple_index):
788
- _, stub_zero_dim_tensor = _handle_empty_slice(data, tuple_index)
789
- if 0 in stub_zero_dim_tensor.shape:
790
- return F.fill(data.dtype, stub_zero_dim_tensor.shape, 0)
791
- has_tensor_index = False
792
- for i in tuple_index:
793
- if isinstance(i, Tensor):
794
- has_tensor_index = True
795
- break
796
- empty_broadcast_data_shape = False
797
- _broadcast_data_shape = _handle_scalar_tensor_index(data, tuple_index)
798
- if has_tensor_index and isinstance(_broadcast_data_shape, Tensor) and _broadcast_data_shape == Tensor([0]):
799
- empty_broadcast_data_shape = True
800
- if has_tensor_index and isinstance(_broadcast_data_shape, tuple) and not _broadcast_data_shape:
801
- empty_broadcast_data_shape = True
802
- return _tensor_index_getitem(data, tuple_index, empty_broadcast_data_shape)
724
+
725
+ return _tensor_index_getitem(data, tuple_index)
803
726
 
804
727
 
805
728
  def get_slice_stride(slice_index, dim_size):
@@ -809,20 +732,20 @@ def get_slice_stride(slice_index, dim_size):
809
732
  step = slice_get_item(slice_index, "step")
810
733
 
811
734
  if start is None:
812
- start = const_utils.make_tensor(0)
735
+ start = 0
813
736
  if stop is None:
814
737
  stop = dim_size
815
738
  if step is None:
816
- step = const_utils.make_tensor(1)
739
+ step = 1
817
740
 
818
- if issubclass_(F.typeof(start), mstype.number):
819
- start = const_utils.make_tensor(start)
741
+ if isinstance(start, Tensor):
742
+ start = int(start)
820
743
 
821
- if issubclass_(F.typeof(stop), mstype.number):
822
- stop = const_utils.make_tensor(stop)
744
+ if isinstance(stop, Tensor):
745
+ stop = int(stop)
823
746
 
824
- if issubclass_(F.typeof(step), mstype.number):
825
- step = const_utils.make_tensor(step)
747
+ if isinstance(step, Tensor):
748
+ step = int(step)
826
749
 
827
750
  return start, stop, step
828
751
 
@@ -841,190 +764,6 @@ def cal_tuple_slice_mask(data_shape, tuple_index):
841
764
  return begin_mask, end_mask
842
765
 
843
766
 
844
- def _get_stride_info_from_tuple(data, tuple_index):
845
- """get the stride info from tuple"""
846
- data_shape = F.dyn_shape(data)
847
- begin_strides, end_strides, step_strides = [], [], []
848
- tuple_index_len = len(tuple_index)
849
- data_dim = data.ndim
850
- shrink_axis, index_count, ellipsis_count = 0, 0, 0
851
- for item in range(data_dim):
852
- if item >= tuple_index_len or item >= data_dim:
853
- break
854
- index = tuple_index[item]
855
- dim_size = data_shape[item]
856
- if isinstance(index, slice):
857
- start, stop, step = get_slice_stride(index, dim_size)
858
- begin_strides.append(start)
859
- end_strides.append(stop)
860
- step_strides.append(step)
861
- index_count = index_count + 1
862
- elif isinstance(index, int):
863
- int_tensor = _scalar_to_tensor(index)
864
- begin_strides.append(int_tensor)
865
- end_strides.append(int_tensor + const_utils.make_tensor(1))
866
- step_strides.append(const_utils.make_tensor(1))
867
- shrink_axis = shrink_axis + (2 ** index_count)
868
- index_count = index_count + 1
869
- elif index is ...:
870
- ellipsis_count = ellipsis_count + 1
871
- if ellipsis_count > 1:
872
- const_utils.raise_value_error("An index can have only one ellipsis (...)")
873
- ellipsis_range_size = data_dim - tuple_index_len + 1
874
- begin_strides.extend([const_utils.make_tensor(0)] * ellipsis_range_size)
875
- end_strides.extend(
876
- [shape for shape in data_shape[index_count: index_count + ellipsis_range_size]])
877
- step_strides.extend([const_utils.make_tensor(1)] * ellipsis_range_size)
878
- index_count = index_count + ellipsis_range_size
879
- else:
880
- exp_msg = const_utils.gen_exception_msg("Not supported index data type, got {}, type is {}", index,
881
- type(index))
882
- const_utils.raise_index_error(exp_msg)
883
- begin_tensor = stack(begin_strides)
884
- end_tensor = stack(end_strides)
885
- step_tensor = stack(step_strides)
886
- strides_v = {
887
- 'begin': begin_tensor,
888
- 'end': end_tensor,
889
- 'step': step_tensor
890
- }
891
- return strides_v, shrink_axis
892
-
893
-
894
- def _tensor_getitem_by_tuple_slice(data, tuple_index):
895
- """Tensor getitem by a tuple of slice"""
896
- data_shape = F.shape(data)
897
- is_dynamic = F.is_sequence_value_unknown(data_shape)
898
- for item in tuple_index:
899
- if isinstance(item, slice):
900
- is_dynamic = is_dynamic or isinstance(slice_get_item(item, "start"), Tensor) \
901
- or isinstance(slice_get_item(item, "stop"), Tensor) \
902
- or isinstance(slice_get_item(item, "step"), Tensor)
903
-
904
- strides_v = {}
905
- shrink_axis_mask = 0
906
- if not is_dynamic:
907
- strides_v, shrink_axis_mask = const_utils.get_stride_info_from_tuple(
908
- data_shape, tuple_index)
909
- else:
910
- strides_v, shrink_axis_mask = _get_stride_info_from_tuple(
911
- data, tuple_index)
912
- begin_mask, end_mask = cal_tuple_slice_mask(data_shape, tuple_index)
913
- begin_v = strides_v['begin']
914
- end_v = strides_v['end']
915
- step_v = strides_v['step']
916
- return strided_slice(data, begin_v, end_v, step_v, begin_mask, end_mask, 0, 0, shrink_axis_mask)
917
-
918
-
919
- @_primexpr
920
- def _tensor_getitem_by_tuple_parse_bool_tensor_index(index, tuple_index_new, tensor_indexes,
921
- tensor_positions_new):
922
- """ parse index of bool tensor type """
923
- indices = index.nonzero()
924
- if indices.shape[0] == 0:
925
- return None, tensor_indexes, tensor_positions_new
926
- indices = F.cast(indices, mstype.int64)
927
- indices = indices.T
928
- for sub_index in indices:
929
- tensor_positions_new.append(len(tuple_index_new))
930
- tuple_index_new += (sub_index,)
931
- tensor_indexes.append(sub_index)
932
- return tuple_index_new, tensor_indexes, tensor_positions_new
933
-
934
-
935
- def _tensor_getitem_by_tuple_parse_tensor_index(index, tuple_index_new, tensor_indexes, tensor_positions_new):
936
- """ parse index of tensor type """
937
- if F.dtype(index) in mstype.int_type:
938
- tensor_index = F.cast(index, mstype.int64)
939
- tensor_positions_new.append(len(tuple_index_new))
940
- tuple_index_new += (tensor_index,)
941
- tensor_indexes.append(tensor_index)
942
- elif F.dtype(index) == mstype.bool_:
943
- return _tensor_getitem_by_tuple_parse_bool_tensor_index(index, tuple_index_new, tensor_indexes,
944
- tensor_positions_new)
945
- else:
946
- exp_msg = const_utils.gen_exception_msg(
947
- "The tensor element in tuple index must be int or bool type, but got {}.", F.dtype(index))
948
- const_utils.raise_index_error(exp_msg)
949
- return tuple_index_new, tensor_indexes, tensor_positions_new
950
-
951
-
952
- def _tensor_getitem_by_tuple(data, tuple_index, op_name):
953
- """Tensor getitem by a tuple of mixed tensor."""
954
- slice_is_tensor = False
955
- for item in tuple_index:
956
- if isinstance(item, slice):
957
- slice_is_tensor = isinstance(slice_get_item(item, "start"), Tensor) \
958
- or isinstance(slice_get_item(item, "stop"), Tensor) \
959
- or isinstance(slice_get_item(item, "step"), Tensor)
960
- if slice_is_tensor:
961
- const_utils.raise_index_error("Not supported when slice has tensor")
962
-
963
- indexes_types = hyper_map(toptypeof, tuple_index)
964
- slice_positions, _, _, int_positions, _, tensor_positions, sequence_positions = \
965
- const_utils.get_pos_of_indexes_types(indexes_types, op_name)
966
- data_shape = F.shape(data)
967
- tensor_indexes, slice_indexes = [], []
968
- tuple_index_new, slice_shapes = (), ()
969
- slice_positions_new, tensor_positions_new = [], []
970
- for i, (index, dim_size) in enumerate(zip(tuple_index, data_shape)):
971
- if i in int_positions:
972
- int_index = const_utils.check_range(index, dim_size)
973
- tensor_index = F.scalar_to_tensor(int_index, mstype.int64)
974
- if F.is_sequence_value_unknown(data_shape):
975
- tensor_index = _scalar_to_tensor(int_index)
976
- tensor_index = F.cast(tensor_index, mstype.int64)
977
- tensor_positions_new.append(len(tuple_index_new))
978
- tuple_index_new += (tensor_index,)
979
- tensor_indexes.append(tensor_index)
980
- elif i in sequence_positions:
981
- tensor_index = const_utils.sequence_to_index(index, dim_size)
982
- if tensor_index is False:
983
- const_utils.raise_index_error("The sequence element(tuple/list) in tuple index can't be empty.")
984
- tensor_positions_new.append(len(tuple_index_new))
985
- tuple_index_new += (tensor_index,)
986
- tensor_indexes.append(tensor_index)
987
- elif i in tensor_positions:
988
- tuple_index_new, tensor_indexes, tensor_positions_new = \
989
- _tensor_getitem_by_tuple_parse_tensor_index(index, tuple_index_new,
990
- tensor_indexes, tensor_positions_new)
991
- if tuple_index_new is None:
992
- return Tensor([])
993
- elif i in slice_positions:
994
- slice_ele_list_index = const_utils.transform_slice_to_ele_list(index, dim_size)
995
- slice_shapes += (len(slice_ele_list_index),)
996
- slice_positions_new.append(len(tuple_index_new))
997
- tuple_index_new += (slice_ele_list_index,)
998
- slice_indexes.append(slice_ele_list_index)
999
- tensor_indexes_shapes = hyper_map(F.shape, tensor_indexes)
1000
- broadcast_shape, index_tensor_new_shape, final_shape, fancy_position = \
1001
- const_utils.generate_index_info_from_tuple_of_mixed_tensors(tensor_positions_new, tensor_indexes_shapes,
1002
- slice_shapes, op_name)
1003
-
1004
- tuple_index_len = len(tuple_index)
1005
- if 0 in final_shape + data_shape:
1006
- if tuple_index_len < len(data_shape):
1007
- final_shape = final_shape + data_shape[tuple_index_len:]
1008
- return const_utils.make_tensor([], data.dtype, final_shape)
1009
-
1010
- final_index_tensors = []
1011
- slice_cnt = 0
1012
- for i, index in enumerate(tuple_index_new):
1013
- if i in tensor_positions_new:
1014
- transform_tensor = _transform_indexing_tensor(broadcast_shape, final_shape, index_tensor_new_shape,
1015
- index)
1016
- final_index_tensors.append(transform_tensor)
1017
- elif i in slice_positions_new:
1018
- slice_index_tensor = convert_slice_to_tensor(index, final_shape, slice_cnt, broadcast_shape,
1019
- slice_shapes, fancy_position)
1020
- final_index_tensors.append(slice_index_tensor)
1021
- slice_cnt += 1
1022
-
1023
- indices = stack(final_index_tensors)
1024
- result = F.gather_nd(data, indices)
1025
- return result
1026
-
1027
-
1028
767
  def _generate_indices_from_tuple_of_tensor(tuple_index, op_name):
1029
768
  """Generate an indices tensor from a tuple of tensor."""
1030
769
  indexes_types = hyper_map(F.dtype, tuple_index)
@@ -1116,8 +855,15 @@ def sequence_to_tensor(value, dtype):
1116
855
 
1117
856
  if value_elements_type == const_utils.ALL_TENSOR:
1118
857
  value = F.stack(value).astype(dtype)
1119
- elif value_elements_type == const_utils.NO_TENSOR and not F.is_sequence_value_unknown(value):
1120
- value = const_utils.make_tensor(value, dtype)
858
+ elif value_elements_type == const_utils.NO_TENSOR:
859
+ if isinstance(value, list):
860
+ value = tuple(value)
861
+
862
+ if dtype == mstype.float16:
863
+ value = TupleToTensor()(value, mstype.float32)
864
+ value = F.cast(value, dtype)
865
+ else:
866
+ value = TupleToTensor()(value, dtype)
1121
867
  else:
1122
868
  new_value = ()
1123
869
  for ele in value:
@@ -1138,57 +884,31 @@ def _generate_updates_from_sequence(data, index, value, op_type):
1138
884
  def _generate_updates_from_tensor(data, index, value, op_type):
1139
885
  """Generate an updates tensor from a tensor."""
1140
886
  value = value.astype(data.dtype)
1141
- if F.is_sequence_value_unknown(F.shape(data)) or F.is_sequence_value_unknown(F.shape(index)):
1142
- data_shape = F.dyn_shape(data)
1143
- index_shape = F.dyn_shape(index)
1144
- updates_shape = const_utils.generate_updates_shape(data_shape, index_shape, op_type, True)
1145
- updates = ops.broadcast_to(value, updates_shape)
1146
- return updates
1147
- updates_shape = const_utils.generate_updates_shape(data.shape, index.shape, op_type, False)
1148
- need_broadcast = const_utils.check_two_shapes_need_broadcast(updates_shape, value.shape)
1149
- if need_broadcast:
1150
- return _broadcast(updates_shape, value)
1151
- return value
887
+ updates_shape = const_utils.generate_updates_shape(data.shape, index.shape, op_type)
888
+ updates = ops.broadcast_to(value, updates_shape)
889
+ return updates
1152
890
 
1153
891
 
1154
892
  # Tensor getitem implementations are above this line, setitem implementations below.
1155
893
 
1156
- def tensor_setitem_by_tensor(self, index, value):
1157
- if isinstance(value, (int, float, bool)):
1158
- return tensor_setitem_by_tensor_with_number(self, index, value)
1159
- if isinstance(value, Tensor):
1160
- return tensor_setitem_by_tensor_with_tensor(self, index, value)
1161
- return tensor_setitem_by_tensor_with_sequence(self, index, value)
1162
-
1163
-
1164
- def tensor_setitem_by_tuple(self, index, value):
1165
- index = convert_tupleslice_to_tensor(index)
1166
- if isinstance(value, (int, float, bool)):
1167
- index = format_tuple_indices(index)
1168
- return tensor_setitem_by_tuple_with_number(self, index, value)
1169
- if isinstance(value, Tensor):
1170
- return tensor_setitem_by_tuple_with_tensor(self, index, value)
1171
- return tensor_setitem_by_tuple_with_sequence(self, index, value)
1172
-
894
+ def _tensor_index_transfer(index, broadcast_shape, final_shape, new_shape):
895
+ """Transform tuple index tensor to the required."""
896
+ if 0 in final_shape:
897
+ return F.fill(index.dtype, final_shape, 0)
1173
898
 
1174
- def tensor_setitem_by_number(self, index, value):
1175
- if isinstance(value, (int, float, bool)):
1176
- return tensor_setitem_by_number_with_number(self, index, value)
1177
- if isinstance(value, Tensor):
1178
- return tensor_setitem_by_number_with_tensor(self, index, value)
1179
- return tensor_setitem_by_number_with_sequence(self, index, value)
899
+ if broadcast_shape == ():
900
+ # broadcast_to () is not support on Ascend
901
+ item = index
902
+ else:
903
+ item = F.broadcast_to(index, broadcast_shape)
904
+ item = F.reshape(item, new_shape)
905
+ return F.broadcast_to(item, final_shape)
1180
906
 
1181
907
 
1182
- def _tuple_index_transfer(broadcast_shape, final_shape, new_shape, x, all_empty_tensor):
1183
- """Transform tuple index tensor to the required."""
1184
- if isinstance(broadcast_shape, Tensor):
1185
- if not all_empty_tensor:
1186
- x = F.broadcast_to(x, broadcast_shape)
1187
- x = F.reshape(x, new_shape)
1188
- x = F.broadcast_to(x, final_shape)
1189
- return x
1190
- item = _broadcast(broadcast_shape, x)
1191
- return _broadcast(final_shape, F.reshape(item, new_shape))
908
+ def reshape_with_check(x, new_shape):
909
+ if isinstance(new_shape, Tensor):
910
+ new_shape = TensorToTuple()(new_shape)
911
+ return F.reshape(x, new_shape)
1192
912
 
1193
913
 
1194
914
  class _TensorIndexSetitem(base.TensorIndexSetitem_):
@@ -1218,9 +938,10 @@ def tensor_setitem_by_slice(self, index, value):
1218
938
  return self
1219
939
  value = F.broadcast_to(value, value_shape)
1220
940
  if not const_utils.is_ascend() and step == 1:
1221
- if isinstance(step, Tensor):
1222
- return copy_slice(self, value, start, stop, step)
1223
- return copy_slice(self, value, (start,), (stop,), (step,))
941
+ start = (start,)
942
+ stop = (stop,)
943
+ step = (step,)
944
+ return copy_slice(self, value, start, stop, step)
1224
945
  return F.tensor_scatter_update(self, indices, value)
1225
946
 
1226
947
 
@@ -1236,14 +957,14 @@ def _tensor_setitem_by_int_tensor_with_tensor(data, index, value):
1236
957
  """Set a tensor item by an int tensor with a tensor."""
1237
958
  if F.rank(index) == 0:
1238
959
  index = F.expand_dims(index, -1)
1239
- updates = _generate_updates_from_tensor(data, index, value, const_utils.SET_ITEM_BY_ONE_TENSOR)
960
+
1240
961
  data_shape = F.shape(data)
962
+ updates_shape = index.shape + data_shape[1:]
963
+ value = F.cast(value, F.dtype(data))
964
+ updates = ops.broadcast_to(value, updates_shape)
1241
965
  first_val = data_shape[0]
1242
966
  index = F.select(index < 0, index + first_val, index)
1243
967
  index = F.expand_dims(index, -1)
1244
- if F.rank(index) < 2:
1245
- index = F.expand_dims(index, 0)
1246
- updates = F.expand_dims(updates, 0)
1247
968
  if is_parameter(data):
1248
969
  F.scatter_nd_update(data, index, updates)
1249
970
  return data
@@ -1255,8 +976,7 @@ def _tensor_setitem_by_bool_tensor_with_tensor(data, index, value):
1255
976
  index = index.reshape(const_utils.generate_padding_shape(index.shape, len(data.shape)))
1256
977
  index = F.broadcast_to(index, data.shape)
1257
978
  value = F.cast(value, F.dtype(data))
1258
- while value.ndim < data.ndim:
1259
- value = value.unsqueeze(-1)
979
+ value = value.reshape(const_utils.generate_padding_shape(value.shape, len(data.shape)))
1260
980
  value = F.broadcast_to(value, data.shape)
1261
981
  result = F.select(index, value, data)
1262
982
  return result
@@ -1269,8 +989,6 @@ def tensor_setitem_by_tensor_with_tensor(data, index, value_tensor):
1269
989
  if tensor_dtype == const_utils.INT_:
1270
990
  return _tensor_setitem_by_int_tensor_with_tensor(data, index, value_tensor)
1271
991
 
1272
- if F.is_sequence_value_unknown(F.shape(data)):
1273
- return tensor_setitem_by_tuple_with_tensor(data, (index,), value_tensor.astype(data.dtype))
1274
992
  return _tensor_setitem_by_bool_tensor_with_tensor(data, index, value_tensor)
1275
993
 
1276
994
 
@@ -1281,33 +999,8 @@ def tensor_setitem_by_tensor_with_number(data, index, value):
1281
999
 
1282
1000
  def tensor_setitem_by_tensor_with_sequence(data, index, value):
1283
1001
  """Assigns the tensor by tensor with tuple value."""
1284
- index_dtype = F.dtype(index)
1285
- if index_dtype in (mstype.int32, mstype.int64):
1286
- return _tensor_setitem_by_tensor_with_sequence(data, index, value)
1287
- if index_dtype == mstype.bool_:
1288
- return _tensor_setitem_by_bool_tensor_with_sequence(data, index, value)
1289
- exp_msg = const_utils.gen_exception_msg("The tensor index must be int or bool type, but got {}.", index_dtype)
1290
- const_utils.raise_index_error(exp_msg)
1291
- return None
1292
-
1293
-
1294
- def _tensor_setitem_by_tensor_with_sequence(data, index, value):
1295
- """Set a tensor item by a tensor with a tuple."""
1296
- updates = _generate_updates_from_sequence(data, index, value, const_utils.SET_ITEM_BY_ONE_TENSOR)
1297
- index = F.expand_dims(index, -1)
1298
- return F.tensor_scatter_update(data, index, updates)
1299
-
1300
-
1301
- def _tensor_setitem_by_bool_tensor_with_sequence(data, index, value):
1302
- """Set a tensor item by a bool tensor with a tuple."""
1303
1002
  value = sequence_to_tensor(value, F.dtype(data))
1304
- return _tensor_setitem_by_bool_tensor_with_tensor(data, index, value)
1305
-
1306
-
1307
- def tensor_setitem_by_slice_with_number(data, input_slice, value):
1308
- """Givens a scalar assign to tensor by slice"""
1309
- value = F.cast(value, F.dtype(data))
1310
- return tensor_setitem_by_slice_with_tensor(data, input_slice, value)
1003
+ return tensor_setitem_by_tensor_with_tensor(data, index, value)
1311
1004
 
1312
1005
 
1313
1006
  def tensor_setitem_by_tuple_with_number(data, tuple_index, value):
@@ -1316,78 +1009,14 @@ def tensor_setitem_by_tuple_with_number(data, tuple_index, value):
1316
1009
  return tensor_setitem_by_tuple_with_tensor(data, tuple_index, value)
1317
1010
 
1318
1011
 
1319
- def tensor_copy_slice_from_slice(data, input_slice, value):
1320
- """using TensorCopySlices by slice."""
1321
- data_shape = F.dyn_shape(data)
1322
- start, stop, step = get_slice_stride(input_slice, data_shape[0])
1323
- start_tensor = stack((start,))
1324
- stop_tensor = stack((stop,))
1325
- step_tensor = stack((step,))
1326
- dim0_size = stop_tensor - start_tensor
1327
- if dim0_size <= 0:
1328
- return data
1329
- if dim0_size >= data_shape[0]:
1330
- dim0_size = data_shape[0:1]
1331
- value_shape = P.Concat(-1)((dim0_size, data_shape[1:]))
1332
- value = ops.broadcast_to(value, value_shape)
1333
- return copy_slice(data, value.astype(data.dtype), start_tensor, stop_tensor, step_tensor)
1334
-
1335
-
1336
- def tensor_setitem_by_slice_with_tensor(data, input_slice, value):
1337
- """Assigns a tensor value to the tensor by slice."""
1338
- result = None
1339
- check_result = const_utils.check_tensor_setitem_index(input_slice)
1340
- if check_result:
1341
- data_shape = F.shape(data)
1342
- step = const_utils.get_step_from_slice(input_slice)
1343
- if step == 1 and not const_utils.is_ascend():
1344
- if F.is_sequence_value_unknown(data_shape):
1345
- return tensor_copy_slice_from_slice(data, input_slice, value)
1346
- start, stop, step = const_utils.normalize_slice(input_slice, data.shape[0])
1347
- dim0_size = stop - start
1348
- if dim0_size <= 0:
1349
- return data
1350
- value_shape = (dim0_size,) + const_utils.tuple_slice(data.shape, 1, None)
1351
- value = _broadcast(value_shape, value)
1352
- return copy_slice(data, value.astype(data.dtype), (start,), (stop,), (step,))
1353
- if F.is_sequence_value_unknown(data_shape):
1354
- const_utils.raise_unimplemented_error(
1355
- "Not supported to take the subscript of dynamic shape tensor slice setitem")
1356
- indices = const_utils.slice2indices(input_slice, data_shape)
1357
- if indices is False:
1358
- return data
1359
- value_shape = const_utils.tuple_slice(F.shape(indices), None, -1)
1360
- value = _broadcast(value_shape, value)
1361
- result = F.tensor_scatter_update(data, indices, value.astype(F.dtype(data)))
1362
- return result
1012
+ def tensor_setitem_by_list(data, index, value):
1013
+ """list indices will be converted to tuple or tensor based on its contents."""
1014
+ index_tensor = _convert_list_index_to_tensor(index)
1015
+ if index_tensor is not None:
1016
+ return tensor_setitem_by_tensor_with_tensor(data, index_tensor, value)
1363
1017
 
1018
+ return tensor_setitem_by_tuple_with_tensor(data, tuple(index), value)
1364
1019
 
1365
- def tensor_setitem_by_slice_with_sequence(data, input_slice, value):
1366
- """Assigns a list/tuple value to the tensor by slice."""
1367
- value = _generate_updates_from_sequence(data, input_slice, value, const_utils.SET_ITEM_BY_NON_TENSOR)
1368
- return tensor_setitem_by_slice_with_tensor(data, input_slice, value)
1369
-
1370
-
1371
- def tensor_copy_slice_from_tuple(data, tuple_index, value):
1372
- """using TensorCopySlices by fixed model tuple."""
1373
- data_shape = F.dyn_shape(data)
1374
- dim1_start, dim1_stop, _ = get_slice_stride(tuple_index[1], data_shape[1])
1375
- if dim1_stop - dim1_start <= 0:
1376
- return data
1377
- dim0_start = _scalar_to_tensor(tuple_index[0])
1378
- dim0_stop = dim0_start + const_utils.make_tensor(1)
1379
- start = (dim0_start, dim1_start)
1380
- stop = (dim0_stop, dim1_stop)
1381
- step = (const_utils.make_tensor(1), const_utils.make_tensor(1))
1382
- start_tensor = stack(start)
1383
- stop_tensor = stack(stop)
1384
- step_tensor = stack(step)
1385
- dim1_size = stack((dim1_stop - dim1_start,))
1386
- if dim1_size > data_shape[1]:
1387
- dim1_size = data_shape[1:2]
1388
- value_shape = P.Concat(-1)((dim1_size, data_shape[2:]))
1389
- value = ops.broadcast_to(value, value_shape)
1390
- return copy_slice(data, value.astype(data.dtype), start_tensor, stop_tensor, step_tensor)
1391
1020
 
1392
1021
 
1393
1022
  class _PreSetitemByTuple(base.PreSetitemByTuple_):
@@ -1436,50 +1065,28 @@ class _HandleBoolTensor(base.HandleBoolTensor_):
1436
1065
  _handle_bool_tensor = _HandleBoolTensor('handle_bool_tensor')
1437
1066
 
1438
1067
 
1439
- class _HandleScalarTensorIndex(base.HandleScalarTensorIndex_):
1440
- """
1441
- Getting item of Tensor.
1442
-
1443
- Args:
1444
- data (Tensor): A tuple to be sliced.
1445
- index: Index of tensor.
1446
-
1447
- Returns:
1448
- Type is the same as the element type of data.
1449
- """
1450
-
1451
- def __init__(self, name):
1452
- """Initialize _HandleBoolTensor."""
1453
- base.HandleScalarTensorIndex_.__init__(self, name)
1454
-
1455
- def __call__(self, *args):
1456
- pass
1457
-
1458
-
1459
- _handle_scalar_tensor_index = _HandleScalarTensorIndex('handle_scalar_tensor_index')
1460
-
1461
-
1462
1068
  def tensor_setitem_by_tuple_with_tensor(data, tuple_index, value):
1463
1069
  """Assigns the tensor by tuple with tensor value."""
1464
1070
  if const_utils.use_copy_slice(tuple_index) and not const_utils.is_ascend():
1465
- if F.is_sequence_value_unknown(F.shape(data)):
1466
- return tensor_copy_slice_from_tuple(data, tuple_index, value)
1467
1071
  dim1_start, dim1_stop, _ = const_utils.normalize_slice(
1468
1072
  tuple_index[1], data.shape[1])
1073
+ if isinstance(dim1_start, Tensor):
1074
+ dim1_start = int(dim1_start)
1075
+ if isinstance(dim1_stop, Tensor):
1076
+ dim1_stop = int(dim1_stop)
1469
1077
  if dim1_stop - dim1_start <= 0:
1470
1078
  return data
1471
1079
  dim0_start = tuple_index[0] if tuple_index[0] >= 0 else tuple_index[0] + data.shape[0]
1472
1080
  start = (dim0_start, dim1_start)
1473
1081
  stop = (dim0_start + 1, dim1_stop)
1474
1082
  step = (1, 1)
1475
- value_shape = (dim1_stop - dim1_start,) + \
1476
- const_utils.tuple_slice(data.shape, 2, None)
1477
- value = _broadcast(value_shape, value)
1083
+ value_shape = (dim1_stop - dim1_start,) + data.shape[2:]
1084
+ value = F.broadcast_to(value, value_shape)
1478
1085
  return copy_slice(data, value.astype(data.dtype), start, stop, step)
1479
1086
  tuple_index, _, non_zero_shapes = _handle_bool_tensor(tuple_index)
1480
1087
 
1481
1088
  for non_zero_shape in non_zero_shapes:
1482
- if F.reduce_min(non_zero_shape) == 0:
1089
+ if 0 in non_zero_shape:
1483
1090
  return data
1484
1091
  value = value.astype(data.dtype)
1485
1092
  special_index, tuple_index, new_value_shape, idx_advanced, _broadcast_data_shape \
@@ -1512,17 +1119,19 @@ def tensor_itemset_by_tuple_with_tensor(data, tuple_index, value):
1512
1119
  tuple_index = _transform_ellipsis_to_slice(data, tuple_index, op_name)
1513
1120
 
1514
1121
  if const_utils.use_copy_slice(tuple_index) and not const_utils.is_ascend():
1515
- if F.is_sequence_value_unknown(F.shape(data)):
1516
- return tensor_copy_slice_from_tuple(data, tuple_index, value)
1517
1122
  dim1_start, dim1_stop, _ = const_utils.normalize_slice(tuple_index[1], data.shape[1])
1123
+ if isinstance(dim1_start, Tensor):
1124
+ dim1_start = int(dim1_start)
1125
+ if isinstance(dim1_stop, Tensor):
1126
+ dim1_stop = int(dim1_stop)
1518
1127
  if dim1_stop - dim1_start <= 0:
1519
1128
  return data
1520
1129
  dim0_start = tuple_index[0] if tuple_index[0] >= 0 else tuple_index[0] + data.shape[0]
1521
1130
  start = (dim0_start, dim1_start)
1522
1131
  stop = (dim0_start + 1, dim1_stop)
1523
1132
  step = (1, 1)
1524
- value_shape = (dim1_stop - dim1_start,) + const_utils.tuple_slice(data.shape, 2, None)
1525
- value = _broadcast(value_shape, value)
1133
+ value_shape = (dim1_stop - dim1_start,) + data.shape[2:]
1134
+ value = F.broadcast_to(value, value_shape)
1526
1135
  return copy_slice(data, value.astype(data.dtype), start, stop, step)
1527
1136
  tuple_index, value, idx_advanced = remove_expanded_dims(tuple_index, F.shape(data), value)
1528
1137
 
@@ -1545,49 +1154,45 @@ def tensor_itemset_by_tuple_with_tensor(data, tuple_index, value):
1545
1154
 
1546
1155
 
1547
1156
  def tensor_setitem_by_tuple_with_sequence(data, tuple_index, value):
1548
- value = _generate_updates_from_sequence(data, tuple_index, value, const_utils.SET_ITEM_BY_NON_TENSOR)
1157
+ value = sequence_to_tensor(value, F.dtype(data))
1549
1158
  return tensor_setitem_by_tuple_with_tensor(data, tuple_index, value)
1550
1159
 
1551
1160
 
1552
1161
  def tensor_setitem_by_number_with_number(data, index, value):
1553
1162
  """Assigns the tensor by number with number value."""
1554
- value = F.cast(value, F.dtype(data))
1555
- return tensor_setitem_by_number_with_tensor(data, index, value)
1163
+ data_shape = F.shape(data)
1164
+ dim_size = data_shape[0]
1165
+ if index < 0:
1166
+ index += dim_size
1167
+ if index < -dim_size or index >= dim_size:
1168
+ raise IndexError(f'index {index} is out of bounds for axis 0 with size {dim_size}')
1169
+ index = F.cast(index, mstype.int64)
1170
+ index = F.reshape(index, (1, 1))
1171
+
1172
+ updates = F.cast(value, data.dtype)
1173
+ updates_shape = (1,) + data_shape[1:]
1174
+ updates = ops.broadcast_to(updates, updates_shape)
1175
+
1176
+ if is_parameter(data):
1177
+ F.scatter_nd_update(data, index, updates)
1178
+ return data
1179
+ return F.tensor_scatter_update(data, index, updates)
1556
1180
 
1557
1181
 
1558
1182
  def tensor_setitem_by_number_with_sequence(data, index, value):
1559
1183
  """Assigns a list/tuple value to the tensor by slice."""
1560
- value = _generate_updates_from_sequence(data, index, value, const_utils.SET_ITEM_BY_NON_TENSOR)
1184
+ value = sequence_to_tensor(value, F.dtype(data))
1561
1185
  return tensor_setitem_by_number_with_tensor(data, index, value)
1562
1186
 
1563
1187
 
1564
1188
  def tensor_setitem_by_number_with_tensor(data, index, value):
1565
- """Assigns the tensor by number with tensor value."""
1566
- data_shape = F.shape(data)
1567
- if F.is_sequence_value_unknown(data_shape):
1568
- index = _scalar_to_tensor(index)
1569
- index = F.expand_dims(index, -1)
1570
- return _tensor_setitem_by_int_tensor_with_tensor(data, index, value)
1571
-
1572
- dim_size = data_shape[0]
1573
- if index < -dim_size or index >= dim_size:
1574
- raise IndexError(f'index {index} is out of bounds for axis 0 with size {dim_size}')
1575
- index = const_utils.int_to_index(index, data_shape)
1576
- value_shape = const_utils.tuple_slice(F.shape(index), None, -1)
1577
- value = _broadcast(value_shape, value.astype(F.dtype(data)))
1578
- if is_parameter(data):
1579
- F.scatter_nd_update(data, index, value)
1580
- return data
1581
- return F.tensor_scatter_update(data, index, value)
1189
+ return tensor_setitem_by_number_with_number(data, index, value)
1582
1190
 
1583
1191
 
1584
1192
  def tensor_setitem_by_ellipsis_with_number(data, value):
1585
1193
  """Assigns the tensor by ellipsis with number value."""
1586
1194
  data_shape = F.shape(data)
1587
1195
  data_dtype = F.dtype(data)
1588
- if F.is_sequence_value_unknown(data_shape):
1589
- value = F.cast(value, F.dtype(data))
1590
- return tensor_setitem_by_ellipsis_with_tensor(data, value)
1591
1196
  return F.fill(data_dtype, data_shape, value)
1592
1197
 
1593
1198
 
@@ -1597,21 +1202,16 @@ def tensor_setitem_by_ellipsis_with_tensor(data, value):
1597
1202
  data_dtype = F.dtype(data)
1598
1203
  value = value.astype(data_dtype)
1599
1204
 
1600
- if F.is_sequence_value_unknown(data_shape):
1601
- data_shape = F.dyn_shape(data)
1602
- data = ops.broadcast_to(value, data_shape)
1603
- return data
1604
1205
  value_shape = F.shape(value)
1605
1206
  source_shape = const_utils.get_source_shape(data_shape, value_shape)
1606
1207
  value = F.reshape(value, source_shape)
1607
- value = _broadcast(data_shape, value)
1608
- data = F.cast(value, data_dtype)
1208
+ data = F.broadcast_to(value, data_shape)
1609
1209
  return data
1610
1210
 
1611
1211
 
1612
1212
  def tensor_setitem_by_ellipsis_with_sequence(data, value):
1613
1213
  """Assigns a list/tuple value to the tensor by ellipsis."""
1614
- value = _generate_updates_from_sequence(data, None, value, const_utils.SET_ITEM_BY_NON_TENSOR)
1214
+ value = sequence_to_tensor(value, F.dtype(data))
1615
1215
  return tensor_setitem_by_ellipsis_with_tensor(data, value)
1616
1216
 
1617
1217
 
@@ -1622,23 +1222,15 @@ def tensor_setitem_by_bool(data, index, value):
1622
1222
  if not index:
1623
1223
  data_shape = (0,) + data_shape
1624
1224
  if isinstance(value, (list, tuple)):
1625
- value = _generate_updates_from_sequence(data, index, value, const_utils.SET_ITEM_BY_NON_TENSOR)
1626
- elif isinstance(value, (int, bool)):
1627
- value = const_utils.make_tensor(value, mstype.int32)
1628
- elif isinstance(value, float):
1629
- value = const_utils.make_tensor(value, mstype.float32)
1630
-
1631
- if F.is_sequence_value_unknown(data_shape) and index:
1632
- data_shape = F.dyn_shape(data)
1633
- value = value.astype(data_dtype)
1634
- data = ops.broadcast_to(value, data_shape)
1635
- return data
1636
- value_shape = F.shape(value)
1637
- source_shape = const_utils.get_source_shape(data_shape, value_shape)
1225
+ value = sequence_to_tensor(value, data_dtype)
1226
+ else:
1227
+ value = F.cast(value, data_dtype)
1228
+
1638
1229
  if index:
1230
+ value_shape = F.shape(value)
1231
+ source_shape = const_utils.get_source_shape(data_shape, value_shape)
1639
1232
  value = F.reshape(value, source_shape)
1640
- value = _broadcast(data_shape, value)
1641
- data = F.cast(value, data_dtype)
1233
+ data = F.broadcast_to(value, data_shape)
1642
1234
  return data
1643
1235
 
1644
1236
 
@@ -1651,33 +1243,6 @@ def tensor_in_sequence(x, y):
1651
1243
  return result
1652
1244
 
1653
1245
 
1654
- def format_list_indices(list_indices, length):
1655
- """Convert list indices to tensor or tuple indices based on its contents."""
1656
- indices_types = hyper_map(F.typeof, list_indices)
1657
- # If eyery element in list is bool, it's treated as 1-D bool tensor.
1658
- # If every element in list is int(not all bool), it's treated as int tensor.
1659
- if const_utils.judge_indexes_types(indices_types, mstype.int_type + (mstype.bool_,)):
1660
- if not F.isconstant(length):
1661
- return const_utils.sequence_to_index(list_indices, None)
1662
- return const_utils.sequence_to_index(list_indices, length)
1663
- # If list contains other types(.../list/tuple/None), it's treated as a tuple
1664
- return const_utils.deep_tuple(list_indices)
1665
-
1666
-
1667
- def format_tuple_indices(tuple_indices):
1668
- """
1669
- Format tuple indices by unpacking high-dimension tuple and removing expand
1670
- dimension signs(Bool and None).
1671
- """
1672
- res = ()
1673
- for i in tuple_indices:
1674
- if isinstance(i, (list, tuple)):
1675
- res += (const_utils.unpack(i),)
1676
- else:
1677
- res += (i,)
1678
- return res
1679
-
1680
-
1681
1246
  @_primexpr
1682
1247
  def remove_expanded_dims_parse_bool_tensor_index(index_out, indices_out, shapes, cur_dim):
1683
1248
  """ Parse bool tensor index """