mindspore 2.0.0a0__cp37-cp37m-win_amd64.whl → 2.0.0rc1__cp37-cp37m-win_amd64.whl

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

Potentially problematic release.


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

Files changed (655) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -2
  3. mindspore/_c_dataengine.cp37-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp37-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp37-win_amd64.pyd +0 -0
  6. mindspore/_check_jit_forbidden_api.py +102 -0
  7. mindspore/_checkparam.py +1066 -1001
  8. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +4 -3
  9. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -48
  10. mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -4
  11. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -4
  12. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
  13. mindspore/_extends/parse/__init__.py +5 -3
  14. mindspore/_extends/parse/namespace.py +16 -1
  15. mindspore/_extends/parse/parser.py +107 -22
  16. mindspore/_extends/parse/resources.py +0 -7
  17. mindspore/_extends/parse/standard_method.py +885 -413
  18. mindspore/amp.py +52 -57
  19. mindspore/boost/boost.py +2 -2
  20. mindspore/boost/boost_cell_wrapper.py +38 -20
  21. mindspore/boost/dim_reduce.py +3 -3
  22. mindspore/boost/group_loss_scale_manager.py +1 -1
  23. mindspore/common/__init__.py +4 -6
  24. mindspore/common/_decorator.py +2 -0
  25. mindspore/common/_register_for_adapter.py +55 -0
  26. mindspore/common/_stub_tensor.py +201 -0
  27. mindspore/common/_utils.py +41 -7
  28. mindspore/common/api.py +215 -141
  29. mindspore/common/dtype.py +8 -1
  30. mindspore/common/dump.py +2 -2
  31. mindspore/common/initializer.py +4 -2
  32. mindspore/common/jit_config.py +17 -13
  33. mindspore/common/mutable.py +33 -13
  34. mindspore/common/parameter.py +23 -21
  35. mindspore/common/seed.py +8 -24
  36. mindspore/common/sparse_tensor.py +62 -41
  37. mindspore/common/tensor.py +852 -1154
  38. mindspore/communication/__init__.py +2 -2
  39. mindspore/communication/_comm_helper.py +11 -4
  40. mindspore/communication/management.py +22 -21
  41. mindspore/config/op_info.config +501 -1008
  42. mindspore/context.py +201 -23
  43. mindspore/dataset/__init__.py +6 -6
  44. mindspore/dataset/audio/__init__.py +7 -7
  45. mindspore/dataset/audio/transforms.py +670 -30
  46. mindspore/dataset/audio/utils.py +47 -4
  47. mindspore/dataset/audio/validators.py +223 -1
  48. mindspore/dataset/callback/ds_callback.py +2 -2
  49. mindspore/dataset/core/config.py +210 -14
  50. mindspore/dataset/core/validator_helpers.py +2 -2
  51. mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
  52. mindspore/dataset/debug/debug_hook.py +65 -0
  53. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  54. mindspore/dataset/engine/__init__.py +7 -3
  55. mindspore/dataset/engine/cache_client.py +1 -1
  56. mindspore/dataset/engine/datasets.py +322 -66
  57. mindspore/dataset/engine/datasets_audio.py +80 -76
  58. mindspore/dataset/engine/datasets_standard_format.py +51 -38
  59. mindspore/dataset/engine/datasets_text.py +232 -118
  60. mindspore/dataset/engine/datasets_user_defined.py +41 -17
  61. mindspore/dataset/engine/datasets_vision.py +746 -225
  62. mindspore/dataset/engine/graphdata.py +75 -10
  63. mindspore/dataset/engine/iterators.py +45 -5
  64. mindspore/dataset/engine/offload.py +48 -28
  65. mindspore/dataset/engine/validators.py +117 -8
  66. mindspore/dataset/text/__init__.py +6 -5
  67. mindspore/dataset/text/transforms.py +86 -3
  68. mindspore/dataset/text/utils.py +6 -4
  69. mindspore/dataset/text/validators.py +25 -0
  70. mindspore/dataset/transforms/__init__.py +3 -2
  71. mindspore/dataset/transforms/c_transforms.py +1 -1
  72. mindspore/dataset/transforms/transforms.py +2 -2
  73. mindspore/dataset/utils/__init__.py +2 -1
  74. mindspore/dataset/utils/line_reader.py +121 -0
  75. mindspore/dataset/vision/__init__.py +2 -3
  76. mindspore/dataset/vision/c_transforms.py +9 -9
  77. mindspore/dataset/vision/py_transforms.py +5 -5
  78. mindspore/dataset/vision/py_transforms_util.py +2 -0
  79. mindspore/dataset/vision/transforms.py +160 -161
  80. mindspore/dataset/vision/utils.py +3 -3
  81. mindspore/experimental/map_parameter.py +38 -26
  82. mindspore/include/OWNERS +0 -1
  83. mindspore/include/api/callback/callback.h +9 -13
  84. mindspore/include/api/callback/ckpt_saver.h +2 -2
  85. mindspore/include/api/callback/loss_monitor.h +2 -2
  86. mindspore/include/api/callback/lr_scheduler.h +5 -5
  87. mindspore/include/api/callback/time_monitor.h +2 -2
  88. mindspore/include/api/callback/train_accuracy.h +4 -6
  89. mindspore/include/api/cfg.h +19 -6
  90. mindspore/include/api/context.h +44 -9
  91. mindspore/include/api/delegate.h +1 -1
  92. mindspore/include/api/metrics/accuracy.h +2 -2
  93. mindspore/include/api/metrics/metrics.h +4 -3
  94. mindspore/include/api/model.h +9 -4
  95. mindspore/include/api/model_parallel_runner.h +2 -2
  96. mindspore/include/api/net.h +12 -11
  97. mindspore/include/api/serialization.h +19 -3
  98. mindspore/include/api/types.h +3 -3
  99. mindspore/include/dataset/constants.h +7 -0
  100. mindspore/include/dataset/text.h +59 -0
  101. mindspore/jpeg62.dll +0 -0
  102. mindspore/log.py +1 -1
  103. mindspore/mindrecord/filereader.py +18 -0
  104. mindspore/mindrecord/filewriter.py +197 -34
  105. mindspore/mindrecord/shardreader.py +9 -0
  106. mindspore/mindrecord/shardwriter.py +1 -1
  107. mindspore/mindrecord/tools/cifar100_to_mr.py +3 -3
  108. mindspore/mindrecord/tools/cifar10_to_mr.py +3 -3
  109. mindspore/mindrecord/tools/csv_to_mr.py +3 -3
  110. mindspore/mindrecord/tools/imagenet_to_mr.py +16 -11
  111. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  112. mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
  113. mindspore/mindspore_backend.dll +0 -0
  114. mindspore/mindspore_common.dll +0 -0
  115. mindspore/mindspore_core.dll +0 -0
  116. mindspore/mindspore_glog.dll +0 -0
  117. mindspore/mindspore_shared_lib.dll +0 -0
  118. mindspore/nn/__init__.py +0 -4
  119. mindspore/nn/cell.py +204 -132
  120. mindspore/nn/dynamic_lr.py +1 -1
  121. mindspore/nn/grad/cell_grad.py +7 -6
  122. mindspore/nn/layer/__init__.py +5 -4
  123. mindspore/nn/layer/activation.py +40 -89
  124. mindspore/nn/layer/basic.py +255 -624
  125. mindspore/nn/layer/channel_shuffle.py +7 -6
  126. mindspore/nn/layer/combined.py +1 -1
  127. mindspore/nn/layer/container.py +41 -4
  128. mindspore/nn/layer/conv.py +64 -28
  129. mindspore/nn/layer/dense.py +9 -8
  130. mindspore/nn/layer/embedding.py +27 -25
  131. mindspore/nn/layer/image.py +53 -46
  132. mindspore/nn/layer/math.py +97 -105
  133. mindspore/nn/layer/normalization.py +117 -86
  134. mindspore/nn/layer/padding.py +185 -95
  135. mindspore/nn/layer/pooling.py +817 -414
  136. mindspore/nn/layer/rnn_cells.py +10 -15
  137. mindspore/nn/layer/rnns.py +37 -38
  138. mindspore/nn/layer/thor_layer.py +11 -12
  139. mindspore/nn/layer/timedistributed.py +5 -5
  140. mindspore/nn/layer/transformer.py +701 -0
  141. mindspore/nn/learning_rate_schedule.py +8 -8
  142. mindspore/nn/loss/__init__.py +5 -4
  143. mindspore/nn/loss/loss.py +334 -199
  144. mindspore/nn/optim/ada_grad.py +6 -6
  145. mindspore/nn/optim/adadelta.py +2 -3
  146. mindspore/nn/optim/adafactor.py +4 -5
  147. mindspore/nn/optim/adam.py +126 -62
  148. mindspore/nn/optim/adamax.py +3 -4
  149. mindspore/nn/optim/adasum.py +6 -6
  150. mindspore/nn/optim/asgd.py +2 -2
  151. mindspore/nn/optim/ftrl.py +67 -38
  152. mindspore/nn/optim/lamb.py +4 -5
  153. mindspore/nn/optim/lars.py +2 -2
  154. mindspore/nn/optim/lazyadam.py +43 -4
  155. mindspore/nn/optim/momentum.py +6 -5
  156. mindspore/nn/optim/optimizer.py +3 -1
  157. mindspore/nn/optim/proximal_ada_grad.py +2 -2
  158. mindspore/nn/optim/rmsprop.py +1 -1
  159. mindspore/nn/optim/rprop.py +8 -9
  160. mindspore/nn/optim/sgd.py +19 -13
  161. mindspore/nn/optim/thor.py +10 -15
  162. mindspore/nn/probability/__init__.py +0 -2
  163. mindspore/nn/probability/bijector/bijector.py +4 -4
  164. mindspore/nn/probability/bijector/invert.py +1 -1
  165. mindspore/nn/probability/bijector/softplus.py +2 -2
  166. mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
  167. mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
  168. mindspore/nn/probability/distribution/_utils/utils.py +9 -15
  169. mindspore/nn/probability/distribution/bernoulli.py +3 -3
  170. mindspore/nn/probability/distribution/beta.py +1 -1
  171. mindspore/nn/probability/distribution/categorical.py +5 -7
  172. mindspore/nn/probability/distribution/cauchy.py +3 -3
  173. mindspore/nn/probability/distribution/distribution.py +2 -2
  174. mindspore/nn/probability/distribution/exponential.py +2 -2
  175. mindspore/nn/probability/distribution/gamma.py +3 -3
  176. mindspore/nn/probability/distribution/geometric.py +1 -1
  177. mindspore/nn/probability/distribution/gumbel.py +3 -3
  178. mindspore/nn/probability/distribution/half_normal.py +15 -11
  179. mindspore/nn/probability/distribution/laplace.py +16 -13
  180. mindspore/nn/probability/distribution/logistic.py +2 -2
  181. mindspore/nn/probability/distribution/normal.py +1 -1
  182. mindspore/nn/probability/distribution/poisson.py +1 -1
  183. mindspore/nn/probability/distribution/student_t.py +20 -15
  184. mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
  185. mindspore/nn/probability/distribution/uniform.py +2 -2
  186. mindspore/nn/reinforcement/_tensors_queue.py +3 -3
  187. mindspore/nn/reinforcement/tensor_array.py +2 -2
  188. mindspore/nn/sparse/sparse.py +2 -2
  189. mindspore/nn/wrap/cell_wrapper.py +27 -10
  190. mindspore/nn/wrap/grad_reducer.py +2 -2
  191. mindspore/nn/wrap/loss_scale.py +40 -24
  192. mindspore/numpy/array_creations.py +33 -22
  193. mindspore/numpy/array_ops.py +35 -30
  194. mindspore/numpy/logic_ops.py +6 -27
  195. mindspore/numpy/math_ops.py +22 -19
  196. mindspore/numpy/utils.py +1 -1
  197. mindspore/numpy/utils_const.py +108 -58
  198. mindspore/opencv_core452.dll +0 -0
  199. mindspore/opencv_imgcodecs452.dll +0 -0
  200. mindspore/opencv_imgproc452.dll +0 -0
  201. mindspore/ops/_constants.py +0 -6
  202. mindspore/ops/_grad/__init__.py +2 -1
  203. mindspore/ops/_grad/grad_array_ops.py +86 -117
  204. mindspore/ops/_grad/grad_base.py +23 -1
  205. mindspore/ops/_grad/grad_clip_ops.py +2 -3
  206. mindspore/ops/_grad/grad_comm_ops.py +34 -24
  207. mindspore/ops/_grad/grad_implementations.py +9 -45
  208. mindspore/ops/_grad/grad_inner_ops.py +47 -4
  209. mindspore/ops/_grad/grad_math_ops.py +142 -117
  210. mindspore/ops/_grad/grad_nn_ops.py +71 -165
  211. mindspore/ops/_grad/grad_sequence_ops.py +296 -0
  212. mindspore/ops/_grad/grad_sparse.py +7 -6
  213. mindspore/ops/_grad_experimental/__init__.py +1 -0
  214. mindspore/ops/_grad_experimental/grad_array_ops.py +150 -15
  215. mindspore/ops/_grad_experimental/grad_image_ops.py +16 -7
  216. mindspore/ops/_grad_experimental/grad_inner_ops.py +1 -22
  217. mindspore/ops/_grad_experimental/grad_linalg_ops.py +4 -11
  218. mindspore/ops/_grad_experimental/grad_math_ops.py +210 -89
  219. mindspore/ops/_grad_experimental/grad_nn_ops.py +26 -22
  220. mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
  221. mindspore/ops/_grad_experimental/grad_sparse_ops.py +49 -8
  222. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
  223. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +2 -2
  224. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
  225. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
  226. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +4 -4
  227. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
  228. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
  229. mindspore/ops/_op_impl/_custom_op/correction_mul.py +2 -2
  230. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
  231. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -5
  232. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
  233. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
  234. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
  235. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
  236. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
  237. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
  238. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
  239. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
  240. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
  241. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
  242. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
  243. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
  244. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
  245. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
  246. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
  247. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
  248. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
  249. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
  250. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -4
  251. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
  252. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
  253. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
  254. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
  255. mindspore/ops/_op_impl/aicpu/__init__.py +236 -4
  256. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  257. mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_v1.py → adaptive_avg_pool_2d.py} +6 -5
  258. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  259. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  260. mindspore/ops/_op_impl/aicpu/addcdiv.py +0 -32
  261. mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
  262. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  263. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -43
  264. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  265. mindspore/{compression/common/__init__.py → ops/_op_impl/aicpu/bessel_i0.py} +15 -8
  266. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  267. mindspore/ops/_op_impl/aicpu/conj.py +11 -0
  268. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +0 -3
  269. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  270. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  271. mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_grad_v1.py → digamma.py} +7 -9
  272. mindspore/ops/_op_impl/aicpu/flatten.py +1 -0
  273. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  274. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  275. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +1 -1
  276. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  277. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  278. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  279. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  280. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  281. mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/lgamma.py} +16 -10
  282. mindspore/ops/_op_impl/aicpu/mirror_pad.py +0 -4
  283. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
  284. mindspore/ops/_op_impl/aicpu/mul.py +3 -1
  285. mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
  286. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  287. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  288. mindspore/ops/_op_impl/aicpu/ones_like.py +0 -2
  289. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  290. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  291. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  292. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  293. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  294. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  295. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
  296. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
  297. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  298. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  299. mindspore/ops/_op_impl/aicpu/scatter_elements.py +4 -0
  300. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
  301. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  302. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  303. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  304. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  305. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  306. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +0 -24
  307. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  308. mindspore/ops/_op_impl/aicpu/sparse_slice.py +4 -0
  309. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +6 -0
  310. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  311. mindspore/ops/_op_impl/aicpu/trans_data.py +1 -0
  312. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  313. mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
  314. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
  315. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
  316. mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
  317. mindspore/ops/_op_impl/cpu/sparse_slice.py +4 -0
  318. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +6 -0
  319. mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
  320. mindspore/ops/_op_impl/tbe/__init__.py +27 -611
  321. mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
  322. mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
  323. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
  324. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +1 -0
  325. mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
  326. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
  327. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
  328. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
  329. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
  330. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
  331. mindspore/ops/_op_impl/tbe/cast.py +0 -2
  332. mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
  333. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
  334. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +2 -2
  335. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
  336. mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
  337. mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
  338. mindspore/ops/_op_impl/tbe/matmul_ds.py +2 -0
  339. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
  340. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
  341. mindspore/ops/_op_impl/tbe/scatter_mul.py +2 -0
  342. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -2
  343. mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
  344. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
  345. mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
  346. mindspore/ops/_register_for_op.py +1 -0
  347. mindspore/ops/_utils/__init__.py +1 -2
  348. mindspore/ops/_utils/utils.py +19 -40
  349. mindspore/ops/_vmap/vmap_array_ops.py +116 -38
  350. mindspore/ops/_vmap/vmap_base.py +16 -9
  351. mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
  352. mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
  353. mindspore/ops/_vmap/vmap_grad_nn_ops.py +7 -5
  354. mindspore/ops/_vmap/vmap_image_ops.py +12 -5
  355. mindspore/ops/_vmap/vmap_math_ops.py +46 -5
  356. mindspore/ops/_vmap/vmap_nn_ops.py +15 -21
  357. mindspore/ops/_vmap/vmap_random_ops.py +1 -1
  358. mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
  359. mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
  360. mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
  361. mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
  362. mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
  363. mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
  364. mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
  365. mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
  366. mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +220 -106
  367. mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
  368. mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +240 -0
  369. mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
  370. mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
  371. mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
  372. mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
  373. mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
  374. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
  375. mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
  376. mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
  377. mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +22 -23
  378. mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -17
  379. mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
  380. mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
  381. mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
  382. mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
  383. mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
  384. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  385. mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +39 -41
  386. mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
  387. mindspore/ops/bprop_mindir/Flatten_bprop.mindir +41 -43
  388. mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +51 -57
  389. mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
  390. mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
  391. mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
  392. mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
  393. mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
  394. mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
  395. mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
  396. mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
  397. mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
  398. mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
  399. mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
  400. mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
  401. mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
  402. mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
  403. mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
  404. mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +27 -0
  405. mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
  406. mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
  407. mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
  408. mindspore/ops/bprop_mindir/OneHot_bprop.mindir +24 -25
  409. mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
  410. mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
  411. mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
  412. mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +29 -0
  413. mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
  414. mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
  415. mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
  416. mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +18 -19
  417. mindspore/ops/bprop_mindir/Reshape_bprop.mindir +53 -53
  418. mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
  419. mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +77 -85
  420. mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
  421. mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
  422. mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
  423. mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
  424. mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
  425. mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  426. mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
  427. mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
  428. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  429. mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +37 -39
  430. mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +70 -72
  431. mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
  432. mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
  433. mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
  434. mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
  435. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +17 -17
  436. mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
  437. mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
  438. mindspore/ops/bprop_mindir/generate_mindir.py +2 -0
  439. mindspore/ops/composite/__init__.py +7 -8
  440. mindspore/ops/composite/base.py +101 -47
  441. mindspore/ops/composite/math_ops.py +188 -158
  442. mindspore/ops/composite/multitype_ops/_compile_utils.py +415 -170
  443. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +142 -87
  444. mindspore/ops/composite/multitype_ops/add_impl.py +6 -1
  445. mindspore/ops/composite/multitype_ops/div_impl.py +2 -3
  446. mindspore/ops/composite/multitype_ops/getitem_impl.py +31 -3
  447. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
  448. mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
  449. mindspore/ops/composite/multitype_ops/in_impl.py +9 -0
  450. mindspore/ops/composite/multitype_ops/less_equal_impl.py +31 -0
  451. mindspore/ops/composite/multitype_ops/less_impl.py +31 -0
  452. mindspore/ops/composite/multitype_ops/mul_impl.py +21 -5
  453. mindspore/ops/composite/multitype_ops/not_in_impl.py +9 -0
  454. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
  455. mindspore/ops/composite/multitype_ops/setitem_impl.py +21 -3
  456. mindspore/ops/composite/multitype_ops/sub_impl.py +1 -1
  457. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +35 -4
  458. mindspore/ops/function/__init__.py +152 -8
  459. mindspore/ops/function/array_func.py +2555 -674
  460. mindspore/ops/function/clip_func.py +209 -13
  461. mindspore/ops/function/debug_func.py +2 -2
  462. mindspore/ops/function/grad/__init__.py +2 -1
  463. mindspore/ops/function/grad/grad_func.py +147 -62
  464. mindspore/ops/function/image_func.py +54 -38
  465. mindspore/ops/function/linalg_func.py +167 -16
  466. mindspore/ops/function/math_func.py +4849 -1492
  467. mindspore/ops/function/nn_func.py +2573 -988
  468. mindspore/ops/function/other_func.py +115 -0
  469. mindspore/ops/function/parameter_func.py +3 -3
  470. mindspore/ops/function/random_func.py +790 -73
  471. mindspore/ops/function/sparse_func.py +98 -78
  472. mindspore/ops/function/sparse_unary_func.py +54 -53
  473. mindspore/ops/function/spectral_func.py +27 -24
  474. mindspore/ops/function/vmap_func.py +22 -2
  475. mindspore/ops/functional.py +97 -37
  476. mindspore/ops/op_info_register.py +70 -28
  477. mindspore/ops/operations/__init__.py +47 -14
  478. mindspore/ops/operations/_csr_ops.py +7 -7
  479. mindspore/ops/operations/_embedding_cache_ops.py +5 -5
  480. mindspore/ops/operations/_grad_ops.py +276 -187
  481. mindspore/ops/operations/_inner_ops.py +319 -113
  482. mindspore/ops/operations/_ms_kernel.py +10 -8
  483. mindspore/ops/operations/_ocr_ops.py +9 -9
  484. mindspore/ops/operations/_opaque_predicate_registry.py +4 -0
  485. mindspore/ops/operations/_quant_ops.py +137 -102
  486. mindspore/ops/operations/_rl_inner_ops.py +121 -60
  487. mindspore/ops/operations/_scalar_ops.py +466 -0
  488. mindspore/ops/operations/_sequence_ops.py +1004 -2
  489. mindspore/ops/operations/_tensor_array.py +10 -11
  490. mindspore/ops/operations/_thor_ops.py +1 -1
  491. mindspore/ops/operations/array_ops.py +801 -466
  492. mindspore/ops/operations/comm_ops.py +51 -49
  493. mindspore/ops/operations/control_ops.py +2 -2
  494. mindspore/ops/operations/custom_ops.py +123 -44
  495. mindspore/ops/operations/debug_ops.py +24 -24
  496. mindspore/ops/operations/image_ops.py +240 -153
  497. mindspore/ops/operations/inner_ops.py +34 -50
  498. mindspore/ops/operations/linalg_ops.py +31 -9
  499. mindspore/ops/operations/math_ops.py +988 -757
  500. mindspore/ops/operations/nn_ops.py +965 -819
  501. mindspore/ops/operations/other_ops.py +51 -40
  502. mindspore/ops/operations/random_ops.py +204 -122
  503. mindspore/ops/operations/rl_ops.py +8 -9
  504. mindspore/ops/operations/sparse_ops.py +254 -93
  505. mindspore/ops/operations/spectral_ops.py +35 -3
  506. mindspore/ops/primitive.py +111 -9
  507. mindspore/parallel/_auto_parallel_context.py +189 -83
  508. mindspore/parallel/_offload_context.py +185 -0
  509. mindspore/parallel/_parallel_serialization.py +99 -7
  510. mindspore/parallel/_ps_context.py +9 -5
  511. mindspore/parallel/_recovery_context.py +1 -1
  512. mindspore/parallel/_tensor.py +7 -1
  513. mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
  514. mindspore/{nn/transformer → parallel/_transformer}/layers.py +6 -37
  515. mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
  516. mindspore/{nn/transformer → parallel/_transformer}/moe.py +20 -16
  517. mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
  518. mindspore/{nn/transformer → parallel/_transformer}/transformer.py +48 -111
  519. mindspore/parallel/_utils.py +1 -2
  520. mindspore/parallel/algo_parameter_config.py +1 -1
  521. mindspore/parallel/checkpoint_transform.py +37 -34
  522. mindspore/parallel/shard.py +17 -18
  523. mindspore/profiler/common/validator/validate_path.py +2 -2
  524. mindspore/profiler/envprofiling.py +69 -47
  525. mindspore/profiler/parser/ascend_timeline_generator.py +49 -42
  526. mindspore/profiler/parser/base_timeline_generator.py +49 -56
  527. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +98 -78
  528. mindspore/profiler/parser/hwts_log_parser.py +1 -1
  529. mindspore/profiler/parser/integrator.py +15 -14
  530. mindspore/profiler/parser/minddata_analyzer.py +2 -2
  531. mindspore/profiler/parser/msadvisor_analyzer.py +12 -25
  532. mindspore/profiler/parser/msadvisor_parser.py +2 -4
  533. mindspore/profiler/parser/optime_parser.py +17 -18
  534. mindspore/profiler/parser/profiler_info.py +2 -1
  535. mindspore/profiler/profiling.py +218 -186
  536. mindspore/rewrite/__init__.py +3 -1
  537. mindspore/rewrite/api/node.py +1 -114
  538. mindspore/rewrite/api/node_type.py +3 -0
  539. mindspore/rewrite/api/pattern_engine.py +31 -1
  540. mindspore/rewrite/api/scoped_value.py +4 -4
  541. mindspore/rewrite/api/symbol_tree.py +3 -78
  542. mindspore/rewrite/api/tree_node_helper.py +1 -1
  543. mindspore/rewrite/ast_creator_register.py +1 -0
  544. mindspore/rewrite/ast_helpers/__init__.py +2 -2
  545. mindspore/rewrite/ast_helpers/ast_creator.py +1 -2
  546. mindspore/rewrite/ast_helpers/ast_finder.py +65 -0
  547. mindspore/rewrite/ast_helpers/ast_modifier.py +11 -3
  548. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +18 -2
  549. mindspore/rewrite/namespace.py +0 -2
  550. mindspore/rewrite/node.py +157 -11
  551. mindspore/rewrite/parsers/assign_parser.py +231 -53
  552. mindspore/rewrite/parsers/class_def_parser.py +187 -109
  553. mindspore/rewrite/parsers/for_parser.py +24 -14
  554. mindspore/rewrite/parsers/function_def_parser.py +21 -4
  555. mindspore/rewrite/parsers/if_parser.py +6 -2
  556. mindspore/rewrite/sparsify/__init__.py +0 -0
  557. mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
  558. mindspore/rewrite/sparsify/sparsify.py +109 -0
  559. mindspore/rewrite/sparsify/utils.py +173 -0
  560. mindspore/rewrite/symbol_tree.py +256 -133
  561. mindspore/rewrite/symbol_tree_builder.py +38 -1
  562. mindspore/run_check/_check_version.py +69 -63
  563. mindspore/run_check/run_check.py +2 -1
  564. mindspore/tinyxml2.dll +0 -0
  565. mindspore/train/__init__.py +1 -1
  566. mindspore/train/_utils.py +28 -5
  567. mindspore/train/amp.py +273 -102
  568. mindspore/train/callback/_backup_and_restore.py +5 -5
  569. mindspore/train/callback/_callback.py +2 -2
  570. mindspore/train/callback/_checkpoint.py +3 -3
  571. mindspore/train/callback/_early_stop.py +3 -3
  572. mindspore/train/callback/_lambda_callback.py +2 -2
  573. mindspore/train/callback/_landscape.py +29 -31
  574. mindspore/train/callback/_loss_monitor.py +3 -3
  575. mindspore/train/callback/_on_request_exit.py +3 -3
  576. mindspore/train/callback/_reduce_lr_on_plateau.py +4 -4
  577. mindspore/train/callback/_summary_collector.py +23 -16
  578. mindspore/train/callback/_time_monitor.py +3 -3
  579. mindspore/train/checkpoint_pb2.py +68 -8
  580. mindspore/train/data_sink.py +15 -3
  581. mindspore/train/dataset_helper.py +10 -15
  582. mindspore/train/loss_scale_manager.py +8 -11
  583. mindspore/train/metrics/__init__.py +1 -1
  584. mindspore/train/metrics/bleu_score.py +1 -1
  585. mindspore/train/metrics/confusion_matrix.py +1 -1
  586. mindspore/train/metrics/cosine_similarity.py +1 -1
  587. mindspore/train/metrics/dice.py +2 -2
  588. mindspore/train/metrics/fbeta.py +1 -1
  589. mindspore/train/metrics/hausdorff_distance.py +4 -3
  590. mindspore/train/metrics/mean_surface_distance.py +2 -2
  591. mindspore/train/metrics/occlusion_sensitivity.py +1 -1
  592. mindspore/train/metrics/perplexity.py +1 -1
  593. mindspore/train/metrics/precision.py +1 -1
  594. mindspore/train/metrics/recall.py +1 -1
  595. mindspore/train/metrics/roc.py +2 -2
  596. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  597. mindspore/train/mind_ir_pb2.py +116 -37
  598. mindspore/train/model.py +45 -28
  599. mindspore/train/serialization.py +295 -188
  600. mindspore/train/summary/_summary_adapter.py +1 -1
  601. mindspore/train/summary/summary_record.py +43 -13
  602. mindspore/train/train_thor/convert_utils.py +2 -2
  603. mindspore/train/train_thor/dataset_helper.py +3 -3
  604. mindspore/turbojpeg.dll +0 -0
  605. mindspore/version.py +1 -1
  606. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +3 -2
  607. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +610 -541
  608. mindspore/compression/__init__.py +0 -19
  609. mindspore/compression/common/constant.py +0 -124
  610. mindspore/compression/export/__init__.py +0 -19
  611. mindspore/compression/export/quant_export.py +0 -515
  612. mindspore/compression/quant/__init__.py +0 -28
  613. mindspore/compression/quant/qat.py +0 -634
  614. mindspore/compression/quant/quant_utils.py +0 -462
  615. mindspore/compression/quant/quantizer.py +0 -68
  616. mindspore/nn/layer/quant.py +0 -1868
  617. mindspore/nn/layer/rnn_utils.py +0 -90
  618. mindspore/nn/probability/dpn/__init__.py +0 -22
  619. mindspore/nn/probability/dpn/vae/__init__.py +0 -25
  620. mindspore/nn/probability/dpn/vae/cvae.py +0 -140
  621. mindspore/nn/probability/dpn/vae/vae.py +0 -124
  622. mindspore/nn/probability/infer/__init__.py +0 -22
  623. mindspore/nn/probability/infer/variational/elbo.py +0 -70
  624. mindspore/nn/probability/infer/variational/svi.py +0 -84
  625. mindspore/nn/probability/toolbox/__init__.py +0 -22
  626. mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
  627. mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -364
  628. mindspore/nn/probability/transforms/__init__.py +0 -22
  629. mindspore/nn/probability/transforms/transform_bnn.py +0 -262
  630. mindspore/nn/probability/zhusuan/__init__.py +0 -18
  631. mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
  632. mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
  633. mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
  634. mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
  635. mindspore/ops/_op_impl/aicpu/parallel_concat.py +0 -42
  636. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  637. mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -19
  638. mindspore/ops/bprop_mindir/Cast_bprop.mindir +0 -19
  639. mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -19
  640. mindspore/ops/bprop_mindir/MatMul_bprop.mindir +0 -0
  641. mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -17
  642. mindspore/ops/bprop_mindir/Transpose_bprop.mindir +0 -0
  643. mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -15
  644. mindspore/ops/composite/array_ops.py +0 -241
  645. mindspore/ops/composite/clip_ops.py +0 -134
  646. mindspore/ops/composite/random_ops.py +0 -426
  647. mindspore/ops/composite/vmap_ops.py +0 -38
  648. mindspore/parallel/nn/__init__.py +0 -42
  649. mindspore/parallel/nn/loss.py +0 -22
  650. mindspore/parallel/nn/moe.py +0 -21
  651. mindspore/parallel/nn/op_parallel_config.py +0 -22
  652. mindspore/parallel/nn/transformer.py +0 -31
  653. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
  654. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
  655. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,7 @@ from mindspore.nn.cell import Cell
