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

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

Potentially problematic release.


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

Files changed (655) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -2
  3. mindspore/_c_dataengine.cp37-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp37-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp37-win_amd64.pyd +0 -0
  6. mindspore/_check_jit_forbidden_api.py +102 -0
  7. mindspore/_checkparam.py +1066 -1001
  8. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +4 -3
  9. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -48
  10. mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -4
  11. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -4
  12. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
  13. mindspore/_extends/parse/__init__.py +5 -3
  14. mindspore/_extends/parse/namespace.py +16 -1
  15. mindspore/_extends/parse/parser.py +107 -22
  16. mindspore/_extends/parse/resources.py +0 -7
  17. mindspore/_extends/parse/standard_method.py +885 -413
  18. mindspore/amp.py +52 -57
  19. mindspore/boost/boost.py +2 -2
  20. mindspore/boost/boost_cell_wrapper.py +38 -20
  21. mindspore/boost/dim_reduce.py +3 -3
  22. mindspore/boost/group_loss_scale_manager.py +1 -1
  23. mindspore/common/__init__.py +4 -6
  24. mindspore/common/_decorator.py +2 -0
  25. mindspore/common/_register_for_adapter.py +55 -0
  26. mindspore/common/_stub_tensor.py +201 -0
  27. mindspore/common/_utils.py +41 -7
  28. mindspore/common/api.py +215 -141
  29. mindspore/common/dtype.py +8 -1
  30. mindspore/common/dump.py +2 -2
  31. mindspore/common/initializer.py +4 -2
  32. mindspore/common/jit_config.py +17 -13
  33. mindspore/common/mutable.py +33 -13
  34. mindspore/common/parameter.py +23 -21
  35. mindspore/common/seed.py +8 -24
  36. mindspore/common/sparse_tensor.py +62 -41
  37. mindspore/common/tensor.py +852 -1154
  38. mindspore/communication/__init__.py +2 -2
  39. mindspore/communication/_comm_helper.py +11 -4
  40. mindspore/communication/management.py +22 -21
  41. mindspore/config/op_info.config +501 -1008
  42. mindspore/context.py +201 -23
  43. mindspore/dataset/__init__.py +6 -6
  44. mindspore/dataset/audio/__init__.py +7 -7
  45. mindspore/dataset/audio/transforms.py +670 -30
  46. mindspore/dataset/audio/utils.py +47 -4
  47. mindspore/dataset/audio/validators.py +223 -1
  48. mindspore/dataset/callback/ds_callback.py +2 -2
  49. mindspore/dataset/core/config.py +210 -14
  50. mindspore/dataset/core/validator_helpers.py +2 -2
  51. mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
  52. mindspore/dataset/debug/debug_hook.py +65 -0
  53. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  54. mindspore/dataset/engine/__init__.py +7 -3
  55. mindspore/dataset/engine/cache_client.py +1 -1
  56. mindspore/dataset/engine/datasets.py +322 -66
  57. mindspore/dataset/engine/datasets_audio.py +80 -76
  58. mindspore/dataset/engine/datasets_standard_format.py +51 -38
  59. mindspore/dataset/engine/datasets_text.py +232 -118
  60. mindspore/dataset/engine/datasets_user_defined.py +41 -17
  61. mindspore/dataset/engine/datasets_vision.py +746 -225
  62. mindspore/dataset/engine/graphdata.py +75 -10
  63. mindspore/dataset/engine/iterators.py +45 -5
  64. mindspore/dataset/engine/offload.py +48 -28
  65. mindspore/dataset/engine/validators.py +117 -8
  66. mindspore/dataset/text/__init__.py +6 -5
  67. mindspore/dataset/text/transforms.py +86 -3
  68. mindspore/dataset/text/utils.py +6 -4
  69. mindspore/dataset/text/validators.py +25 -0
  70. mindspore/dataset/transforms/__init__.py +3 -2
  71. mindspore/dataset/transforms/c_transforms.py +1 -1
  72. mindspore/dataset/transforms/transforms.py +2 -2
  73. mindspore/dataset/utils/__init__.py +2 -1
  74. mindspore/dataset/utils/line_reader.py +121 -0
  75. mindspore/dataset/vision/__init__.py +2 -3
  76. mindspore/dataset/vision/c_transforms.py +9 -9
  77. mindspore/dataset/vision/py_transforms.py +5 -5
  78. mindspore/dataset/vision/py_transforms_util.py +2 -0
  79. mindspore/dataset/vision/transforms.py +160 -161
  80. mindspore/dataset/vision/utils.py +3 -3
  81. mindspore/experimental/map_parameter.py +38 -26
  82. mindspore/include/OWNERS +0 -1
  83. mindspore/include/api/callback/callback.h +9 -13
  84. mindspore/include/api/callback/ckpt_saver.h +2 -2
  85. mindspore/include/api/callback/loss_monitor.h +2 -2
  86. mindspore/include/api/callback/lr_scheduler.h +5 -5
  87. mindspore/include/api/callback/time_monitor.h +2 -2
  88. mindspore/include/api/callback/train_accuracy.h +4 -6
  89. mindspore/include/api/cfg.h +19 -6
  90. mindspore/include/api/context.h +44 -9
  91. mindspore/include/api/delegate.h +1 -1
  92. mindspore/include/api/metrics/accuracy.h +2 -2
  93. mindspore/include/api/metrics/metrics.h +4 -3
  94. mindspore/include/api/model.h +9 -4
  95. mindspore/include/api/model_parallel_runner.h +2 -2
  96. mindspore/include/api/net.h +12 -11
  97. mindspore/include/api/serialization.h +19 -3
  98. mindspore/include/api/types.h +3 -3
  99. mindspore/include/dataset/constants.h +7 -0
  100. mindspore/include/dataset/text.h +59 -0
  101. mindspore/jpeg62.dll +0 -0
  102. mindspore/log.py +1 -1
  103. mindspore/mindrecord/filereader.py +18 -0
  104. mindspore/mindrecord/filewriter.py +197 -34
  105. mindspore/mindrecord/shardreader.py +9 -0
  106. mindspore/mindrecord/shardwriter.py +1 -1
  107. mindspore/mindrecord/tools/cifar100_to_mr.py +3 -3
  108. mindspore/mindrecord/tools/cifar10_to_mr.py +3 -3
  109. mindspore/mindrecord/tools/csv_to_mr.py +3 -3
  110. mindspore/mindrecord/tools/imagenet_to_mr.py +16 -11
  111. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  112. mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
  113. mindspore/mindspore_backend.dll +0 -0
  114. mindspore/mindspore_common.dll +0 -0
  115. mindspore/mindspore_core.dll +0 -0
  116. mindspore/mindspore_glog.dll +0 -0
  117. mindspore/mindspore_shared_lib.dll +0 -0
  118. mindspore/nn/__init__.py +0 -4
  119. mindspore/nn/cell.py +204 -132
  120. mindspore/nn/dynamic_lr.py +1 -1
  121. mindspore/nn/grad/cell_grad.py +7 -6
  122. mindspore/nn/layer/__init__.py +5 -4
  123. mindspore/nn/layer/activation.py +40 -89
  124. mindspore/nn/layer/basic.py +255 -624
  125. mindspore/nn/layer/channel_shuffle.py +7 -6
  126. mindspore/nn/layer/combined.py +1 -1
  127. mindspore/nn/layer/container.py +41 -4
  128. mindspore/nn/layer/conv.py +64 -28
  129. mindspore/nn/layer/dense.py +9 -8
  130. mindspore/nn/layer/embedding.py +27 -25
  131. mindspore/nn/layer/image.py +53 -46
  132. mindspore/nn/layer/math.py +97 -105
  133. mindspore/nn/layer/normalization.py +117 -86
  134. mindspore/nn/layer/padding.py +185 -95
  135. mindspore/nn/layer/pooling.py +817 -414
  136. mindspore/nn/layer/rnn_cells.py +10 -15
  137. mindspore/nn/layer/rnns.py +37 -38
  138. mindspore/nn/layer/thor_layer.py +11 -12
  139. mindspore/nn/layer/timedistributed.py +5 -5
  140. mindspore/nn/layer/transformer.py +701 -0
  141. mindspore/nn/learning_rate_schedule.py +8 -8
  142. mindspore/nn/loss/__init__.py +5 -4
  143. mindspore/nn/loss/loss.py +334 -199
  144. mindspore/nn/optim/ada_grad.py +6 -6
  145. mindspore/nn/optim/adadelta.py +2 -3
  146. mindspore/nn/optim/adafactor.py +4 -5
  147. mindspore/nn/optim/adam.py +126 -62
  148. mindspore/nn/optim/adamax.py +3 -4
  149. mindspore/nn/optim/adasum.py +6 -6
  150. mindspore/nn/optim/asgd.py +2 -2
  151. mindspore/nn/optim/ftrl.py +67 -38
  152. mindspore/nn/optim/lamb.py +4 -5
  153. mindspore/nn/optim/lars.py +2 -2
  154. mindspore/nn/optim/lazyadam.py +43 -4
  155. mindspore/nn/optim/momentum.py +6 -5
  156. mindspore/nn/optim/optimizer.py +3 -1
  157. mindspore/nn/optim/proximal_ada_grad.py +2 -2
  158. mindspore/nn/optim/rmsprop.py +1 -1
  159. mindspore/nn/optim/rprop.py +8 -9
  160. mindspore/nn/optim/sgd.py +19 -13
  161. mindspore/nn/optim/thor.py +10 -15
  162. mindspore/nn/probability/__init__.py +0 -2
  163. mindspore/nn/probability/bijector/bijector.py +4 -4
  164. mindspore/nn/probability/bijector/invert.py +1 -1
  165. mindspore/nn/probability/bijector/softplus.py +2 -2
  166. mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
  167. mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
  168. mindspore/nn/probability/distribution/_utils/utils.py +9 -15
  169. mindspore/nn/probability/distribution/bernoulli.py +3 -3
  170. mindspore/nn/probability/distribution/beta.py +1 -1
  171. mindspore/nn/probability/distribution/categorical.py +5 -7
  172. mindspore/nn/probability/distribution/cauchy.py +3 -3
  173. mindspore/nn/probability/distribution/distribution.py +2 -2
  174. mindspore/nn/probability/distribution/exponential.py +2 -2
  175. mindspore/nn/probability/distribution/gamma.py +3 -3
  176. mindspore/nn/probability/distribution/geometric.py +1 -1
  177. mindspore/nn/probability/distribution/gumbel.py +3 -3
  178. mindspore/nn/probability/distribution/half_normal.py +15 -11
  179. mindspore/nn/probability/distribution/laplace.py +16 -13
  180. mindspore/nn/probability/distribution/logistic.py +2 -2
  181. mindspore/nn/probability/distribution/normal.py +1 -1
  182. mindspore/nn/probability/distribution/poisson.py +1 -1
  183. mindspore/nn/probability/distribution/student_t.py +20 -15
  184. mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
  185. mindspore/nn/probability/distribution/uniform.py +2 -2
  186. mindspore/nn/reinforcement/_tensors_queue.py +3 -3
  187. mindspore/nn/reinforcement/tensor_array.py +2 -2
  188. mindspore/nn/sparse/sparse.py +2 -2
  189. mindspore/nn/wrap/cell_wrapper.py +27 -10
  190. mindspore/nn/wrap/grad_reducer.py +2 -2
  191. mindspore/nn/wrap/loss_scale.py +40 -24
  192. mindspore/numpy/array_creations.py +33 -22
  193. mindspore/numpy/array_ops.py +35 -30
  194. mindspore/numpy/logic_ops.py +6 -27
  195. mindspore/numpy/math_ops.py +22 -19
  196. mindspore/numpy/utils.py +1 -1
  197. mindspore/numpy/utils_const.py +108 -58
  198. mindspore/opencv_core452.dll +0 -0
  199. mindspore/opencv_imgcodecs452.dll +0 -0
  200. mindspore/opencv_imgproc452.dll +0 -0
  201. mindspore/ops/_constants.py +0 -6
  202. mindspore/ops/_grad/__init__.py +2 -1
  203. mindspore/ops/_grad/grad_array_ops.py +86 -117
  204. mindspore/ops/_grad/grad_base.py +23 -1
  205. mindspore/ops/_grad/grad_clip_ops.py +2 -3
  206. mindspore/ops/_grad/grad_comm_ops.py +34 -24
  207. mindspore/ops/_grad/grad_implementations.py +9 -45
  208. mindspore/ops/_grad/grad_inner_ops.py +47 -4
  209. mindspore/ops/_grad/grad_math_ops.py +142 -117
  210. mindspore/ops/_grad/grad_nn_ops.py +71 -165
  211. mindspore/ops/_grad/grad_sequence_ops.py +296 -0
  212. mindspore/ops/_grad/grad_sparse.py +7 -6
  213. mindspore/ops/_grad_experimental/__init__.py +1 -0
  214. mindspore/ops/_grad_experimental/grad_array_ops.py +150 -15
  215. mindspore/ops/_grad_experimental/grad_image_ops.py +16 -7
  216. mindspore/ops/_grad_experimental/grad_inner_ops.py +1 -22
  217. mindspore/ops/_grad_experimental/grad_linalg_ops.py +4 -11
  218. mindspore/ops/_grad_experimental/grad_math_ops.py +210 -89
  219. mindspore/ops/_grad_experimental/grad_nn_ops.py +26 -22
  220. mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
  221. mindspore/ops/_grad_experimental/grad_sparse_ops.py +49 -8
  222. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
  223. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +2 -2
  224. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
  225. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
  226. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +4 -4
  227. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
  228. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
  229. mindspore/ops/_op_impl/_custom_op/correction_mul.py +2 -2
  230. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
  231. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -5
  232. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
  233. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
  234. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
  235. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
  236. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
  237. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
  238. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
  239. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
  240. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
  241. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
  242. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
  243. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
  244. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
  245. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
  246. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
  247. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
  248. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
  249. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
  250. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -4
  251. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
  252. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
  253. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
  254. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
  255. mindspore/ops/_op_impl/aicpu/__init__.py +236 -4
  256. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  257. mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_v1.py → adaptive_avg_pool_2d.py} +6 -5
  258. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  259. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  260. mindspore/ops/_op_impl/aicpu/addcdiv.py +0 -32
  261. mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
  262. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  263. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -43
  264. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  265. mindspore/{compression/common/__init__.py → ops/_op_impl/aicpu/bessel_i0.py} +15 -8
  266. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  267. mindspore/ops/_op_impl/aicpu/conj.py +11 -0
  268. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +0 -3
  269. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  270. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  271. mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_grad_v1.py → digamma.py} +7 -9
  272. mindspore/ops/_op_impl/aicpu/flatten.py +1 -0
  273. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  274. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  275. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +1 -1
  276. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  277. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  278. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  279. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  280. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  281. mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/lgamma.py} +16 -10
  282. mindspore/ops/_op_impl/aicpu/mirror_pad.py +0 -4
  283. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
  284. mindspore/ops/_op_impl/aicpu/mul.py +3 -1
  285. mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
  286. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  287. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  288. mindspore/ops/_op_impl/aicpu/ones_like.py +0 -2
  289. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  290. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  291. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  292. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  293. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  294. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  295. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
  296. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
  297. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  298. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  299. mindspore/ops/_op_impl/aicpu/scatter_elements.py +4 -0
  300. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
  301. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  302. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  303. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  304. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  305. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  306. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +0 -24
  307. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  308. mindspore/ops/_op_impl/aicpu/sparse_slice.py +4 -0
  309. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +6 -0
  310. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  311. mindspore/ops/_op_impl/aicpu/trans_data.py +1 -0
  312. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  313. mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
  314. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
  315. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
  316. mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
  317. mindspore/ops/_op_impl/cpu/sparse_slice.py +4 -0
  318. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +6 -0
  319. mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
  320. mindspore/ops/_op_impl/tbe/__init__.py +27 -611
  321. mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
  322. mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
  323. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
  324. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +1 -0
  325. mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
  326. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
  327. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
  328. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
  329. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
  330. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
  331. mindspore/ops/_op_impl/tbe/cast.py +0 -2
  332. mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
  333. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
  334. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +2 -2
  335. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
  336. mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
  337. mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
  338. mindspore/ops/_op_impl/tbe/matmul_ds.py +2 -0
  339. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
  340. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
  341. mindspore/ops/_op_impl/tbe/scatter_mul.py +2 -0
  342. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -2
  343. mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
  344. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
  345. mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
  346. mindspore/ops/_register_for_op.py +1 -0
  347. mindspore/ops/_utils/__init__.py +1 -2
  348. mindspore/ops/_utils/utils.py +19 -40
  349. mindspore/ops/_vmap/vmap_array_ops.py +116 -38
  350. mindspore/ops/_vmap/vmap_base.py +16 -9
  351. mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
  352. mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
  353. mindspore/ops/_vmap/vmap_grad_nn_ops.py +7 -5
  354. mindspore/ops/_vmap/vmap_image_ops.py +12 -5
  355. mindspore/ops/_vmap/vmap_math_ops.py +46 -5
  356. mindspore/ops/_vmap/vmap_nn_ops.py +15 -21
  357. mindspore/ops/_vmap/vmap_random_ops.py +1 -1
  358. mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
  359. mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
  360. mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
  361. mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
  362. mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
  363. mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
  364. mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
  365. mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
  366. mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +220 -106
  367. mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
  368. mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +240 -0
  369. mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
  370. mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
  371. mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
  372. mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
  373. mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
  374. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
  375. mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
  376. mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
  377. mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +22 -23
  378. mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -17
  379. mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
  380. mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
  381. mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
  382. mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
  383. mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
  384. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  385. mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +39 -41
  386. mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
  387. mindspore/ops/bprop_mindir/Flatten_bprop.mindir +41 -43
  388. mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +51 -57
  389. mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
  390. mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
  391. mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
  392. mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
  393. mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
  394. mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
  395. mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
  396. mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
  397. mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
  398. mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
  399. mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
  400. mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
  401. mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
  402. mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
  403. mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
  404. mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +27 -0
  405. mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
  406. mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
  407. mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
  408. mindspore/ops/bprop_mindir/OneHot_bprop.mindir +24 -25
  409. mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
  410. mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
  411. mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
  412. mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +29 -0
  413. mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
  414. mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
  415. mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
  416. mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +18 -19
  417. mindspore/ops/bprop_mindir/Reshape_bprop.mindir +53 -53
  418. mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
  419. mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +77 -85
  420. mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
  421. mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
  422. mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
  423. mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
  424. mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
  425. mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  426. mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
  427. mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
  428. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  429. mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +37 -39
  430. mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +70 -72
  431. mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
  432. mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
  433. mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
  434. mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
  435. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +17 -17
  436. mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
  437. mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
  438. mindspore/ops/bprop_mindir/generate_mindir.py +2 -0
  439. mindspore/ops/composite/__init__.py +7 -8
  440. mindspore/ops/composite/base.py +101 -47
  441. mindspore/ops/composite/math_ops.py +188 -158
  442. mindspore/ops/composite/multitype_ops/_compile_utils.py +415 -170
  443. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +142 -87
  444. mindspore/ops/composite/multitype_ops/add_impl.py +6 -1
  445. mindspore/ops/composite/multitype_ops/div_impl.py +2 -3
  446. mindspore/ops/composite/multitype_ops/getitem_impl.py +31 -3
  447. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
  448. mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
  449. mindspore/ops/composite/multitype_ops/in_impl.py +9 -0
  450. mindspore/ops/composite/multitype_ops/less_equal_impl.py +31 -0
  451. mindspore/ops/composite/multitype_ops/less_impl.py +31 -0
  452. mindspore/ops/composite/multitype_ops/mul_impl.py +21 -5
  453. mindspore/ops/composite/multitype_ops/not_in_impl.py +9 -0
  454. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
  455. mindspore/ops/composite/multitype_ops/setitem_impl.py +21 -3
  456. mindspore/ops/composite/multitype_ops/sub_impl.py +1 -1
  457. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +35 -4
  458. mindspore/ops/function/__init__.py +152 -8
  459. mindspore/ops/function/array_func.py +2555 -674
  460. mindspore/ops/function/clip_func.py +209 -13
  461. mindspore/ops/function/debug_func.py +2 -2
  462. mindspore/ops/function/grad/__init__.py +2 -1
  463. mindspore/ops/function/grad/grad_func.py +147 -62
  464. mindspore/ops/function/image_func.py +54 -38
  465. mindspore/ops/function/linalg_func.py +167 -16
  466. mindspore/ops/function/math_func.py +4849 -1492
  467. mindspore/ops/function/nn_func.py +2573 -988
  468. mindspore/ops/function/other_func.py +115 -0
  469. mindspore/ops/function/parameter_func.py +3 -3
  470. mindspore/ops/function/random_func.py +790 -73
  471. mindspore/ops/function/sparse_func.py +98 -78
  472. mindspore/ops/function/sparse_unary_func.py +54 -53
  473. mindspore/ops/function/spectral_func.py +27 -24
  474. mindspore/ops/function/vmap_func.py +22 -2
  475. mindspore/ops/functional.py +97 -37
  476. mindspore/ops/op_info_register.py +70 -28
  477. mindspore/ops/operations/__init__.py +47 -14
  478. mindspore/ops/operations/_csr_ops.py +7 -7
  479. mindspore/ops/operations/_embedding_cache_ops.py +5 -5
  480. mindspore/ops/operations/_grad_ops.py +276 -187
  481. mindspore/ops/operations/_inner_ops.py +319 -113
  482. mindspore/ops/operations/_ms_kernel.py +10 -8
  483. mindspore/ops/operations/_ocr_ops.py +9 -9
  484. mindspore/ops/operations/_opaque_predicate_registry.py +4 -0
  485. mindspore/ops/operations/_quant_ops.py +137 -102
  486. mindspore/ops/operations/_rl_inner_ops.py +121 -60
  487. mindspore/ops/operations/_scalar_ops.py +466 -0
  488. mindspore/ops/operations/_sequence_ops.py +1004 -2
  489. mindspore/ops/operations/_tensor_array.py +10 -11
  490. mindspore/ops/operations/_thor_ops.py +1 -1
  491. mindspore/ops/operations/array_ops.py +801 -466
  492. mindspore/ops/operations/comm_ops.py +51 -49
  493. mindspore/ops/operations/control_ops.py +2 -2
  494. mindspore/ops/operations/custom_ops.py +123 -44
  495. mindspore/ops/operations/debug_ops.py +24 -24
  496. mindspore/ops/operations/image_ops.py +240 -153
  497. mindspore/ops/operations/inner_ops.py +34 -50
  498. mindspore/ops/operations/linalg_ops.py +31 -9
  499. mindspore/ops/operations/math_ops.py +988 -757
  500. mindspore/ops/operations/nn_ops.py +965 -819
  501. mindspore/ops/operations/other_ops.py +51 -40
  502. mindspore/ops/operations/random_ops.py +204 -122
  503. mindspore/ops/operations/rl_ops.py +8 -9
  504. mindspore/ops/operations/sparse_ops.py +254 -93
  505. mindspore/ops/operations/spectral_ops.py +35 -3
  506. mindspore/ops/primitive.py +111 -9
  507. mindspore/parallel/_auto_parallel_context.py +189 -83
  508. mindspore/parallel/_offload_context.py +185 -0
  509. mindspore/parallel/_parallel_serialization.py +99 -7
  510. mindspore/parallel/_ps_context.py +9 -5
  511. mindspore/parallel/_recovery_context.py +1 -1
  512. mindspore/parallel/_tensor.py +7 -1
  513. mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
  514. mindspore/{nn/transformer → parallel/_transformer}/layers.py +6 -37
  515. mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
  516. mindspore/{nn/transformer → parallel/_transformer}/moe.py +20 -16
  517. mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
  518. mindspore/{nn/transformer → parallel/_transformer}/transformer.py +48 -111
  519. mindspore/parallel/_utils.py +1 -2
  520. mindspore/parallel/algo_parameter_config.py +1 -1
  521. mindspore/parallel/checkpoint_transform.py +37 -34
  522. mindspore/parallel/shard.py +17 -18
  523. mindspore/profiler/common/validator/validate_path.py +2 -2
  524. mindspore/profiler/envprofiling.py +69 -47
  525. mindspore/profiler/parser/ascend_timeline_generator.py +49 -42
  526. mindspore/profiler/parser/base_timeline_generator.py +49 -56
  527. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +98 -78
  528. mindspore/profiler/parser/hwts_log_parser.py +1 -1
  529. mindspore/profiler/parser/integrator.py +15 -14
  530. mindspore/profiler/parser/minddata_analyzer.py +2 -2
  531. mindspore/profiler/parser/msadvisor_analyzer.py +12 -25
  532. mindspore/profiler/parser/msadvisor_parser.py +2 -4
  533. mindspore/profiler/parser/optime_parser.py +17 -18
  534. mindspore/profiler/parser/profiler_info.py +2 -1
  535. mindspore/profiler/profiling.py +218 -186
  536. mindspore/rewrite/__init__.py +3 -1
  537. mindspore/rewrite/api/node.py +1 -114
  538. mindspore/rewrite/api/node_type.py +3 -0
  539. mindspore/rewrite/api/pattern_engine.py +31 -1
  540. mindspore/rewrite/api/scoped_value.py +4 -4
  541. mindspore/rewrite/api/symbol_tree.py +3 -78
  542. mindspore/rewrite/api/tree_node_helper.py +1 -1
  543. mindspore/rewrite/ast_creator_register.py +1 -0
  544. mindspore/rewrite/ast_helpers/__init__.py +2 -2
  545. mindspore/rewrite/ast_helpers/ast_creator.py +1 -2
  546. mindspore/rewrite/ast_helpers/ast_finder.py +65 -0
  547. mindspore/rewrite/ast_helpers/ast_modifier.py +11 -3
  548. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +18 -2
  549. mindspore/rewrite/namespace.py +0 -2
  550. mindspore/rewrite/node.py +157 -11
  551. mindspore/rewrite/parsers/assign_parser.py +231 -53
  552. mindspore/rewrite/parsers/class_def_parser.py +187 -109
  553. mindspore/rewrite/parsers/for_parser.py +24 -14
  554. mindspore/rewrite/parsers/function_def_parser.py +21 -4
  555. mindspore/rewrite/parsers/if_parser.py +6 -2
  556. mindspore/rewrite/sparsify/__init__.py +0 -0
  557. mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
  558. mindspore/rewrite/sparsify/sparsify.py +109 -0
  559. mindspore/rewrite/sparsify/utils.py +173 -0
  560. mindspore/rewrite/symbol_tree.py +256 -133
  561. mindspore/rewrite/symbol_tree_builder.py +38 -1
  562. mindspore/run_check/_check_version.py +69 -63
  563. mindspore/run_check/run_check.py +2 -1
  564. mindspore/tinyxml2.dll +0 -0
  565. mindspore/train/__init__.py +1 -1
  566. mindspore/train/_utils.py +28 -5
  567. mindspore/train/amp.py +273 -102
  568. mindspore/train/callback/_backup_and_restore.py +5 -5
  569. mindspore/train/callback/_callback.py +2 -2
  570. mindspore/train/callback/_checkpoint.py +3 -3
  571. mindspore/train/callback/_early_stop.py +3 -3
  572. mindspore/train/callback/_lambda_callback.py +2 -2
  573. mindspore/train/callback/_landscape.py +29 -31
  574. mindspore/train/callback/_loss_monitor.py +3 -3
  575. mindspore/train/callback/_on_request_exit.py +3 -3
  576. mindspore/train/callback/_reduce_lr_on_plateau.py +4 -4
  577. mindspore/train/callback/_summary_collector.py +23 -16
  578. mindspore/train/callback/_time_monitor.py +3 -3
  579. mindspore/train/checkpoint_pb2.py +68 -8
  580. mindspore/train/data_sink.py +15 -3
  581. mindspore/train/dataset_helper.py +10 -15
  582. mindspore/train/loss_scale_manager.py +8 -11
  583. mindspore/train/metrics/__init__.py +1 -1
  584. mindspore/train/metrics/bleu_score.py +1 -1
  585. mindspore/train/metrics/confusion_matrix.py +1 -1
  586. mindspore/train/metrics/cosine_similarity.py +1 -1
  587. mindspore/train/metrics/dice.py +2 -2
  588. mindspore/train/metrics/fbeta.py +1 -1
  589. mindspore/train/metrics/hausdorff_distance.py +4 -3
  590. mindspore/train/metrics/mean_surface_distance.py +2 -2
  591. mindspore/train/metrics/occlusion_sensitivity.py +1 -1
  592. mindspore/train/metrics/perplexity.py +1 -1
  593. mindspore/train/metrics/precision.py +1 -1
  594. mindspore/train/metrics/recall.py +1 -1
  595. mindspore/train/metrics/roc.py +2 -2
  596. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  597. mindspore/train/mind_ir_pb2.py +116 -37
  598. mindspore/train/model.py +45 -28
  599. mindspore/train/serialization.py +295 -188
  600. mindspore/train/summary/_summary_adapter.py +1 -1
  601. mindspore/train/summary/summary_record.py +43 -13
  602. mindspore/train/train_thor/convert_utils.py +2 -2
  603. mindspore/train/train_thor/dataset_helper.py +3 -3
  604. mindspore/turbojpeg.dll +0 -0
  605. mindspore/version.py +1 -1
  606. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +3 -2
  607. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +610 -541
  608. mindspore/compression/__init__.py +0 -19
  609. mindspore/compression/common/constant.py +0 -124
  610. mindspore/compression/export/__init__.py +0 -19
  611. mindspore/compression/export/quant_export.py +0 -515
  612. mindspore/compression/quant/__init__.py +0 -28
  613. mindspore/compression/quant/qat.py +0 -634
  614. mindspore/compression/quant/quant_utils.py +0 -462
  615. mindspore/compression/quant/quantizer.py +0 -68
  616. mindspore/nn/layer/quant.py +0 -1868
  617. mindspore/nn/layer/rnn_utils.py +0 -90
  618. mindspore/nn/probability/dpn/__init__.py +0 -22
  619. mindspore/nn/probability/dpn/vae/__init__.py +0 -25
  620. mindspore/nn/probability/dpn/vae/cvae.py +0 -140
  621. mindspore/nn/probability/dpn/vae/vae.py +0 -124
  622. mindspore/nn/probability/infer/__init__.py +0 -22
  623. mindspore/nn/probability/infer/variational/elbo.py +0 -70
  624. mindspore/nn/probability/infer/variational/svi.py +0 -84
  625. mindspore/nn/probability/toolbox/__init__.py +0 -22
  626. mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
  627. mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -364
  628. mindspore/nn/probability/transforms/__init__.py +0 -22
  629. mindspore/nn/probability/transforms/transform_bnn.py +0 -262
  630. mindspore/nn/probability/zhusuan/__init__.py +0 -18
  631. mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
  632. mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
  633. mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
  634. mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
  635. mindspore/ops/_op_impl/aicpu/parallel_concat.py +0 -42
  636. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  637. mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -19
  638. mindspore/ops/bprop_mindir/Cast_bprop.mindir +0 -19
  639. mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -19
  640. mindspore/ops/bprop_mindir/MatMul_bprop.mindir +0 -0
  641. mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -17
  642. mindspore/ops/bprop_mindir/Transpose_bprop.mindir +0 -0
  643. mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -15
  644. mindspore/ops/composite/array_ops.py +0 -241
  645. mindspore/ops/composite/clip_ops.py +0 -134
  646. mindspore/ops/composite/random_ops.py +0 -426
  647. mindspore/ops/composite/vmap_ops.py +0 -38
  648. mindspore/parallel/nn/__init__.py +0 -42
  649. mindspore/parallel/nn/loss.py +0 -22
  650. mindspore/parallel/nn/moe.py +0 -21
  651. mindspore/parallel/nn/op_parallel_config.py +0 -22
  652. mindspore/parallel/nn/transformer.py +0 -31
  653. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
  654. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
  655. {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Huawei Technologies Co., Ltd
2
+ * Copyright 2022-2023 Huawei Technologies Co., Ltd
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -36,14 +36,14 @@ class NodeSet;
36
36
  class Graph;
37
37
  class NetData;
38
38
 
39
- class NetBase {
39
+ class MS_API NetBase {
40
40
  public:
41
41
  NetBase() = default;
42
42
  virtual std::vector<Expr *> operator()(const std::vector<Expr *> &inputs) = 0;
43
43
  virtual uint32_t type() = 0;
44
44
  };
45
45
 
46
- class Node : public NetBase {
46
+ class MS_API Node : public NetBase {
47
47
  public:
48
48
  Node();
49
49
  virtual ~Node();
@@ -65,7 +65,7 @@ class Node : public NetBase {
65
65
  std::shared_ptr<NodeImpl> impl_ = nullptr;
66
66
  };
67
67
 
68
- class Net : public NetBase, public std::enable_shared_from_this<Net> {
68
+ class MS_API Net : public NetBase, public std::enable_shared_from_this<Net> {
69
69
  public:
70
70
  Net();
71
71
  virtual ~Net();
@@ -116,12 +116,12 @@ class Net : public NetBase, public std::enable_shared_from_this<Net> {
116
116
  std::shared_ptr<NetImpl> impl_;
117
117
  };
118
118
 
119
- class SoftMaxCrossEntropyCfg {
119
+ class MS_API SoftMaxCrossEntropyCfg {
120
120
  public:
121
121
  std::string reduction = "mean"; /**< Specifies reduction mode. The optional values are "none", "mean", "sum" */
122
122
  };
123
123
 
124
- class AdamConfig {
124
+ class MS_API AdamConfig {
125
125
  public:
126
126
  float learning_rate_ = 1e-3;
127
127
  float beta1_ = 0.9;
@@ -131,11 +131,12 @@ class AdamConfig {
131
131
  };
132
132
 
133
133
  namespace NN {
134
- Net *NetWithLoss(Net *net, Node *loss);
135
- Graph *GraphWithLoss(Graph *g, Node *loss);
136
- Node *Adam(std::shared_ptr<NodeSet> learn, const AdamConfig &cfg);
137
- Node *SoftmaxCrossEntropy(const SoftMaxCrossEntropyCfg &cfg);
138
- std::unique_ptr<Node> Input(std::vector<int> dims, DataType data_type = DataType::kNumberTypeFloat32, int fmt = NHWC);
134
+ MS_API Net *NetWithLoss(Net *net, Node *loss);
135
+ MS_API Graph *GraphWithLoss(Graph *g, Node *loss);
136
+ MS_API Node *Adam(std::shared_ptr<NodeSet> learn, const AdamConfig &cfg);
137
+ MS_API Node *SoftmaxCrossEntropy(const SoftMaxCrossEntropyCfg &cfg);
138
+ MS_API std::unique_ptr<Node> Input(std::vector<int> dims, DataType data_type = DataType::kNumberTypeFloat32,
139
+ int fmt = NHWC);
139
140
  }; // namespace NN
140
141
  } // namespace mindspore
141
142
  #endif // MINDSPORE_INCLUDE_API_NET_H
@@ -79,16 +79,22 @@ class MS_API Serialization {
79
79
  ///
80
80
  /// \param[in] model The model data.
81
81
  /// \param[in] model_type The model file type.
82
- /// \param[out] model_data The model parameter data.
82
+ /// \param[out] model_data The model buffer.
83
+ /// \param[in] quantization_type The quantification type.
84
+ /// \param[in] export_inference_only Whether to export a reasoning only model.
85
+ /// \param[in] output_tensor_name The set the name of the output tensor of the exported reasoning model, default as
86
+ /// empty, and export the complete reasoning model.
83
87
  ///
84
88
  /// \return Status.
85
- static Status ExportModel(const Model &model, ModelType model_type, Buffer *model_data);
89
+ inline static Status ExportModel(const Model &model, ModelType model_type, Buffer *model_data,
90
+ QuantizationType quantization_type = kNoQuant, bool export_inference_only = true,
91
+ const std::vector<std::string> &output_tensor_name = {});
86
92
 
87
93
  /// \brief Export training model from file.
88
94
  ///
89
95
  /// \param[in] model The model data.
90
96
  /// \param[in] model_type The model file type.
91
- /// \param[in] model_file The exported model file.
97
+ /// \param[in] model_file The path of exported model file.
92
98
  /// \param[in] quantization_type The quantification type.
93
99
  /// \param[in] export_inference_only Whether to export a reasoning only model.
94
100
  /// \param[in] output_tensor_name The set the name of the output tensor of the exported reasoning model, default as
@@ -111,6 +117,9 @@ class MS_API Serialization {
111
117
  static Status ExportModel(const Model &model, ModelType model_type, const std::vector<char> &model_file,
112
118
  QuantizationType quantization_type, bool export_inference_only,
113
119
  const std::vector<std::vector<char>> &output_tensor_name);
120
+ static Status ExportModel(const Model &model, ModelType model_type, Buffer *model_data,
121
+ QuantizationType quantization_type, bool export_inference_only,
122
+ const std::vector<std::vector<char>> &output_tensor_name);
114
123
  };
115
124
 
116
125
  Status Serialization::Load(const void *model_data, size_t data_size, ModelType model_type, Graph *graph,
@@ -139,5 +148,12 @@ Status Serialization::ExportModel(const Model &model, ModelType model_type, cons
139
148
  VectorStringToChar(output_tensor_name));
140
149
  }
141
150
 
151
+ Status Serialization::ExportModel(const Model &model, ModelType model_type, Buffer *model_data,
152
+ QuantizationType quantization_type, bool export_inference_only,
153
+ const std::vector<std::string> &output_tensor_name) {
154
+ return ExportModel(model, model_type, model_data, quantization_type, export_inference_only,
155
+ VectorStringToChar(output_tensor_name));
156
+ }
157
+
142
158
  } // namespace mindspore
143
159
  #endif // MINDSPORE_INCLUDE_API_SERIALIZATION_H
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2020-2022 Huawei Technologies Co., Ltd
2
+ * Copyright 2020-2023 Huawei Technologies Co., Ltd
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -368,7 +368,7 @@ std::string MSTensor::Name() const { return CharToString(CharName()); }
368
368
 
369
369
  void MSTensor::SetTensorName(const std::string &name) { SetTensorName(StringToChar(name)); }
370
370
 
371
- using Key = struct Key {
371
+ using Key = struct MS_API Key {
372
372
  const size_t max_key_len = 32;
373
373
  size_t len = 0;
374
374
  unsigned char key[32] = {0};
@@ -390,7 +390,7 @@ using MSKernelCallBack =
390
390
  std::function<bool(const std::vector<MSTensor> & /* inputs */, const std::vector<MSTensor> & /* outputs */,
391
391
  const MSCallBackParam &opInfo)>;
392
392
 
393
- std::vector<char> CharVersion();
393
+ MS_API std::vector<char> CharVersion();
394
394
  inline std::string Version() { return CharToString(CharVersion()); }
395
395
 
396
396
  } // namespace mindspore
@@ -291,6 +291,13 @@ enum class DATASET_API ResampleMethod {
291
291
  kKaiserWindow = 1, ///< Resample audio by Kaiser window
292
292
  };
293
293
 
294
+ /// \brief Possible configuration methods for processing error samples.
295
+ enum class DATASET_API ErrorSamplesMode {
296
+ kReturn = 0, ///< Erroneous sample results in error raised and returned
297
+ kReplace = 1, ///< Erroneous sample is replaced with an internally determined sample
298
+ kSkip = 2 ///< Erroneous sample is skipped
299
+ };
300
+
294
301
  /// \brief Convenience function to check bitmask for a 32bit int
295
302
  /// \param[in] bits a 32bit int to be tested
296
303
  /// \param[in] bitMask a 32bit int representing bit mask
@@ -234,6 +234,36 @@ class SentencePieceVocab {
234
234
 
235
235
  // Transform operations for text
236
236
  namespace text {
237
+ /// \brief Add token to beginning or end of sequence.
238
+ class DATASET_API AddToken final : public TensorTransform {
239
+ public:
240
+ /// \brief Constructor.
241
+ /// \param[in] token The token to be added.
242
+ /// \param[in] begin Whether to insert token at start or end of sequence. Default: true.
243
+ /// \par Example
244
+ /// \code
245
+ /// /* Define operations */
246
+ /// auto add_token_op = text::AddToken(token='TOKEN', begin=True);
247
+ ///
248
+ /// /* dataset is an instance of Dataset object */
249
+ /// dataset = dataset->Map({add_token_op}, // operations
250
+ /// {"text"}); // input columns
251
+ /// \endcode
252
+ explicit AddToken(const std::string &token, bool begin = true);
253
+
254
+ /// \brief Destructor.
255
+ ~AddToken() override = default;
256
+
257
+ protected:
258
+ /// \brief Function to convert TensorTransform object into a TensorOperation object.
259
+ /// \return Shared pointer to TensorOperation object.
260
+ std::shared_ptr<TensorOperation> Parse() override;
261
+
262
+ private:
263
+ struct Data;
264
+ std::shared_ptr<Data> data_;
265
+ };
266
+
237
267
  #ifndef _WIN32
238
268
  /// \brief Tokenize a scalar tensor of UTF-8 string by specific rules.
239
269
  /// \note BasicTokenizer is not supported on the Windows platform yet.
@@ -864,6 +894,35 @@ class DATASET_API ToVectors final : public TensorTransform {
864
894
  std::shared_ptr<Data> data_;
865
895
  };
866
896
 
897
+ /// \brief Truncate the input sequence so that it does not exceed the maximum length.
898
+ class DATASET_API Truncate final : public TensorTransform {
899
+ public:
900
+ /// \brief Constructor.
901
+ /// \param[in] max_seq_len Maximum allowable length.
902
+ /// \par Example
903
+ /// \code
904
+ /// /* Define operations */
905
+ /// auto truncate_op = text::Truncate(5);
906
+ ///
907
+ /// /* dataset is an instance of Dataset object */
908
+ /// dataset = dataset->Map({truncate_op}, // operations
909
+ /// {"text"}); // input columns
910
+ /// \endcode
911
+ explicit Truncate(int32_t max_seq_len);
912
+
913
+ /// \brief Destructor.
914
+ ~Truncate() = default;
915
+
916
+ protected:
917
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
918
+ /// \return Shared pointer to the TensorOperation object.
919
+ std::shared_ptr<TensorOperation> Parse() override;
920
+
921
+ private:
922
+ struct Data;
923
+ std::shared_ptr<Data> data_;
924
+ };
925
+
867
926
  /// \brief Truncate a pair of rank-1 tensors such that the total length is less than max_length.
868
927
  class DATASET_API TruncateSequencePair final : public TensorTransform {
869
928
  public:
mindspore/jpeg62.dll CHANGED
Binary file
mindspore/log.py CHANGED
@@ -279,7 +279,7 @@ def _check_directory_by_regular(target, reg=None, flag=re.ASCII, prim_name=None)
279
279
  if not isinstance(target, str):
280
280
  raise ValueError("The directory {} must be string, but got {}, please check it".format(target, type(target)))
281
281
  if reg is None:
282
- reg = r"^[\/0-9a-zA-Z\_\-\.\:\\]+$"
282
+ reg = r"^[\/0-9a-zA-Z@\_\-\.\:\\]+$"
283
283
  if re.match(reg, target, flag) is None:
284
284
  prim_name = f'in `{prim_name}`' if prim_name else ""
285
285
  raise ValueError("'{}' {} is illegal, it should be match regular'{}' by flag'{}'".format(
@@ -100,3 +100,21 @@ class FileReader:
100
100
  def close(self):
101
101
  """Stop reader worker and close file."""
102
102
  self._reader.close()
103
+
104
+ def schema(self):
105
+ """
106
+ Get the schema of the MindRecord.
107
+
108
+ Returns:
109
+ dict, the schema info.
110
+ """
111
+ return self._header.schema
112
+
113
+ def len(self):
114
+ """
115
+ Get the number of the samples in MindRecord.
116
+
117
+ Returns:
118
+ int, the number of the samples in MindRecord.
119
+ """
120
+ return self._reader.len()
@@ -17,8 +17,11 @@ This module is to write data into mindrecord.
17
17
  """
18
18
  import os
19
19
  import platform
20
+ import queue
20
21
  import re
21
22
  import stat
23
+ import time
24
+ import multiprocessing as mp
22
25
  import numpy as np
23
26
  from mindspore import log as logger
24
27
  from .shardwriter import ShardWriter
@@ -26,7 +29,7 @@ from .shardreader import ShardReader
26
29
  from .shardheader import ShardHeader
27
30
  from .shardindexgenerator import ShardIndexGenerator
28
31
  from .shardutils import MIN_SHARD_COUNT, MAX_SHARD_COUNT, VALID_ATTRIBUTES, VALID_ARRAY_ATTRIBUTES, \
29
- check_filename, VALUE_TYPE_MAP
32
+ check_filename, VALUE_TYPE_MAP, SUCCESS
30
33
  from .common.exceptions import ParamValueError, ParamTypeError, MRMInvalidSchemaError, MRMDefineIndexError
31
34
 
32
35
  __all__ = ['FileWriter']
@@ -103,6 +106,13 @@ class FileWriter:
103
106
  self._writer = ShardWriter()
104
107
  self._generator = None
105
108
 
109
+ # parallel write mode
110
+ self._parallel_writer = None
111
+ self._writers = None
112
+ self._queue = None
113
+ self._workers = None
114
+ self._index_workers = None
115
+
106
116
  @classmethod
107
117
  def open_for_append(cls, file_name):
108
118
  r"""
@@ -258,23 +268,72 @@ class FileWriter:
258
268
  MRMValidateDataError: If data does not match blob fields.
259
269
  MRMSetHeaderError: If failed to set header.
260
270
  MRMWriteDatasetError: If failed to write dataset.
271
+ TypeError: If parallel_writer is not bool.
261
272
  """
262
- if not self._writer.is_open:
263
- self._writer.open(self._paths, self._overwrite)
264
- if not self._writer.get_shard_header():
265
- self._writer.set_shard_header(self._header)
266
- if not isinstance(raw_data, list):
267
- raise ParamTypeError('raw_data', 'list')
268
- if self._flush and not self._append:
269
- raise RuntimeError("Not allowed to call `write_raw_data` on flushed MindRecord files." \
270
- "When creating new Mindrecord files, please remove `commit` before `write_raw_data`." \
271
- "In other cases, when appending to existing MindRecord files, " \
272
- "please call `open_for_append` first and then `write_raw_data`.")
273
- for each_raw in raw_data:
274
- if not isinstance(each_raw, dict):
275
- raise ParamTypeError('raw_data item', 'dict')
276
- self._verify_based_on_schema(raw_data)
277
- return self._writer.write_raw_data(raw_data, True, parallel_writer)
273
+ if not isinstance(parallel_writer, bool):
274
+ raise TypeError("The parameter `parallel_writer` must be bool.")
275
+
276
+ if self._parallel_writer is None:
277
+ self._parallel_writer = parallel_writer
278
+ if self._parallel_writer != parallel_writer:
279
+ raise RuntimeError("The parameter `parallel_writer` must be consistent during use.")
280
+ if not self._parallel_writer:
281
+ if not self._writer.is_open:
282
+ self._writer.open(self._paths, self._overwrite)
283
+ if not self._writer.get_shard_header():
284
+ self._writer.set_shard_header(self._header)
285
+ if not isinstance(raw_data, list):
286
+ raise ParamTypeError('raw_data', 'list')
287
+ if self._flush and not self._append:
288
+ raise RuntimeError("Not allowed to call `write_raw_data` on flushed MindRecord files." \
289
+ "When creating new Mindrecord files, please remove `commit` before " \
290
+ "`write_raw_data`. In other cases, when appending to existing MindRecord files, " \
291
+ "please call `open_for_append` first and then `write_raw_data`.")
292
+ for each_raw in raw_data:
293
+ if not isinstance(each_raw, dict):
294
+ raise ParamTypeError('raw_data item', 'dict')
295
+ self._verify_based_on_schema(raw_data)
296
+ return self._writer.write_raw_data(raw_data, True, parallel_writer)
297
+
298
+ ## parallel write mode
299
+ # init the _writers and launch the workers
300
+ if self._writers is None:
301
+ self._writers = [None] * len(self._paths) # writers used by worker
302
+ self._queue = mp.Queue(len(self._paths) * 2) # queue for worker
303
+ self._workers = [None] * len(self._paths) # worker process
304
+ for i, path in enumerate(self._paths):
305
+ self._writers[i] = ShardWriter()
306
+ self._writers[i].open([path], self._overwrite)
307
+ self._writers[i].set_shard_header(self._header)
308
+
309
+ # launch the workers for parallel write
310
+ self._queue._joincancelled = True # pylint: disable=W0212
311
+ p = mp.Process(target=self._write_worker, args=(i, self._queue))
312
+ p.daemon = True
313
+ p.start()
314
+ logger.info("Start worker process(pid:{}) to parallel write.".format(p.pid))
315
+ self._workers[i] = p
316
+
317
+ # fill the self._queue
318
+ check_interval = 0.5 # 0.5s
319
+ start_time = time.time()
320
+ while True:
321
+ try:
322
+ self._queue.put(raw_data, block=False)
323
+ except queue.Full:
324
+ if time.time() - start_time > check_interval:
325
+ start_time = time.time()
326
+ logger.warning("Because there are too few MindRecord file shards, the efficiency of parallel " \
327
+ "writing is too low. You can stop the current task and add the parameter " \
328
+ "`shard_num` of `FileWriter` to upgrade the task.")
329
+
330
+ # check the status of worker process
331
+ for i in range(len(self._paths)):
332
+ if not self._workers[i].is_alive():
333
+ raise RuntimeError("Worker process(pid:{}) has stopped abnormal. Please check " \
334
+ "the above log".format(self._workers[i].pid))
335
+ continue
336
+ return SUCCESS
278
337
 
279
338
  def set_header_size(self, header_size):
280
339
  """
@@ -326,7 +385,7 @@ class FileWriter:
326
385
  """
327
386
  return self._writer.set_page_size(page_size)
328
387
 
329
- def commit(self):
388
+ def commit(self): # pylint: disable=W0212
330
389
  """
331
390
  Flush data in memory to disk and generate the corresponding database files.
332
391
 
@@ -342,25 +401,37 @@ class FileWriter:
342
401
  MRMIndexGeneratorError: If failed to create index generator.
343
402
  MRMGenerateIndexError: If failed to write to database.
344
403
  MRMCommitError: If failed to flush data to disk.
404
+ RuntimeError: Parallel write failed.
345
405
  """
346
- self._flush = True
347
- if not self._writer.is_open:
348
- self._writer.open(self._paths, self._overwrite)
349
- # permit commit without data
350
- if not self._writer.get_shard_header():
351
- self._writer.set_shard_header(self._header)
352
- ret = self._writer.commit()
353
- if self._index_generator:
354
- if self._append:
355
- self._generator = ShardIndexGenerator(self._file_name, self._append)
356
- elif len(self._paths) >= 1:
357
- self._generator = ShardIndexGenerator(os.path.realpath(self._paths[0]), self._append)
358
- self._generator.build()
359
- self._generator.write_to_db()
406
+ if not self._parallel_writer:
407
+ self._flush = True
408
+ if not self._writer.is_open:
409
+ self._writer.open(self._paths, self._overwrite)
410
+ # permit commit without data
411
+ if not self._writer.get_shard_header():
412
+ self._writer.set_shard_header(self._header)
413
+ self._writer.commit()
414
+ if self._index_generator:
415
+ if self._append:
416
+ self._generator = ShardIndexGenerator(self._file_name, self._append)
417
+ elif len(self._paths) >= 1:
418
+ self._generator = ShardIndexGenerator(os.path.realpath(self._paths[0]), self._append)
419
+ self._generator.build()
420
+ self._generator.write_to_db()
421
+ else:
422
+ # maybe a empty mindrecord, so need check _writers
423
+ if self._writers is None:
424
+ self._writers = [None] * len(self._paths)
425
+ for i, path in enumerate(self._paths):
426
+ self._writers[i] = ShardWriter()
427
+ self._writers[i].open(path, self._overwrite)
428
+ self._writers[i].set_shard_header(self._header)
429
+
430
+ self._parallel_commit()
360
431
 
432
+ # change the file mode to 600
361
433
  mindrecord_files = []
362
434
  index_files = []
363
- # change the file mode to 600
364
435
  for item in self._paths:
365
436
  if os.path.exists(item):
366
437
  os.chmod(item, stat.S_IRUSR | stat.S_IWUSR)
@@ -373,7 +444,73 @@ class FileWriter:
373
444
  logger.info("The list of mindrecord files created are: {}, and the list of index files are: {}".format(
374
445
  mindrecord_files, index_files))
375
446
 
376
- return ret
447
+ return SUCCESS
448
+
449
+ def _index_worker(self, i):
450
+ """The worker do the index generator"""
451
+ generator = ShardIndexGenerator(os.path.realpath(self._paths[i]), False)
452
+ generator.build()
453
+ generator.write_to_db()
454
+
455
+ def _parallel_commit(self):
456
+ """Parallel commit"""
457
+ # if some workers stopped, error may occur
458
+ alive_count = 0
459
+ for i in range(len(self._paths)):
460
+ if self._workers[i].is_alive():
461
+ alive_count += 1
462
+ if alive_count != len(self._paths):
463
+ raise RuntimeError("Parallel write worker error, please check the log file.")
464
+
465
+ # send EOF to worker process
466
+ for _ in range(len(self._paths)):
467
+ while True:
468
+ try:
469
+ self._queue.put("EOF", block=False)
470
+ except queue.Full:
471
+ time.sleep(1)
472
+ continue
473
+ break
474
+
475
+ # wait the worker processing
476
+ while True:
477
+ alive_count = 0
478
+ for i in range(len(self._paths)):
479
+ if self._workers[i].is_alive():
480
+ alive_count += 1
481
+ if alive_count == 0:
482
+ break
483
+ time.sleep(1)
484
+ logger.info("Waiting for all the parallel workers to finish.")
485
+
486
+ del self._queue
487
+
488
+ # wait for worker process stop
489
+ for index in range(len(self._paths)):
490
+ while True:
491
+ logger.info("Waiting for the worker process(pid:{}) to process all the data.".format(
492
+ self._workers[index].pid))
493
+ if self._workers[index].is_alive():
494
+ time.sleep(1)
495
+ continue
496
+ elif self._workers[index].exitcode != 0:
497
+ raise RuntimeError("Worker process(pid:{}) has stopped abnormal. Please check " \
498
+ "the above log".format(self._workers[index].pid))
499
+ break
500
+
501
+ if self._index_generator:
502
+ # use parallel index workers to generator index
503
+ self._index_workers = [None] * len(self._paths)
504
+ for index in range(len(self._paths)):
505
+ p = mp.Process(target=self._index_worker, args=(index,))
506
+ p.daemon = True
507
+ p.start()
508
+ logger.info("Start worker process(pid:{}) to generate index.".format(p.pid))
509
+ self._index_workers[index] = p
510
+
511
+ # wait the index workers stop
512
+ for index in range(len(self._paths)):
513
+ self._index_workers[index].join()
377
514
 
378
515
  def _validate_array(self, k, v):
379
516
  """
@@ -487,3 +624,29 @@ class FileWriter:
487
624
  error = "Field '{}' should be dict.".format(k)
488
625
  return False, error
489
626
  return True, error
627
+
628
+ def _write_worker(self, i, in_queue):
629
+ """The worker do the data check and write to disk for parallel mode"""
630
+ while True:
631
+ # try to get new raw_data from master
632
+ try:
633
+ raw_data = in_queue.get(block=False)
634
+ except queue.Empty:
635
+ continue
636
+
637
+ # get EOF from master, worker should commit and stop
638
+ if raw_data == "EOF":
639
+ ret = self._writers[i].commit()
640
+ if ret != SUCCESS:
641
+ raise RuntimeError("Commit the {}th shard of MindRecord file failed.".format(i))
642
+ break
643
+
644
+ # check the raw_data
645
+ if not isinstance(raw_data, list):
646
+ raise ParamTypeError('raw_data', 'list')
647
+ for each_raw in raw_data:
648
+ if not isinstance(each_raw, dict):
649
+ raise ParamTypeError('raw_data item', 'dict')
650
+
651
+ self._verify_based_on_schema(raw_data)
652
+ self._writers[i].write_raw_data(raw_data, True, False)
@@ -106,3 +106,12 @@ class ShardReader:
106
106
  def close(self):
107
107
  """close MindRecord File."""
108
108
  self._reader.close()
109
+
110
+ def len(self):
111
+ """
112
+ Get the number of the samples in MindRecord.
113
+
114
+ Returns:
115
+ int, the number of the samples in MindRecord.
116
+ """
117
+ return self._reader.len()
@@ -173,7 +173,7 @@ class ShardWriter:
173
173
  for item in data:
174
174
  row_blob = self._merge_blob({field: item[field] for field in self._header.blob_fields})
175
175
  if row_blob:
176
- blob_data.append(list(row_blob))
176
+ blob_data.append(row_blob)
177
177
  # filter raw data according to schema
178
178
  row_raw = {field: self.convert_np_types(item[field])
179
179
  for field in self._header.schema.keys() - self._header.blob_fields if field in item}
@@ -40,12 +40,12 @@ class Cifar100ToMR:
40
40
 
41
41
  Note:
42
42
  For details about Examples, please refer to `Converting the CIFAR-10 Dataset <https://
43
- www.mindspore.cn/tutorials/zh-CN/r2.0.0-alpha/advanced/dataset/record.html#converting-the-cifar-10-dataset>`_ .
43
+ www.mindspore.cn/tutorials/en/r2.0/advanced/dataset/record.html#converting-the-cifar-10-dataset>`_ .
44
44
 
45
45
  Args:
46
46
  source (str): The cifar100 directory to be transformed.
47
- destination (str): MindRecord file path to transform into, ensure that no file with the same name
48
- exists in the directory.
47
+ destination (str): MindRecord file path to transform into, ensure that the directory is created in advance and
48
+ no file with the same name exists in the directory.
49
49
 
50
50
  Raises:
51
51
  ValueError: If source or destination is invalid.
@@ -40,12 +40,12 @@ class Cifar10ToMR:
40
40
 
41
41
  Note:
42
42
  For details about Examples, please refer to `Converting the CIFAR-10 Dataset <https://
43
- www.mindspore.cn/tutorials/zh-CN/r2.0.0-alpha/advanced/dataset/record.html#converting-the-cifar-10-dataset>`_ .
43
+ www.mindspore.cn/tutorials/en/r2.0/advanced/dataset/record.html#converting-the-cifar-10-dataset>`_ .
44
44
 
45
45
  Args:
46
46
  source (str): The cifar10 directory to be transformed.
47
- destination (str): MindRecord file path to transform into, ensure that no file with the same name
48
- exists in the directory.
47
+ destination (str): MindRecord file path to transform into, ensure that the directory is created in advance and
48
+ no file with the same name exists in the directory.
49
49
 
50
50
  Raises:
51
51
  ValueError: If source or destination is invalid.
@@ -36,12 +36,12 @@ class CsvToMR:
36
36
 
37
37
  Note:
38
38
  For details about Examples, please refer to `Converting CSV Dataset <https://
39
- www.mindspore.cn/tutorials/zh-CN/r2.0.0-alpha/advanced/dataset/record.html#converting-csv-dataset>`_ .
39
+ www.mindspore.cn/tutorials/en/r2.0/advanced/dataset/record.html#converting-csv-dataset>`_ .
40
40
 
41
41
  Args:
42
42
  source (str): The file path of csv.
43
- destination (str): The MindRecord file path to transform into, ensure that no file with the same name
44
- exists in the directory.
43
+ destination (str): The MindRecord file path to transform into, ensure that the directory is created in advance
44
+ and no file with the same name exists in the directory.
45
45
  columns_list(list[str], optional): A list of columns to be read. Default: None.
46
46
  partition_number (int, optional): The partition size, Default: 1.
47
47