mindspore 2.1.0__cp38-cp38-manylinux1_x86_64.whl → 2.2.0__cp38-cp38-manylinux1_x86_64.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 (550) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -1
  3. mindspore/_akg/akg/build_module.py +5 -6
  4. mindspore/_akg/akg/composite/build_module.py +49 -16
  5. mindspore/_akg/akg/composite/split_stitch.py +10 -11
  6. mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
  7. mindspore/_akg/akg/tvm/api.py +4 -3
  8. mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
  9. mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
  10. mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
  11. mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
  12. mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
  13. mindspore/_akg/akg/tvm/build_module.py +16 -1
  14. mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
  15. mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
  16. mindspore/_akg/akg/tvm/ir_builder.py +1 -1
  17. mindspore/_akg/akg/tvm/module.py +1 -2
  18. mindspore/_akg/akg/tvm/stmt.py +2 -2
  19. mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
  20. mindspore/_akg/akg/utils/kernel_exec.py +58 -260
  21. mindspore/_akg/akg/utils/result_analysis.py +4 -24
  22. mindspore/_akg/akg/utils/tbe_codegen_utils.py +198 -0
  23. mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
  24. mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
  25. mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
  26. mindspore/_check_jit_forbidden_api.py +3 -1
  27. mindspore/_checkparam.py +26 -32
  28. mindspore/_extends/graph_kernel/__init__.py +0 -1
  29. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  30. mindspore/_extends/graph_kernel/splitter.py +1 -9
  31. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
  32. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +2 -2
  33. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  34. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
  35. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +4 -4
  36. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  37. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  38. mindspore/_extends/parse/__init__.py +12 -15
  39. mindspore/_extends/parse/namespace.py +7 -33
  40. mindspore/_extends/parse/parser.py +61 -71
  41. mindspore/_extends/parse/resources.py +1 -1
  42. mindspore/_extends/parse/standard_method.py +72 -95
  43. mindspore/_extends/parse/trope.py +1 -1
  44. mindspore/_extends/remote/kernel_build_server.py +24 -7
  45. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  46. mindspore/_install_custom.py +43 -0
  47. mindspore/_mindspore_offline_debug.cpython-38-x86_64-linux-gnu.so +0 -0
  48. mindspore/amp.py +47 -11
  49. mindspore/bin/cache_admin +0 -0
  50. mindspore/bin/cache_server +0 -0
  51. mindspore/boost/boost.py +1 -8
  52. mindspore/boost/boost_cell_wrapper.py +3 -2
  53. mindspore/boost/grad_accumulation.py +1 -1
  54. mindspore/boost/group_loss_scale_manager.py +8 -7
  55. mindspore/common/__init__.py +5 -3
  56. mindspore/common/_jit_fallback_utils.py +6 -0
  57. mindspore/common/_register_for_adapter.py +2 -0
  58. mindspore/common/_register_for_tensor.py +2 -2
  59. mindspore/common/_stub_tensor.py +13 -0
  60. mindspore/common/_utils.py +13 -0
  61. mindspore/common/api.py +173 -258
  62. mindspore/common/auto_dynamic_shape.py +498 -0
  63. mindspore/common/dtype.py +18 -11
  64. mindspore/common/dump.py +6 -4
  65. mindspore/common/initializer.py +14 -14
  66. mindspore/common/jit_config.py +33 -15
  67. mindspore/common/lazy_inline.py +126 -7
  68. mindspore/common/mindir_util.py +101 -0
  69. mindspore/common/parameter.py +51 -41
  70. mindspore/common/seed.py +4 -4
  71. mindspore/common/sparse_tensor.py +13 -14
  72. mindspore/common/tensor.py +240 -145
  73. mindspore/communication/__init__.py +7 -4
  74. mindspore/communication/_comm_helper.py +83 -4
  75. mindspore/communication/management.py +152 -84
  76. mindspore/config/op_info.config +13 -2
  77. mindspore/config/super_bar_config.json +4 -2
  78. mindspore/context.py +143 -59
  79. mindspore/dataset/__init__.py +5 -5
  80. mindspore/dataset/audio/__init__.py +2 -2
  81. mindspore/dataset/audio/transforms.py +52 -52
  82. mindspore/dataset/callback/ds_callback.py +16 -2
  83. mindspore/dataset/core/config.py +68 -51
  84. mindspore/dataset/engine/cache_client.py +28 -5
  85. mindspore/dataset/engine/datasets.py +250 -112
  86. mindspore/dataset/engine/datasets_audio.py +43 -211
  87. mindspore/dataset/engine/datasets_standard_format.py +11 -35
  88. mindspore/dataset/engine/datasets_text.py +43 -67
  89. mindspore/dataset/engine/datasets_user_defined.py +86 -100
  90. mindspore/dataset/engine/datasets_vision.py +219 -1029
  91. mindspore/dataset/engine/iterators.py +11 -4
  92. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
  93. mindspore/dataset/engine/obs/util.py +3 -0
  94. mindspore/dataset/engine/samplers.py +1 -1
  95. mindspore/dataset/engine/validators.py +19 -5
  96. mindspore/dataset/text/__init__.py +3 -3
  97. mindspore/dataset/text/transforms.py +101 -127
  98. mindspore/dataset/text/utils.py +205 -138
  99. mindspore/dataset/transforms/__init__.py +1 -1
  100. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  101. mindspore/dataset/transforms/transforms.py +95 -40
  102. mindspore/dataset/utils/browse_dataset.py +8 -2
  103. mindspore/dataset/utils/line_reader.py +17 -19
  104. mindspore/dataset/vision/__init__.py +3 -3
  105. mindspore/dataset/vision/c_transforms.py +6 -3
  106. mindspore/dataset/vision/transforms.py +409 -287
  107. mindspore/dataset/vision/utils.py +13 -14
  108. mindspore/dataset/vision/validators.py +11 -1
  109. mindspore/experimental/map_parameter.py +14 -0
  110. mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
  111. mindspore/{nn/optim_ex → experimental/optim}/adam.py +59 -66
  112. mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
  113. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  114. mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
  115. mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
  116. mindspore/gen_ops.py +273 -0
  117. mindspore/include/OWNERS +0 -1
  118. mindspore/include/api/data_type.h +2 -1
  119. mindspore/include/api/graph.h +0 -15
  120. mindspore/include/api/kernel.h +2 -0
  121. mindspore/include/api/kernel_api.h +37 -12
  122. mindspore/include/api/model.h +0 -14
  123. mindspore/include/api/types.h +37 -4
  124. mindspore/include/c_api/ms/abstract.h +67 -0
  125. mindspore/include/c_api/ms/attribute.h +197 -0
  126. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  127. mindspore/include/c_api/ms/base/macros.h +32 -0
  128. mindspore/include/c_api/ms/base/status.h +33 -0
  129. mindspore/include/c_api/ms/base/types.h +282 -0
  130. mindspore/include/c_api/ms/context.h +102 -0
  131. mindspore/include/c_api/ms/graph.h +160 -0
  132. mindspore/include/c_api/ms/node.h +606 -0
  133. mindspore/include/c_api/ms/tensor.h +161 -0
  134. mindspore/include/c_api/ms/value.h +84 -0
  135. mindspore/include/dataset/constants.h +6 -5
  136. mindspore/include/dataset/execute.h +23 -13
  137. mindspore/include/dataset/text.h +26 -26
  138. mindspore/include/dataset/transforms.h +13 -13
  139. mindspore/include/dataset/vision.h +60 -60
  140. mindspore/include/dataset/vision_ascend.h +5 -6
  141. mindspore/include/dataset/vision_lite.h +17 -17
  142. mindspore/include/mindapi/base/type_id.h +1 -0
  143. mindspore/include/mindapi/base/types.h +1 -0
  144. mindspore/lib/libdnnl.so.2 +0 -0
  145. mindspore/lib/libjemalloc.so.2 +0 -0
  146. mindspore/lib/libmindspore.so +0 -0
  147. mindspore/lib/libmindspore_backend.so +0 -0
  148. mindspore/lib/libmindspore_common.so +0 -0
  149. mindspore/lib/libmindspore_core.so +0 -0
  150. mindspore/lib/libmindspore_glog.so.0 +0 -0
  151. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  152. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  153. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  154. mindspore/lib/libmindspore_shared_lib.so +0 -0
  155. mindspore/lib/libnnacl.so +0 -0
  156. mindspore/lib/libopencv_core.so.4.5 +0 -0
  157. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  158. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  159. mindspore/lib/libps_cache.so +0 -0
  160. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  161. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  162. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +9000 -0
  163. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  164. mindspore/lib/plugin/ascend/libakg.so +0 -0
  165. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  166. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  167. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  168. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  169. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  170. mindspore/lib/plugin/cpu/libakg.so +0 -0
  171. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  172. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  173. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  174. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  175. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  176. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  177. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  178. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  179. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  180. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  181. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  182. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  183. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  184. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  185. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  186. mindspore/nn/__init__.py +0 -2
  187. mindspore/nn/cell.py +316 -74
  188. mindspore/nn/dynamic_lr.py +21 -21
  189. mindspore/nn/layer/activation.py +21 -28
  190. mindspore/nn/layer/basic.py +15 -13
  191. mindspore/nn/layer/channel_shuffle.py +1 -1
  192. mindspore/nn/layer/container.py +271 -9
  193. mindspore/nn/layer/conv.py +310 -207
  194. mindspore/nn/layer/dense.py +8 -5
  195. mindspore/nn/layer/embedding.py +33 -27
  196. mindspore/nn/layer/flash_attention.py +82 -41
  197. mindspore/nn/layer/image.py +8 -6
  198. mindspore/nn/layer/math.py +13 -18
  199. mindspore/nn/layer/normalization.py +107 -66
  200. mindspore/nn/layer/padding.py +1 -1
  201. mindspore/nn/layer/pooling.py +131 -109
  202. mindspore/nn/layer/rnn_cells.py +22 -17
  203. mindspore/nn/layer/rnns.py +13 -16
  204. mindspore/nn/layer/thor_layer.py +1 -1
  205. mindspore/nn/layer/transformer.py +221 -154
  206. mindspore/nn/learning_rate_schedule.py +9 -1
  207. mindspore/nn/loss/loss.py +235 -174
  208. mindspore/nn/optim/ada_grad.py +2 -1
  209. mindspore/nn/optim/adadelta.py +1 -0
  210. mindspore/nn/optim/adafactor.py +2 -1
  211. mindspore/nn/optim/adam.py +7 -4
  212. mindspore/nn/optim/adamax.py +3 -2
  213. mindspore/nn/optim/adasum.py +2 -2
  214. mindspore/nn/optim/asgd.py +2 -3
  215. mindspore/nn/optim/ftrl.py +6 -5
  216. mindspore/nn/optim/lamb.py +7 -4
  217. mindspore/nn/optim/lars.py +1 -1
  218. mindspore/nn/optim/lazyadam.py +5 -3
  219. mindspore/nn/optim/momentum.py +2 -1
  220. mindspore/nn/optim/optimizer.py +53 -4
  221. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  222. mindspore/nn/optim/rmsprop.py +4 -3
  223. mindspore/nn/optim/rprop.py +23 -12
  224. mindspore/nn/optim/sgd.py +26 -11
  225. mindspore/nn/optim/thor.py +9 -7
  226. mindspore/nn/probability/bijector/bijector.py +5 -5
  227. mindspore/nn/probability/bijector/power_transform.py +27 -27
  228. mindspore/nn/probability/bijector/softplus.py +3 -3
  229. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  230. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  231. mindspore/nn/probability/distribution/beta.py +3 -3
  232. mindspore/nn/probability/distribution/categorical.py +7 -7
  233. mindspore/nn/probability/distribution/cauchy.py +0 -1
  234. mindspore/nn/probability/distribution/distribution.py +3 -3
  235. mindspore/nn/probability/distribution/gamma.py +3 -3
  236. mindspore/nn/probability/distribution/geometric.py +4 -4
  237. mindspore/nn/probability/distribution/gumbel.py +4 -4
  238. mindspore/nn/probability/distribution/log_normal.py +2 -2
  239. mindspore/nn/probability/distribution/logistic.py +2 -2
  240. mindspore/nn/probability/distribution/poisson.py +4 -4
  241. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  242. mindspore/nn/probability/distribution/uniform.py +6 -6
  243. mindspore/nn/wrap/cell_wrapper.py +78 -34
  244. mindspore/nn/wrap/grad_reducer.py +8 -5
  245. mindspore/nn/wrap/loss_scale.py +105 -42
  246. mindspore/numpy/array_creations.py +1 -2
  247. mindspore/numpy/array_ops.py +3 -2
  248. mindspore/offline_debug/convert_async.py +2 -2
  249. mindspore/ops/_grad_experimental/__init__.py +0 -5
  250. mindspore/ops/_grad_experimental/grad_array_ops.py +1 -2
  251. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  252. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  253. mindspore/ops/_grad_experimental/grad_implementations.py +10 -0
  254. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  255. mindspore/ops/_grad_experimental/grad_math_ops.py +0 -181
  256. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  257. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  258. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
  259. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
  260. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
  261. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
  262. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
  263. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
  264. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  265. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  266. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  267. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  268. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  269. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  270. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  271. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  272. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  273. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  274. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  275. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  276. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  277. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  278. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  279. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  280. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  281. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  282. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  283. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  284. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  285. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  286. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  287. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  288. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  289. mindspore/ops/_primitive_cache.py +1 -1
  290. mindspore/ops/_tracefunc.py +45 -13
  291. mindspore/ops/_utils/utils.py +4 -1
  292. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  293. mindspore/ops/_vmap/vmap_base.py +3 -3
  294. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  295. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  296. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  297. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  298. mindspore/ops/arg_dtype_cast.py +54 -0
  299. mindspore/ops/composite/base.py +37 -10
  300. mindspore/ops/composite/math_ops.py +5 -4
  301. mindspore/ops/composite/multitype_ops/_compile_utils.py +273 -72
  302. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  303. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  304. mindspore/ops/composite/multitype_ops/getitem_impl.py +40 -2
  305. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  306. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  307. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  308. mindspore/ops/deprecated.py +304 -0
  309. mindspore/ops/function/__init__.py +4 -1
  310. mindspore/ops/function/array_func.py +167 -189
  311. mindspore/ops/function/clip_func.py +81 -13
  312. mindspore/ops/function/debug_func.py +1 -1
  313. mindspore/ops/function/grad/grad_func.py +18 -8
  314. mindspore/ops/function/image_func.py +10 -4
  315. mindspore/ops/function/linalg_func.py +5 -5
  316. mindspore/ops/function/math_func.py +575 -386
  317. mindspore/ops/function/nn_func.py +470 -251
  318. mindspore/ops/function/random_func.py +86 -56
  319. mindspore/ops/function/sparse_func.py +1 -1
  320. mindspore/ops/function/sparse_unary_func.py +14 -12
  321. mindspore/ops/function/vmap_func.py +6 -5
  322. mindspore/ops/functional.py +15 -10
  323. mindspore/ops/op_info_register.py +235 -19
  324. mindspore/ops/operations/__init__.py +25 -17
  325. mindspore/ops/operations/_grad_ops.py +52 -7
  326. mindspore/ops/operations/_inner_ops.py +213 -12
  327. mindspore/ops/operations/_quant_ops.py +4 -8
  328. mindspore/ops/operations/_sequence_ops.py +42 -0
  329. mindspore/ops/operations/array_ops.py +64 -280
  330. mindspore/ops/operations/comm_ops.py +105 -57
  331. mindspore/ops/operations/custom_ops.py +10 -3
  332. mindspore/ops/operations/debug_ops.py +8 -4
  333. mindspore/ops/operations/image_ops.py +18 -12
  334. mindspore/ops/operations/math_ops.py +185 -138
  335. mindspore/ops/operations/nn_ops.py +716 -492
  336. mindspore/ops/operations/other_ops.py +0 -22
  337. mindspore/ops/operations/random_ops.py +53 -111
  338. mindspore/ops/operations/sparse_ops.py +3 -1
  339. mindspore/ops/primitive.py +24 -18
  340. mindspore/parallel/_auto_parallel_context.py +68 -8
  341. mindspore/parallel/_cost_model_context.py +2 -2
  342. mindspore/parallel/_offload_context.py +17 -3
  343. mindspore/parallel/_parallel_serialization.py +2 -2
  344. mindspore/parallel/_ps_context.py +12 -0
  345. mindspore/parallel/_tensor.py +14 -12
  346. mindspore/parallel/_transformer/layers.py +5 -3
  347. mindspore/parallel/_transformer/loss.py +1 -0
  348. mindspore/parallel/_transformer/moe.py +2 -2
  349. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  350. mindspore/parallel/_transformer/transformer.py +23 -3
  351. mindspore/parallel/_utils.py +11 -7
  352. mindspore/parallel/algo_parameter_config.py +85 -5
  353. mindspore/parallel/checkpoint_transform.py +6 -10
  354. mindspore/parallel/shard.py +4 -4
  355. mindspore/profiler/common/struct_type.py +3 -3
  356. mindspore/profiler/common/util.py +3 -2
  357. mindspore/profiler/envprofiling.py +1 -1
  358. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  359. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  360. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  361. mindspore/profiler/parser/ascend_hccl_generator.py +17 -12
  362. mindspore/profiler/parser/ascend_msprof_exporter.py +104 -252
  363. mindspore/profiler/parser/ascend_msprof_generator.py +8 -8
  364. mindspore/profiler/parser/ascend_op_generator.py +5 -5
  365. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  366. mindspore/profiler/parser/ascend_timeline_generator.py +9 -6
  367. mindspore/profiler/parser/base_timeline_generator.py +9 -7
  368. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +14 -10
  369. mindspore/profiler/parser/flops_parser.py +15 -11
  370. mindspore/profiler/parser/framework_parser.py +37 -21
  371. mindspore/profiler/parser/hccl_parser.py +16 -12
  372. mindspore/profiler/parser/integrator.py +22 -11
  373. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  374. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  375. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  376. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  377. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  378. mindspore/profiler/parser/optime_parser.py +1 -1
  379. mindspore/profiler/parser/profiler_info.py +2 -2
  380. mindspore/profiler/parser/step_trace_parser.py +11 -14
  381. mindspore/profiler/profiling.py +139 -71
  382. mindspore/rewrite/api/node.py +102 -19
  383. mindspore/rewrite/api/node_type.py +5 -1
  384. mindspore/rewrite/api/scoped_value.py +9 -17
  385. mindspore/rewrite/api/symbol_tree.py +131 -47
  386. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  387. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  388. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  389. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  390. mindspore/rewrite/common/rewrite_elog.py +5 -1
  391. mindspore/rewrite/namer.py +33 -24
  392. mindspore/rewrite/namespace.py +14 -5
  393. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  394. mindspore/rewrite/node/call_function.py +79 -0
  395. mindspore/rewrite/node/cell_container.py +135 -0
  396. mindspore/rewrite/node/control_flow.py +88 -0
  397. mindspore/rewrite/{node.py → node/node.py} +273 -234
  398. mindspore/rewrite/node/node_manager.py +254 -0
  399. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  400. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  401. mindspore/rewrite/parsers/assign_parser.py +216 -221
  402. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  403. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  404. mindspore/rewrite/parsers/constant_parser.py +9 -6
  405. mindspore/rewrite/parsers/container_parser.py +9 -7
  406. mindspore/rewrite/parsers/for_parser.py +36 -15
  407. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  408. mindspore/rewrite/parsers/if_parser.py +28 -24
  409. mindspore/rewrite/parsers/module_parser.py +196 -25
  410. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  411. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  412. mindspore/rewrite/parsers/return_parser.py +6 -6
  413. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  414. mindspore/rewrite/sparsify/utils.py +1 -1
  415. mindspore/rewrite/symbol_tree.py +525 -577
  416. mindspore/rewrite/symbol_tree_builder.py +9 -193
  417. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  418. mindspore/run_check/_check_version.py +2 -2
  419. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  420. mindspore/safeguard/rewrite_obfuscation.py +517 -0
  421. mindspore/scipy/linalg.py +1 -1
  422. mindspore/scipy/optimize/minimize.py +7 -3
  423. mindspore/train/_utils.py +7 -3
  424. mindspore/train/amp.py +323 -123
  425. mindspore/train/anf_ir_pb2.py +14 -2
  426. mindspore/train/callback/_backup_and_restore.py +2 -12
  427. mindspore/train/callback/_callback.py +29 -4
  428. mindspore/train/callback/_checkpoint.py +23 -8
  429. mindspore/train/callback/_early_stop.py +2 -2
  430. mindspore/train/callback/_landscape.py +4 -4
  431. mindspore/train/callback/_loss_monitor.py +2 -2
  432. mindspore/train/callback/_on_request_exit.py +2 -2
  433. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  434. mindspore/train/callback/_summary_collector.py +14 -7
  435. mindspore/train/callback/_time_monitor.py +58 -5
  436. mindspore/train/data_sink.py +5 -11
  437. mindspore/train/dataset_helper.py +83 -57
  438. mindspore/train/loss_scale_manager.py +2 -2
  439. mindspore/train/metrics/__init__.py +3 -3
  440. mindspore/train/metrics/cosine_similarity.py +1 -1
  441. mindspore/train/metrics/hausdorff_distance.py +3 -2
  442. mindspore/train/metrics/mean_surface_distance.py +3 -2
  443. mindspore/train/metrics/metric.py +39 -19
  444. mindspore/train/metrics/roc.py +2 -2
  445. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  446. mindspore/train/mind_ir_pb2.py +85 -36
  447. mindspore/train/model.py +185 -45
  448. mindspore/train/serialization.py +390 -150
  449. mindspore/train/summary/_writer_pool.py +3 -2
  450. mindspore/train/summary/summary_record.py +14 -10
  451. mindspore/train/train_thor/convert_utils.py +3 -3
  452. mindspore/train/train_thor/dataset_helper.py +1 -1
  453. mindspore/version.py +1 -1
  454. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/METADATA +6 -7
  455. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/RECORD +458 -518
  456. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/entry_points.txt +0 -1
  457. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  458. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  459. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  460. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  461. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  462. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  463. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  464. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  465. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  466. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  467. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  468. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  469. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  470. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  471. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  472. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  473. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  474. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  475. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  476. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  477. mindspore/_extends/graph_kernel/expander.py +0 -80
  478. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  479. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  480. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  481. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  482. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  483. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  484. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  485. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  486. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  487. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  488. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  489. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  490. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  491. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  492. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  493. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  494. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  495. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  496. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  497. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  498. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  499. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  500. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  501. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  502. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  503. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  504. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  505. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  506. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  507. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  508. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  509. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  510. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  511. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  512. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  513. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  514. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  515. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  516. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  517. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  518. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  519. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  520. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  521. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  522. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  523. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  524. mindspore/dataset/datapreprocess/__init__.py +0 -20
  525. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  526. mindspore/include/api/net.h +0 -142
  527. mindspore/nn/lr_scheduler.py +0 -262
  528. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  529. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  530. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  531. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  532. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  533. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  534. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  535. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  536. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  537. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  538. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  539. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  540. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  541. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  542. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  543. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  544. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  545. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  546. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  547. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  548. mindspore/rewrite/node_visitor.py +0 -44
  549. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/WHEEL +0 -0
  550. {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/top_level.txt +0 -0
@@ -18,6 +18,7 @@ from __future__ import absolute_import
18
18
  import math
19
19
 
20
20
  from mindspore import _checkparam as Validator
21
+ from mindspore import log as logger
21
22
  from mindspore.common._auto_dynamic import is_auto_dynamic, convert_new_shapes
22
23
  from mindspore.common.dtype import pytype_to_dtype
23
24
  from mindspore.common.api import _cell_graph_executor
@@ -29,6 +30,7 @@ from mindspore.parallel._utils import _get_device_num, _get_global_rank, _need_t
29
30
  _to_full_shapes, _get_pipeline_stages
30
31
  from mindspore.parallel._ps_context import _is_role_sched
31
32
  from mindspore.ops import operations as P
33
+ from mindspore.common.auto_dynamic_shape import _auto_dynamic_shape
32
34
 
33
35
 
34
36
  def _send_data(dataset, epoch_num):
@@ -93,8 +95,7 @@ class _DataWrapper(nn.Cell):
93
95
  self.get_next = P.GetNext(
94
96
  dataset_types, dataset_shapes, len(dataset_types), queue_name)
95
97
  self.network = network
96
- if isinstance(network, nn.Cell) and network.jit_config_dict:
97
- self._jit_config_dict = network.jit_config_dict
98
+ self._get_attr_from_cell(network)
98
99
 
99
100
  def construct(self):
100
101
  outputs = self.get_next()
@@ -179,29 +180,20 @@ def _get_dataset_aux(dataset):
179
180
 
180
181
  def connect_network_with_dataset(network, dataset_helper):
181
182
  """
182
- Connect the `network` with dataset in `dataset_helper`.
183
-
184
- This function wraps the input network with 'GetNext' so that the data can be fetched automatically from the
185
- data channel corresponding to the 'queue_name' and passed to the input network during forward computation.
186
-
187
- Note:
188
- In the case of running the network on Ascend/GPU in graph mode, this function will wrap the input network with
189
- :class:`mindspore.ops.GetNext`. In other cases, the input network will be returned with no change.
190
- The :class:`mindspore.ops.GetNext` is required to get data only in sink mode,
191
- so this function is not applicable to no-sink mode.
192
- when dataset_helper's dataset_sink_mode is True, it can only be connected to one network.
183
+ Connect the `network` with dataset in `dataset_helper`. Only supported in `sink mode
184
+ <https://mindspore.cn/tutorials/experts/en/r2.2/optimize/execution_opt.html>`_, (dataset_sink_mode=True).
193
185
 
194
186
  Args:
195
187
  network (Cell): The training network for dataset.
196
188
  dataset_helper (DatasetHelper): A class to process the MindData dataset, it provides the type, shape and queue
197
- name of the dataset to wrap the `GetNext`.
189
+ name of the dataset.
198
190
 
199
191
  Returns:
200
- Cell, a new network wrapped with 'GetNext' in the case of running the task on Ascend in graph mode, otherwise
201
- it is the input network.
192
+ Cell, a new network containing the type, shape and queue name of the dataset info.
202
193
 
203
194
  Raises:
204
195
  RuntimeError: If the API was not called in dataset sink mode.
196
+
205
197
  Supported Platforms:
206
198
  ``Ascend`` ``GPU``
207
199
 
@@ -215,7 +207,7 @@ def connect_network_with_dataset(network, dataset_helper):
215
207
  >>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
216
208
  >>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
217
209
  >>> net = nn.Dense(10, 5)
218
- >>> net_with_get_next = ms.connect_network_with_dataset(net, dataset_helper)
210
+ >>> net_with_dataset = ms.connect_network_with_dataset(net, dataset_helper)
219
211
  """
220
212
  dataset_iter = dataset_helper.iter
221
213
  dataset = dataset_iter.dataset
@@ -240,8 +232,10 @@ def connect_network_with_dataset(network, dataset_helper):
240
232
  if _dynamic_sink_scenario(dataset, dataset_iter, is_dynamic):
241
233
  dataset_types, dataset_shapes = dataset_helper.get_data_info()
242
234
  dataset_types = [pytype_to_dtype(x) for x in dataset_types]
243
-
235
+ if not is_dynamic:
236
+ dataset_shapes = _auto_dynamic_shape.auto_dynamic_generate_compile_args(dataset_shapes, True)
244
237
  key = str(dataset_types) + str(dataset_shapes)
238
+ _auto_dynamic_shape.update_phase_and_compile_args(dataset_shapes, key, True, aux)
245
239
  if hasattr(aux, '__network_manage__') and key in aux.__network_manage__:
246
240
  network = aux.__network_manage__[key]
247
241
  else:
@@ -312,7 +306,7 @@ class DatasetHelper:
312
306
  >>> for next_element in set_helper:
313
307
  ... # `next_element` includes data and label, using data to run the net
314
308
  ... data = next_element[0]
315
- ... net(data)
309
+ ... result = net(data)
316
310
  """
317
311
 
318
312
  def __init__(self, dataset, dataset_sink_mode=True, sink_size=-1, epoch_num=1):
@@ -393,15 +387,15 @@ class DatasetHelper:
393
387
  Stop send data about data sink.
394
388
 
395
389
  Examples:
396
- >>> import numpy as np
397
390
  >>> import mindspore as ms
398
- >>> from mindspore import nn
399
- >>> from mindspore import dataset as ds
400
- >>>
401
- >>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
402
- >>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
403
- >>> set_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=False)
404
- >>> set_helper.stop_send()
391
+ >>> import numpy as np
392
+ >>> # Define a dataset pipeline
393
+ >>> def generator():
394
+ ... for i in range(5):
395
+ ... yield (np.ones((32, 10)),)
396
+ >>> train_dataset = ms.dataset.GeneratorDataset(generator, ["data"])
397
+ >>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True, sink_size=-1)
398
+ >>> dataset_helper.stop_send()
405
399
  """
406
400
  self.iter.stop_send()
407
401
 
@@ -417,8 +411,8 @@ class DatasetHelper:
417
411
  >>>
418
412
  >>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
419
413
  >>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
420
- >>> set_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=False)
421
- >>> set_helper.release()
414
+ >>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
415
+ >>> dataset_helper.release()
422
416
  """
423
417
  self.iter.release()
424
418
 
@@ -434,22 +428,63 @@ class DatasetHelper:
434
428
  >>>
435
429
  >>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
436
430
  >>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
437
- >>> set_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=False)
438
- >>> set_helper.continue_send()
431
+ >>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
432
+ >>> dataset_helper.continue_send()
439
433
  """
