mindspore 2.0.0a0__cp38-cp38-win_amd64.whl → 2.0.0rc1__cp38-cp38-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.cp38-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp38-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp38-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
@@ -15,7 +15,6 @@
15
15
 
16
16
  """Define the grad rules of math related operations."""
17
17
 
18
- from functools import reduce
19
18
  import numpy as np
20
19
  import mindspore as ms
21
20
  from mindspore import nn
@@ -30,10 +29,9 @@ from mindspore.ops._grad.grad_base import bprop_getters, create_tensor_by_elemen
30
29
  from mindspore.ops._grad.grad_base import convert_to_tensor
31
30
  from mindspore.ops._grad.grad_base import sum_grad_reduce_axis, dyn_fill, dyn_rank
32
31
  from mindspore.ops._grad.grad_base import dyn_ones, dyn_rank_1d
33
- from mindspore.ops.primitive import constexpr
32
+ from mindspore.ops.primitive import _primexpr
34
33
  from mindspore.ops.composite.multitype_ops import _constexpr_utils as const_utils
35
- from mindspore.ops.operations._inner_ops import DynamicBroadcastGradientArgs, DynamicBroadcastTo, IsSubClass
36
- from mindspore.ops._utils.utils import is_shape_unknown, is_dim_unknown
34
+ from mindspore.ops.operations._inner_ops import DynamicBroadcastGradientArgs, IsSubClass, DynamicBroadcastTo
37
35
  from mindspore.ops.operations import array_ops as A
38
36
 
39
37
  shape_op = P.Shape()
@@ -114,7 +112,7 @@ def binop_grad_common(x, y, dx, dy):
114
112
  # if input shape is the same as dout shape, do not need to reduce
115
113
  reduce_dx = dx
116
114
  reduce_dy = dy
117
- if not (is_shape_unknown(shape_of_x) or is_shape_unknown(shape_of_y)):
115
+ if not (F.is_sequence_value_unknown(shape_of_x) or F.is_sequence_value_unknown(shape_of_y)):
118
116
  rx = broadcast_gradient_args(shape_of_x, shape_of_y)
119
117
  if rx[0]:
120
118
  # if dx is scalar whose shape is (), do not need reduce
@@ -127,11 +125,12 @@ def binop_grad_common(x, y, dx, dy):
127
125
  dy = _reduce_sum_with_cast(dy, rx[1])
128
126
  reduce_dy = reshape(dy, shape_of_y)
129
127
  return reduce_dx, reduce_dy
130
- if not shape_of_x or not shape_of_y:
128
+
129
+ if not isinstance(shape_of_x, tuple) or not isinstance(shape_of_y, tuple):
131
130
  # x or y is scalar
132
- if not shape_of_x:
131
+ if not isinstance(shape_of_x, tuple):
133
132
  reduce_dx = _reduce_sum_with_cast(dx, ())
134
- if not shape_of_y:
133
+ if not isinstance(shape_of_y, tuple):
135
134
  reduce_dy = _reduce_sum_with_cast(dy, ())
136
135
  return reduce_dx, reduce_dy
137
136
 
@@ -151,7 +150,7 @@ def binop_grad_common_with_shift(x, y, dx, dy, shift):
151
150
  # if input shape is the same as dout shape, do not need to reduce
152
151
  reduce_dx = dx
153
152
  reduce_dy = dy
154
- if not (is_shape_unknown(broadcast_shape_of_x) or is_shape_unknown(broadcast_shape_of_y)):
153
+ if not (F.is_sequence_value_unknown(broadcast_shape_of_x) or F.is_sequence_value_unknown(broadcast_shape_of_y)):
155
154
  rx = broadcast_gradient_args(broadcast_shape_of_x, broadcast_shape_of_y)
156
155
  if rx[0]:
157
156
  # if dx is scalar whose shape is (), do not need reduce
@@ -164,11 +163,12 @@ def binop_grad_common_with_shift(x, y, dx, dy, shift):
164
163
  dy = _reduce_sum_with_cast(dy, rx[1])
