mindspore 2.0.0a0__cp39-cp39-win_amd64.whl → 2.0.0rc1__cp39-cp39-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.cp39-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp39-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
@@ -18,6 +18,8 @@ import stat
18
18
  import time
19
19
  import json
20
20
  import glob
21
+ import subprocess
22
+ from enum import Enum
21
23
 
22
24
  from mindspore import log as logger, context
23
25
  from mindspore.communication.management import GlobalComm, get_rank, get_group_size
@@ -48,6 +50,7 @@ from mindspore.profiler.parser.hccl_parser import HcclParser
48
50
  from mindspore.profiler.parser.op_intermediate_parser import OPIntermediateParser
49
51
  from mindspore.profiler.parser.msadvisor_analyzer import Msadvisor
50
52
  from mindspore.profiler.parser.profiler_info import ProfilerInfo
53
+ from mindspore.common.api import _pynative_executor
51
54
 
52
55
  INIT_OP_NAME = 'Default/InitDataSetQueue'
53
56
 
@@ -62,6 +65,18 @@ AICORE_METRICS_DICT = {
62
65
  }
63
66
 
64
67
 
68
+ class DeviceSupportParam(Enum):
69
+ """The device target enum."""
70
+ CPU = ['start', 'start_profile', 'output_path', 'timeline_limit']
71
+ GPU = ['start', 'start_profile', 'output_path', 'data_process', 'timeline_limit', 'sync_enable', 'op_time']
72
+ ASCEND = ['start', 'start_profile', 'output_path', 'data_process', 'timeline_limit', 'profile_memory',
73
+ 'parallel_strategy', 'profile_communication', 'aicore_metrics', 'l2_cache', 'op_time', 'ascend_job_id']
74
+
75
+
76
+ ALWAYS_VALID_PARAM = ['start', 'start_profile', 'output_path', 'data_process', 'parallel_strategy', 'l2_cache',
77
+ 'ascend_job_id', 'op_time']
78
+
79
+
65
80
  def _environment_check():
66
81
  if c_expression.security.enable_security():
67
82
  raise RuntimeError("Profiler is not supported when MindSpore is compiled with \'-s on\'.")
@@ -78,15 +93,19 @@ class Profiler:
78
93
 
79
94
  Args:
80
95
  output_path (str, optional): Output data path. Default: "./data".
96
+ op_time (bool, optional): (Ascend/GPU) Whether to collect operators performance data. Default value: True.
81
97
  profile_communication (bool, optional): (Ascend only) Whether to collect communication performance data in
82
98
  a multi devices training,collect when True. Setting this parameter has no effect during single device
83
- training. Default: False.
99
+ training. When using this parameter, `op_time` must be set to True. Default: False.
84
100
  profile_memory (bool, optional): (Ascend only) Whether to collect tensor memory data, collect when True.
85
- Default: False.
101
+ When using this parameter, `op_time` must be set to True. Default: False.
102
+ parallel_strategy (bool, optional): (Ascend only) Whether to collect parallel policy performance data.
103
+ Default value: true.
86
104
  start_profile (bool, optional): The start_profile parameter controls whether to enable or disable performance
87
105
  data collection based on conditions. Default: True.
88
- aicore_metrics (int, optional): (Ascend only) Types of AICORE performance data collected. The value must be in
89
- [-1, 0, 1, 2, 3, 4, 5], Default: 0, the data items contained in each metric are as follows:
106
+ aicore_metrics (int, optional): (Ascend only) Types of AICORE performance data collected, when using this
107
+ parameter, `op_time` must be set to True, and the value must be in [-1, 0, 1, 2, 3, 4, 5], Default: 0, the
108
+ data items contained in each metric are as follows:
90
109
 
91
110
  - -1: Does not collect AICORE data.
92
111
  - 0: ArithmeticUtilization contains mac_fp16/int8_ratio, vec_fp32/fp16/int32_ratio, vec_misc_ratio etc.
@@ -105,7 +124,11 @@ class Profiler:
105
124
  Then the operator is returned to the CPU after execution, and the end timestamp is recorded,
106
125
  The duration of the operator is the difference between the two timestamps.
107
126
  - False: The asynchronous way. The duration of the operator is that of sending from the CPU to the GPU.
108
- This method can reduce the impact of adding profiler on training time.
127
+ This method can reduce the impact of adding profiler on overall training time.
128
+ data_process (bool, optional): (Ascend/GPU) Whether to collect data to prepare performance data.
129
+ Default value: True.
130
+ timeline_limit (int, optional): Set the maximum storage size of the timeline file (unit M). When using this
131
+ parameter, `op_time` must be set to True. Default value: 500.
109
132
 
110
133
  Raises:
111
134
  RuntimeError: When the version of CANN does not match the version of MindSpore,
@@ -165,16 +188,6 @@ class Profiler:
165
188
  _ascend_job_id = ""
166
189
 