440
434
  self.iter.continue_send()
441
435
 
442
- def _reset(self, step, epoch):
436
+ def _reset(self, step, dataset_size):
443
437
  """Reset the dataset to the provided step and epoch."""
444
- self.iter._reset(step, epoch) # pylint: disable=protected-access
438
+ self.iter._reset(step, dataset_size) # pylint: disable=protected-access
445
439
 
440
+ # pylint: disable=missing-docstring
446
441
  def get_data_info(self):
447
- """
448
- In sink mode, it returns the types and shapes of the current data.
449
- Generally, it works in dynamic shape scenarios.
450
- """
442
+ # In sink mode, it returns the types and shapes of the current data.
443
+ # Generally, it works in dynamic shape scenarios.
451
444
  return self.iter.get_data_info()
452
445
 
446
+ # pylint: disable=missing-docstring
447
+ def get_send_info(self, run_context):
448
+ # In sink mode, it returns the send information of dataset at this moment.
449
+ # Send information includes number of send batches, time summary of fetching data on host
450
+ # and time summary of sending data.
451
+ class InfoViewer:
452
+ '''
453
+ Inner class for parsing send info.
454
+ '''
455
+ def __init__(self, send_info, run_context):
456
+ self.info_ = {}
457
+ self.sink_size = run_context.original_args()["batch_num"]
458
+ if run_context.original_args().get("train_dataset", None) is not None:
459
+ self.dataset_size = run_context.original_args()["train_dataset"].get_dataset_size()
460
+ elif run_context.original_args().get("valid_dataset", None) is not None:
461
+ self.dataset_size = run_context.original_args()["valid_dataset"].get_dataset_size()
462
+ else:
463
+ raise RuntimeError("Could not find a proper dataset to estimate dataset size.")
464
+ if not send_info:
465
+ epoch = 1
466
+ self.info_[epoch] = {'fetch_data_num': 0, 'fetch_data_time': 0, 'first_data_time': 0}
467
+ else:
468
+ for info_per_epoch in send_info:
469
+ epoch, fetch_data_num, first_data_time, fetch_data_time = info_per_epoch
470
+ if fetch_data_num > 1:
471
+ fetch_data_time = (fetch_data_time - first_data_time) / (fetch_data_num - 1) * 1000.
472
+ self.info_[epoch] = {'fetch_data_num': fetch_data_num,
473
+ 'fetch_data_time': fetch_data_time,
474
+ 'first_data_time': first_data_time}
475
+
476
+ def epoch(self, epoch):
477
+ if self.sink_size == self.dataset_size:
478
+ return self.info_[epoch]
479
+ global_step = epoch * self.sink_size
480
+ data_epoch = math.ceil(global_step / self.dataset_size)
481
+ return self.info_[data_epoch]
482
+
483
+ # send info struct:[epoch, data_num_per_epoch, first_data_time, accumulate_data_time]
484
+ # for example [1, 1875, 0.421, 0.362]
485
+ send_info = self.iter.get_send_info()
486
+ return InfoViewer(send_info, run_context)
487
+
453
488
 