165
164
  reduce_dy = reshape(dy, shape_of_y)
166
165
  return reduce_dx, reduce_dy
167
- if not shape_of_x or not shape_of_y:
166
+
167
+ if not isinstance(shape_of_x, tuple) or not isinstance(shape_of_y, tuple):
168
168
  # x or y is scalar
169
- if not shape_of_x:
169
+ if not isinstance(shape_of_x, tuple):
170
170
  reduce_dx = _reduce_sum_with_cast(dx, ())
171
- if not shape_of_y:
171
+ if not isinstance(shape_of_y, tuple):
172
172
  reduce_dy = _reduce_sum_with_cast(dy, ())
173
173
  return reduce_dx, reduce_dy
174
174
 
@@ -178,7 +178,7 @@ def binop_grad_common_with_shift(x, y, dx, dy, shift):
178
178
  def _dyn_reduced_shape(input_shape, axis, x):
179
179
  """Dynamic reduce shape"""
180
180
  input_shape = P.Cast()(input_shape, ms.int32)
181
- if x is not None and not is_dim_unknown(shape_op(x)):
181
+ if x is not None and not F.is_sequence_shape_unknown(shape_op(x)):
182
182
  input_rank = len(shape_op(x))
183
183
  else:
184
184
  input_rank = dyn_rank(x)
@@ -209,7 +209,7 @@ def _sum_grad(x, axis, dout):
209
209
  """Grad definition for `Sum` operation."""
210
210
  input_shape = shape_op(x)
211
211
  is_mutable, axis = convert_to_tensor(axis)
212
- if is_shape_unknown(input_shape) or is_mutable:
212
+ if F.is_sequence_value_unknown(input_shape) or is_mutable:
213
213
  input_shape = dyn_shape_op(x)
214
214
  output_shape_kept_dims = _dyn_reduced_shape(input_shape, axis, x)
215
215
  output_shape_kept_dims = P.Cast()(output_shape_kept_dims, ms.int32)
@@ -226,7 +226,7 @@ def _min_or_max_grad(x, axis, out, dout):
226
226
  """Grad definition for `Min` and `Max` operations."""
227
227
  input_shape = shape_op(x)
228
228
  output_shape_kept_dims = ()
229
- if is_shape_unknown(input_shape):
229
+ if F.is_sequence_value_unknown(input_shape):
230
230
  input_shape = dyn_shape_op(x)
231
231
  output_shape_kept_dims = _dyn_reduced_shape(input_shape, axis, x)
232
232
  output_shape_kept_dims = P.Cast()(output_shape_kept_dims, ms.int32)
@@ -268,7 +268,7 @@ def _argmin_or_argmax_grad(x, axis, keep_dims, op, out, dout):
268
268
  x_axis = axis
269
269
  onehot_axis_is_neg = False
270
270
  if x_axis < 0:
271
- if not is_dim_unknown(x_shape):
271
+ if not F.is_sequence_shape_unknown(x_shape):
272
272
  x_axis = axis + x_dim
273
273
  else:
274
274
  onehot_axis_is_neg = True
@@ -279,13 +279,13 @@ def _argmin_or_argmax_grad(x, axis, keep_dims, op, out, dout):
279
279
  else:
280
280
  dout_expand = expand(dout[1], onehot_axis)
281
281
  out_shape = shape_op(out[0])
282
- if not is_dim_unknown(out_shape):
282
+ if not F.is_sequence_shape_unknown(out_shape):
283
283
  if onehot_axis >= len(out_shape):
284
284
  onehot_axis = -1
285
285
  type_x = F.dtype(x)
286
286
  on_value = F.cast(F.scalar_to_tensor(1.0), type_x)
287
287
  off_value = F.cast(F.scalar_to_tensor(0.0), type_x)
288
- if not is_shape_unknown(x_shape):
288
+ if not F.is_sequence_value_unknown(x_shape):
289
289
  depth = 1
290
290
  if x_shape:
291
291
  depth = x_shape[axis]