167
190
  def __init__(self, **kwargs):
168
- self._msprof_enable = os.getenv("PROFILER_SAMPLECONFIG")
169
- if self._msprof_enable:
170
- return
171
- if kwargs.get("env_enable"):
172
- self._profiler_init(kwargs)
173
- return
174
- if Profiler._has_initialized:
175
- msg = "Do not init twice in the profiler."
176
- raise RuntimeError(msg)
177
- Profiler._has_initialized = True
178
191
  self._dev_id = None
179
192
  self._cpu_profiler = None
180
193
  self._gpu_profiler = None
@@ -187,7 +200,7 @@ class Profiler:
187
200
  self._job_id_env = None
188
201
  self._filt_optype_names = ''
189
202
  self._output_path = ''
190
- self._rank_size = 0
203
+ self._rank_size = 1
191
204
  self._rank_id = 0
192
205
  self._ascend_profiler = None
193
206
  self._timeline_size_limit_byte = 500 * 1024 * 1024 # 500MB
@@ -197,10 +210,7 @@ class Profiler:
197
210
  self._aicore_metrics_id = 0
198
211
  self._l2_cache = "off"
199
212
  self._data_process = True
200
- self._parser_kwargs(kwargs)
201
- # get device_id and device_target
202
- self._get_devid_rankid_and_devtarget()
203
- self._get_output_path(kwargs)
213
+ self._op_time = True
204
214
  self._profile_communication = False
205
215
  self._has_started = False
206
216
  self._has_started_twice = False
@@ -209,6 +219,20 @@ class Profiler:
209
219
  self._sync_enable = True
210
220
  self._stop_time = 0
211
221
  self._dynamic_status = False
222
+ self._msprof_enable = os.getenv("PROFILER_SAMPLECONFIG")
223
+ if self._msprof_enable:
224
+ return
225
+ if kwargs.get("env_enable"):
226
+ self._profiler_init(kwargs)
227
+ return
228
+ if Profiler._has_initialized:
229
+ msg = "Do not init twice in the profiler."
230
+ raise RuntimeError(msg)
231
+ Profiler._has_initialized = True
232
+ # get device_id and device_target
233
+ self._get_devid_rankid_and_devtarget()
234
+ self._parser_kwargs(kwargs)
235
+ self._get_output_path(kwargs)
212
236
  self._decide_device_target(kwargs)
213
237
  if self.start_profile:
214
238
  self.start()
@@ -227,7 +251,7 @@ class Profiler:
227
251
  return output_path
228
252
 
229
253
  @staticmethod
230
- def _parse_host_start_log(input_file):
254
+ def _parse_start_log(input_file):
231
255
  """
232
256
  Parse host start log file, get the start time of the job.
233
257
 
@@ -238,12 +262,9 @@ class Profiler:
238
262
  str, job start time.
239
263
  """
240
264
 
241
- job_start_time = ""
265
+ job_start_time = 0
242
266
  with open(input_file) as f:
243
- for line in f.readlines():
244
- if "clock_realtime" in line:
245
- # 16 means the first digit of the timestamp, len(line)-3 means the last.
246
- job_start_time = line[16:len(line) - 3]
267
+ job_start_time = json.load(f).get("collectionTimeBegin")
247
268
 
248
269
  return job_start_time
249
270
 
@@ -260,7 +281,7 @@ class Profiler:
260
281
  Raises:
261
282
  TypeError: If the op_name parameter type is incorrect.
262
283
  TypeError: If the device_id parameter type is incorrect.
263
- RunTimeError: If MindSpore runs on Ascend, this interface cannot be used.
284
+ RuntimeError: If MindSpore runs on Ascend, this interface cannot be used.
264
285
 
265
286
  Supported Platforms:
266
287
  ``GPU`` ``CPU``
@@ -317,6 +338,10 @@ class Profiler:
317
338
  """
318
339
  if self._msprof_enable:
319
340
  return
341
+
342
+ # Stop data collection after all operators are executed.
343
+ _pynative_executor.sync()
344
+
320
345
  Profiler._has_initialized = False
321
346
  self._dynamic_status = self._profiler_manager.dynamic_status()
322
347
  _environment_check()
@@ -327,7 +352,6 @@ class Profiler:
327
352
  if self._device_target and self._device_target != DeviceTarget.CPU.value and cpu_op_file:
328
353
  self._is_heterogeneous = True
329
354
  ProfilerInfo.set_analyse_start_time(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
330
- self._init_profiler_info()
331
355
  if self._device_target and self._device_target == DeviceTarget.CPU.value:
332
356
  self._cpu_analyse()
333
357
 
@@ -337,6 +361,7 @@ class Profiler:
337
361
  elif self._device_target and self._device_target == DeviceTarget.ASCEND.value:
338
362
  self._ascend_analyse()
339
363
  logger.info("Profiling: all the data have been analyzed.")
364
+ self._init_profiler_info()
340
365
  ProfilerInfo.set_analyse_end_time(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
341
366
  ProfilerInfo.set_rank_size(self._rank_size)
342
367
  ProfilerInfo.set_heterogeneous(self._is_heterogeneous)
@@ -376,10 +401,8 @@ class Profiler:
376
401
  """
