mindspore 2.0.0a0__cp37-none-any.whl → 2.0.0rc1__cp37-none-any.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 (693) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Third_Party_Open_Source_Software_Notice +9064 -0
  3. mindspore/__init__.py +4 -2
  4. mindspore/_akg/akg/composite/build_module.py +11 -0
  5. mindspore/_akg/akg/config/repository_cuda.json +11 -0
  6. mindspore/_akg/akg/tvm/contrib/nvcc.py +4 -3
  7. mindspore/_c_dataengine.cpython-37m-aarch64-linux-gnu.so +0 -0
  8. mindspore/_c_expression.cpython-37m-aarch64-linux-gnu.so +0 -0
  9. mindspore/_c_mindrecord.cpython-37m-aarch64-linux-gnu.so +0 -0
  10. mindspore/_check_jit_forbidden_api.py +102 -0
  11. mindspore/_checkparam.py +1066 -1001
  12. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +4 -3
  13. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -48
  14. mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -4
  15. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -4
  16. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
  17. mindspore/_extends/parse/__init__.py +5 -3
  18. mindspore/_extends/parse/namespace.py +16 -1
  19. mindspore/_extends/parse/parser.py +107 -22
  20. mindspore/_extends/parse/resources.py +0 -7
  21. mindspore/_extends/parse/standard_method.py +885 -413
  22. mindspore/_mindspore_offline_debug.cpython-37m-aarch64-linux-gnu.so +0 -0
  23. mindspore/amp.py +52 -57
  24. mindspore/bin/cache_admin +0 -0
  25. mindspore/bin/cache_server +0 -0
  26. mindspore/boost/boost.py +2 -2
  27. mindspore/boost/boost_cell_wrapper.py +38 -20
  28. mindspore/boost/dim_reduce.py +3 -3
  29. mindspore/boost/group_loss_scale_manager.py +1 -1
  30. mindspore/common/__init__.py +4 -6
  31. mindspore/common/_decorator.py +2 -0
  32. mindspore/common/_register_for_adapter.py +55 -0
  33. mindspore/common/_stub_tensor.py +201 -0
  34. mindspore/common/_utils.py +41 -7
  35. mindspore/common/api.py +215 -141
  36. mindspore/common/dtype.py +8 -1
  37. mindspore/common/dump.py +2 -2
  38. mindspore/common/initializer.py +4 -2
  39. mindspore/common/jit_config.py +17 -13
  40. mindspore/common/mutable.py +33 -13
  41. mindspore/common/parameter.py +23 -21
  42. mindspore/common/seed.py +8 -24
  43. mindspore/common/sparse_tensor.py +62 -41
  44. mindspore/common/tensor.py +852 -1154
  45. mindspore/communication/__init__.py +2 -2
  46. mindspore/communication/_comm_helper.py +11 -4
  47. mindspore/communication/management.py +22 -21
  48. mindspore/config/op_info.config +501 -1008
  49. mindspore/config/super_bar_config.json +512 -0
  50. mindspore/context.py +201 -23
  51. mindspore/dataset/__init__.py +6 -6
  52. mindspore/dataset/audio/__init__.py +7 -7
  53. mindspore/dataset/audio/transforms.py +670 -30
  54. mindspore/dataset/audio/utils.py +47 -4
  55. mindspore/dataset/audio/validators.py +223 -1
  56. mindspore/dataset/callback/ds_callback.py +2 -2
  57. mindspore/dataset/core/config.py +210 -14
  58. mindspore/dataset/core/validator_helpers.py +2 -2
  59. mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
  60. mindspore/dataset/debug/debug_hook.py +65 -0
  61. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  62. mindspore/dataset/engine/__init__.py +7 -3
  63. mindspore/dataset/engine/cache_client.py +1 -1
  64. mindspore/dataset/engine/datasets.py +322 -66
  65. mindspore/dataset/engine/datasets_audio.py +80 -76
  66. mindspore/dataset/engine/datasets_standard_format.py +51 -38
  67. mindspore/dataset/engine/datasets_text.py +232 -118
  68. mindspore/dataset/engine/datasets_user_defined.py +41 -17
  69. mindspore/dataset/engine/datasets_vision.py +746 -225
  70. mindspore/dataset/engine/graphdata.py +75 -10
  71. mindspore/dataset/engine/iterators.py +45 -5
  72. mindspore/dataset/engine/offload.py +48 -28
  73. mindspore/dataset/engine/validators.py +117 -8
  74. mindspore/dataset/text/__init__.py +6 -5
  75. mindspore/dataset/text/transforms.py +86 -3
  76. mindspore/dataset/text/utils.py +6 -4
  77. mindspore/dataset/text/validators.py +25 -0
  78. mindspore/dataset/transforms/__init__.py +3 -2
  79. mindspore/dataset/transforms/c_transforms.py +1 -1
  80. mindspore/dataset/transforms/transforms.py +2 -2
  81. mindspore/dataset/utils/__init__.py +2 -1
  82. mindspore/dataset/utils/line_reader.py +121 -0
  83. mindspore/dataset/vision/__init__.py +2 -3
  84. mindspore/dataset/vision/c_transforms.py +9 -9
  85. mindspore/dataset/vision/py_transforms.py +5 -5
  86. mindspore/dataset/vision/py_transforms_util.py +2 -0
  87. mindspore/dataset/vision/transforms.py +160 -161
  88. mindspore/dataset/vision/utils.py +3 -3
  89. mindspore/experimental/map_parameter.py +38 -26
  90. mindspore/include/OWNERS +0 -1
  91. mindspore/include/api/callback/callback.h +9 -13
  92. mindspore/include/api/callback/ckpt_saver.h +2 -2
  93. mindspore/include/api/callback/loss_monitor.h +2 -2
  94. mindspore/include/api/callback/lr_scheduler.h +5 -5
  95. mindspore/include/api/callback/time_monitor.h +2 -2
  96. mindspore/include/api/callback/train_accuracy.h +4 -6
  97. mindspore/include/api/cfg.h +19 -6
  98. mindspore/include/api/context.h +44 -9
  99. mindspore/include/api/delegate.h +1 -1
  100. mindspore/include/api/metrics/accuracy.h +2 -2
  101. mindspore/include/api/metrics/metrics.h +4 -3
  102. mindspore/include/api/model.h +9 -4
  103. mindspore/include/api/model_parallel_runner.h +2 -2
  104. mindspore/include/api/net.h +12 -11
  105. mindspore/include/api/serialization.h +19 -3
  106. mindspore/include/api/types.h +3 -3
  107. mindspore/include/dataset/constants.h +7 -0
  108. mindspore/include/dataset/text.h +59 -0
  109. mindspore/include/mindapi/base/type_id.h +1 -0
  110. mindspore/lib/libdnnl.so.2 +0 -0
  111. mindspore/lib/libicudata.so.69 +0 -0
  112. mindspore/lib/libicui18n.so.69 +0 -0
  113. mindspore/lib/libicuuc.so.69 +0 -0
  114. mindspore/lib/libmindspore.so +0 -0
  115. mindspore/lib/libmindspore_backend.so +0 -0
  116. mindspore/lib/libmindspore_common.so +0 -0
  117. mindspore/lib/libmindspore_core.so +0 -0
  118. mindspore/lib/libmindspore_glog.so.0 +0 -0
  119. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  120. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  121. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  122. mindspore/lib/libmindspore_shared_lib.so +0 -0
  123. mindspore/lib/libmpi_adapter.so +0 -0
  124. mindspore/lib/libmpi_collective.so +0 -0
  125. mindspore/lib/libnnacl.so +0 -0
  126. mindspore/lib/libopencv_core.so.4.5 +0 -0
  127. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  128. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  129. mindspore/lib/libps_cache.so +0 -0
  130. mindspore/lib/plugin/ascend/libakg.so +0 -0
  131. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  132. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  133. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  134. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  135. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  136. mindspore/lib/plugin/cpu/libakg.so +0 -0
  137. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  138. mindspore/lib/plugin/{libmindspore_ascend.so → libmindspore_ascend.so.2} +0 -0
  139. mindspore/log.py +1 -1
  140. mindspore/mindrecord/filereader.py +18 -0
  141. mindspore/mindrecord/filewriter.py +197 -34
  142. mindspore/mindrecord/shardreader.py +9 -0
  143. mindspore/mindrecord/shardwriter.py +1 -1
  144. mindspore/mindrecord/tools/cifar100_to_mr.py +3 -3
  145. mindspore/mindrecord/tools/cifar10_to_mr.py +3 -3
  146. mindspore/mindrecord/tools/csv_to_mr.py +3 -3
  147. mindspore/mindrecord/tools/imagenet_to_mr.py +16 -11
  148. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  149. mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
  150. mindspore/nn/__init__.py +0 -4
  151. mindspore/nn/cell.py +204 -132
  152. mindspore/nn/dynamic_lr.py +1 -1
  153. mindspore/nn/grad/cell_grad.py +7 -6
  154. mindspore/nn/layer/__init__.py +5 -4
  155. mindspore/nn/layer/activation.py +40 -89
  156. mindspore/nn/layer/basic.py +255 -624
  157. mindspore/nn/layer/channel_shuffle.py +7 -6
  158. mindspore/nn/layer/combined.py +1 -1
  159. mindspore/nn/layer/container.py +41 -4
  160. mindspore/nn/layer/conv.py +64 -28
  161. mindspore/nn/layer/dense.py +9 -8
  162. mindspore/nn/layer/embedding.py +27 -25
  163. mindspore/nn/layer/image.py +53 -46
  164. mindspore/nn/layer/math.py +97 -105
  165. mindspore/nn/layer/normalization.py +117 -86
  166. mindspore/nn/layer/padding.py +185 -95
  167. mindspore/nn/layer/pooling.py +817 -414
  168. mindspore/nn/layer/rnn_cells.py +10 -15
  169. mindspore/nn/layer/rnns.py +37 -38
  170. mindspore/nn/layer/thor_layer.py +11 -12
  171. mindspore/nn/layer/timedistributed.py +5 -5
  172. mindspore/nn/layer/transformer.py +701 -0
  173. mindspore/nn/learning_rate_schedule.py +8 -8
  174. mindspore/nn/loss/__init__.py +5 -4
  175. mindspore/nn/loss/loss.py +334 -199
  176. mindspore/nn/optim/ada_grad.py +6 -6
  177. mindspore/nn/optim/adadelta.py +2 -3
  178. mindspore/nn/optim/adafactor.py +4 -5
  179. mindspore/nn/optim/adam.py +126 -62
  180. mindspore/nn/optim/adamax.py +3 -4
  181. mindspore/nn/optim/adasum.py +6 -6
  182. mindspore/nn/optim/asgd.py +2 -2
  183. mindspore/nn/optim/ftrl.py +67 -38
  184. mindspore/nn/optim/lamb.py +4 -5
  185. mindspore/nn/optim/lars.py +2 -2
  186. mindspore/nn/optim/lazyadam.py +43 -4
  187. mindspore/nn/optim/momentum.py +6 -5
  188. mindspore/nn/optim/optimizer.py +3 -1
  189. mindspore/nn/optim/proximal_ada_grad.py +2 -2
  190. mindspore/nn/optim/rmsprop.py +1 -1
  191. mindspore/nn/optim/rprop.py +8 -9
  192. mindspore/nn/optim/sgd.py +19 -13
  193. mindspore/nn/optim/thor.py +10 -15
  194. mindspore/nn/probability/__init__.py +0 -2
  195. mindspore/nn/probability/bijector/bijector.py +4 -4
  196. mindspore/nn/probability/bijector/invert.py +1 -1
  197. mindspore/nn/probability/bijector/softplus.py +2 -2
  198. mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
  199. mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
  200. mindspore/nn/probability/distribution/_utils/utils.py +9 -15
  201. mindspore/nn/probability/distribution/bernoulli.py +3 -3
  202. mindspore/nn/probability/distribution/beta.py +1 -1
  203. mindspore/nn/probability/distribution/categorical.py +5 -7
  204. mindspore/nn/probability/distribution/cauchy.py +3 -3
  205. mindspore/nn/probability/distribution/distribution.py +2 -2
  206. mindspore/nn/probability/distribution/exponential.py +2 -2
  207. mindspore/nn/probability/distribution/gamma.py +3 -3
  208. mindspore/nn/probability/distribution/geometric.py +1 -1
  209. mindspore/nn/probability/distribution/gumbel.py +3 -3
  210. mindspore/nn/probability/distribution/half_normal.py +15 -11
  211. mindspore/nn/probability/distribution/laplace.py +16 -13
  212. mindspore/nn/probability/distribution/logistic.py +2 -2
  213. mindspore/nn/probability/distribution/normal.py +1 -1
  214. mindspore/nn/probability/distribution/poisson.py +1 -1
  215. mindspore/nn/probability/distribution/student_t.py +20 -15
  216. mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
  217. mindspore/nn/probability/distribution/uniform.py +2 -2
  218. mindspore/nn/reinforcement/_tensors_queue.py +3 -3
  219. mindspore/nn/reinforcement/tensor_array.py +2 -2
  220. mindspore/nn/sparse/sparse.py +2 -2
  221. mindspore/nn/wrap/cell_wrapper.py +27 -10
  222. mindspore/nn/wrap/grad_reducer.py +2 -2
  223. mindspore/nn/wrap/loss_scale.py +40 -24
  224. mindspore/numpy/array_creations.py +33 -22
  225. mindspore/numpy/array_ops.py +35 -30
  226. mindspore/numpy/logic_ops.py +6 -27
  227. mindspore/numpy/math_ops.py +22 -19
  228. mindspore/numpy/utils.py +1 -1
  229. mindspore/numpy/utils_const.py +108 -58
  230. mindspore/ops/_constants.py +0 -6
  231. mindspore/ops/_grad/__init__.py +2 -1
  232. mindspore/ops/_grad/grad_array_ops.py +86 -117
  233. mindspore/ops/_grad/grad_base.py +23 -1
  234. mindspore/ops/_grad/grad_clip_ops.py +2 -3
  235. mindspore/ops/_grad/grad_comm_ops.py +34 -24
  236. mindspore/ops/_grad/grad_implementations.py +9 -45
  237. mindspore/ops/_grad/grad_inner_ops.py +47 -4
  238. mindspore/ops/_grad/grad_math_ops.py +142 -117
  239. mindspore/ops/_grad/grad_nn_ops.py +71 -165
  240. mindspore/ops/_grad/grad_sequence_ops.py +296 -0
  241. mindspore/ops/_grad/grad_sparse.py +7 -6
  242. mindspore/ops/_grad_experimental/__init__.py +1 -0
  243. mindspore/ops/_grad_experimental/grad_array_ops.py +150 -15
  244. mindspore/ops/_grad_experimental/grad_image_ops.py +16 -7
  245. mindspore/ops/_grad_experimental/grad_inner_ops.py +1 -22
  246. mindspore/ops/_grad_experimental/grad_linalg_ops.py +4 -11
  247. mindspore/ops/_grad_experimental/grad_math_ops.py +210 -89
  248. mindspore/ops/_grad_experimental/grad_nn_ops.py +26 -22
  249. mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
  250. mindspore/ops/_grad_experimental/grad_sparse_ops.py +49 -8
  251. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
  252. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +2 -2
  253. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
  254. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
  255. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +4 -4
  256. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
  257. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
  258. mindspore/ops/_op_impl/_custom_op/correction_mul.py +2 -2
  259. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
  260. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -5
  261. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
  262. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
  263. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
  264. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
  265. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
  266. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
  267. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
  268. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
  269. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
  270. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
  271. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
  272. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
  273. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
  274. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
  275. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
  276. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
  277. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
  278. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
  279. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -4
  280. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
  281. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
  282. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
  283. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
  284. mindspore/ops/_op_impl/aicpu/__init__.py +236 -4
  285. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  286. mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_v1.py → adaptive_avg_pool_2d.py} +6 -5
  287. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  288. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  289. mindspore/ops/_op_impl/aicpu/addcdiv.py +0 -32
  290. mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
  291. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  292. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -43
  293. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  294. mindspore/{compression/common/__init__.py → ops/_op_impl/aicpu/bessel_i0.py} +15 -8
  295. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  296. mindspore/ops/_op_impl/aicpu/conj.py +11 -0
  297. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +0 -3
  298. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  299. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  300. mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_grad_v1.py → digamma.py} +7 -9
  301. mindspore/ops/_op_impl/aicpu/flatten.py +1 -0
  302. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  303. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  304. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +1 -1
  305. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  306. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  307. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  308. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  309. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  310. mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/lgamma.py} +16 -10
  311. mindspore/ops/_op_impl/aicpu/mirror_pad.py +0 -4
  312. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
  313. mindspore/ops/_op_impl/aicpu/mul.py +3 -1
  314. mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
  315. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  316. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  317. mindspore/ops/_op_impl/aicpu/ones_like.py +0 -2
  318. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  319. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  320. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  321. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  322. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  323. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  324. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
  325. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
  326. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  327. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  328. mindspore/ops/_op_impl/aicpu/scatter_elements.py +4 -0
  329. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
  330. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  331. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  332. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  333. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  334. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  335. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +0 -24
  336. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  337. mindspore/ops/_op_impl/aicpu/sparse_slice.py +4 -0
  338. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +6 -0
  339. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  340. mindspore/ops/_op_impl/aicpu/trans_data.py +1 -0
  341. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  342. mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
  343. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
  344. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
  345. mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
  346. mindspore/ops/_op_impl/cpu/sparse_slice.py +4 -0
  347. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +6 -0
  348. mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
  349. mindspore/ops/_op_impl/tbe/__init__.py +27 -611
  350. mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
  351. mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
  352. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
  353. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +1 -0
  354. mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
  355. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
  356. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
  357. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
  358. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
  359. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
  360. mindspore/ops/_op_impl/tbe/cast.py +0 -2
  361. mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
  362. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
  363. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +2 -2
  364. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
  365. mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
  366. mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
  367. mindspore/ops/_op_impl/tbe/matmul_ds.py +2 -0
  368. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
  369. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
  370. mindspore/ops/_op_impl/tbe/scatter_mul.py +2 -0
  371. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -2
  372. mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
  373. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
  374. mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
  375. mindspore/ops/_register_for_op.py +1 -0
  376. mindspore/ops/_utils/__init__.py +1 -2
  377. mindspore/ops/_utils/utils.py +19 -40
  378. mindspore/ops/_vmap/vmap_array_ops.py +116 -38
  379. mindspore/ops/_vmap/vmap_base.py +16 -9
  380. mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
  381. mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
  382. mindspore/ops/_vmap/vmap_grad_nn_ops.py +7 -5
  383. mindspore/ops/_vmap/vmap_image_ops.py +12 -5
  384. mindspore/ops/_vmap/vmap_math_ops.py +46 -5
  385. mindspore/ops/_vmap/vmap_nn_ops.py +15 -21
  386. mindspore/ops/_vmap/vmap_random_ops.py +1 -1
  387. mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
  388. mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
  389. mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
  390. mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
  391. mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
  392. mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
  393. mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
  394. mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
  395. mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +220 -106
  396. mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
  397. mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +240 -0
  398. mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
  399. mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
  400. mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
  401. mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
  402. mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
  403. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
  404. mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
  405. mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
  406. mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +22 -23
  407. mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -17
  408. mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
  409. mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
  410. mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
  411. mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
  412. mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
  413. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  414. mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +39 -41
  415. mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
  416. mindspore/ops/bprop_mindir/Flatten_bprop.mindir +41 -43
  417. mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +51 -57
  418. mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
  419. mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
  420. mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
  421. mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
  422. mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
  423. mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
  424. mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
  425. mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
  426. mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
  427. mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
  428. mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
  429. mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
  430. mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
  431. mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
  432. mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
  433. mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +27 -0
  434. mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
  435. mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
  436. mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
  437. mindspore/ops/bprop_mindir/OneHot_bprop.mindir +24 -25
  438. mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
  439. mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
  440. mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
  441. mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +29 -0
  442. mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
  443. mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
  444. mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
  445. mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +18 -19
  446. mindspore/ops/bprop_mindir/Reshape_bprop.mindir +53 -53
  447. mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
  448. mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +77 -85
  449. mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
  450. mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
  451. mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
  452. mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
  453. mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
  454. mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  455. mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
  456. mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
  457. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  458. mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +37 -39
  459. mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +70 -72
  460. mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
  461. mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
  462. mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
  463. mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
  464. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +17 -17
  465. mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
  466. mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
  467. mindspore/ops/bprop_mindir/generate_mindir.py +2 -0
  468. mindspore/ops/composite/__init__.py +7 -8
  469. mindspore/ops/composite/base.py +101 -47
  470. mindspore/ops/composite/math_ops.py +188 -158
  471. mindspore/ops/composite/multitype_ops/_compile_utils.py +415 -170
  472. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +142 -87
  473. mindspore/ops/composite/multitype_ops/add_impl.py +6 -1
  474. mindspore/ops/composite/multitype_ops/div_impl.py +2 -3
  475. mindspore/ops/composite/multitype_ops/getitem_impl.py +31 -3
  476. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
  477. mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
  478. mindspore/ops/composite/multitype_ops/in_impl.py +9 -0
  479. mindspore/ops/composite/multitype_ops/less_equal_impl.py +31 -0
  480. mindspore/ops/composite/multitype_ops/less_impl.py +31 -0
  481. mindspore/ops/composite/multitype_ops/mul_impl.py +21 -5
  482. mindspore/ops/composite/multitype_ops/not_in_impl.py +9 -0
  483. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
  484. mindspore/ops/composite/multitype_ops/setitem_impl.py +21 -3
  485. mindspore/ops/composite/multitype_ops/sub_impl.py +1 -1
  486. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +35 -4
  487. mindspore/ops/function/__init__.py +152 -8
  488. mindspore/ops/function/array_func.py +2555 -674
  489. mindspore/ops/function/clip_func.py +209 -13
  490. mindspore/ops/function/debug_func.py +2 -2
  491. mindspore/ops/function/grad/__init__.py +2 -1
  492. mindspore/ops/function/grad/grad_func.py +147 -62
  493. mindspore/ops/function/image_func.py +54 -38
  494. mindspore/ops/function/linalg_func.py +167 -16
  495. mindspore/ops/function/math_func.py +4849 -1492
  496. mindspore/ops/function/nn_func.py +2573 -988
  497. mindspore/ops/function/other_func.py +115 -0
  498. mindspore/ops/function/parameter_func.py +3 -3
  499. mindspore/ops/function/random_func.py +790 -73
  500. mindspore/ops/function/sparse_func.py +98 -78
  501. mindspore/ops/function/sparse_unary_func.py +54 -53
  502. mindspore/ops/function/spectral_func.py +27 -24
  503. mindspore/ops/function/vmap_func.py +22 -2
  504. mindspore/ops/functional.py +97 -37
  505. mindspore/ops/op_info_register.py +70 -28
  506. mindspore/ops/operations/__init__.py +47 -14
  507. mindspore/ops/operations/_csr_ops.py +7 -7
  508. mindspore/ops/operations/_embedding_cache_ops.py +5 -5
  509. mindspore/ops/operations/_grad_ops.py +276 -187
  510. mindspore/ops/operations/_inner_ops.py +319 -113
  511. mindspore/ops/operations/_ms_kernel.py +10 -8
  512. mindspore/ops/operations/_ocr_ops.py +9 -9
  513. mindspore/ops/operations/_opaque_predicate_registry.py +4 -0
  514. mindspore/ops/operations/_quant_ops.py +137 -102
  515. mindspore/ops/operations/_rl_inner_ops.py +121 -60
  516. mindspore/ops/operations/_scalar_ops.py +466 -0
  517. mindspore/ops/operations/_sequence_ops.py +1004 -2
  518. mindspore/ops/operations/_tensor_array.py +10 -11
  519. mindspore/ops/operations/_thor_ops.py +1 -1
  520. mindspore/ops/operations/array_ops.py +801 -466
  521. mindspore/ops/operations/comm_ops.py +51 -49
  522. mindspore/ops/operations/control_ops.py +2 -2
  523. mindspore/ops/operations/custom_ops.py +123 -44
  524. mindspore/ops/operations/debug_ops.py +24 -24
  525. mindspore/ops/operations/image_ops.py +240 -153
  526. mindspore/ops/operations/inner_ops.py +34 -50
  527. mindspore/ops/operations/linalg_ops.py +31 -9
  528. mindspore/ops/operations/math_ops.py +988 -757
  529. mindspore/ops/operations/nn_ops.py +965 -819
  530. mindspore/ops/operations/other_ops.py +51 -40
  531. mindspore/ops/operations/random_ops.py +204 -122
  532. mindspore/ops/operations/rl_ops.py +8 -9
  533. mindspore/ops/operations/sparse_ops.py +254 -93
  534. mindspore/ops/operations/spectral_ops.py +35 -3
  535. mindspore/ops/primitive.py +111 -9
  536. mindspore/parallel/_auto_parallel_context.py +189 -83
  537. mindspore/parallel/_offload_context.py +185 -0
  538. mindspore/parallel/_parallel_serialization.py +99 -7
  539. mindspore/parallel/_ps_context.py +9 -5
  540. mindspore/parallel/_recovery_context.py +1 -1
  541. mindspore/parallel/_tensor.py +7 -1
  542. mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
  543. mindspore/{nn/transformer → parallel/_transformer}/layers.py +6 -37
  544. mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
  545. mindspore/{nn/transformer → parallel/_transformer}/moe.py +20 -16
  546. mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
  547. mindspore/{nn/transformer → parallel/_transformer}/transformer.py +48 -111
  548. mindspore/parallel/_utils.py +1 -2
  549. mindspore/parallel/algo_parameter_config.py +1 -1
  550. mindspore/parallel/checkpoint_transform.py +37 -34
  551. mindspore/parallel/shard.py +17 -18
  552. mindspore/profiler/common/validator/validate_path.py +2 -2
  553. mindspore/profiler/envprofiling.py +69 -47
  554. mindspore/profiler/parser/ascend_timeline_generator.py +49 -42
  555. mindspore/profiler/parser/base_timeline_generator.py +49 -56
  556. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +98 -78
  557. mindspore/profiler/parser/hwts_log_parser.py +1 -1
  558. mindspore/profiler/parser/integrator.py +15 -14
  559. mindspore/profiler/parser/minddata_analyzer.py +2 -2
  560. mindspore/profiler/parser/msadvisor_analyzer.py +12 -25
  561. mindspore/profiler/parser/msadvisor_parser.py +2 -4
  562. mindspore/profiler/parser/optime_parser.py +17 -18
  563. mindspore/profiler/parser/profiler_info.py +2 -1
  564. mindspore/profiler/profiling.py +218 -186
  565. mindspore/rewrite/__init__.py +3 -1
  566. mindspore/rewrite/api/node.py +1 -114
  567. mindspore/rewrite/api/node_type.py +3 -0
  568. mindspore/rewrite/api/pattern_engine.py +31 -1
  569. mindspore/rewrite/api/scoped_value.py +4 -4
  570. mindspore/rewrite/api/symbol_tree.py +3 -78
  571. mindspore/rewrite/api/tree_node_helper.py +1 -1
  572. mindspore/rewrite/ast_creator_register.py +1 -0
  573. mindspore/rewrite/ast_helpers/__init__.py +2 -2
  574. mindspore/rewrite/ast_helpers/ast_creator.py +1 -2
  575. mindspore/rewrite/ast_helpers/ast_finder.py +65 -0
  576. mindspore/rewrite/ast_helpers/ast_modifier.py +11 -3
  577. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +18 -2
  578. mindspore/rewrite/namespace.py +0 -2
  579. mindspore/rewrite/node.py +157 -11
  580. mindspore/rewrite/parsers/assign_parser.py +231 -53
  581. mindspore/rewrite/parsers/class_def_parser.py +187 -109
  582. mindspore/rewrite/parsers/for_parser.py +24 -14
  583. mindspore/rewrite/parsers/function_def_parser.py +21 -4
  584. mindspore/rewrite/parsers/if_parser.py +6 -2
  585. mindspore/rewrite/sparsify/__init__.py +0 -0
  586. mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
  587. mindspore/rewrite/sparsify/sparsify.py +109 -0
  588. mindspore/rewrite/sparsify/utils.py +173 -0
  589. mindspore/rewrite/symbol_tree.py +256 -133
  590. mindspore/rewrite/symbol_tree_builder.py +38 -1
  591. mindspore/run_check/_check_version.py +69 -63
  592. mindspore/run_check/run_check.py +2 -1
  593. mindspore/scipy/linalg.py +10 -114
  594. mindspore/scipy/ops.py +2 -2
  595. mindspore/scipy/ops_wrapper.py +1 -1
  596. mindspore/scipy/optimize/_bfgs.py +1 -1
  597. mindspore/scipy/optimize/_lagrange.py +200 -0
  598. mindspore/scipy/optimize/line_search.py +3 -2
  599. mindspore/scipy/optimize/minimize.py +41 -2
  600. mindspore/scipy/sparse/__init__.py +2 -2
  601. mindspore/scipy/sparse/linalg.py +4 -464
  602. mindspore/scipy/utils.py +1 -1
  603. mindspore/scipy/utils_const.py +7 -1
  604. mindspore/train/__init__.py +1 -1
  605. mindspore/train/_utils.py +28 -5
  606. mindspore/train/amp.py +273 -102
  607. mindspore/train/callback/_backup_and_restore.py +5 -5
  608. mindspore/train/callback/_callback.py +2 -2
  609. mindspore/train/callback/_checkpoint.py +3 -3
  610. mindspore/train/callback/_early_stop.py +3 -3
  611. mindspore/train/callback/_lambda_callback.py +2 -2
  612. mindspore/train/callback/_landscape.py +29 -31
  613. mindspore/train/callback/_loss_monitor.py +3 -3
  614. mindspore/train/callback/_on_request_exit.py +3 -3
  615. mindspore/train/callback/_reduce_lr_on_plateau.py +4 -4
  616. mindspore/train/callback/_summary_collector.py +23 -16
  617. mindspore/train/callback/_time_monitor.py +3 -3
  618. mindspore/train/checkpoint_pb2.py +68 -8
  619. mindspore/train/data_sink.py +15 -3
  620. mindspore/train/dataset_helper.py +10 -15
  621. mindspore/train/loss_scale_manager.py +8 -11
  622. mindspore/train/metrics/__init__.py +1 -1
  623. mindspore/train/metrics/bleu_score.py +1 -1
  624. mindspore/train/metrics/confusion_matrix.py +1 -1
  625. mindspore/train/metrics/cosine_similarity.py +1 -1
  626. mindspore/train/metrics/dice.py +2 -2
  627. mindspore/train/metrics/fbeta.py +1 -1
  628. mindspore/train/metrics/hausdorff_distance.py +4 -3
  629. mindspore/train/metrics/mean_surface_distance.py +2 -2
  630. mindspore/train/metrics/occlusion_sensitivity.py +1 -1
  631. mindspore/train/metrics/perplexity.py +1 -1
  632. mindspore/train/metrics/precision.py +1 -1
  633. mindspore/train/metrics/recall.py +1 -1
  634. mindspore/train/metrics/roc.py +2 -2
  635. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  636. mindspore/train/mind_ir_pb2.py +116 -37
  637. mindspore/train/model.py +45 -28
  638. mindspore/train/serialization.py +295 -188
  639. mindspore/train/summary/_summary_adapter.py +1 -1
  640. mindspore/train/summary/summary_record.py +43 -13
  641. mindspore/train/train_thor/convert_utils.py +2 -2
  642. mindspore/train/train_thor/dataset_helper.py +3 -3
  643. mindspore/version.py +1 -1
  644. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +3 -2
  645. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +648 -574
  646. mindspore/compression/__init__.py +0 -19
  647. mindspore/compression/common/constant.py +0 -124
  648. mindspore/compression/export/__init__.py +0 -19
  649. mindspore/compression/export/quant_export.py +0 -515
  650. mindspore/compression/quant/__init__.py +0 -28
  651. mindspore/compression/quant/qat.py +0 -634
  652. mindspore/compression/quant/quant_utils.py +0 -462
  653. mindspore/compression/quant/quantizer.py +0 -68
  654. mindspore/nn/layer/quant.py +0 -1868
  655. mindspore/nn/layer/rnn_utils.py +0 -90
  656. mindspore/nn/probability/dpn/__init__.py +0 -22
  657. mindspore/nn/probability/dpn/vae/__init__.py +0 -25
  658. mindspore/nn/probability/dpn/vae/cvae.py +0 -140
  659. mindspore/nn/probability/dpn/vae/vae.py +0 -124
  660. mindspore/nn/probability/infer/__init__.py +0 -22
  661. mindspore/nn/probability/infer/variational/elbo.py +0 -70
  662. mindspore/nn/probability/infer/variational/svi.py +0 -84
  663. mindspore/nn/probability/toolbox/__init__.py +0 -22
  664. mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
  665. mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -364
  666. mindspore/nn/probability/transforms/__init__.py +0 -22
  667. mindspore/nn/probability/transforms/transform_bnn.py +0 -262
  668. mindspore/nn/probability/zhusuan/__init__.py +0 -18
  669. mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
  670. mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
  671. mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
  672. mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
  673. mindspore/ops/_op_impl/aicpu/parallel_concat.py +0 -42
  674. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  675. mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -19
  676. mindspore/ops/bprop_mindir/Cast_bprop.mindir +0 -19
  677. mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -19
  678. mindspore/ops/bprop_mindir/MatMul_bprop.mindir +0 -0
  679. mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -17
  680. mindspore/ops/bprop_mindir/Transpose_bprop.mindir +0 -0
  681. mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -15
  682. mindspore/ops/composite/array_ops.py +0 -241
  683. mindspore/ops/composite/clip_ops.py +0 -134
  684. mindspore/ops/composite/random_ops.py +0 -426
  685. mindspore/ops/composite/vmap_ops.py +0 -38
  686. mindspore/parallel/nn/__init__.py +0 -42
  687. mindspore/parallel/nn/loss.py +0 -22
  688. mindspore/parallel/nn/moe.py +0 -21
  689. mindspore/parallel/nn/op_parallel_config.py +0 -22
  690. mindspore/parallel/nn/transformer.py +0 -31
  691. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
  692. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
  693. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -13,21 +13,21 @@