454
489
  class _DatasetIter:
455
490
  """Base iter for dataset helper"""
@@ -460,6 +495,15 @@ class _DatasetIter:
460
495
  self.sink_count = self.get_sink_count(dataset)
461
496
  self.dataset_types, self.dataset_shapes = _get_types_and_shapes(
462
497
  dataset)
498
+
499
+ if dataset.get_init_step() % sink_size != 0:
500
+ init_epoch = dataset.get_init_step() // sink_size
501
+ init_step = init_epoch * sink_size
502
+ logger.warning("Init global step must be the end of the epoch in sink mode, "
503
+ "but got: {0}. Reset it to the end of epoch {1} at step {2}."
504
+ .format(dataset.get_init_step(), init_epoch, init_step))
505
+ dataset.set_init_step(init_step)
506
+
463
507
  if not hasattr(dataset, '__transfer_dataset__'):
464
508
  if hasattr(dataset, '__loop_size__'):
465
509
  self.sink_size = dataset.__loop_size__
@@ -481,6 +525,7 @@ class _DatasetIter:
481
525
  self.release = dataset.__transfer_dataset__.release
482
526
  self.continue_send = dataset.__transfer_dataset__.continue_send
483
527
  self.get_data_info = dataset.__transfer_dataset__.get_data_info