377
402
  if self._msprof_enable:
378
403
  return
379
- if not self.start_profile and context.get_context("mode") == context.PYNATIVE_MODE:
380
- raise RuntimeError("Pynative mode does not support conditional collection of performance data.")
381
404
 
382
- self._start_time = int(time.time() * 10000000)
405
+ self._start_time = int(time.time() * 1000000)
383
406
  logger.info("Profiling: start time: %d", self._start_time)
384
407
 
385
408
  if not self._has_started:
@@ -402,7 +425,9 @@ class Profiler:
402
425
  if self._device_target and self._device_target == DeviceTarget.GPU.value:
403
426
  if self._data_process:
404
427
  self._md_profiler.start()
405
- self._gpu_profiler.step_profiling_enable(True)
428
+ self._gpu_profiler.data_process_enable(True)
429
+ if self._op_time:
430
+ self._gpu_profiler.step_profiling_enable(True)
406
431
  elif self._device_target and self._device_target == DeviceTarget.ASCEND.value:
407
432
  if self._data_process:
408
433
  self._md_profiler.start()
@@ -441,6 +466,7 @@ class Profiler:
441
466
  """
442
467
  if self._msprof_enable:
443
468
  return
469
+
444
470
  if self._has_started:
445
471
  self._has_started = False
446
472
  else:
@@ -450,6 +476,10 @@ class Profiler:
450
476
  # No need to stop anything if parse profiling data offline
451
477
  if self._is_offline_parser():
452
478
  return
479
+
480
+ # Stop data collection after all operators are executed.
481
+ _pynative_executor.sync()
482
+
453
483
  if self._data_process:
454
484
  self._md_profiler.stop()
455
485
  self._md_profiler.save(self._output_path)
@@ -466,18 +496,15 @@ class Profiler:
466
496
  def _profiler_init(self, kwargs):
467
497
  """Initialize variables when profiler is enabled by environment variables."""
468
498
  options = kwargs.get("env_enable")
469
- self._filt_optype_names = ''
470
499
  self._has_started = True
471
- self._stop_time = 0
472
- self._is_heterogeneous = False
473
- self._rank_size = 1
474
500
  self._start_time = options.get("start_time")
475
501
  self._output_path = options.get('file_output_path')
476
502
  self._profile_memory = options.get('profile_memory')
477
503
  self._parallel_strategy = options.get('parallel_strategy')
478
- self._timeline_size_limit_byte = options.get('timeline_limit')
504
+ self._timeline_size_limit_byte = options.get('timeline_limit') * 1024 * 1024
479
505
  self._data_process = options.get('data_process')
480
506
  self._profile_communication = options.get('profile_communication')
507
+ self._op_time = options.get('op_time')
481
508
  self._device_target = context.get_context("device_target").lower()
482
509
  self._profiler_manager = c_expression.ProfilerManager.get_instance()
483
510
  self._cpu_profiler = c_expression.Profiler.get_instance("CPU")
@@ -495,7 +522,8 @@ class Profiler:
495
522
  mode = "graph"
496
523
  if context.get_context("mode") == context.PYNATIVE_MODE:
497
524
  mode = "pynative"
498
- ProfilerInfo.init_info(mode, self._rank_id)
525
+ store_id = self._dev_id if self._device_target == DeviceTarget.GPU.value else self._rank_id
526
+ ProfilerInfo.init_info(mode, store_id)
499
527
 
500
528
  def _decide_device_target(self, kwargs):
501
529
  """Complete Profiler initialization according to device_target"""
@@ -522,14 +550,6 @@ class Profiler:
522
550
  raise TypeError(f"For '{self.__class__.__name__}', the parameter start_profile must be bool, "
523
551
  f"but got type {type(self.start_profile)}")
524
552
 
525
- self._profile_communication = kwargs.pop("profile_communication", False)
526
- if self._profile_communication:
527
- logger.warning(f"The parameter profile_communication is not supported on CPU currently.")
528
-
529
- self._profile_memory = kwargs.pop("profile_memory", False)
530
- if self._profile_memory:
531
- logger.warning(f"The parameter profile_memory is not supported on CPU currently.")
532
-
533
553
  def _gpu_profiler_init(self, kwargs):
534
554
  """Gpu profiler init."""
535
555
  # Setup and start MindData Profiling
@@ -579,13 +599,6 @@ class Profiler:
579
599
  """
580
600
  Construct profiling options to determine which profiling data should be collected.