23
23
  from mindspore.common import Tensor
24
24
  from mindspore.common.sparse_tensor import RowTensorInner
25
25
  from mindspore.common.parameter import Parameter
26
+ from mindspore.ops.operations.math_ops import NPUGetFloatStatusV2, NPUClearFloatStatusV2
26
27
  from mindspore.ops import functional as F
27
28
  from mindspore.ops import composite as C
28
29
  from mindspore.ops import operations as P
@@ -244,7 +245,7 @@ class TrainOneStepWithLossScaleCell(TrainOneStepCell):
244
245
  the shape should be :math:`()` or :math:`(1,)`.
245
246
 
246
247
  Inputs:
247
- - **(*inputs)** (Tuple(Tensor)) - Tuple of input tensors with shape :math:`(N, \ldots)`.
248
+ - **\*inputs** (Tuple(Tensor)) - Tuple of input tensors with shape :math:`(N, \ldots)`.
248
249
 
249
250
  Outputs:
250
251
  Tuple of 3 Tensor, the loss, overflow flag and current loss scale value.
@@ -255,7 +256,7 @@ class TrainOneStepWithLossScaleCell(TrainOneStepCell):
255
256
 
256
257
  Raises:
257
258
  TypeError: If `scale_sense` is neither Cell nor Tensor.