528
+ self.get_send_info = dataset.__transfer_dataset__.get_send_info
484
529
  if hasattr(dataset.__transfer_dataset__, "_reset"):
485
530
  self._reset = dataset.__transfer_dataset__._reset # pylint: disable=protected-access
486
531
 
@@ -517,8 +562,7 @@ class _DatasetIter:
517
562
  if hasattr(self.dataset, '__loop_size__'):
518
563
  sink_size = self.dataset.__loop_size__
519
564
  else:
520
- if context.get_context("enable_ge") or context.get_context("device_target") == "Ascend" \
521
- or context.get_context("device_target") == "GPU":
565
+ if context.get_context("device_target") == "Ascend" or context.get_context("device_target") == "GPU":
522
566
  if self.sink_size > 0:
523
567
  sink_size = self.sink_size
524
568
  else:
@@ -526,24 +570,6 @@ class _DatasetIter:
526
570
  return sink_size
527
571
 
528
572
 
529
- class _DatasetIterGE(_DatasetIter):
530
- """Iter for GE."""
531
-
532
- def __init__(self, dataset, sink_size, epoch_num):
533
- super().__init__(dataset, sink_size, epoch_num)
534
- self.sink_count = self.get_sink_count(dataset)
535
- batch_expand_num = 1
536
- if _need_to_full():
537
- batch_expand_num = _get_device_num() // _get_pipeline_stages()
538
- tensor_list_run = _construct_tensor_list(
539
- self.dataset_types, self.dataset_shapes, batch_expand_num)
540
-
541
- def op():
542
- return tensor_list_run
543
-
544
- self.op = op
545
-
546
-
547
573
  class _DatasetIterPyNative(_DatasetIter):