581
601
  """
582
- profile_memory = "off"
583
- if self._profile_memory:
584
- profile_memory = "on"
585
- profiler_communication = "off"
586
- if self._profile_communication:
587
- profiler_communication = "on"
588
-
589
602
  fp_point = os.environ.get("PROFILING_FP_START", "")
590
603
  bp_point = os.environ.get("PROFILING_BP_END", "")
591
604
 
@@ -593,37 +606,30 @@ class Profiler:
593
606
  "output": self._output_path,
594
607
  "fp_point": fp_point,
595
608
  "bp_point": bp_point,
596
- "training_trace": "on",
597
- "task_trace": "on",
609
+ "training_trace": "on" if self._op_time else "off",
610
+ "task_trace": "on" if self._op_time else "off",
598
611
  "aic_metrics": AICORE_METRICS_DICT.get(self._aicore_metrics_id, "ArithmeticUtilization"),
599
- "aicpu": "on",
600
- "profile_memory": profile_memory,
601
- "hccl": profiler_communication,
612
+ "aicpu": "on" if self._data_process or self._op_time else "off",
613
+ "profile_memory": "on" if self._op_time and self._profile_memory else "off",
614
+ "hccl": "on" if self._op_time and self._profile_communication else "off",
602
615
  "l2_cache": self._l2_cache,
603
616
  "parallel_strategy": "on" if self._parallel_strategy else "off",
617
+ "op_time": "on" if self._op_time else "off"
604
618
  }
605
619
 
606
620
  return profiling_options
607
621
 
608
622
  def _parse_parameter_for_gpu(self, kwargs):
609
623
  """Parse parameter in Proflier when the device target is GPU."""
610
-
611
624
  self.start_profile = kwargs.pop("start_profile", True)
612
625
  if not isinstance(self.start_profile, bool):
613
626
  raise TypeError(f"For '{self.__class__.__name__}', the parameter start_profile must be bool, "
614
627
  f"but got type {type(self.start_profile)}")
615
628
 
616
- self._profile_communication = kwargs.pop("profile_communication", False)
617
- if self._profile_communication:
618
- logger.warning(f"The parameter profile_communication is not supported on GPU currently.")
619
-
620
- self._profile_memory = kwargs.pop("profile_memory", False)
621
- if self._profile_memory:
622
- logger.warning(f"The parameter profile_memory is not supported on GPU currently.")
623
-
624
629
  self._sync_enable = kwargs.pop("sync_enable", True)
625
630
  if not isinstance(self._sync_enable, bool):
626
631
  logger.warning("The parameter sync_enable is an invalid value, it will be set to True.")
632
+ self._sync_enable = True
627
633
 
628
634
  def _parse_parameter_for_ascend(self, kwargs):
629
635
  """Parse parameter in Proflier when the device target is Ascend."""
@@ -636,8 +642,9 @@ class Profiler:
636
642
 
637
643
  self._profile_communication = kwargs.pop("profile_communication", False)
638
644
  if not isinstance(self._profile_communication, bool):
639
- raise TypeError(f"For '{self.__class__.__name__}', the parameter profile_communication must be bool, "
640
- f"but got type {type(self._profile_communication)}")
645
+ logger.warning(f"For '{self.__class__.__name__}', the parameter profile_communication must be bool, "
646
+ f"but got type {type(self._profile_communication)}, it will be set to False.")
647
+ self._profile_communication = False
641
648
 
642
649
  if self._profile_communication:
643
650
  hccl_option = {"output": self._output_path, "task_trace": "on"}
@@ -648,21 +655,26 @@ class Profiler:
648
655
 
649
656
  self._profile_memory = kwargs.pop("profile_memory", False)
650
657
  if not isinstance(self._profile_memory, bool):
651
- raise TypeError(f"For '{self.__class__.__name__}', the parameter profile_memory must be bool, "
652
- f"but got type '{type(self._profile_memory)}'")
658
+ logger.warning(f"For '{self.__class__.__name__}', the parameter profile_memory must be bool, "
659
+ f"but got type {type(self._profile_memory)}, it will be set to False.")
660
+ self._profile_memory = False
653
661
 
654
662
  self._aicore_metrics_id = kwargs.pop("aicore_metrics", 0)
655
663
  if not isinstance(self._aicore_metrics_id, int):
656
- raise TypeError(f"For '{self.__class__.__name__}', the parameter aicore_metrics must be int, "
657
- f"but got type {type(self._aicore_metrics_id)}")
664
+ logger.warning(f"For '{self.__class__.__name__}', the parameter aicore_metrics must be int, "
665
+ f"but got type {type(self._aicore_metrics_id)}, it will be set to 0.")
666
+ self._aicore_metrics_id = 0
667
+
658
668
  if self._aicore_metrics_id not in AICORE_METRICS_DICT:
659
- raise ValueError(f"For '{self.__class__.__name__}', the parameter aicore_metrics must be in "
660
- f"[-1, 0, 1, 2, 3, 4, 5], but got {self._aicore_metrics_id}")
669
+ logger.warning(f"For '{self.__class__.__name__}', the parameter aicore_metrics must be in "
670
+ f"[-1, 0, 1, 2, 3, 4, 5], but got {self._aicore_metrics_id}, it will be set to 0.")
671
+ self._aicore_metrics_id = 0
661
672
 
662
673
  l2_cache_enable = kwargs.pop("l2_cache", False)
663
674
  if not isinstance(l2_cache_enable, bool):
664
- raise TypeError(f"For '{self.__class__.__name__}', the parameter l2_cache must be bool, "
665
- f"but got type {type(l2_cache_enable)}")
675
+ logger.warning(f"For '{self.__class__.__name__}', the parameter l2_cache must be bool, "
676
+ f"but got type {type(l2_cache_enable)}, it will be set to False.")
677
+ l2_cache_enable = False
666
678
  if l2_cache_enable:
667
679
  self._l2_cache = "on"
668
680
  else:
@@ -670,15 +682,9 @@ class Profiler:
670
682
 
671
683
  self._parallel_strategy = kwargs.pop("parallel_strategy", True)
672
684
  if not isinstance(self._parallel_strategy, bool):
673
- raise TypeError(f"For '{self.__class__.__name__}', the parameter parallel_strategy must be bool, "
674
- f"but got type {type(self._parallel_strategy)}")
675
-
676
- self._sync_enable = kwargs.pop("sync_enable", False)
677
- if self._sync_enable:
678
- logger.warning(f"The parameter sync_enable is not supported on Ascend currently.")
679
-
680
- if kwargs:
681
- logger.warning("%s are invalid params which don't work.", kwargs)
685
+ logger.warning(f"For '{self.__class__.__name__}', the parameter parallel_strategy must be bool, "
686
+ f"but got type {type(self._parallel_strategy)}, it will be set to True.")
687
+ self._parallel_strategy = True
682
688
 
683
689
  task_sink = os.getenv("GRAPH_OP_RUN")
684
690
  if task_sink and task_sink == "1":
@@ -742,18 +748,45 @@ class Profiler:
742
748
  logger.info("No need to stop profiler because profiler has been stopped.")
743
749
  self._ascend_graph_analyse()
744
750
 
745
- # Call MSAdvisor function
751
+ def _ascend_timeline_analyse(self, aicpu_data_parser, optime_parser, source_path):
752
+ """Analyse timeline info."""
746
753
  try:
747
- msadvisor = Msadvisor(self._get_profiling_job_id(), self._rank_id, self._output_path)
748
- logger.info("MSAdvisor starts running.")
749
- msadvisor.analyse()
750
- except (ProfilerFileNotFoundException, ValueError, FileNotFoundError, OSError) as err:
751
- if context.get_context("mode") == context.PYNATIVE_MODE:
752
- logger.warning("Pynative mode does not support MSAdvisor analyzer currently.")
753
- else:
754
- logger.warning("MSAdvisor running failed. %s", err)
754
+ self._analyse_timeline(aicpu_data_parser, optime_parser, source_path)
755
+ except (ProfilerIOException, ProfilerFileNotFoundException, RuntimeError) as err:
756
+ logger.warning('Fail to write timeline data: %s', err)
757
+ finally:
758
+ pass
759
+
760
+ def _ascend_step_trace_analyse(self, source_path, framework_parser):
761
+ """Analyse step trace info."""
762
+ points, is_training_mode_flag = None, False
763
+ try:
764
+ if self._is_support_step_info_collect() and not self._dynamic_status:
765
+ points, is_training_mode_flag = self._analyse_step_trace(source_path, framework_parser)
766
+ except ProfilerException as err:
767
+ logger.warning(err.message)
755
768
  finally:
756
769
  pass
770
+ return points, is_training_mode_flag
771
+
772
+ def _ascend_dynamic_net_analyse(self):
773
+ """Analyse dynamic shape network info."""
774
+ if self._profile_communication:
775
+ logger.warning(
776
+ "The profile_communication parameter cannot be set on the dynamic shape network.")
777
+ if self._profile_memory:
778
+ logger.warning("The profile_memory parameter cannot be set on the dynamic shape network.")
779
+ logger.warning(
780
+ "[Profiler]Dynamic Shape network does not support collecting step trace performance data currently.")
781
+ dynamic_parser = DynamicFrameWorkParser(self._output_path, self._rank_id)
782
+ dynamic_parser.write_dynamic_shape_data()
783
+
784
+ def _ascend_flops_analyse(self, source_path, op_task_dict, is_training_mode_flag):
785
+ """Get op FLOPs from aicore.data.x.slice.0 file, and compute FLOPS, write output_op_flops_x.txt."""
786
+ flops_parser = FlopsParser(source_path, self._output_path, op_task_dict, self._dev_id, self._rank_id,
787
+ is_training_mode_flag)
788
+ logger.info("Profiling: analyzing the operation FLOPs.")
789
+ flops_parser.execute()
757
790
 
758
791
  def _ascend_graph_memory_analyse(self, points):
759
792
  """Analyse memory usage info."""
@@ -785,6 +818,26 @@ class Profiler:
785
818
  finally:
786
819
  pass
787
820
 
821
+ def _ascend_graph_msadvisor_analyse(self, job_id):
822
+ """Call MSAdvisor function."""
823
+ logger.info("MSAdvisor starts running.")
824
+ msadvisor = Msadvisor(job_id, self._rank_id, self._output_path)
825
+ try:
826
+ msadvisor.analyse()
827
+ except FileNotFoundError as err:
828
+ logger.warning("MSAdvisor: command not found,"
829
+ "please check if installed ascend-toolkit and set environment path correctly. %s", err)
830
+ except OSError as err:
831
+ logger.warning("Cannot execute binary file: Exec format error. %s", err)
832
+ except subprocess.CalledProcessError:
833
+ logger.warning("MSAdvisor running failed, please check MSAdvisor running log.")
834
+ except (ValueError, ProfilerFileNotFoundException) as err:
835
+ logger.warning("MSAdvisor running failed. %s", err)
836
+ finally:
837
+ pass
838
+ if context.get_context("mode") == context.PYNATIVE_MODE:
839
+ logger.warning("Pynative mode does not support MSAdvisor analyzer currently.")
840
+
788
841
  def _ascend_graph_op_analyse(self, source_path):
789
842
  """