@@ -308,35 +308,6 @@ def _argmin_or_argmax_grad(x, axis, keep_dims, op, out, dout):
308
308
  return dx
309
309
 
310
310
 
311
- @bprop_getters.register(P.MatMul)
312
- def bprop_matmul(self):
313
- """Grad definition for `MatMul` operation."""
314
- ta = self.transpose_a
315
- tb = self.transpose_b
316
- mul1 = P.MatMul(transpose_a=(ta and tb),
317
- transpose_b=(ta or (not tb)))
318
- mul2 = P.MatMul(transpose_a=((not ta) or tb),
319
- transpose_b=(ta and tb))
320
-
321
- def bprop(x, w, out, dout):
322
- conj = P.Conj()
323
- origin_dtype = x.dtype
324
- if origin_dtype in (mstype.complex64, mstype.complex128):
325
- x = conj(x)
326
- w = conj(w)
327
- if ta:
328
- dx = mul1(w, dout)
329
- else:
330
- dx = mul1(dout, w)
331
- if tb:
332
- dw = mul2(dout, x)
333
- else:
334
- dw = mul2(x, dout)
335
- return dx, dw
336
-
337
- return bprop
338
-
339
-
340
311
  @bprop_getters.register(P.BatchMatMul)
341
312
  def bprop_batchmatmul(self):
342
313
  """Grad definition for `BatchMatMul` operation."""
@@ -361,16 +332,6 @@ def bprop_batchmatmul(self):
361
332
  return bprop
362
333
 
363
334
 
364
- @bprop_getters.register(P.Add)
365
- def get_bprop_add(self):
366
- """Grad definition for `Add` operation."""
367
-
368
- def bprop(x, y, out, dout):
369
- return binop_grad_common(x, y, dout, dout)
370
-
371
- return bprop
372
-
373
-
374
335
  @bprop_getters.register(P.TensorAdd)
375
336
  def get_bprop_tensor_add(self):
376
337
  """Grad definition for `Add` operation."""
@@ -397,35 +358,14 @@ def get_bprop_matrix_inverse(self):
397
358
  return bprop
398
359
 
399
360
 
400
- @bprop_getters.register(P.Neg)
401
- def get_bprop_neg(self):
402
- """Grad definition for `Neg` operation."""
403
- neg_grad = P.Neg()
404
-
405
- def bprop(x, out, dout):
406
- dx = neg_grad(dout)
407
- return (dx,)
408
-
409
- return bprop
410
-
411
-
412
- @bprop_getters.register(P.Sub)
413
- def get_bprop_sub(self):
414
- """Grad definition for `Sub` operation."""
415
- neg_func = P.Neg()
416
-
417
- def bprop(x, y, out, dout):
418
- return binop_grad_common(x, y, dout, neg_func(dout))
419
-
420
- return bprop
421
-
422
-
423
361
  @bprop_getters.register(P.Mul)
424
362
  def get_bprop_mul(self):
425
363
  """Grad definition for `Mul` operation."""
426
364
  mul_func = P.Mul()
427
365
 
428
366
  def bprop(x, y, out, dout):
367
+ if x.dtype in (mstype.complex64, mstype.complex128):
368
+ raise TypeError("For 'Mul', gradient not support for complex type currently.")
429
369
  bc_dx = mul_func(y, dout)
430
370
  bc_dy = mul_func(x, dout)
431
371
  return binop_grad_common(x, y, bc_dx, bc_dy)
@@ -441,6 +381,8 @@ def get_bprop_real_div(self):
441
381
  mul_op = P.Mul()
442
382
 
443
383
  def bprop(x, y, out, dout):
384
+ if x.dtype in (mstype.complex64, mstype.complex128):
385
+ raise TypeError("For 'RealDiv', gradient not support for complex type currently.")
444
386
  bc_x = div_op(dout, y)
445
387
  bc_y = neg(mul_op(bc_x, out))
446
388
  return binop_grad_common(x, y, bc_x, bc_y)
@@ -501,7 +443,7 @@ def get_bprop_floor(self):
501
443
  dtype_ = P.DType()