258
- ValueError: If shape of `scale_sense` is neither (1,) nor ().
259
+ ValueError: If shape of `scale_sense` is neither :math:`(1,)` nor :math:`()`.
259
260
 
260
261
  Supported Platforms:
261
262
  ``Ascend`` ``GPU``
@@ -309,8 +310,11 @@ class TrainOneStepWithLossScaleCell(TrainOneStepCell):
309
310
  super(TrainOneStepWithLossScaleCell, self).__init__(network, optimizer, sens=None)
310
311
  self.hyper_map = C.HyperMap()
311
312
  self.base = Tensor(1, mstype.float32)
313
+ self.base0 = Tensor(0, mstype.int32)
312
314
  self.reduce_sum = P.ReduceSum(keep_dims=False)
315
+ self.reduce_any = P.ReduceAny(keep_dims=False)
313
316
  self.less_equal = P.LessEqual()
317
+ self.not_equal = P.NotEqual()
314
318
  self.allreduce = P.AllReduce()
315
319
  self.is_distributed = (self.parallel_mode != ParallelMode.STAND_ALONE)
316
320
  self.gpu_target = (context.get_context("device_target") == "GPU")
@@ -385,18 +389,17 @@ class TrainOneStepWithLossScaleCell(TrainOneStepCell):
385
389
  cleared before executing the computation.