790
843
  Ascend graph model hwts analyse.
@@ -828,29 +881,37 @@ class Profiler:
828
881
  logger.info("Profiling: analyzing the data preprocess data.")
829
882
  aicpu_data_parser.execute()
830
883
 
884
+ # analyse op compute time info
885
+ try:
886
+ self._analyser_op_info()
887
+ except ProfilerException as err:
888
+ logger.warning(err.message)
889
+ finally:
890
+ pass
831
891
  return [framework_parser, aicpu_data_parser, optime_parser, op_task_dict]
832
892
 
833
- def _ascend_graph_minddata_analyse(self, source_path):
893
+ def _minddata_analyse(self, source_path):
834
894
  """Analyse mindadata for ascend graph model."""
895
+ if not self._data_process:
896
+ return
897
+ store_id = self._rank_id if self._device_target == DeviceTarget.ASCEND.value else self._dev_id
835
898
  # Parsing minddata AICPU profiling
836
- logger.info("Profiling: analyzing the minddata AICPU data.")
837
- MinddataParser.execute(source_path, self._output_path, self._rank_id)
899
+ if self._device_target == DeviceTarget.ASCEND.value:
900
+ logger.info("Profiling: analyzing the minddata AICPU data.")
901
+ MinddataParser.execute(source_path, self._output_path, store_id)
838
902
 