548
574
  """Iter for context (mode=PYNATIVE_MODE)."""
549
575
 
@@ -62,7 +62,7 @@ class FixedLossScaleManager(LossScaleManager):
62
62
  >>> from mindspore import amp, nn
63
63
  >>>
64
64
  >>> # Define the network structure of LeNet5. Refer to
65
- >>> # https://gitee.com/mindspore/docs/blob/r2.1/docs/mindspore/code/lenet.py
65
+ >>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/lenet.py
66
66
  >>> net = LeNet5()
67
67
  >>> loss_scale = 1024.0
68
68
  >>> loss_scale_manager = amp.FixedLossScaleManager(loss_scale, False)
@@ -136,7 +136,7 @@ class DynamicLossScaleManager(LossScaleManager):
136
136
  >>> from mindspore import amp, nn
137
137
  >>>
138
138
  >>> # Define the network structure of LeNet5. Refer to
139
- >>> # https://gitee.com/mindspore/docs/blob/r2.1/docs/mindspore/code/lenet.py
139
+ >>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/lenet.py
140
140
  >>> net = LeNet5()
141
141
  >>> loss_scale_manager = amp.DynamicLossScaleManager()
142
142
  >>> optim = nn.Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9)
@@ -109,9 +109,9 @@ def names():
109
109
  >>> import mindspore as ms