502
444
 
503
445
  def bprop(x, out, dout):
504
- if is_shape_unknown(shape_(x)):
446
+ if F.is_sequence_value_unknown(shape_(x)):
505
447
  bc_x = zeros_like(x)
506
448
  else:
507
449
  bc_x = fill_(dtype_(x), shape_(x), 0.)
@@ -518,7 +460,7 @@ def get_bprop_ceil(self):
518
460
  dtype_ = P.DType()
519
461
 
520
462
  def bprop(x, out, dout):
521
- if is_shape_unknown(shape_(x)):
463
+ if F.is_sequence_value_unknown(shape_(x)):
522
464
  bc_x = zeros_like(x)
523
465
  else:
524
466
  bc_x = fill_(dtype_(x), shape_(x), 0.)
@@ -537,6 +479,36 @@ def get_bprop_floordiv(self):
537
479
  return bprop
538
480
 
539
481
 
482
+ @bprop_getters.register(P.BitwiseAnd)
483
+ def get_bprop_bitwiseand(self):
484
+ """Grad definition for `BitwiseAnd` operation."""
485
+
486
+ def bprop(x, y, out, dout):
487
+ return zeros_like(x), zeros_like(y)
488
+
489
+ return bprop
490
+
491
+
492
+ @bprop_getters.register(P.BitwiseOr)
493
+ def get_bprop_bitwiseor(self):
494
+ """Grad definition for `BitwiseOr` operation."""
495
+
496
+ def bprop(x, y, out, dout):
497
+ return zeros_like(x), zeros_like(y)
498
+
499
+ return bprop
500
+
501
+
502
+ @bprop_getters.register(P.BitwiseXor)
503
+ def get_bprop_bitwisexor(self):
504
+ """Grad definition for `BitwiseXor` operation."""
505
+
506
+ def bprop(x, y, out, dout):
507
+ return zeros_like(x), zeros_like(y)
508
+
509
+ return bprop
510
+
511
+
540
512
  @bprop_getters.register(P.FloorMod)
541
513
  def get_bprop_floormod(self):
542
514
  """Grad definition for `FloorMod` operation."""
@@ -594,7 +566,7 @@ def get_bprop_square(self):
594
566
  def bprop(x, out, dout):
595
567
  temp = mul_func(dout, x)
596
568
  shape_x = shape_op(x)
597
- if is_shape_unknown(shape_x):
569
+ if F.is_sequence_value_unknown(shape_x):
598
570
  fill_value = dyn_fill(dtype(temp), dyn_shape_op(x), 2.0)
599
571
  else:
600
572
  fill_value = fill_func(dtype(temp), shape_x, 2.0)
@@ -644,12 +616,12 @@ def get_bprop_square_sum_all(self):
644
616
  def bprop(x, y, out, dout):
645
617
  temp_x = mul_func(dout[0], x)
646
618
  temp_y = mul_func(dout[1], y)
647
- if is_shape_unknown(shape_op(x)):
619
+ if F.is_sequence_value_unknown(shape_op(x)):
648
620
  dx = mul_func(dyn_fill(dtype(temp_x), dyn_shape_op(x), 2.0), temp_x)
649
621
  else:
650
622
  dx = mul_func(fill_func(dtype(temp_x), shape_op(x), 2.0), temp_x)
651
623
 
652
- if is_shape_unknown(shape_op(y)):
624
+ if F.is_sequence_value_unknown(shape_op(y)):
653
625
  dy = mul_func(dyn_fill(dtype(temp_y), dyn_shape_op(y), 2.0), temp_y)
654
626
  else:
655
627
  dy = mul_func(fill_func(dtype(temp_y), shape_op(y), 2.0), temp_y)
@@ -792,9 +764,11 @@ def get_bprop_pow(self):
792
764
  ln = P.Log()
793
765
 
794
766
  def bprop(x, power, out, dout):
767
+ if x.dtype in (mstype.complex64, mstype.complex128):
768
+ raise TypeError("For 'Pow', gradient not support for complex type currently.")
795
769
  bc_dx = power * pow_op(x, power - 1.0) * dout