839
903
  # parse minddata pipeline operator and queue
840
904
  try:
841
- pipeline_parser = MinddataPipelineParser(self._output_path, self._rank_id, self._output_path)
842
- logger.info("Profiling: analyzing the minddata pipeline operator and queue.")
843
- pipeline_parser.parse()
905
+ MinddataPipelineParser(self._output_path, store_id, self._output_path).parse()
844
906
  except ProfilerException as err:
845
907
  logger.warning(err.message)
846
908
  finally:
847
909
  pass
848
910
 
849
911
  # Analyze minddata information
912
+ logger.info("Profiling: analyzing the minddata information.")
850
913
  try:
851
- md_analyzer = MinddataProfilingAnalyzer(self._output_path, self._rank_id, self._output_path)
852
- logger.info("Profiling: analyzing the minddata information.")
853
- md_analyzer.analyze()
914
+ MinddataProfilingAnalyzer(self._output_path, store_id, self._output_path).analyze()
854
915
  except ProfilerException as err:
855
916
  logger.warning(err.message)
856
917
  finally:
@@ -865,59 +926,18 @@ class Profiler:
865
926
 
866
927
  self._check_output_path(output_path=self._output_path)
867
928
  source_path = os.path.join(self._output_path, job_id)
868
- framework_parser, aicpu_data_parser, optime_parser, op_task_dict = self._ascend_graph_op_analyse(source_path)
869
- self._ascend_graph_minddata_analyse(source_path)
870
-
871
- # analyse op compute time info
872
- try:
873
- logger.info("Profiling: analyzing the operation compute time.")
874
- self._analyser_op_info()
875
- except ProfilerException as err:
876
- logger.warning(err.message)
877
- finally:
878
- pass
879
-
880
- if self._dynamic_status and self._profile_communication:
881
- raise RuntimeError("The profile_communication parameter cannot be set on the dynamic shape network.")
882
- if self._dynamic_status and self._profile_memory:
883
- raise RuntimeError("The profile_memory parameter cannot be set on the dynamic shape network.")
884
- if self._dynamic_status:
885
- logger.warning(
886
- "[Profiler]Dynamic Shape network does not support collecting step trace performance data currently.")
887
-
888
- # analyse step trace info
889
- points = None
890
- is_training_mode_flag = False
891
-
892
- try:
893
- if self._is_support_step_info_collect() and not self._dynamic_status:
894
- points, is_training_mode_flag = self._analyse_step_trace(source_path, framework_parser)
895
- except ProfilerException as err:
896
- logger.warning(err.message)
897
- finally:
898
- pass
899
-
900
- # analyse timeline info
901
- try:
902
- logger.info("Profiling: analyzing the timeline data.")
903
- self._analyse_timeline(aicpu_data_parser, optime_parser, source_path)
904
- except (ProfilerIOException, ProfilerFileNotFoundException, RuntimeError) as err:
905
- logger.warning('Fail to write timeline data: %s', err)
906
- finally:
907
- pass
908
-
909
- if self._dynamic_status:
910
- dynamic_parser = DynamicFrameWorkParser(self._output_path, self._rank_id)
911
- dynamic_parser.write_dynamic_shape_data()
912
-
913
- # Get op FLOPs from aicore.data.x.slice.0 file, and compute FLOPS, write output_op_flops_x.txt
914
- flops_parser = FlopsParser(source_path, self._output_path, op_task_dict, self._dev_id, self._rank_id,
915
- is_training_mode_flag)
916
- logger.info("Profiling: analyzing the operation FLOPs.")
917
- flops_parser.execute()
918
-
919
- self._ascend_graph_memory_analyse(points)
920
- self._ascend_graph_hccl_analyse()
929
+ self._minddata_analyse(source_path)
930
+ if self._op_time:
931
+ framework_parser, aicpu_data_parser, optime_parser, op_task_dict = self._ascend_graph_op_analyse(
932
+ source_path)
933
+ points, is_training_mode_flag = self._ascend_step_trace_analyse(source_path, framework_parser)
934
+ self._ascend_timeline_analyse(aicpu_data_parser, optime_parser, source_path)
935
+ if self._dynamic_status:
936
+ self._ascend_dynamic_net_analyse()
937
+ self._ascend_flops_analyse(source_path, op_task_dict, is_training_mode_flag)
938
+ self._ascend_graph_memory_analyse(points)
939
+ self._ascend_graph_hccl_analyse()
940
+ self._ascend_graph_msadvisor_analyse(job_id)
921
941
 