386
390
 
387
391
  Returns:
388
- Tuple[object, object], the first value is False for GPU backend, while it is an instance of
389
- NPUAllocFloatStatus for other backend. The status is used to detect overflow during `get_overflow_status`.
390
- The second value is the same as the input of `compute_input`, but contains some information about the
391
- execution order.
392
+ Tuple[object, object], the first output is used to control the execution sequence. To ensure that the
393
+ `start_overflow_check` is executed before get_overflow_status after compilation optimization is performed.
394
+ This value should be used as the first input of get_overflow_status. The second output is the same as
395
+ the input of compute_input, used to control the execution sequence, and make ensure that the overflow flag
396
+ is cleaned up when the function returns.
392
397
  """
393
- status = False
398
+ status = Tensor([0] * 8, mstype.int32)
394
399
  if not self.gpu_target:
395
- # init overflow buffer
396
- status = P.NPUAllocFloatStatus()()
397
400
  status = F.depend(status, pre_cond)
398
401
  # clear overflow buffer
399
- clear_status = P.NPUClearFloatStatus()(status)
402
+ clear_status = NPUClearFloatStatusV2()(status)
400
403
  compute_input = F.depend(compute_input, clear_status)
401
404
  return status, compute_input
402
405
 
@@ -409,32 +412,45 @@ class TrainOneStepWithLossScaleCell(TrainOneStepCell):
409
412
  based on this class can also call this interface to process the overflow.
410
413
 
411
414
  Args:
412
- status (object): A status instance used to detect the overflow.
413
- compute_output: Overflow detection should be performed on a certain computation. Set `compute_output`
414
- as the output of the computation, to ensure overflow `status` is acquired before executing the
415
- computation.
415
+ status (object): To control the execution sequence with start_overflow_check, it should be set as the first
416
+ output of start_overflow_check.
417
+ compute_output: Overflow detection should be performed in a certain computation process. Set
418
+ `compute_output` as the output of the computation process.
416
419
 
417
420
  Returns:
418
421
  bool, whether the overflow occurs or not.
419
422
  """