110
110
  >>> ms.train.names()
111
111
  ['F1', 'acc', 'accuracy', 'auc', 'bleu_score', 'confusion_matrix', 'confusion_matrix_metric',
112
- 'cosine_similarity', 'dice', 'hausdorff_distance', 'loss', 'mae', 'mean_surface_distance', 'mase',
113
- 'occlusion_sensitivity', 'perplexity', 'recall', 'roc', 'root_mean_square_distance', 'top_1_accuracy',
114
- 'top_5_accuracy', 'topk']
112
+ 'cosine_similarity', 'dice', 'hausdorff_distance', 'loss', 'mae', 'mean_surface_distance', 'mse',
113
+ 'occlusion_sensitivity', 'perplexity', 'precision', 'recall', 'roc', 'root_mean_square_distance',
114
+ 'top_1_accuracy', 'top_5_accuracy', 'topk']
115
115
  """
116
116
  return sorted(__factory__.keys())
117
117
 
@@ -27,7 +27,7 @@ class CosineSimilarity(Metric):
27
27
 
28
28
  Args:
29
29
  similarity (str): 'dot' or 'cosine'. Default: ``'cosine'`` .
30
- reduction (str): 'none', 'sum', 'mean' (all along dim -1). Default: ``'none'`` .
30
+ reduction (str): ``'none'``, 'sum', ``'mean'`` (all along dim -1). Default: ``'none'`` .
31
31
  zero_diagonal (bool): If True, diagonals of results will be set to zero. Default: ``True`` .
32
32
 
33
33
  Supported Platforms:
@@ -85,8 +85,8 @@ class HausdorffDistance(Metric):
85
85
 
86
86
  Args:
87
87
  distance_metric (string): Three distance measurement methods are supported:
88
- ``"euclidean"`` , ``"chessboard"`` or
89
- ``"taxicab"`` . Default: ``"euclidean"`` .
88
+ ``"euclidean"`` (Euclidean Distance) , ``"chessboard"`` (Chessboard Distance, Chebyshev Distance)
89
+ or ``"taxicab"`` (Taxicab Distance, Manhattan Distance). Default: ``"euclidean"`` .
90
90
  percentile (float): Floating point numbers between 0 and 100. Specify the percentile parameter to get the
91
91
  percentile of the Hausdorff distance. Default: ``None`` .
92
92
  directed (bool): If True, it only calculates h(y_pred, y) distance, otherwise, max(h(y_pred, y), h(y, y_pred))
@@ -112,6 +112,7 @@ class HausdorffDistance(Metric):
112
112
  >>> print(mean_average_distance)
113
113
  1.4142135623730951
114
114
  """