922
942
  def _ascend_graph_start(self):
923
943
  """Ascend graph mode start profiling."""
@@ -940,27 +960,10 @@ class Profiler:
940
960
  else:
941
961
  logger.info("No need to stop profiler because profiler has been stopped.")
942
962
 
943
- reduce_op_type = self._get_step_reduce_op_type()
944
- timeline_generator = self._generate_timeline(reduce_op_type)
945
-
946
- # parse minddata pipeline operator and queue for GPU
947
- try:
948
- pipeline_parser = MinddataPipelineParser(self._output_path, self._dev_id, self._output_path)
949
- logger.info("Profiling: analyzing the minddata pipeline operator and queue for GPU.")
950
- pipeline_parser.parse()
951
- except ProfilerException as err:
952
- logger.warning(err.message)
963
+ self._minddata_analyse(self._output_path)
953
964
 
954
- # Analyze minddata information
955
965
  try:
956
- md_analyzer = MinddataProfilingAnalyzer(self._output_path, self._dev_id, self._output_path)
957
- logger.info("Profiling: analyzing the minddata information.")
958
- md_analyzer.analyze()
959
- except ProfilerException as err:
960
- logger.warning(err.message)
961
-
962
- try:
963
- self._analyse_step_relation_info(timeline_generator)
966
+ self._analyse_step_relation_info()
964
967
  except ProfilerException as err:
965
968
  logger.warning(err.message)
966
969
  finally:
@@ -985,8 +988,12 @@ class Profiler:
985
988
  "scenarios currently.")
986
989
  return analyse_step_trace
987
990
 
988
- def _analyse_step_relation_info(self, timeline_generator):
991
+ def _analyse_step_relation_info(self):
989
992
  """Parse iteration related information."""
993
+ if not self._op_time:
994
+ return
995
+ reduce_op_type = self._get_step_reduce_op_type()
996
+ timeline_generator = self._generate_timeline(reduce_op_type)
990
997
  parser = GpuFrameWorkParser(self._output_path, self._dev_id)
991
998
  graph_ids = parser.get_graph_ids()
992
999
  ProfilerInfo.set_graph_ids(graph_ids)
@@ -1091,6 +1098,7 @@ class Profiler:
1091
1098
  optime_parser (OPComputeTimeParserParser): The parser instance for AI Core
1092
1099
  operator execution time calculation.