420
423
  if not self.gpu_target:
421
424
  status = F.depend(status, compute_output)
422
- get_status = P.NPUGetFloatStatus()(status)
423
- status = F.depend(status, get_status)
424
- # sum overflow buffer elements, 0:not overflow , >0:overflow
425
- flag_sum = self.reduce_sum(status, (0,))
425
+ get_status = NPUGetFloatStatusV2()(status)
426
+
427
+ if self.is_distributed:
428
+ # sum overflow flag over devices
429
+ flag_reduce = self.allreduce(get_status)
430
+ # get_status not equal to [0]*8 means overflow
431
+ flag = self.not_equal(self.base0, flag_reduce)
432
+ status = F.depend(status, flag)
433
+ # distributed needs to skip allreduce to avoid its overflow affecting the next step
434
+ clear_status = NPUClearFloatStatusV2()(status)
435
+ flag = F.depend(flag, clear_status)
436
+ else:
437
+ status = F.depend(status, get_status)
438
+ clear_status = NPUClearFloatStatusV2()(status)
439
+ get_status = F.depend(get_status, clear_status)
440
+ flag = self.not_equal(self.base0, get_status)
441
+ overflow = self.reduce_any(flag)
426
442
  else:
427
443
  flag_sum = self.hyper_map(F.partial(_grad_overflow), compute_output)
428
444
  flag_sum = P.AddN()(flag_sum)
429
445
  # convert flag_sum to scalar
430
446
  flag_sum = P.Reshape()(flag_sum, (()))
431
447
 
432
- if self.is_distributed:
433
- # sum overflow flag over devices
434
- flag_reduce = self.allreduce(flag_sum)
435
- overflow = self.less_equal(self.base, flag_reduce)
436
- else:
437
- overflow = self.less_equal(self.base, flag_sum)
448
+ if self.is_distributed:
449
+ # sum overflow flag over devices
450
+ flag_reduce = self.allreduce(flag_sum)
451
+ overflow = self.less_equal(self.base, flag_reduce)
452
+ else:
453
+ overflow = self.less_equal(self.base, flag_sum)
438
454
  return overflow
439
455
 
440
456
  def process_loss_scale(self, overflow):
@@ -22,12 +22,14 @@ import operator
22
22
  import numpy as onp
23
23
 
24
24
  from mindspore import context
25
+ from mindspore import ops
25
26
  from mindspore.common import Tensor
26
27
  from mindspore.common import dtype as mstype
27
28
  from mindspore.common.seed import get_seed
28
29
  from mindspore.ops import operations as P
29
30
  from mindspore.ops import functional as F
30
- from mindspore.ops.primitive import constexpr
31
+ from mindspore.ops.primitive import constexpr, _primexpr
32
+ from mindspore.ops.function.random_func import _get_seed
31
33
  from mindspore.nn.layer.basic import tril as nn_tril
32
34
  from mindspore.nn.layer.basic import triu as nn_triu
33
35
  from mindspore._c_expression import Tensor as Tensor_
@@ -454,7 +456,8 @@ def randn(*shape, dtype=mstype.float32):
454
456
  size = _generate_shapes(shape)
455
457
  seed = get_seed()
456
458
  if seed is not None:
457
- stdnormal = P.StandardNormal(seed=seed)
459
+ seed1, seed2 = _get_seed(seed, "StandardNormal")
460
+ stdnormal = P.StandardNormal(seed=seed1, seed2=seed2)
458
461
  else:
459
462
  stdnormal = P.StandardNormal()
460
463
  return stdnormal(size).astype(dtype)
@@ -494,7 +497,8 @@ def rand(*shape, dtype=mstype.float32):
494
497
  size = _generate_shapes(shape)
495
498
  seed = get_seed()
496
499
  if seed is not None:
497
- uniformreal = P.UniformReal(seed=seed)
500
+ seed1, seed2 = _get_seed(seed, "UniformReal")
501
+ uniformreal = P.UniformReal(seed=seed1, seed2=seed2)
498
502
  else:
499
503
  uniformreal = P.UniformReal()
500
504
  return uniformreal(size).astype(dtype)
@@ -563,7 +567,8 @@ def randint(minval, maxval=None, shape=None, dtype=mstype.int32):
563
567
  shape = _check_shape(shape)
564
568
  seed = get_seed()
565
569
  if seed is not None:
566
- uniformint = P.UniformInt(seed=seed)
570
+ seed1, seed2 = _get_seed(seed, "UniformInt")
571
+ uniformint = P.UniformInt(seed=seed1, seed2=seed2)
567
572
  else:
568
573
  uniformint = P.UniformInt()
569
574
  t_min = _type_convert(Tensor, minval).astype(dtype)
@@ -971,12 +976,10 @@ def empty(shape, dtype=mstype.float32):
971
976
  >>> import mindspore.numpy as np
972
977
  >>> output = np.empty((2, 3))
973
978
  >>> print(output)
974
- Tensor(shape=[2, 3], dtype=Float32, value=
975
- <uninitialized>)
979
+ [[0. 0. 0.]
980
+ [0. 0. 0.]]
976
981
  """
977
- shape = _check_shape(shape)
978
- dtype = _check_dtype(dtype)
979
- return empty_compile(dtype, shape)
982
+ return ops.zeros(shape, dtype)
980
983
 
981
984
 
982
985
  def _get_shape(array_like):
@@ -1042,8 +1045,10 @@ def empty_like(prototype, dtype=None, shape=None):
1042
1045
  >>> a = np.ones((4,1,2))
1043
1046
  >>> output = np.empty_like(a)
1044
1047
  >>> print(output)
1045
- Tensor(shape=[4, 1, 2], dtype=Float32, value=
1046
- <uninitialized>)
1048
+ [[[0. 0.]]
1049
+ [[0. 0.]]
1050
+ [[0. 0.]]
1051
+ [[0. 0.]]]
1047
1052
  """
1048
1053
  return _x_like(prototype, dtype, shape, empty)
1049
1054
 
@@ -1240,6 +1245,13 @@ def tril(m, k=0):
1240
1245
  m = asarray_const(m)
1241
1246
  dtype = m.dtype
1242
1247
  device_target = _device_target()