13
13
  # limitations under the License.
14
14
  # ============================================================================
15
15
  """channel shuffle"""
16
- from mindspore.ops.primitive import constexpr
17
16
  from mindspore.ops import operations as P
18
17
  from mindspore.nn.cell import Cell
18
+ from mindspore.ops.primitive import _primexpr
19
19
 
20
20
  __all__ = ['ChannelShuffle']
21
21
 
22
22
 
23
23
  class ChannelShuffle(Cell):
24
24
  r"""
25
- Divide the channels in a tensor of shape :math:`(*, C , H, W)`
26
- into g groups and rearrange them as :math:`(*, C \frac g, g, H, W)`,
27
- while keeping the original tensor shape.
25
+ Divide the channels of Tensor whose shape is :math:`(*, C, H, W)` into :math:`g` groups to obtain a Tensor with
26
+ shape :math:`(*, C \frac g, g, H, W)`, and transpose along the corresponding axis of :math:`C`,
27
+ :math:`\frac{g}{}` and :math:`g` to restore Tensor to the original shape.
28
28
 
29
29
  Args:
30
- groups (int): Number of groups to divide channels in. Refer to :math:`g`.
30
+ groups (int): Number of groups to divide channels in, must be greater than 0. Refer to :math:`g`.
31
31
 
32
32
  Inputs:
33
33
  - **x** (Tensor) - Tensor of shape :math:`(*, C_{in}, H_{in}, W_{in})`.
@@ -83,8 +83,9 @@ class ChannelShuffle(Cell):
83
83
  self.transpose = P.Transpose()
84
84
 
85
85
  @staticmethod
86
- @constexpr
86
+ @_primexpr
87
87
  def _check_input_dim(shape, channels, groups, cls_name):
88
+ """check input dim"""
88
89
  dim = len(shape)
89
90
  if dim < 3:
90
91
  raise ValueError(f"For {cls_name}, the in_shape must have more than 2 dims, but got {dim}.")
@@ -17,7 +17,7 @@ from __future__ import absolute_import
17
17
 
18
18
  from mindspore import nn
19
19
  from mindspore.ops.primitive import Primitive
20
- from mindspore._checkparam import Validator
20
+ import mindspore._checkparam as Validator
21
21
  from mindspore.nn.layer.normalization import BatchNorm2d, BatchNorm1d
22
22
  from mindspore.nn.layer.activation import get_activation, LeakyReLU
23
23
  from mindspore.nn.cell import Cell
@@ -109,7 +109,7 @@ class _CellListBase:
109
109
  class SequentialCell(Cell):
110
110
  """