1093
1100
  """
1101
+ logger.info("Profiling: analyzing the timeline data.")
1094
1102
  timeline_analyser = AscendTimelineGenerator(self._output_path, self._dev_id, self._rank_id,
1095
1103
  self._rank_size, context.get_context("mode"))
1096
1104
  # Get framework info
@@ -1171,13 +1179,13 @@ class Profiler:
1171
1179
  else:
1172
1180
  job_dir = os.path.join(self._output_path, dir_name)
1173
1181
 
1174
- host_start_file_path = get_file_path(job_dir, "host_start.log")
1175
- if host_start_file_path is None:
1182
+ start_file_path = get_file_path(job_dir, "start_info")
1183
+ if start_file_path is None:
1176
1184
  logger.warning("Find profiling job path %s, but host_start.log not exist, "
1177
1185
  "profiler will ignore this job dir.", job_dir)
1178
1186
  continue
1179
1187
 
1180
- training_device_id = host_start_file_path.split('.')[-1]
1188
+ training_device_id = start_file_path.split('.')[-1]
1181
1189
  if self._dev_id != training_device_id:
1182
1190
  logger.debug("Find profiling find job path %s, but not current training device id. "
1183
1191
  "Current training device id %s, but job path device id: %s, "
@@ -1187,7 +1195,7 @@ class Profiler:
1187
1195
  if not os.listdir(os.path.join(job_dir, 'data')):
1188
1196
  continue
1189
1197
 
1190
- job_start_time = self._parse_host_start_log(host_start_file_path)
1198
+ job_start_time = self._parse_start_log(start_file_path)
1191
1199
  if not job_start_time:
1192
1200
  logger.warning("Find profiling job path %s, but fail to get job start info, "
1193
1201
  "profiler will ignore this job dir.", job_start_time)
@@ -1216,6 +1224,7 @@ class Profiler:
1216
1224
 
1217
1225
  def _analyser_op_info(self):
1218
1226
  """Analyse the operator information."""
1227
+ logger.info("Profiling: analyzing the operation compute time.")
1219
1228
  integrator = Integrator(self._output_path, self._rank_id)
1220
1229
  integrator.integrate()
1221
1230
 
@@ -1335,15 +1344,38 @@ class Profiler:
1335
1344
 
1336
1345
  def _parser_kwargs(self, kwargs):
1337
1346
  """Parse kwargs vale."""
1347
+ self._op_time = kwargs.get("op_time", True)
1348
+
1349
+ env_run_config = json.loads(os.getenv("MS_PROFILER_RUN_CONFIG", "{}"))
1350
+ params = list(kwargs.keys())
1351
+ if not env_run_config.get("start"):
1352
+ for param in params:
1353
+ if param not in DeviceSupportParam.__getattr__(f'{self._device_target}'.upper()).value:
1354
+ logger.warning("%s is an invalid param which doesn't work.", param)
1355
+ kwargs.pop(param)
1356
+ elif not self._op_time and param not in ALWAYS_VALID_PARAM:
1357
+ logger.warning(f"When op_time is set to False, the parameter '{param}' setting is invalid.")
1358
+
1359
+ if not isinstance(self._op_time, bool):
1360
+ logger.warning(f"For '{self.__class__.__name__}', the parameter op_time must be bool, "
1361
+ f"but got type {type(self._op_time)}, it will be set to True.")
1362
+ self._op_time = True
1363
+
1338
1364
  self._data_process = kwargs.pop("data_process", True)
1339
1365
  if not isinstance(self._data_process, bool):
1340
- raise TypeError(f"For '{self.__class__.__name__}', the parameter data_process must be bool, "
1341
- f"but got type {type(self._data_process)}")
1366
+ logger.warning(f"For '{self.__class__.__name__}', the parameter data_process must be bool, "
1367
+ f"but got type {type(self._data_process)}, it will be set to True.")
1368
+ self._data_process = True
1342
1369
 
1343
1370
  timeline_limit = kwargs.pop("timeline_limit", 500)
1344
- if not isinstance(timeline_limit, int):
1345
- raise TypeError(f"For '{self.__class__.__name__}', the parameter timeline_limit must be int, "
1346
- f"but got type {type(timeline_limit)}")
1371
+ if isinstance(timeline_limit, bool) or not isinstance(timeline_limit, int):
1372
+ logger.warning(f"For '{self.__class__.__name__}', the parameter timeline_limit must be int, "
1373
+ f"but got type {type(timeline_limit)}, it will be set to 500.")
1374
+ timeline_limit = 500
1375
+ if timeline_limit <= 0:
1376
+ logger.warning(
1377
+ "[Profiler]The 'timeline_limit' parameter must be greater than 0, it will be set to 500.")
1378
+ timeline_limit = 500
1347
1379
  self._timeline_size_limit_byte = timeline_limit * 1024 * 1024
1348
1380
 
1349
1381
  def _analyse_hccl_info(self):