796
770
  shape_x = shape_op(x)
797
- if is_shape_unknown(shape_x):
771
+ if F.is_sequence_value_unknown(shape_x):
798
772
  x = F.select(x < 0, dyn_fill(F.dtype(x), dyn_shape_op(x), 1), x)
799
773
  else:
800
774
  x = F.select(x < 0, F.fill(F.dtype(x), F.shape(x), 1), x)
@@ -888,21 +862,31 @@ def get_bprop_cumsum(self):
888
862
  return bprop
889
863
 
890
864
 
891
- @constexpr
865
+ @_primexpr
892
866
  def _split_shape_index(input_shape, axis):
893
867
  """Calculate reduce_prod grad transpose indices and perm shape."""
894
868
  rank = len(input_shape)
895
869
  if isinstance(axis, int):
896
870
  axis = tuple([axis])
897
871
  reduction_indices = tuple([(i + rank) % rank for i in axis])
898
- other_indices = tuple(set(range(rank)) - set(reduction_indices))
899
- reduced_num = reduce(lambda x, y: x * y, [1] + [input_shape[i] for i in reduction_indices])
900
- other_num = reduce(lambda x, y: x * y, [1] + [input_shape[i] for i in other_indices])
872
+ other_indices_list = []
873
+ for i in range(rank):
874
+ if i not in reduction_indices and i not in other_indices_list:
875
+ other_indices_list.append(i)
876
+ other_indices = tuple(other_indices_list)
877
+ reduced_list = [1] + [input_shape[i] for i in reduction_indices]
878
+ other_list = [1] + [input_shape[i] for i in other_indices]
879
+ reduced_num = 1
880
+ for i in reduced_list:
881
+ reduced_num = reduced_num * i
882
+ other_num = 1
883
+ for i in other_list:
884
+ other_num = other_num * i
901
885
  perm = reduction_indices + other_indices
902
886
  return tuple([reduced_num, other_num]), perm
903
887
 
904
888
 
905
- @constexpr
889
+ @_primexpr
906
890
  def _invert_permutation(perm):
907
891
  """Calculate invert permutation."""
908
892
  out = [0] * len(perm)
@@ -940,9 +924,15 @@ def get_bprop_reduceprod(self):
940
924
 
941
925
  def bprop(x, axis, out, dout):
942
926
  """Grad definition for `Product` operation."""
927
+ if x.dtype in (mstype.complex64, mstype.complex128):
928
+ raise TypeError("The 'ReduceProd', gradient not support for complex type currently.")
943
929
  # Expand dout to full input shape
944
930
  input_shape = shape_op(x)
945
- if is_shape_unknown(input_shape):
931
+ if input_shape == ():
932
+ dx = _sum_grad(x, axis, dout)
933
+ return dx, zeros_like(axis)
934
+
935
+ if F.is_sequence_value_unknown(input_shape):
946
936
  input_shape = dyn_shape_op(x)
947
937
  input_shape = P.Cast()(input_shape, ms.int64)
948
938
  output_shape_kept_dims = _dyn_reduced_shape(input_shape, axis, x)
@@ -953,14 +943,14 @@ def get_bprop_reduceprod(self):
953
943
  dout = reshape(dout, output_shape_kept_dims)
954
944
 
955
945
  # Pack all reduced dimensions into a single one, so we can perform the cumprod ops.
956
- if is_shape_unknown(shape_op(x)):
946
+ if F.is_sequence_value_unknown(shape_op(x)):
957
947
  pack_shape, perm = _split_dyn_shape_index(x, axis)
958
948
  else:
959
949
  pack_shape, perm = _split_shape_index(shape_op(x), axis)
960
950
 
961
951
  permuted = transpose(x, perm)
962
952
  permuted_shape = shape_op(permuted)
963
- if is_shape_unknown(permuted_shape):
953
+ if F.is_sequence_value_unknown(permuted_shape):
964
954
  permuted_shape = dyn_shape_op(permuted)