115
+
115
116
  def __init__(self, distance_metric="euclidean", percentile=None, directed=False, crop=True):
116
117
  super(HausdorffDistance, self).__init__()
117
118
  string_list = ["euclidean", "chessboard", "taxicab"]
@@ -49,8 +49,9 @@ class MeanSurfaceDistance(Metric):
49
49
  \left | S(B) \right |}
50
50
 
51
51
  Args:
52
- distance_metric (string): Three measurement methods are supported: "euclidean", "chessboard" or "taxicab".
53
- Default: ``"euclidean"`` .
52
+ distance_metric (string): Three measurement methods are supported: ``"euclidean"`` (Euclidean Distance) ,
53
+ ``"chessboard"`` (Chessboard Distance, Chebyshev Distance) or
54
+ ``"taxicab"`` (Taxicab Distance, Manhattan Distance) Default: ``"euclidean"`` .
54
55
  symmetric (bool): Whether to calculate the Mean Surface Distance between y_pred and y.
55
56
  If False, it only calculates :math:`AvgSurDis(y\_pred \rightarrow y)`,
56
57
  otherwise, the mean of distance from `y_pred` to `y` and from `y` to `y_pred`, i.e.
@@ -83,6 +83,42 @@ class Metric(metaclass=ABCMeta):
83
83
 
84
84
  Supported Platforms:
85
85
  ``Ascend`` ``GPU`` ``CPU``