1248
+ # check rank
1249
+ rank = len(m.shape)
1250
+ if rank < 1:
1251
+ _raise_value_error("input m's rank should be larger than 0")
1252
+ elif rank == 1:
1253
+ mask = tri(m.shape[0], k=k, dtype=mstype.bool_)
1254
+ return where(mask, m, zeros(1, m.dtype))
1243
1255
  # Only Ascend hardware will reduce accuracy
1244
1256
  if device_target == "Ascend":
1245
1257
  m = m.astype(mstype.float32)
@@ -1287,6 +1299,13 @@ def triu(m, k=0):
1287
1299
  m = asarray_const(m)
1288
1300
  dtype = m.dtype
1289
1301
  device_target = _device_target()
1302
+ # check rank
1303
+ rank = len(m.shape)
1304
+ if rank < 1:
1305
+ _raise_value_error("input m's rank should be larger than 0")
1306
+ elif rank == 1:
1307
+ mask = tri(m.shape[0], k=k-1, dtype=mstype.bool_)
1308
+ return where(mask, zeros(1, m.dtype), m)
1290
1309
  # Only Ascend hardware will reduce accuracy
1291
1310
  if device_target == "Ascend":
1292
1311
  m = m.astype(mstype.float32)
@@ -1403,14 +1422,6 @@ def trace(a, offset=0, axis1=0, axis2=1, dtype=None):
1403
1422
  >>> output = np.trace(np.eye(3))
1404
1423
  >>> print(output)
1405
1424
  3.0
1406
- >>> a = np.arange(8).reshape((2,2,2))
1407
- >>> output = np.trace(a)
1408
- >>> print(output)
1409
- [6 8]
1410
- >>> a = np.arange(24).reshape((2,2,2,3))
1411
- >>> output = np.trace(a).shape
1412
- >>> print(output)
1413
- (2, 3)
1414
1425
  """
1415
1426
  return a.trace(offset=offset, axis1=axis1, axis2=axis2, dtype=dtype)
1416
1427
 
@@ -1565,7 +1576,7 @@ class NdGrid:
1565
1576
  if self.sparse:
1566
1577
  return grids
1567
1578
 
1568
- if isinstance(grids, Tensor_):
1579
+ if isinstance(grids, (Tensor, Tensor_)):
1569
1580
  return grids
1570
1581
  expanded = []
1571
1582
  for grid in grids:
@@ -2564,13 +2575,13 @@ def _pad_func(arr, pad_width, func, **kwargs):
2564
2575
  return arr
2565
2576
 
2566
2577
 
2567
- @constexpr
2578
+ @_primexpr
2568
2579
  def _make_stat_length(shape):
2569
2580
  """converts the stat_length values."""
2570
2581
  return tuple((shape[i], shape[i]) for i, _ in enumerate(shape))
2571
2582
 
2572
2583
 
2573
- @constexpr
2584
+ @_primexpr
2574
2585
  def _limit_stat_length(stat_length, shape):
2575
2586
  """limits the stat_length to current array length along given dimension."""
2576
2587
  return tuple((min(stat_pair[0], shape[i]), min(stat_pair[1], shape[i])) for i, stat_pair in enumerate(stat_length))
@@ -18,11 +18,12 @@ from __future__ import absolute_import
18
18
  import operator
19
19
 
20
20
  from mindspore.common import dtype as mstype
21
- from mindspore.common import Tensor
21
+ from mindspore.common import Tensor, mutable
22
22
  from mindspore.ops import operations as P
23
23
  from mindspore.ops import functional as F
24
- from mindspore.ops.primitive import constexpr
24
+ from mindspore.ops.primitive import constexpr, _primexpr
25
25
  from mindspore.nn import Cell
26
+ from mindspore import ops
26
27
 
27
28
  from mindspore.numpy.utils import _convert_list_tensor_to_tuple_tensor, _expand, _broadcast_to_shape, \
28
29
  _check_input_tensor, _broadcast_to, _to_tensor, _callable
@@ -33,8 +34,6 @@ from mindspore.numpy.utils_const import _check_axes_range, _check_start_normaliz
33
34
  _list_comprehensions, _check_element_int, _is_shape_empty, _type_convert, \
34
35
  _tuple_slice, _expanded_shape, _seq_prod, _tuple_setitem, _iota, \
35
36
  _raise_unimplemented_error, _cumprod, _get_device, _check_is_int
36
- from mindspore.ops._utils.utils import is_shape_unknown
37
- from ..ops.operations._inner_ops import DynamicBroadcastTo
38
37
 
39
38
 
40
39
  # According to official numpy reference, the dimension of a numpy array must be less
@@ -328,7 +327,7 @@ def ravel(x):
328
327
  return x.ravel()
329
328
 
330
329
 
331
- @constexpr
330
+ @_primexpr
332
331
  def _move_axes_for_concatenate(arr_shape, axis):
333
332
  """
334
333
  Moves axis 0 to the desiganated position, while keeps other axes' relative
@@ -711,8 +710,7 @@ def where(condition, x=None, y=None):
711
710
  x = F.cast(x, dtype)
712
711
  if not _check_same_type(dtype2, dtype):
713
712
  y = F.cast(y, dtype)
714
- is_bool = _check_same_type(dtype1, mstype.bool_) and _check_same_type(
715
- dtype2, mstype.bool_)
713
+ is_bool = _check_same_type(dtype1, mstype.bool_) and _check_same_type(dtype2, mstype.bool_)
716
714
  if is_bool:
717
715
  # select does not support bool type for x or y
718
716
  x = F.cast(x, mstype.float32)
@@ -721,7 +719,8 @@ def where(condition, x=None, y=None):
721
719
  if not _check_same_type(F.dtype(condition), mstype.float32):
722
720
  # tiling with bool is not supported on GPU
723
721
  condition = F.cast(condition, mstype.float32)
724
- dynamic = is_shape_unknown(F.shape(condition)) or is_shape_unknown(F.shape(x)) or is_shape_unknown(F.shape(y))
722
+ dynamic = F.is_sequence_value_unknown(F.shape(condition)) or F.is_sequence_value_unknown(F.shape(x))\
723
+ or F.is_sequence_value_unknown(F.shape(y))
725
724
  # As select op currently does not support broadcast, broadcasts input tensors
726
725
  if not dynamic:
727
726
  shape_out = _infer_out_shape(F.shape(condition),
@@ -734,9 +733,9 @@ def where(condition, x=None, y=None):
734
733
  add_x_y = x + y
735
734
  add_out = condition + F.cast(add_x_y, condition.dtype)
736
735
  shape_out = P.TensorShape()(add_out)
737
- condition = DynamicBroadcastTo()(condition, shape_out)
738
- x = DynamicBroadcastTo()(x, shape_out)
739
- y = DynamicBroadcastTo()(y, shape_out)
736
+ condition = ops.broadcast_to(condition, shape_out)
737
+ x = ops.broadcast_to(x, shape_out)
738
+ y = ops.broadcast_to(y, shape_out)
740
739
 
741
740
  if not _check_same_type(F.dtype(condition), mstype.bool_):
742
741
  condition = F.cast(condition, mstype.bool_)
@@ -1109,14 +1108,17 @@ def roll(a, shift, axis=None):
1109
1108
  return a
1110
1109
 
1111
1110
 
1112
- @constexpr
1111
+ @_primexpr
1113
1112
  def _get_moved_perm(ndim, source, destination):
1114
1113
  """
1115
1114
  Helper function for moveaxis, returns permutation after moving axes
1116
1115
  from source to destination.
1117
1116
  """
1118
1117
  dest_sorted_idx = [i for i, _ in sorted(enumerate(destination), key=operator.itemgetter(1))]
1119
- axes_orig = [i for i in range(ndim) if i not in source]
1118
+ axes_orig = mutable([], True)
1119
+ for i in range(ndim):
1120
+ if i not in source:
1121
+ axes_orig = axes_orig + [i]
1120
1122
 
1121
1123
  k = 0
1122
1124
  m = 0
@@ -1135,7 +1137,7 @@ def _get_moved_perm(ndim, source, destination):
1135
1137
  return tuple(perm)
1136
1138
 
1137
1139
 
1138
- @constexpr
1140
+ @_primexpr
1139
1141
  def _get_moved_shape(shape, perm):
1140
1142
  """
1141
1143
  Helper function for moveaxis, returns the permuated shape after
@@ -1245,7 +1247,7 @@ def tile(a, reps):
1245
1247
  return F.tile(a, reps)
1246
1248
 
1247
1249
 
1248
- @constexpr
1250
+ @_primexpr
1249
1251
  def _check_can_broadcast_to(shape, target_shape):
1250
1252
  """Determines if shape can be broadcast to target_shape."""
1251
1253
  ndim = len(shape)
@@ -1284,9 +1286,11 @@ def broadcast_to(array, shape):
1284
1286
  [1 2 3]
1285
1287
  [1 2 3]]
1286
1288
  """
1289
+ def _check(shape_a, shape):
1290
+ if not _check_can_broadcast_to(shape_a, shape):
1291
+ _raise_value_error('cannot broadcast with ', shape)
1287
1292
  shape_a = F.shape(array)
1288
- if not _check_can_broadcast_to(shape_a, shape):
1289
- return _raise_value_error('cannot broadcast with ', shape)
1293
+ _check(shape_a, shape)
1290
1294
  return _broadcast_to_shape(array, shape)
1291
1295
 
1292
1296
 
@@ -1432,29 +1436,29 @@ def _split(x, indices_or_sections, opname, axis=0):
1432
1436
  """Splits a tensor based on ``np.split`` or ``np.array_split``."""
1433
1437
  _check_input_tensor(x)
1434
1438
  _ = _check_axis_type(axis, True, False, False)
1435
- axis = _canonicalize_axis(axis, x.ndim)
1439
+ axis_new = _canonicalize_axis(axis, x.ndim)
1436
1440
  res = None
1437
1441
  arr_shape = x.shape
1438
- length_along_dim = arr_shape[axis]
1442
+ length_along_dim = arr_shape[axis_new]
1439
1443
  if isinstance(indices_or_sections, int):
1440
1444
  if indices_or_sections > length_along_dim:
1441
1445
  _raise_value_error("empty tensor encountered.")
1442
1446
  if opname == "split" or length_along_dim % indices_or_sections == 0:
1443
- res = P.Split(axis, indices_or_sections)(x)
1447
+ res = P.Split(axis_new, indices_or_sections)(x)
1444
1448
  else:
1445
1449
  num_long_tensor = length_along_dim % indices_or_sections
1446
1450
  num_short_tensor = indices_or_sections - num_long_tensor
1447
1451
  length1 = num_long_tensor * (length_along_dim // indices_or_sections + 1)
1448
1452
  length2 = length_along_dim - length1
1449
1453
  start1 = _list_comprehensions(F.rank(x), 0, True)
1450
- size1 = _tuple_setitem(arr_shape, axis, length1)
1451
- start2 = _tuple_setitem(start1, axis, length1)
1452
- size2 = _tuple_setitem(arr_shape, axis, length2)
1453
- res = P.Split(axis, num_long_tensor)(F.tensor_slice(x, start1, size1)) + \
1454
- P.Split(axis, num_short_tensor)(F.tensor_slice(x, start2, size2))
1454
+ size1 = _tuple_setitem(arr_shape, axis_new, length1)
1455
+ start2 = _tuple_setitem(start1, axis_new, length1)
1456
+ size2 = _tuple_setitem(arr_shape, axis_new, length2)
1457
+ res = P.Split(axis_new, num_long_tensor)(F.tensor_slice(x, start1, size1)) + \
1458
+ P.Split(axis_new, num_short_tensor)(F.tensor_slice(x, start2, size2))
1455
1459
 
1456
1460
  elif isinstance(indices_or_sections, (list, tuple)) and _check_element_int(indices_or_sections):
1457
- res = _split_sub_tensors(x, indices_or_sections, axis)
1461
+ res = _split_sub_tensors(x, indices_or_sections, axis_new)
1458
1462
  else:
1459
1463
  _raise_type_error("Argument `indices_or_sections` in `mindspore.numpy.split`\
1460
1464
  should be integer, tuple(int) or list(int), but got", indices_or_sections)
@@ -1625,17 +1629,17 @@ def dsplit(x, indices_or_sections):
1625
1629
  return split(x, indices_or_sections, 2)
1626
1630
 
1627
1631
 
1628
- @constexpr
1632
+ @_primexpr
1629
1633
  def _get_flip_start(ndim, shape, axes):
1630
1634
  return tuple([shape[i] - 1 if i in axes else 0 for i in range(ndim)])
1631
1635
 
1632
1636
 
1633
- @constexpr
1637
+ @_primexpr
1634
1638
  def _get_flip_end(ndim, shape, axes):
1635
1639
  return tuple([-shape[i] - 1 if i in axes else shape[i] + 1 for i in range(ndim)])
1636
1640
 
1637
1641
 
1638
- @constexpr
1642
+ @_primexpr
1639
1643
  def _get_flip_strides(ndim, axes):
1640
1644
  return tuple([-1 if i in axes else 1 for i in range(ndim)])
1641
1645
 
@@ -1809,6 +1813,7 @@ def take_along_axis(arr, indices, axis):
1809
1813
  _tuple_slice(shape_arr, None, axis), ndim)
1810
1814
  indices = _broadcast_to(indices, _tuple_slice(shape_arr, None, axis + 1) +
1811
1815
  _tuple_slice(shape_indices, axis + 1, None), shape_arr, ndim)
1816
+ arr = _broadcast_to(arr, shape_arr, indices.shape, ndim)
1812
1817
  return F.gather_d(arr, axis, indices)
1813
1818
 
1814
1819
 
@@ -2087,7 +2092,7 @@ def select(condlist, choicelist, default=0):
2087
2092
  return F.reshape(default_slice, (case_size)).astype(dtype)
2088
2093
 
2089
2094
 
2090
- @constexpr
2095
+ @_primexpr
2091
2096
  def _get_grid(shape):
2092
2097
  """Returns a grid representing all the indices for an array with the given shape."""
2093
2098
  grids = []
@@ -18,11 +18,12 @@ from __future__ import absolute_import
18
18
  from mindspore.ops import functional as F
19
19
  from mindspore.common import dtype as mstype
20
20
  from mindspore.common import Tensor
21
+ from mindspore.ops import operations as P
21
22
 
22
- from mindspore.numpy.math_ops import _apply_tensor_op, absolute
23
- from mindspore.numpy.array_creations import zeros, ones, empty, asarray
23
+ from mindspore.numpy.math_ops import _apply_tensor_op
24
+ from mindspore.numpy.array_creations import zeros, ones, asarray
24
25
  from mindspore.numpy.utils import _check_input_tensor, _to_tensor, _isnan
25
- from mindspore.numpy.utils_const import _raise_type_error, _is_shape_empty, _infer_out_shape, _check_same_type, \
26
+ from mindspore.numpy.utils_const import _raise_type_error, _check_same_type, \
26
27
  _check_axis_type, _canonicalize_axis, _can_broadcast, _isscalar
27
28
 
28
29
 
@@ -490,30 +491,8 @@ def isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False):
490
491
  [ True True False False True True]
491
492
  """
492
493
  a, b = _to_tensor(a, b)
493
- if not isinstance(rtol, (int, float, bool)) or not isinstance(atol, (int, float, bool)):
494
- _raise_type_error("rtol and atol are expected to be numbers.")
495
- if not isinstance(equal_nan, bool):
496
- _raise_type_error("equal_nan is expected to be bool.")
497
-
498
- if _is_shape_empty(a.shape) or _is_shape_empty(b.shape):
499
- return empty(_infer_out_shape(a.shape, b.shape), dtype=mstype.bool_)
500
- rtol = _to_tensor(rtol).astype("float32")
501
- atol = _to_tensor(atol).astype("float32")
502
- res = absolute(a - b) <= (atol + rtol * absolute(b))
503
- # infs are treated as equal
504
- a_posinf = isposinf(a)
505
- b_posinf = isposinf(b)
506
- a_neginf = isneginf(a)
507
- b_neginf = isneginf(b)
508
- same_inf = F.logical_or(F.logical_and(a_posinf, b_posinf), F.logical_and(a_neginf, b_neginf))
509
- diff_inf = F.logical_or(F.logical_and(a_posinf, b_neginf), F.logical_and(a_neginf, b_posinf))
510
- res = F.logical_and(F.logical_or(res, same_inf), F.logical_not(diff_inf))
511
- both_nan = F.logical_and(_isnan(a), _isnan(b))
512
- if equal_nan:
513
- res = F.logical_or(both_nan, res)
514
- else:
515
- res = F.logical_and(F.logical_not(both_nan), res)
516
- return res
494
+ is_close = P.IsClose(rtol=rtol, atol=atol, equal_nan=equal_nan)
495
+ return is_close(a, b)
517
496
 
518
497
 
519
498
  def in1d(ar1, ar2, invert=False):
@@ -25,7 +25,7 @@ from numpy import dtype as nptype
25
25
  from mindspore.ops import operations as P
26
26
  from mindspore.ops import functional as F
27
27
  from mindspore.ops import composite as C
28
- from mindspore.ops.primitive import constexpr
28
+ from mindspore.ops.primitive import constexpr, _primexpr
29
29
  from mindspore.common import dtype as mstype
30
30
  from mindspore.common import Tensor
31
31
  from mindspore._c_expression import typing
@@ -47,6 +47,7 @@ from mindspore.numpy.utils_const import _infer_out_shape, _check_axis_valid, _ge
47
47
  _raise_unimplemented_error, _abs, _in, _tuple_slice, _check_is_inf
48
48
  from mindspore.numpy.utils import _expand, _broadcast_to, _broadcast_to_shape, _check_input_tensor, \
49
49
  _to_tensor, _to_tensor_origin_dtype, _isnan
50
+ from mindspore.ops.composite.multitype_ops._compile_utils import reduce_
50
51
 
51
52
 
52
53
  ZERO_TENSOR = asarray_const(0)
@@ -1439,7 +1440,8 @@ def amax(a, axis=None, keepdims=False, initial=None, where=True):
1439
1440
  >>> print(output)
1440
1441
  [-1. 3.]
1441
1442
  """
1442
- return a.max(axis, keepdims, initial, where)
1443
+ return reduce_(a, P.ReduceMax(keepdims), cmp_fn=F.maximum, axis=axis, keepdims=keepdims,
1444
+ initial=initial, where=where)
1443
1445
 
1444
1446
 
1445
1447
  def amin(a, axis=None, keepdims=False, initial=None, where=True):
@@ -1494,7 +1496,8 @@ def amin(a, axis=None, keepdims=False, initial=None, where=True):
1494
1496
  >>> print(output)
1495
1497
  [10. 1.]
1496
1498
  """
1497
- return a.min(axis, keepdims, initial, where)
1499
+ return reduce_(a, P.ReduceMin(keepdims), cmp_fn=F.minimum, axis=axis, keepdims=keepdims,
1500
+ initial=initial, where=where)
1498
1501
 
1499
1502
 
1500
1503
  def hypot(x1, x2, dtype=None):
@@ -1915,7 +1918,7 @@ def diff(a, n=1, axis=-1, prepend=None, append=None):
1915
1918
  prepend/append (Tensor, optional): Values to prepend or append to a along
1916
1919
  `axis` prior to performing the difference. Scalar values are expanded to
1917
1920
  arrays with length 1 in the direction of `axis` and the shape of the input
1918
- array in along all other axis. Otherwise the dimension and shape must
1921
+ array in along all other axes. Otherwise the dimension and shape must
1919
1922
  match `a` except along axis. Default: `None`.
1920
1923
 
1921
1924
  Returns:
@@ -1939,7 +1942,7 @@ def diff(a, n=1, axis=-1, prepend=None, append=None):
1939
1942
  """
1940
1943
  # This implementation is inspired by jax.numpy
1941
1944
  _check_input_tensor(a)
1942
- axis = _canonicalize_axis(axis, a.ndim)
1945
+ new_axis = _canonicalize_axis(axis, a.ndim)
1943
1946
  if not isinstance(n, int):
1944
1947
  _raise_type_error("Input n should be int, but got ", n)
1945
1948
  if n < 0:
@@ -1957,17 +1960,17 @@ def diff(a, n=1, axis=-1, prepend=None, append=None):
1957
1960
  combined = _handle_prepend_append(combined, a, append, axis)
1958
1961
 
1959
1962
  if combined:
1960
- a = concatenate(combined, axis)
1963
+ a = concatenate(combined, new_axis)
1961
1964
 
1962
1965
  # if n > maximum length allowed, the tensor is empty, and is not supported
1963
- if n >= a.shape[axis]:
1966
+ if n >= a.shape[new_axis]:
1964
1967
  _raise_value_error("n is bigger then the specified dimension, this will result in an empty tensor.")
1965
1968
 
1966
1969
  original_dtype = a.dtype
1967
1970
  # will change once F.tensor_slice supports types other than float32
1968
1971
  if not _check_is_float(original_dtype):
1969
1972
  a = a.astype(mstype.float32)
1970
- a = moveaxis(a, axis, -1)
1973
+ a = moveaxis(a, new_axis, -1)
1971
1974
  for _ in F.make_range(n):
1972
1975
  slice_start = _list_comprehensions(F.rank(a) - 1, 0, True)
1973
1976
  slice_size = F.shape(a)[:-1] + (F.shape(a)[-1] - 1,)
@@ -1976,7 +1979,7 @@ def diff(a, n=1, axis=-1, prepend=None, append=None):
1976
1979
  a = F.tensor_sub(minuend, subtrahend)
1977
1980
  if not _check_is_float(original_dtype):
1978
1981
  a = a.astype(original_dtype)
1979
- return moveaxis(a, -1, axis)
1982
+ return moveaxis(a, -1, new_axis)
1980
1983
 
1981
1984
 
1982
1985
  def ediff1d(ary, to_end=None, to_begin=None):
@@ -2407,7 +2410,7 @@ def _real_axes(ndim_orig, ndim_out, axes_orig):
2407
2410
  return axes + tuple(axes_orig)
2408
2411
 
2409
2412
 
2410
- @constexpr
2413
+ @_primexpr
2411
2414
  def _shape_reduced_keepdims(shape, axes):
2412
2415
  """
2413
2416
  Reduces dimensions corresponding to argument axes while
@@ -2421,7 +2424,7 @@ def _shape_reduced_keepdims(shape, axes):
2421
2424
  return tuple(shape_out)
2422
2425
 
2423
2426
 
2424
- @constexpr
2427
+ @_primexpr
2425
2428
  def _shape_reduced(shape, axes):
2426
2429
  """Removes dimensions corresponding to argument axes"""
2427
2430
  ndim_orig = F.tuple_len(shape)
@@ -3544,7 +3547,7 @@ def arcsin(x, dtype=None):
3544
3547
  return _apply_tensor_op(F.asin, x, dtype=dtype)
3545
3548
 
3546
3549
 
3547
- def arccos(x, dtype=None):
3550
+ def arccos(input, dtype=None):
3548
3551
  """
3549
3552
  Trigonometric inverse cosine, element-wise.
3550
3553
 
@@ -3553,7 +3556,7 @@ def arccos(x, dtype=None):
3553
3556
  not supported.
3554
3557
 
3555
3558
  Args:
3556
- x (Tensor): Input tensor. x-coordinate on the unit circle.
3559
+ input (Tensor): Input tensor. x-coordinate on the unit circle.
3557
3560
  For real arguments, the domain is :math:`[-1, 1]`.
3558
3561
  dtype (:class:`mindspore.dtype`, optional): Default: :class:`None`. Overrides the dtype of the
3559
3562
  output Tensor.
@@ -3569,13 +3572,13 @@ def arccos(x, dtype=None):
3569
3572
 
3570
3573
  Examples:
3571
3574
  >>> import mindspore.numpy as np
3572
- >>> x = np.asarray([1, -1], np.float32)
3573
- >>> output = np.arccos(x)
3575
+ >>> input = np.asarray([1, -1], np.float32)
3576
+ >>> output = np.arccos(input)
3574
3577
  >>> print(output)
3575
3578
  [0. 3.1415927]
3576
3579
  """
3577
- x = _cast_type_for_trigonometric(x)
3578
- return _apply_tensor_op(F.acos, x, dtype=dtype)
3580
+ input = _cast_type_for_trigonometric(input)
3581
+ return _apply_tensor_op(F.acos, input, dtype=dtype)
3579
3582
 
3580
3583
 
3581
3584
  def arctan(x, dtype=None):
@@ -3802,7 +3805,7 @@ def arctan2(x1, x2, dtype=None):
3802
3805
  if both `x1` and `x2` are scalars.
3803
3806
 
3804
3807
  Supported Platforms:
3805
- ``Ascend`` ``CPU`` ``GPU``
3808
+ ``Ascend`` ``GPU`` ``CPU``
3806
3809
 
3807
3810
  Examples:
3808
3811
  >>> import mindspore.numpy as np
@@ -4112,7 +4115,7 @@ def _min_cost_chain_matmul(dims):
4112
4115
  return s
4113
4116
 
4114
4117
 
4115
- @constexpr
4118
+ @_primexpr
4116
4119
  def _get_dims(shapes):
4117
4120
  """
4118
4121
  Returns the chain of the dimensions in arrays.
mindspore/numpy/utils.py CHANGED
@@ -206,6 +206,6 @@ def _callable(tensor, obj):
206
206
 
207
207
 
208
208
  def _isnan(x):
209
- if _get_device() == 'Ascend' or not _check_is_float(F.dtype(x)):
209
+ if _get_device() == 'Ascend' and not _check_is_float(F.dtype(x)):
210
210
  return F.fill(mstype.bool_, F.shape(x), False)
211
211
  return F.isnan(x)