965
955
  pack_shape = create_tensor_by_element(pack_shape)
966
956
  reshaped = reshape(permuted, pack_shape)
@@ -972,7 +962,7 @@ def get_bprop_reduceprod(self):
972
962
 
973
963
  # Invert the transpose and reshape operations.
974
964
  # Make sure to set the statically known shape information through a reshape.
975
- if is_shape_unknown(shape_op(permuted)):
965
+ if F.is_sequence_value_unknown(shape_op(permuted)):
976
966
  dout = DynamicBroadcastTo()(dout, input_shape)
977
967
  out = transpose(y, dyn_invert_permutation(perm)) * dout
978
968
  else:
@@ -1027,6 +1017,8 @@ def get_bprop_reducemax(self):
1027
1017
  """Grad definition for `Max` operation."""
1028
1018
 
1029
1019
  def bprop(x, axis, out, dout):
1020
+ if x.dtype in (mstype.complex64, mstype.complex128):
1021
+ raise TypeError("The 'ReduceMax', gradient not support for complex type currently.")
1030
1022
  dx = _min_or_max_grad(x, axis, out, dout)
1031
1023
  return (dx, zeros_like(axis))
1032
1024
 
@@ -1052,6 +1044,8 @@ def get_bprop_reducemin(self):
1052
1044
  """Grad definition for `ReduceMin` operation."""
1053
1045
 
1054
1046
  def bprop(x, axis, out, dout):
1047
+ if x.dtype in (mstype.complex64, mstype.complex128):
1048
+ raise TypeError("The 'ReduceMin', gradient not support for complex type currently.")
1055
1049
  dx = _min_or_max_grad(x, axis, out, dout)
1056
1050
  return (dx, zeros_like(axis))
1057
1051
 
@@ -1080,10 +1074,12 @@ def get_bprop_reduce_mean(self):
1080
1074
  dtype = P.DType()
1081
1075
 
1082
1076
  def bprop(x, axis, out, dout):
1077
+ if x.dtype in (mstype.complex64, mstype.complex128):
1078
+ raise TypeError("The 'ReduceMean', gradient not support for complex type currently.")
1083
1079
  grad = _sum_grad(x, axis, dout)
1084
1080
  shape_x = shape_op(x)
1085
1081
  shape_out = shape_op(out)
1086
- if is_shape_unknown(shape_x):
1082
+ if F.is_sequence_value_unknown(shape_x) or F.is_sequence_value_unknown(shape_out):
1087
1083
  shape_x = dyn_shape_op(x)
1088
1084
  shape_out = dyn_shape_op(out)
1089
1085
  div_shape = reduce_prod(cast(shape_x, mstype.float32), ()) /\
@@ -1091,7 +1087,7 @@ def get_bprop_reduce_mean(self):
1091
1087
  dx = div_op(grad, cast(div_shape, dtype(grad)))
1092
1088
  else:
1093
1089
  div_shape = F.shape_mul(shape_x) / F.shape_mul(shape_out)
1094
- dx = div_op(grad, cast(F.scalar_to_tensor(div_shape, mstype.int32), dtype(grad)))
1090
+ dx = div_op(grad, cast(F.scalar_to_tensor(div_shape), dtype(grad)))
1095
1091
  return dx, zeros_like(axis)
1096
1092
 
1097
1093
  return bprop
@@ -1217,16 +1213,6 @@ def get_bprop_logical_and(self):
1217
1213
  return bprop
1218
1214
 
1219
1215
 
1220
- @bprop_getters.register(P.LogicalOr)
1221
- def get_bprop_logical_or(self):
1222
- """Grad definition for `LogicalOr` operation."""
1223
-
1224
- def bprop(x, y, out, dout):
1225
- return zeros_like(x), zeros_like(y)
1226
-
1227
- return bprop
1228
-
1229
-
1230
1216
  @bprop_getters.register(P.NPUAllocFloatStatus)
1231
1217
  def get_bprop_npu_alloc_float_status(self):
1232
1218
  """Grad definition for `NPUAllocFloatStatus` operation."""