86
+
87
+ Examples:
88
+ >>> import numpy as np
89
+ >>> import mindspore as ms
90
+ >>>
91
+ >>> class MyMAE(ms.train.Metric):
92
+ ... def __init__(self):
93
+ ... super(MyMAE, self).__init__()
94
+ ... self.clear()
95
+ ...
96
+ ... def clear(self):
97
+ ... self._abs_error_sum = 0
98
+ ... self._samples_num = 0
99
+ ...
100
+ ... def update(self, *inputs):
101
+ ... y_pred = inputs[0].asnumpy()
102
+ ... y = inputs[1].asnumpy()
103
+ ... abs_error_sum = np.abs(y - y_pred)
104
+ ... self._abs_error_sum += abs_error_sum.sum()
105
+ ... self._samples_num += y.shape[0]
106
+ ...
107
+ ... def eval(self):
108
+ ... return self._abs_error_sum / self._samples_num
109
+ >>>
110
+ >>> x = ms.Tensor(np.array([[0.1, 0.2, 0.6, 0.9], [0.1, 0.2, 0.6, 0.9]]), ms.float32)
111
+ >>> y = ms.Tensor(np.array([[0.1, 0.1, 0.1, 0.1], [0.1, 0.1, 0.1, 0.1]]), ms.float32)
112
+ >>> y2 = ms.Tensor(np.array([[0.1, 0.25, 0.7, 0.9], [0.1, 0.25, 0.7, 0.9]]), ms.float32)
113
+ >>> metric = MyMAE().set_indexes([0, 2])
114
+ >>> metric.clear()
115
+ >>> # indexes is [0, 2], using x as logits, y2 as label.
116
+ >>> metric.update(x, y, y2)
117
+ >>> accuracy = metric.eval()
118
+ >>> print(accuracy)
119
+ 1.399999976158142
120
+ >>> print(metric.indexes)
121
+ [0, 2]
86
122
  """
87
123
  def __init__(self):
88
124
  self._indexes = None
@@ -133,22 +169,6 @@ class Metric(metaclass=ABCMeta):
133
169
 
134
170
  Raises:
135
171
  ValueError: If the type of input 'indexes' is not a list or its elements are not all int.
136
-
137
- Examples:
138
- >>> import numpy as np
139
- >>> from mindspore import Tensor
140
- >>> from mindspore.train import Accuracy
141
- >>>
142
- >>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]]))
143
- >>> y = Tensor(np.array([1, 0, 1]))
144
- >>> y2 = Tensor(np.array([0, 0, 1]))
145
- >>> metric = Accuracy('classification').set_indexes([0, 2])
146
- >>> metric.clear()
147
- >>> # indexes is [0, 2], using x as logits, y2 as label.
148
- >>> metric.update(x, y, y2)
149
- >>> accuracy = metric.eval()
150
- >>> print(accuracy)
151
- 0.3333333333333333
152
172
  """
153
173
  if not isinstance(indexes, list) or not all(isinstance(i, int) for i in indexes):
154
174
  raise ValueError("For 'set_indexes', the argument 'indexes' must be a list and all its elements must "
@@ -180,7 +200,7 @@ class Metric(metaclass=ABCMeta):
180
200
 
181
201
  Tutorial Examples:
182
202
  - `Evaluation Metrics - Customized Metrics
183
- <https://mindspore.cn/tutorials/en/r2.1/advanced/model/metric.html#customized-metrics>`_
203
+ <https://mindspore.cn/tutorials/en/r2.2/advanced/model/metric.html#customized-metrics>`_
184
204
  """
185
205
  raise NotImplementedError('Must define clear function to use this base class')
186
206
 
@@ -194,7 +214,7 @@ class Metric(metaclass=ABCMeta):
194
214
 
195
215
  Tutorial Examples:
196
216
  - `Evaluation Metrics - Customized Metrics
197
- <https://mindspore.cn/tutorials/en/r2.1/advanced/model/metric.html#customized-metrics>`_
217
+ <https://mindspore.cn/tutorials/en/r2.2/advanced/model/metric.html#customized-metrics>`_
198
218
  """
199
219
  raise NotImplementedError('Must define eval function to use this base class')
200
220
 
@@ -211,7 +231,7 @@ class Metric(metaclass=ABCMeta):
211
231
 
212
232
  Tutorial Examples:
213
233
  - `Evaluation Metrics - Customized Metrics
214
- <https://mindspore.cn/tutorials/en/r2.1/advanced/model/metric.html#customized-metrics>`_
234
+ <https://mindspore.cn/tutorials/en/r2.2/advanced/model/metric.html#customized-metrics>`_
215
235
  """
216
236
  raise NotImplementedError('Must define update function to use this base class')
217
237
 
@@ -172,8 +172,8 @@ class ROC(Metric):
172
172
  - **fpr** (np.array) - False positive rate. In binary classification case, a fpr numpy array under different
173
173
  thresholds will be returned, otherwise in multiclass case, a list of
174
174
  fpr numpy arrays will be returned and each element represents one category.
175
- - **tpr** (np.array) - True positive rates. n binary classification case, a tps numpy array under different
176
- thresholds will be returned, otherwise in multiclass case, a list of tps numpy arrays
175
+ - **tpr** (np.array) - True positive rates. n binary classification case, a tpr numpy array under different
176
+ thresholds will be returned, otherwise in multiclass case, a list of tpr numpy arrays
177
177
  will be returned and each element represents one category.
178
178
  - **thresholds** (np.array) - Thresholds used for computing fpr and tpr.
179
179
 
@@ -49,7 +49,8 @@ class RootMeanSquareDistance(Metric):
49
49
 
50
50
  Args:
51
51
  distance_metric (string): Three measurement methods are supported:
52
- "euclidean", "chessboard" or "taxicab". Default: ``"euclidean"`` .
52
+ ``"euclidean"`` (Euclidean Distance) , ``"chessboard"`` (Chessboard Distance, Chebyshev Distance)
53
+ or ``"taxicab"`` (Taxicab Distance, Manhattan Distance). Default: ``"euclidean"`` .
53
54
  symmetric (bool): Whether to calculate the symmetric average root mean square distance between
54
55
  y_pred and y. If False, only calculates :math:`RmsSurDis(y\_pred, y)` surface distance,
55
56
  otherwise, the mean of distance from `y_pred` to `y` and from `y` to `y_pred`, i.e.
@@ -175,7 +176,7 @@ class RootMeanSquareDistance(Metric):
175
176
  if residual_mean_square_distance.shape == (0,):
176
177
  return np.inf
177
178
 
178
- rms_surface_distance = (residual_mean_square_distance**2).mean()
179
+ rms_surface_distance = (residual_mean_square_distance ** 2).mean()
179
180
 
180
181
  if not self.symmetric:
181
182
  return rms_surface_distance
@@ -184,7 +185,7 @@ class RootMeanSquareDistance(Metric):
184
185
  if contrary_residual_mean_square_distance.shape == (0,):
185
186
  return np.inf
186
187
 
187
- contrary_rms_surface_distance = (contrary_residual_mean_square_distance**2).mean()
188
+ contrary_rms_surface_distance = (contrary_residual_mean_square_distance ** 2).mean()
188
189
 
189
190
  rms_distance = np.sqrt(np.mean((rms_surface_distance, contrary_rms_surface_distance)))
190
191
  return rms_distance