111
111
  Sequential Cell container. For more details about Cell, please refer to
112
- `Cell <https://www.mindspore.cn/docs/en/r2.0.0-alpha/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell>`_.
112
+ `Cell <https://www.mindspore.cn/docs/en/r2.0/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell>`_.
113
113
 
114
114
  A list of Cells will be added to it in the order they are passed in the constructor.
115
115
  Alternatively, an ordered dict of cells can also be passed in.
@@ -168,7 +168,12 @@ class SequentialCell(Cell):
168
168
  self._is_dynamic_name = []
169
169
  if len(args) == 1:
170
170
  cells = args[0]
171
- if isinstance(cells, list):
171
+ if isinstance(cells, Cell):
172
+ cell = cells
173
+ self.insert_child_to_cell(str(0), cell)
174
+ cell.update_parameters_name(str(0) + ".")
175
+ self._is_dynamic_name.append(True)
176
+ elif isinstance(cells, list):
172
177
  for index, cell in enumerate(cells):
173
178
  self.insert_child_to_cell(str(index), cell)
174
179
  cell.update_parameters_name(str(index) + ".")
@@ -179,7 +184,7 @@ class SequentialCell(Cell):
179
184
  cell.update_parameters_name(name + ".")
180
185
  self._is_dynamic_name.append(False)