@@ -1424,6 +1410,9 @@ def get_bprop_cosh(self):
1424
1410
  sinh = P.Sinh()
1425
1411
 
1426
1412
  def bprop(x, out, dout):
1413
+ if x.dtype in (mstype.complex64, mstype.complex128):
1414
+ raise TypeError("The 'Cosh', gradient not support for complex type currently.")
1415
+
1427
1416
  dx = sinh(x) * dout
1428
1417
  return (dx,)
1429
1418
 
@@ -1454,16 +1443,6 @@ def get_bprop_conj(self):
1454
1443
  return bprop
1455
1444
 
1456
1445
 
1457
- @bprop_getters.register(P.ScalarCast)
1458
- def get_bprop_scalar_cast(self):
1459
- """Generate bprop for ScalarCast"""
1460
-
1461
- def bprop(x, t, out, dout):
1462
- return F.scalar_cast(dout, F.typeof(x)), zeros_like(t)
1463
-
1464
- return bprop
1465
-
1466
-
1467
1446
  @bprop_getters.register(P.AccumulateNV2)
1468
1447
  def get_bprop_scalar_accumulatenv2(self):
1469
1448
  """Generate bprop for AccumulateNV2"""
@@ -1577,6 +1556,9 @@ def get_bprop_tan(self):
1577
1556
  cos = P.Cos()
1578
1557
 
1579
1558
  def bprop(x, out, dout):
1559
+ if x.dtype in (mstype.complex64, mstype.complex128):
1560
+ raise TypeError("For 'Tan', gradient not support for complex type currently.")
1561
+
1580
1562
  cosx = cos(x)
1581
1563
  secx2 = square(reciprocal(cosx))
1582
1564
  dx = secx2 * dout
@@ -1618,6 +1600,9 @@ def get_bprop_atanh(self):
1618
1600
  div = P.Div()
1619
1601
 
1620
1602
  def bprop(x, out, dout):
1603
+ if x.dtype in (mstype.complex64, mstype.complex128):
1604
+ raise TypeError("For 'Atanh', gradient not support for complex type currently.")
1605
+
1621
1606
  tmp = 1 - power(x, 2)
1622
1607
  dx = div(1, tmp) * dout
1623
1608
  return (dx,)
@@ -1657,3 +1642,43 @@ def get_bprop_index_add(self):
1657
1642
  return dout, zeros_like(indices), gather(dout, indices, _axis)
1658
1643
 
1659
1644
  return bprop
1645
+
1646
+
1647
+ @bprop_getters.register(P.InplaceUpdate)
1648
+ def get_bprop_inplace_update(self):
1649
+ """Grad definition for `InplaceUpdate` operation."""
1650
+
1651
+ def bprop(x, v, out, dout):
1652
+ return zeros_like(x), zeros_like(v)
1653
+
1654
+ return bprop
1655
+
1656
+
1657
+ @bprop_getters.register(P.InplaceUpdateV2)
1658
+ def get_bprop_inplace_update_v2(self):
1659
+ """Grad definition for `InplaceUpdateV2` operation."""
1660
+
1661
+ def bprop(x, indices, v, out, dout):
1662
+ return zeros_like(x), zeros_like(indices), zeros_like(v)
1663
+
1664
+ return bprop
1665
+
1666
+
1667
+ @bprop_getters.register(P.InplaceSub)
1668
+ def get_bprop_inplace_sub(self):
1669
+ """Grad definition for `InplaceSub` operation."""
1670
+
1671
+ def bprop(x, input_v, out, dout):
1672
+ return zeros_like(x), zeros_like(input_v)
1673
+
1674
+ return bprop
1675
+
1676
+
1677
+ @bprop_getters.register(P.InplaceAdd)
1678
+ def get_bprop_inplace_add(self):
1679
+ """Grad definition for `InplaceAdd` operation."""
1680
+
1681
+ def bprop(x, input_v, out, dout):
1682
+ return zeros_like(x), zeros_like(input_v)
1683
+
1684
+ return bprop