181
186
  else:
182
- raise TypeError(f"For '{self.__class__.__name__}', the 'args[0]' must be list or orderedDict, "
187
+ raise TypeError(f"For '{self.__class__.__name__}', the 'args[0]' must be Cell, list or orderedDict, "
183
188
  f"but got {type(cells).__name__}")
184
189
  else:
185
190
  for index, cell in enumerate(args):
@@ -233,6 +238,9 @@ class SequentialCell(Cell):
233
238
  self._cells = temp_dict
234
239
  self.cell_list = list(self._cells.values())
235
240
 
241
+ def __bool__(self):
242
+ return len(self._cells) != 0
243
+
236
244
  def __len__(self):
237
245
  return len(self._cells)
238
246
 
@@ -279,11 +287,37 @@ class SequentialCell(Cell):
279
287
  input_data = cell(input_data)
280
288
  return input_data
281
289
 
290
+ def _insert(self, index, cell):
291
+ """
292
+ Inserts a given Cell before a given index in the list.
293
+
294
+ Args:
295
+ index(int): The Insert index in the CellList.
296
+ cell(Cell): The Cell to be inserted.
297
+ """
298
+ cls_name = self.__class__.__name__
299
+ idx = _valid_index(len(self), index, cls_name)
300
+ _valid_cell(cell, cls_name)
301
+ length = len(self)
302
+ prefix, key_index = _get_prefix_and_index(self._cells)
303
+ while length > idx:
304
+ if self._auto_prefix:
305
+ tmp_cell = self._cells[str(length-1)]
306
+ for _, param in tmp_cell.parameters_and_names():
307
+ param.name = f'{prefix}{str(length)}{"."}{".".join(param.name.split(".")[key_index+1:])}'
308
+ self._cells[str(length)] = self._cells[str(length - 1)]
309
+ length -= 1
310
+ self._cells[str(idx)] = cell
311
+ if self._auto_prefix:
312
+ cell.update_parameters_name(prefix + str(idx) + ".")
313
+ self.cell_list = list(self._cells.values())
314
+ self._is_dynamic_name.insert(index, True)
315
+
282
316
 
283
317
  class CellList(_CellListBase, Cell):
284
318
  """
285
319
  Holds Cells in a list. For more details about Cell, please refer to
286
- `Cell <https://www.mindspore.cn/docs/en/r2.0.0-alpha/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell>`_.
320
+ `Cell <https://www.mindspore.cn/docs/en/r2.0/api_python/nn/mindspore.nn.Cell.html#mindspore.nn.Cell>`_.
287
321
 
288
322
  CellList can be used like a regular Python list, the Cells it contains have been initialized. Unlike the
289
323
  SequentialCell, the cells in CellList are not connected.
@@ -364,6 +398,9 @@ class CellList(_CellListBase, Cell):
364
398
  temp_dict[str(idx)] = cell
365
399
  self._cells = temp_dict
366
400
 
401
+ def __bool__(self):
402
+ return len(self._cells) != 0
403
+
367
404
  def __len__(self):
368
405
  return len(self._cells)
369
406
 
@@ -20,11 +20,12 @@ import numpy as np
20
20
  from mindspore import log as logger
21
21
  from mindspore import context
22
22
  from mindspore.ops import operations as P
23
- from mindspore.ops.primitive import constexpr
23
+ from mindspore.ops.primitive import _primexpr
24
24
  from mindspore.common.parameter import Parameter
25
25
  from mindspore.common.initializer import initializer
26
26
  from mindspore.common.tensor import Tensor
27
- from mindspore._checkparam import Validator, Rel, twice, _check_3d_int_or_tuple
27
+ from mindspore import _checkparam as Validator
28
+ from mindspore._checkparam import twice, _check_3d_int_or_tuple
28
29
  from mindspore._extends import cell_attr_register
29
30
  from mindspore.nn.cell import Cell
30
31
 
@@ -142,7 +143,7 @@ class Conv2d(_Conv):
142
143
  \sum_{k = 0}^{C_{in} - 1} \text{ccor}({\text{weight}(C_{\text{out}_j}, k), \text{X}(N_i, k)})
143
144
 
144
145
  where :math:`ccor` is the `cross-correlation <https://en.wikipedia.org/wiki/Cross-correlation>`_,
145
- :math:`C_{in}` is the channel number of the input, :math:`out_{j}` corresponds to the jth channel of
146
+ :math:`C_{in}` is the channel number of the input, :math:`out_{j}` corresponds to the :math:`j`-th channel of
146
147
  the output and :math:`j` is in the range of :math:`[0, C_{out}-1]`. :math:`\text{weight}(C_{\text{out}_j}, k)`
147
148
  is a convolution kernel slice with shape :math:`(\text{kernel_size[0]}, \text{kernel_size[1]})`,
148
149
  where :math:`\text{kernel_size[0]}` and :math:`\text{kernel_size[1]}` are the height and width of the convolution
@@ -220,17 +221,17 @@ class Conv2d(_Conv):
220
221
 
221
222
  .. math::
222
223
  \begin{array}{ll} \\
223
- H_{out} \left \lceil{\frac{H_{in}}{\text{stride[0]}}} \right \rceil \\
224
- W_{out} \left \lceil{\frac{W_{in}}{\text{stride[1]}}} \right \rceil \\
224
+ H_{out} = \left \lceil{\frac{H_{in}}{\text{stride[0]}}} \right \rceil \\
225
+ W_{out} = \left \lceil{\frac{W_{in}}{\text{stride[1]}}} \right \rceil \\
225
226
  \end{array}
226
227
 
227
228
  pad_mode is 'valid':
228
229
 
229
230
  .. math::
230
231
  \begin{array}{ll} \\
231
- H_{out} \left \lceil{\frac{H_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
232
+ H_{out} = \left \lceil{\frac{H_{in} - \text{dilation[0]} \times (\text{kernel_size[0]} - 1) }
232
233
  {\text{stride[0]}}} \right \rceil \\
233
- W_{out} \left \lceil{\frac{W_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
234
+ W_{out} = \left \lceil{\frac{W_{in} - \text{dilation[1]} \times (\text{kernel_size[1]} - 1) }
234
235
  {\text{stride[1]}}} \right \rceil \\
235
236
  \end{array}
236
237
 
@@ -238,9 +239,9 @@ class Conv2d(_Conv):
238
239
 
239
240
  .. math::
240
241
  \begin{array}{ll} \\
241
- H_{out} \left \lfloor{\frac{H_{in} + padding[0] + padding[1] - (\text{kernel_size[0]} - 1) \times
242
+ H_{out} = \left \lfloor{\frac{H_{in} + padding[0] + padding[1] - (\text{kernel_size[0]} - 1) \times
242
243
  \text{dilation[0]} - 1 }{\text{stride[0]}} + 1} \right \rfloor \\
243
- W_{out} \left \lfloor{\frac{W_{in} + padding[2] + padding[3] - (\text{kernel_size[1]} - 1) \times
244
+ W_{out} = \left \lfloor{\frac{W_{in} + padding[2] + padding[3] - (\text{kernel_size[1]} - 1) \times
244
245
  \text{dilation[1]} - 1 }{\text{stride[1]}} + 1} \right \rfloor \\
245
246
  \end{array}
246
247
 
@@ -315,7 +316,7 @@ class Conv2d(_Conv):
315
316
  return output
316
317
 
317
318
 
318
- @constexpr
319
+ @_primexpr
319
320
  def _check_input_3d(input_shape, op_name):
320
321
  if len(input_shape) != 3:
321
322
  raise ValueError(f"For '{op_name}', the dimension of input must be 3d, but got {len(input_shape)}.")
@@ -333,7 +334,7 @@ class Conv1d(_Conv):
333
334
  \sum_{k = 0}^{C_{in} - 1} \text{ccor}({\text{weight}(C_{\text{out}_j}, k), \text{X}(N_i, k)})
334
335
 
335
336
  where :math:`ccor` is the `cross-correlation <https://en.wikipedia.org/wiki/Cross-correlation>`_,
336
- :math:`C_{in}` is the channel number of the input, :math:`out_{j}` corresponds to the jth channel of
337
+ :math:`C_{in}` is the channel number of the input, :math:`out_{j}` corresponds to the :math:`j`-th channel of
337
338
  the output and :math:`j` is in the range of :math:`[0, C_{out}-1]`. :math:`\text{weight}(C_{\text{out}_j}, k)`
338
339
  is a convolution kernel slice with shape :math:`\text{kernel_size}`, where :math:`\text{kernel_size}`
339
340
  is the width of the convolution kernel. :math:`\text{bias}` is the bias parameter,
@@ -440,10 +441,10 @@ class Conv1d(_Conv):
440
441
  Validator.check_value_type("stride", stride, [int], self.cls_name)
441
442
  Validator.check_value_type("padding", padding, [int], self.cls_name)
442
443
  Validator.check_value_type("dilation", dilation, [int], self.cls_name)
443
- Validator.check_int(kernel_size, 1, Rel.GE, 'kernel_size', self.cls_name)
444
- Validator.check_int(stride, 1, Rel.GE, 'stride', self.cls_name)
444
+ Validator.check_int(kernel_size, 1, Validator.GE, 'kernel_size', self.cls_name)
445
+ Validator.check_int(stride, 1, Validator.GE, 'stride', self.cls_name)
445
446
  Validator.check_non_negative_int(padding, 'padding', self.cls_name)
446
- Validator.check_int(dilation, 1, Rel.GE, 'dilation', self.cls_name)
447
+ Validator.check_int(dilation, 1, Validator.GE, 'dilation', self.cls_name)
447
448
  kernel_size = (1, kernel_size)
448
449
  stride = (1, stride)
449
450
  dilation = (1, dilation)
@@ -496,7 +497,7 @@ class Conv1d(_Conv):
496
497
  return output
497
498
 
498
499
 
499
- @constexpr
500
+ @_primexpr
500
501
  def _check_input_5dims(input_shape, op_name):
501
502
  if len(input_shape) != 5:
502
503
  raise ValueError(f"For '{op_name}', the dimension of input must be 5d, but got {len(input_shape)}.")
@@ -516,8 +517,8 @@ class Conv3d(_Conv):
516
517
  \sum_{k = 0}^{C_{in} - 1} \text{ccor}({\text{weight}(C_{\text{out}_j}, k), \text{X}(N_i, k)})
517
518
 
518
519
  where :math:`ccor` is the `cross-correlation <https://en.wikipedia.org/wiki/Cross-correlation>`_,
519
- :math:`C_{in}` is the channel number of the input, :math:`out_{j}` corresponds to the jth channel of
520
- the output and :math:`j` is in the range of :math:`[0C_{out}-1]`. :math:`\text{weight}(C_{\text{out}_j}, k)`
520
+ :math:`C_{in}` is the channel number of the input, :math:`out_{j}` corresponds to the :math:`j`-th channel of
521
+ the output and :math:`j` is in the range of :math:`[0, C_{out}-1]`. :math:`\text{weight}(C_{\text{out}_j}, k)`
521
522
  is a convolution kernel slice with shape
522
523
  :math:`(\text{kernel_size[0]}, \text{kernel_size[1]}, \text{kernel_size[2]})`,
523
524
  where :math:`\text{kernel_size[0]}`, :math:`\text{kernel_size[1]}` and :math:`\text{kernel_size[2]}` are
@@ -724,7 +725,8 @@ class Conv3dTranspose(_Conv):
724
725
  Calculates a 3D transposed convolution, which can be regarded as Conv3d for the gradient of the input.
725
726
  It also called deconvolution (although it is not an actual deconvolution).
726
727
 
727
- The input is typically of shape :math:`(N, C, D, H, W)`, where :math:`N` is batch size, :math:`C` is a number of
728
+ he input is typically of shape :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})`,
729
+ where :math:`N` is batch size, :math:`C_{in}` is a number of
728
730
  channels, :math:`D_{in}, H_{in}, W_{in}` are the depth, height and width of the feature layer respectively.
729
731
 
730
732
  When Conv3d and Conv3dTranspose are initialized with the same parameters, and `pad_mode` is set to 'pad',
@@ -973,6 +975,12 @@ class Conv2dTranspose(_Conv):
973
975
  If `padding` is a tuple of 4 integers, then the top, bottom, left, and right padding
974
976
  is equal to `padding[0]`, `padding[1]`, `padding[2]`, and `padding[3]` respectively.
975
977
  The value should be greater than or equal to 0. Default: 0.
978
+ output_padding (Union[int, tuple[int]]): The number of padding on the height and width directions of the output.
979
+ The data type is an integer or a tuple of two integers. If `output_padding` is an integer,
980
+ then the bottom and right padding are all equal to `output_padding`. If `output_padding` is a tuple of
981
+ 2 integers, then the bottom and right padding is equal to `output_padding[0]`, `output_padding[1]`
982
+ respectively. If `output_padding` is not equal to 0, `pad_mode` must be `pad`.
983
+ The value should be in range of `[0, max(stride, dilation))` . Default: 0.
976
984
  dilation (Union[int, tuple[int]]): Dilation size of 2D convolution kernel.
977
985
  The data type is an integer or a tuple of two integers. If :math:`k > 1`, the kernel is sampled
978
986
  every `k` elements. The value of `k` on the height and width directions is in range of [1, H]
@@ -1020,10 +1028,10 @@ class Conv2dTranspose(_Conv):
1020
1028
  \begin{array}{ll} \\
1021
1029
  H_{out} = \text H_{in}\times \text {stride[0]} - (padding[0] + padding[1])
1022
1030
  + \text{kernel_size[0]} + (\text{dilation[0]} - 1) \times
1023
- (\text{kernel_size[0]} - 1) - \text {stride[0]} \\
1031
+ (\text{kernel_size[0]} - 1) - \text {stride[0]} + \text {output_padding[0]} \\
1024
1032
  W_{out} = \text W_{in}\times \text {stride[1]} - (padding[2] + padding[3])
1025
1033
  + \text{kernel_size[1]} + (\text{dilation[1]} - 1) \times
1026
- (\text{kernel_size[1]} - 1) - \text {stride[1]} \\
1034
+ (\text{kernel_size[1]} - 1) - \text {stride[1]} + \text {output_padding[1]} \\
1027
1035
  \end{array}
1028
1036
 
1029
1037
  Raises:
@@ -1053,6 +1061,7 @@ class Conv2dTranspose(_Conv):
1053
1061
  stride=1,
1054
1062
  pad_mode='same',
1055
1063
  padding=0,
1064
+ output_padding=0,
1056
1065
  dilation=1,
1057
1066
  group=1,
1058
1067
  has_bias=False,
@@ -1065,6 +1074,9 @@ class Conv2dTranspose(_Conv):
1065
1074
  Validator.check_value_type('padding', padding, (int, tuple), self.cls_name)
1066
1075
  if isinstance(padding, tuple):
1067
1076
  Validator.check_equal_int(len(padding), 4, 'padding size', self.cls_name)
1077
+ Validator.check_value_type('output_padding', output_padding, (int, tuple), self.cls_name)
1078
+ if isinstance(output_padding, tuple):
1079
+ Validator.check_equal_int(len(output_padding), 2, 'output_padding size', self.cls_name)
1068
1080
  # out_channels and in_channels swap.
1069
1081
  # cause Conv2DBackpropInput's out_channel refers to Conv2D's out_channel,
1070
1082
  # then Conv2dTranspose's out_channel refers to Conv2DBackpropInput's in_channel.
@@ -1089,6 +1101,7 @@ class Conv2dTranspose(_Conv):
1089
1101
  self.is_valid = self.pad_mode == 'valid'
1090
1102
  self.is_same = self.pad_mode == 'same'
1091
1103
  self.is_pad = self.pad_mode == 'pad'
1104
+ self.output_padding = output_padding
1092
1105
  if Validator.check_bool(has_bias, "has_bias", self.cls_name):
1093
1106
  self.bias = Parameter(initializer(bias_init, [out_channels]), name='bias')
1094
1107
 
@@ -1120,7 +1133,29 @@ class Conv2dTranspose(_Conv):
1120
1133
  if self.has_bias:
1121
1134
  return self.bias_add(self.conv2d_transpose(x, self.weight, (n, self.out_channels, h_out, w_out)),
1122
1135
  self.bias)
1123
- return self.conv2d_transpose(x, self.weight, (n, self.out_channels, h_out, w_out))
1136
+ conv2d_trans_ret = self.conv2d_transpose(x, self.weight, (n, self.out_channels, h_out, w_out))
1137
+ if isinstance(self.output_padding, tuple):
1138
+ if self.output_padding[0] < 0 or self.output_padding[0] >= max(self.dilation[0], self.stride[0]):
1139
+ raise ValueError("output_padding[0] must be in range of [0, max(stride_h, dilation_h)).")
1140
+ if self.output_padding[1] < 0 or self.output_padding[1] >= max(self.dilation[1], self.stride[1]):
1141
+ raise ValueError("output_padding[1] must be in range of [0, max(stride_w, dilation_w)).")
1142
+ if not self.is_pad and (self.output_padding[0] > 0 or self.output_padding[1] > 0):
1143
+ raise ValueError("when output_padding is not zero, pad_mode must be 'pad'")
1144
+
1145
+ pad = P.Pad(paddings=((0, 0), (0, 0), (0, self.output_padding[0]), (0, self.output_padding[1])))
1146
+ return pad(conv2d_trans_ret)
1147
+
1148
+ if self.output_padding == 0:
1149
+ return conv2d_trans_ret
1150
+
1151
+ if self.output_padding < 0 or self.output_padding >= max(self.dilation[0], self.stride[0]):
1152
+ raise ValueError("output_padding must be in range of [0, max(stride_h, dilation_h)).")
1153
+ if self.output_padding < 0 or self.output_padding >= max(self.dilation[1], self.stride[1]):
1154
+ raise ValueError("output_padding must be in range of [0, max(stride_w, dilation_w)).")
1155
+ if not self.is_pad and self.output_padding > 0:
1156
+ raise ValueError("when output_padding is not zero, pad_mode must be 'pad'")
1157
+ pad = P.Pad(paddings=((0, 0), (0, 0), (0, self.output_padding), (0, self.output_padding)))
1158
+ return pad(conv2d_trans_ret)
1124
1159
 
1125
1160
 
1126
1161
  class Conv1dTranspose(_Conv):
@@ -1128,7 +1163,8 @@ class Conv1dTranspose(_Conv):
1128
1163
  Calculates a 1D transposed convolution, which can be regarded as Conv1d for the gradient of the input,
1129
1164
  also called deconvolution (although it is not an actual deconvolution).
1130
1165
 
1131
- The input is typically of shape :math:`(N, C, L)`, where :math:`N` is batch size, :math:`C` is a number of channels
1166
+ The input is typically of shape :math:`(N, C_{in}, L_{in})`, where :math:`N` is batch size,
1167
+ :math:`C` is a number of channels
1132
1168
  and :math:`L_{in}` is a length of sequence.
1133
1169
 
1134
1170
  When Conv1d and ConvTranspose1d are initialized with the same parameters, and `pad_mode` is set to 'pad',
@@ -1180,18 +1216,18 @@ class Conv1dTranspose(_Conv):
1180
1216
  pad_mode is 'same':
1181
1217
 
1182
1218
  .. math::
1183
- L_{out} \left \lfloor{\frac{L_{in}}{\text{stride}} + 1} \right \rfloor
1219
+ L_{out} = \left \lfloor{\frac{L_{in}}{\text{stride}} + 1} \right \rfloor
1184
1220
 
1185
1221
  pad_mode is 'valid':
1186
1222
 
1187
1223
  .. math::
1188
- L_{out} \left \lfloor{\frac{L_{in} - \text{dilation} \times (\text{kernel_size} - 1) }
1224
+ L_{out} = \left \lfloor{\frac{L_{in} - \text{dilation} \times (\text{kernel_size} - 1) }
1189
1225
  {\text{stride}} + 1} \right \rfloor
1190
1226
 
1191
1227
  pad_mode is 'pad':
1192
1228
 
1193
1229
  .. math::
1194
- L_{out} \left \lfloor{\frac{L_{in} + 2 \times padding - (\text{dilation} - 1) \times
1230
+ L_{out} = \left \lfloor{\frac{L_{in} + 2 \times padding - (\text{dilation} - 1) \times
1195
1231
  \text{kernel_size} - 1 }{\text{stride}} + 1} \right \rfloor
1196
1232
 
1197
1233
  Raises:
@@ -1228,10 +1264,10 @@ class Conv1dTranspose(_Conv):
1228
1264
  Validator.check_value_type("stride", stride, [int], self.cls_name)
1229
1265
  Validator.check_value_type("padding", padding, [int], self.cls_name)
1230
1266
  Validator.check_value_type("dilation", dilation, [int], self.cls_name)
1231
- Validator.check_int(kernel_size, 1, Rel.GE, 'kernel_size', self.cls_name)
1232
- Validator.check_int(stride, 1, Rel.GE, 'stride', self.cls_name)
1267
+ Validator.check_int(kernel_size, 1, Validator.GE, 'kernel_size', self.cls_name)
1268
+ Validator.check_int(stride, 1, Validator.GE, 'stride', self.cls_name)
1233
1269
  Validator.check_non_negative_int(padding, 'padding', self.cls_name)
1234
- Validator.check_int(dilation, 1, Rel.GE, 'dilation', self.cls_name)
1270
+ Validator.check_int(dilation, 1, Validator.GE, 'dilation', self.cls_name)
1235
1271
  kernel_size = (1, kernel_size)
1236
1272
  stride = (1, stride)
1237
1273
  dilation = (1, dilation)
@@ -23,14 +23,14 @@ import mindspore.common.dtype as mstype
23
23
  from mindspore.common.tensor import Tensor
24
24
  from mindspore.common.initializer import initializer, Uniform
25
25
  from mindspore.common.parameter import Parameter
26
- from mindspore.ops.primitive import constexpr
27
- from mindspore._checkparam import Validator
26
+ from mindspore.ops.primitive import constexpr, _primexpr
27
+ from mindspore import _checkparam as Validator
28
28
  from mindspore.nn.cell import Cell
29
29
 
30
30
  __all__ = ['BiDense']
31
31
 
32
32
 
33
- @constexpr
33
+ @_primexpr
34
34
  def check_dense_inputs_same_shape(input1, input2, prim_name=None):
35
35
  msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
36
36
  if input1[:-1] != input2[:-1]:
@@ -46,7 +46,7 @@ def _check_is_tensor(param_name, input_data, cls_name):
46
46
  f"but got '{P.typeof(input_data)}'")
47
47
 
48
48
 
49
- @constexpr
49
+ @_primexpr
50
50
  def check_last_dimension(input_dim, input_channels, input_name, input_channels_name, prim_name=None):
51
51
  msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
52
52
  if input_dim != input_channels:
@@ -63,7 +63,7 @@ class BiDense(Cell):
63
63
  .. math::
64
64
  y = x_1^T A x_2 + b,
65
65
 
66
- where :math:`x_1` is the first input tensor, :math:`x_2` is the second input tensor
66
+ where :math:`x_{1}` is the first input tensor, :math:`x_{2}` is the second input tensor
67
67
  , :math:`A` is a weight matrix with the same data type as the :math:`x_{*}` created by the layer
68
68
  , and :math:`b` is a bias vector with the same data type as the :math:`x_{*}` created by the layer
69
69
  (only if has_bias is True).
@@ -76,7 +76,7 @@ class BiDense(Cell):
76
76
  The values of str refer to the function `initializer`. Default: None.
77
77
  bias_init (Union[Tensor, str, Initializer, numbers.Number]): The trainable bias_init parameter.
78
78
  The values of str refer to the function `initializer`. Default: None.
79
- has_bias (bool): Specifies whether the layer uses a bias vector. Default: True.
79
+ has_bias (bool): Specifies whether the layer uses :math:`\text{bias}` vector. Default: True.
80
80
 
81
81
  Shape:
82
82
  - **input1** - :math:`(*, H_{in1})` where :math:`H_{in1}=\text{in1_channels}` and
@@ -85,8 +85,9 @@ class BiDense(Cell):
85
85
  - **input2** - :math:`(*, H_{in2})` where :math:`H_{in2}=\text{in2_channels}` and
86
86
  :math:`*` means any number of additional dimensions including none. All but the last dimension
87
87
  of the inputs should be the same.
88
- - **output** - :math:`(*, H_{out})` where :math:`H_{out}=\text{out_channels}`
89
- and all but the last dimension are the same shape as the inputs.
88
+ - **output** - :math:`(*, H_{out})` where :math:`H_{out}=\text{out_channels}` and
89
+ :math:`*` means any number of additional dimensions including none. All but the last dimension
90
+ are the same shape as the inputs.
90
91
 
91
92
  Dtype:
92
93
  - **input1** (Tensor) - The dtype must be float16 or float32 and be same as **input2**.
@@ -29,26 +29,23 @@ from mindspore.parallel._utils import _get_parallel_mode, _get_full_batch
29
29
  from mindspore.parallel._ps_context import _get_ps_context, _enable_distributed_mindrt
30
30
  from mindspore.parallel._ps_context import _is_role_worker, _is_role_pserver
31
31
  from mindspore.parallel._ps_context import _insert_hash_table_size, _set_cache_enable, _set_rank_id
32
- from mindspore._checkparam import Rel
33
- from mindspore._checkparam import Validator as validator
34
- from mindspore.ops.primitive import constexpr
32
+ from mindspore import _checkparam as Validator
33
+ from mindspore.ops.primitive import constexpr, _primexpr
35
34
  from mindspore.nn.layer.basic import ClipByNorm
36
- from mindspore.nn.layer.math import Range
37
35
  from mindspore.nn.cell import Cell
38
36
 
39
37
  __all__ = ['Embedding', 'EmbeddingLookup', 'MultiFieldEmbeddingLookup']
40
38
 
41
39
 
42
- @constexpr
40
+ @_primexpr
43
41
  def _check_input_2d(input_shape, param_name, func_name):
44
42
  if len(input_shape) != 2:
45
43
  raise ValueError(f"For '{func_name}', the dimension of '{param_name}' must be 2d, but got {len(input_shape)}")
46
- return True
47
44
 
48
45
 
49
46
  @constexpr
50
47
  def _check_input_dtype(input_dtype, param_name, allow_dtypes, cls_name):
51
- validator.check_type_name(param_name, input_dtype, allow_dtypes, cls_name)
48
+ Validator.check_type_name(param_name, input_dtype, allow_dtypes, cls_name)
52
49
 
53
50
 
54
51
  class Embedding(Cell):
@@ -102,16 +99,16 @@ class Embedding(Cell):
102
99
  dtype=mstype.float32, padding_idx=None):
103
100
  """Initialize Embedding."""
104
101
  super(Embedding, self).__init__()
105
- self.vocab_size = validator.check_value_type('vocab_size', vocab_size, [int], self.cls_name)
106
- self.embedding_size = validator.check_value_type('embedding_size', embedding_size, [int], self.cls_name)
107
- validator.check_value_type('use_one_hot', use_one_hot, [bool], self.cls_name)
108
- validator.check_subclass("dtype", dtype, mstype.number_type, self.cls_name)
102
+ self.vocab_size = Validator.check_value_type('vocab_size', vocab_size, [int], self.cls_name)
103
+ self.embedding_size = Validator.check_value_type('embedding_size', embedding_size, [int], self.cls_name)
104
+ Validator.check_value_type('use_one_hot', use_one_hot, [bool], self.cls_name)
105
+ Validator.check_subclass("dtype", dtype, mstype.number_type, self.cls_name)
109
106
  self.use_one_hot = use_one_hot
110
107
  self.dtype = dtype
111
108
  self.init_tensor = initializer(embedding_table, [vocab_size, embedding_size])
112
109
  self.padding_idx = padding_idx
113
110
  if padding_idx is not None:
114
- self.padding_idx = validator.check_int_range(padding_idx, 0, vocab_size, Rel.INC_LEFT,
111
+ self.padding_idx = Validator.check_int_range(padding_idx, 0, vocab_size, Validator.INC_LEFT,
115
112
  "padding_idx", self.cls_name)
116
113
  if isinstance(self.init_tensor, Tensor) and self.init_tensor.init is not None:
117
114
  self.init_tensor = self.init_tensor.init_data()
@@ -129,9 +126,13 @@ class Embedding(Cell):
129
126
  self.array_mul = P.MatMul()
130
127
  self.reshape = P.Reshape()
131
128
  self.get_shp = P.Shape()
129
+ self.get_tensor_shp = P.TensorShape()
130
+ self.concat = P.Concat()
132
131
 
133
132
  def construct(self, ids):
134
133
  out_shape = self.get_shp(ids) + (self.embedding_size,)
134
+ if F.is_sequence_value_unknown(self.get_shp(ids)):
135
+ out_shape = self.concat((self.get_tensor_shp(ids), Tensor([self.embedding_size])))
135
136
  flat_ids = self.reshape_flat(ids, self.shp_flat)
136
137
 
137
138
  if self.use_one_hot:
@@ -230,14 +231,14 @@ class EmbeddingLookup(Cell):
230
231
  max_norm=None, sparse=True, vocab_cache_size=0):
231
232
  """Initialize EmbeddingLookup."""
232
233
  super(EmbeddingLookup, self).__init__()
233
- validator.check_value_type('sparse', sparse, [bool], self.cls_name)
234
- self.vocab_size = validator.check_positive_int(vocab_size, 'vocab_size')
235
- self.vocab_cache_size = validator.check_non_negative_int(vocab_cache_size, 'vocab_cache_size')
234
+ Validator.check_value_type('sparse', sparse, [bool], self.cls_name)
235
+ self.vocab_size = Validator.check_positive_int(vocab_size, 'vocab_size')
236
+ self.vocab_cache_size = Validator.check_non_negative_int(vocab_cache_size, 'vocab_cache_size')
236
237
  self.target = target
237
238
  self.sparse = sparse
238
239
  self.cache_enable = self.vocab_cache_size > 0
239
240
  self.forward_unique = False
240
- validator.check_string(target, ['CPU', 'DEVICE'], 'target', self.cls_name)
241
+ Validator.check_string(target, ['CPU', 'DEVICE'], 'target', self.cls_name)
241
242
  if not sparse and target == 'CPU':
242
243
  raise ValueError(f"For '{self.cls_name}', 'sparse' must be True when 'target' is \"CPU\", "
243
244
  f"but got 'sparse': {sparse} and 'target': {target}")
@@ -250,7 +251,7 @@ class EmbeddingLookup(Cell):
250
251
  enable_ps = _get_ps_context("enable_ps")
251
252
  if enable_ps:
252
253
  self._process_vocab_cache(slice_mode)
253
- self.embedding_size = validator.check_positive_int(embedding_size, 'embedding_size', self.cls_name)
254
+ self.embedding_size = Validator.check_positive_int(embedding_size, 'embedding_size', self.cls_name)
254
255
  self.embedding_table = Parameter(initializer(param_init, [self.vocab_size, self.embedding_size]),
255
256
  name='embedding_table')
256
257
  parallel_mode = _get_parallel_mode()
@@ -275,7 +276,7 @@ class EmbeddingLookup(Cell):
275
276
  raise TypeError(f"For '{self.cls_name}', the type of 'manual_shapes' must be tuple(int), "
276
277
  f"but got {type(manual_shapes).__name__}!")
277
278
  for dim in manual_shapes:
278
- validator.check_positive_int(dim, 'manual shape dim', self.cls_name)
279
+ Validator.check_positive_int(dim, 'manual shape dim', self.cls_name)
279
280
  self.gatherv2.add_prim_attr("manual_split", manual_shapes)
280
281
  self.embeddinglookup.add_prim_attr("manual_split", manual_shapes)
281
282
  self.gatherv2.shard(((get_group_size(), 1), (1, get_group_size())))
@@ -313,7 +314,7 @@ class EmbeddingLookup(Cell):
313
314
  self.embedding_table.unique = self.forward_unique
314
315
  self.max_norm = max_norm
315
316
  if self.max_norm is not None:
316
- self.max_norm = validator.check_positive_float(self.max_norm, 'max_norm', self.cls_name)
317
+ self.max_norm = Validator.check_positive_float(self.max_norm, 'max_norm', self.cls_name)
317
318
  self.max_norm = Tensor(self.max_norm, dtype=mstype.float32)
318
319
 
319
320
  def _process_vocab_cache(self, slice_mode):
@@ -343,13 +344,15 @@ class EmbeddingLookup(Cell):
343
344
  f"But got full_batch: {full_batch} and 'slice_mode': \"{slice_mode}\".")
344
345
  self.vocab_cache_size = self.vocab_cache_size * rank_size
345
346
  _set_rank_id(rank_id)
347
+
346
348
  self.cache_enable = True
349
+ _set_cache_enable(True)
350
+
347
351
  if _is_role_worker():
348
352
  self.vocab_size = self.vocab_cache_size
349
353
 
350
354
  def _set_voacb_cache_enable_for_ps(self, vocab_cache_size, embedding_size, vocab_size, param_init):
351
355
  """PS embeddingLookup cache enable set."""
352
- _set_cache_enable(True)
353
356
  if self.sparse:
354
357
  self.forward_unique = True
355
358
  param_key = _get_unique_parameter_key()
@@ -484,7 +487,7 @@ class MultiFieldEmbeddingLookup(EmbeddingLookup):
484
487
  'MEAN'. Ensure the input_values of the padded id is zero, so that they can be ignored. The final
485
488
  output will be zeros if the sum of absolute weight of the field is zero. This class only
486
489
  supports ['table_row_slice', 'batch_slice' and 'table_column_slice']. For the operation 'MAX' on
487
- device Ascend, there is a constraint where batch_size * (seq_length + field_size) < 3500.
490
+ device Ascend, there is a constraint where :math:`batch\_size * (seq\_length + field\_size) < 3500`.
488
491
 
489
492
  Args:
490
493
  vocab_size (int): The size of the dictionary of embeddings.
@@ -549,7 +552,7 @@ class MultiFieldEmbeddingLookup(EmbeddingLookup):
549
552
  """Initialize MultiFieldEmbeddingLookup."""
550
553
  super(MultiFieldEmbeddingLookup, self).__init__(vocab_size, embedding_size, param_init, target,
551
554
  slice_mode, feature_num_list, max_norm, sparse)
552
- self.field_size = validator.check_positive_int(field_size, 'field_size', self.cls_name)
555
+ self.field_size = Validator.check_positive_int(field_size, 'field_size', self.cls_name)
553
556
  self.operator = operator
554
557
 
555
558
  self.mul = P.Mul()
@@ -567,7 +570,7 @@ class MultiFieldEmbeddingLookup(EmbeddingLookup):
567
570
  self.max_mask_mul = P.Mul()
568
571
  self.max_no_equal = P.NotEqual()
569
572
 
570
- validator.check_string(operator, ['SUM', 'MAX', 'MEAN'], 'operator', self.cls_name)
573
+ Validator.check_string(operator, ['SUM', 'MAX', 'MEAN'], 'operator', self.cls_name)
571
574
  if operator == MultiFieldEmbeddingLookup.OPERATOR_SUM:
572
575
  self.merge_op = P.UnsortedSegmentSum()
573
576
  elif operator == MultiFieldEmbeddingLookup.OPERATOR_MAX:
@@ -619,7 +622,6 @@ class MultiFieldEmbeddingLookup(EmbeddingLookup):
619
622
  self.negative_inf_value = -3.402823466E+38
620
623
 
621
624
  def construct(self, input_indices, input_values, field_ids):
622
-
623
625
  _check_input_2d(F.shape(input_indices), "input_indices", self.cls_name)
624
626
  _check_input_2d(F.shape(input_values), "input_values", self.cls_name)
625
627
  _check_input_2d(F.shape(field_ids), "field_ids", self.cls_name)
@@ -629,7 +631,7 @@ class MultiFieldEmbeddingLookup(EmbeddingLookup):
629
631
 
630
632
  batch_size = self.shape(input_indices)[0]
631
633
  num_segments = batch_size * self.field_size
632
- bias = Range(0, num_segments, self.field_size)()
634
+ bias = F.tuple_to_array(F.make_range(0, num_segments, self.field_size))
633
635
  bias = self.reshape(bias, (batch_size, -1))
634
636
  field_ids = self.bias_add(field_ids, bias)
635
637