mindspore 2.0.0rc1__cp38-none-any.whl → 2.2.0__cp38-none-any.whl

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

Potentially problematic release.


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

Files changed (870) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Third_Party_Open_Source_Software_Notice +2 -2
  3. mindspore/__init__.py +5 -2
  4. mindspore/_akg/akg/build_module.py +5 -6
  5. mindspore/_akg/akg/composite/build_module.py +49 -16
  6. mindspore/_akg/akg/composite/split_stitch.py +10 -11
  7. mindspore/_akg/akg/config/repository.json +195 -0
  8. mindspore/_akg/akg/global_configs.py +5 -1
  9. mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
  10. mindspore/_akg/akg/tvm/api.py +4 -3
  11. mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
  12. mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
  13. mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
  14. mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
  15. mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
  16. mindspore/_akg/akg/tvm/build_module.py +16 -1
  17. mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
  18. mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
  19. mindspore/_akg/akg/tvm/ir_builder.py +1 -1
  20. mindspore/_akg/akg/tvm/module.py +1 -2
  21. mindspore/_akg/akg/tvm/stmt.py +2 -2
  22. mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
  23. mindspore/_akg/akg/utils/kernel_exec.py +58 -260
  24. mindspore/_akg/akg/utils/op_dsl.py +17 -1
  25. mindspore/_akg/akg/utils/result_analysis.py +4 -24
  26. mindspore/_akg/akg/utils/tbe_codegen_utils.py +198 -0
  27. mindspore/_c_dataengine.cpython-38-aarch64-linux-gnu.so +0 -0
  28. mindspore/_c_expression.cpython-38-aarch64-linux-gnu.so +0 -0
  29. mindspore/_c_mindrecord.cpython-38-aarch64-linux-gnu.so +0 -0
  30. mindspore/_check_jit_forbidden_api.py +5 -1
  31. mindspore/_checkparam.py +79 -62
  32. mindspore/_extends/graph_kernel/__init__.py +0 -1
  33. mindspore/_extends/graph_kernel/model/graph_split.py +2 -0
  34. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  35. mindspore/_extends/graph_kernel/splitter.py +1 -9
  36. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +128 -21
  37. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +2 -2
  38. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  39. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +18 -13
  40. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +13 -9
  41. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  42. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  43. mindspore/_extends/parse/__init__.py +19 -17
  44. mindspore/_extends/parse/namespace.py +7 -36
  45. mindspore/_extends/parse/parser.py +375 -189
  46. mindspore/_extends/parse/resources.py +36 -41
  47. mindspore/_extends/parse/standard_method.py +350 -245
  48. mindspore/_extends/parse/trope.py +2 -12
  49. mindspore/_extends/remote/kernel_build_server.py +24 -7
  50. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  51. mindspore/_install_custom.py +43 -0
  52. mindspore/_mindspore_offline_debug.cpython-38-aarch64-linux-gnu.so +0 -0
  53. mindspore/amp.py +85 -19
  54. mindspore/bin/cache_admin +0 -0
  55. mindspore/bin/cache_server +0 -0
  56. mindspore/boost/base.py +2 -2
  57. mindspore/boost/boost.py +27 -32
  58. mindspore/boost/boost_cell_wrapper.py +37 -13
  59. mindspore/boost/grad_accumulation.py +1 -1
  60. mindspore/boost/grad_freeze.py +34 -6
  61. mindspore/boost/group_loss_scale_manager.py +15 -14
  62. mindspore/boost/less_batch_normalization.py +28 -3
  63. mindspore/common/__init__.py +15 -11
  64. mindspore/common/_auto_dynamic.py +68 -0
  65. mindspore/common/_jit_fallback_utils.py +111 -0
  66. mindspore/common/_register_for_adapter.py +17 -5
  67. mindspore/common/_register_for_tensor.py +2 -2
  68. mindspore/common/_stub_tensor.py +18 -15
  69. mindspore/common/_utils.py +31 -7
  70. mindspore/common/api.py +269 -101
  71. mindspore/common/auto_dynamic_shape.py +498 -0
  72. mindspore/common/dtype.py +61 -21
  73. mindspore/common/dump.py +9 -7
  74. mindspore/common/initializer.py +106 -76
  75. mindspore/common/jit_config.py +35 -14
  76. mindspore/common/lazy_inline.py +187 -0
  77. mindspore/common/mindir_util.py +101 -0
  78. mindspore/common/mutable.py +10 -13
  79. mindspore/common/parameter.py +246 -55
  80. mindspore/common/seed.py +13 -7
  81. mindspore/common/sparse_tensor.py +29 -33
  82. mindspore/common/tensor.py +907 -251
  83. mindspore/communication/__init__.py +7 -4
  84. mindspore/communication/_comm_helper.py +84 -4
  85. mindspore/communication/management.py +160 -88
  86. mindspore/config/op_info.config +99 -75
  87. mindspore/config/super_bar_config.json +36 -4
  88. mindspore/context.py +526 -219
  89. mindspore/dataset/__init__.py +9 -46
  90. mindspore/dataset/audio/__init__.py +4 -19
  91. mindspore/dataset/audio/transforms.py +545 -233
  92. mindspore/dataset/audio/utils.py +21 -18
  93. mindspore/dataset/callback/ds_callback.py +42 -13
  94. mindspore/dataset/core/config.py +158 -100
  95. mindspore/dataset/core/validator_helpers.py +1 -63
  96. mindspore/dataset/debug/debug_hook.py +45 -13
  97. mindspore/dataset/debug/pre_defined_hook.py +5 -5
  98. mindspore/dataset/engine/__init__.py +0 -5
  99. mindspore/dataset/engine/cache_client.py +38 -15
  100. mindspore/dataset/engine/datasets.py +615 -278
  101. mindspore/dataset/engine/datasets_audio.py +154 -283
  102. mindspore/dataset/engine/datasets_standard_format.py +104 -116
  103. mindspore/dataset/engine/datasets_text.py +443 -326
  104. mindspore/dataset/engine/datasets_user_defined.py +251 -164
  105. mindspore/dataset/engine/datasets_vision.py +839 -1443
  106. mindspore/dataset/engine/iterators.py +11 -4
  107. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +7 -3
  108. mindspore/dataset/engine/obs/util.py +3 -0
  109. mindspore/dataset/engine/offload.py +6 -6
  110. mindspore/dataset/engine/queue.py +15 -14
  111. mindspore/dataset/engine/samplers.py +39 -23
  112. mindspore/dataset/engine/serializer_deserializer.py +22 -6
  113. mindspore/dataset/engine/validators.py +21 -331
  114. mindspore/dataset/text/__init__.py +5 -33
  115. mindspore/dataset/text/transforms.py +334 -165
  116. mindspore/dataset/text/utils.py +215 -145
  117. mindspore/dataset/transforms/__init__.py +1 -1
  118. mindspore/dataset/transforms/c_transforms.py +3 -2
  119. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  120. mindspore/dataset/transforms/transforms.py +174 -71
  121. mindspore/dataset/utils/browse_dataset.py +25 -17
  122. mindspore/dataset/utils/line_reader.py +24 -21
  123. mindspore/dataset/vision/__init__.py +5 -26
  124. mindspore/dataset/vision/c_transforms.py +177 -165
  125. mindspore/dataset/vision/py_transforms.py +114 -119
  126. mindspore/dataset/vision/py_transforms_util.py +54 -51
  127. mindspore/dataset/vision/transforms.py +1127 -381
  128. mindspore/dataset/vision/utils.py +54 -38
  129. mindspore/dataset/vision/validators.py +12 -2
  130. mindspore/experimental/map_parameter.py +38 -4
  131. mindspore/{dataset/datapreprocess → experimental/optim}/__init__.py +14 -4
  132. mindspore/experimental/optim/adam.py +192 -0
  133. mindspore/experimental/optim/adamw.py +181 -0
  134. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  135. mindspore/experimental/optim/optimizer.py +252 -0
  136. mindspore/experimental/optim/sgd.py +147 -0
  137. mindspore/gen_ops.py +273 -0
  138. mindspore/include/OWNERS +1 -2
  139. mindspore/include/api/context.h +21 -1
  140. mindspore/include/api/data_type.h +2 -1
  141. mindspore/include/api/graph.h +0 -15
  142. mindspore/include/api/kernel.h +2 -0
  143. mindspore/include/api/kernel_api.h +37 -12
  144. mindspore/include/api/model.h +29 -42
  145. mindspore/include/api/model_group.h +14 -3
  146. mindspore/include/api/model_parallel_runner.h +18 -2
  147. mindspore/include/api/serialization.h +26 -0
  148. mindspore/include/api/status.h +1 -0
  149. mindspore/include/api/types.h +38 -4
  150. mindspore/include/c_api/ms/abstract.h +67 -0
  151. mindspore/include/c_api/ms/attribute.h +197 -0
  152. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  153. mindspore/include/c_api/ms/base/macros.h +32 -0
  154. mindspore/include/c_api/ms/base/status.h +33 -0
  155. mindspore/include/c_api/ms/base/types.h +282 -0
  156. mindspore/include/c_api/ms/context.h +102 -0
  157. mindspore/include/c_api/ms/graph.h +160 -0
  158. mindspore/include/c_api/ms/node.h +606 -0
  159. mindspore/include/c_api/ms/tensor.h +161 -0
  160. mindspore/include/c_api/ms/value.h +84 -0
  161. mindspore/include/c_api/status_c.h +3 -0
  162. mindspore/include/dataset/constants.h +6 -12
  163. mindspore/include/dataset/execute.h +23 -13
  164. mindspore/include/dataset/text.h +26 -26
  165. mindspore/include/dataset/transforms.h +25 -31
  166. mindspore/include/dataset/vision.h +60 -60
  167. mindspore/include/dataset/vision_ascend.h +5 -6
  168. mindspore/include/dataset/vision_lite.h +17 -17
  169. mindspore/include/mindapi/base/format.h +0 -1
  170. mindspore/include/mindapi/base/type_id.h +2 -1
  171. mindspore/include/mindapi/base/types.h +5 -1
  172. mindspore/lib/libdnnl.so.2 +0 -0
  173. mindspore/lib/libjemalloc.so.2 +0 -0
  174. mindspore/lib/libmindspore.so +0 -0
  175. mindspore/lib/libmindspore_backend.so +0 -0
  176. mindspore/lib/libmindspore_common.so +0 -0
  177. mindspore/lib/libmindspore_core.so +0 -0
  178. mindspore/lib/libmindspore_glog.so.0 +0 -0
  179. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  180. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  181. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  182. mindspore/lib/libmindspore_shared_lib.so +0 -0
  183. mindspore/lib/libmpi_adapter.so +0 -0
  184. mindspore/lib/libnnacl.so +0 -0
  185. mindspore/lib/libopencv_core.so.4.5 +0 -0
  186. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  187. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  188. mindspore/lib/libps_cache.so +0 -0
  189. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  190. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  191. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +9000 -0
  192. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  193. mindspore/lib/plugin/ascend/libakg.so +0 -0
  194. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  195. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  196. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  197. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  198. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  199. mindspore/lib/plugin/cpu/libakg.so +0 -0
  200. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  201. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  202. mindspore/log.py +9 -6
  203. mindspore/mindrecord/filereader.py +33 -4
  204. mindspore/mindrecord/filewriter.py +70 -35
  205. mindspore/mindrecord/mindpage.py +40 -34
  206. mindspore/mindrecord/shardreader.py +1 -1
  207. mindspore/mindrecord/shardsegment.py +1 -1
  208. mindspore/mindrecord/tools/cifar100_to_mr.py +25 -18
  209. mindspore/mindrecord/tools/cifar10_to_mr.py +25 -18
  210. mindspore/mindrecord/tools/csv_to_mr.py +29 -13
  211. mindspore/mindrecord/tools/imagenet_to_mr.py +24 -10
  212. mindspore/mindrecord/tools/mnist_to_mr.py +24 -11
  213. mindspore/mindrecord/tools/tfrecord_to_mr.py +31 -26
  214. mindspore/nn/cell.py +463 -169
  215. mindspore/nn/dynamic_lr.py +47 -43
  216. mindspore/nn/layer/activation.py +225 -82
  217. mindspore/nn/layer/basic.py +121 -79
  218. mindspore/nn/layer/channel_shuffle.py +21 -21
  219. mindspore/nn/layer/combined.py +33 -26
  220. mindspore/nn/layer/container.py +277 -22
  221. mindspore/nn/layer/conv.py +441 -304
  222. mindspore/nn/layer/dense.py +19 -13
  223. mindspore/nn/layer/embedding.py +62 -49
  224. mindspore/nn/layer/flash_attention.py +264 -0
  225. mindspore/nn/layer/image.py +50 -39
  226. mindspore/nn/layer/math.py +62 -51
  227. mindspore/nn/layer/normalization.py +219 -167
  228. mindspore/nn/layer/padding.py +58 -70
  229. mindspore/nn/layer/pooling.py +334 -287
  230. mindspore/nn/layer/rnn_cells.py +53 -38
  231. mindspore/nn/layer/rnns.py +59 -56
  232. mindspore/nn/layer/thor_layer.py +52 -44
  233. mindspore/nn/layer/timedistributed.py +6 -4
  234. mindspore/nn/layer/transformer.py +284 -164
  235. mindspore/nn/learning_rate_schedule.py +34 -25
  236. mindspore/nn/loss/__init__.py +3 -2
  237. mindspore/nn/loss/loss.py +554 -311
  238. mindspore/nn/optim/ada_grad.py +12 -9
  239. mindspore/nn/optim/adadelta.py +14 -11
  240. mindspore/nn/optim/adafactor.py +19 -16
  241. mindspore/nn/optim/adam.py +62 -47
  242. mindspore/nn/optim/adamax.py +13 -10
  243. mindspore/nn/optim/adasum.py +12 -8
  244. mindspore/nn/optim/asgd.py +10 -9
  245. mindspore/nn/optim/ftrl.py +20 -17
  246. mindspore/nn/optim/lamb.py +16 -12
  247. mindspore/nn/optim/lars.py +8 -6
  248. mindspore/nn/optim/lazyadam.py +25 -20
  249. mindspore/nn/optim/momentum.py +10 -7
  250. mindspore/nn/optim/optimizer.py +61 -9
  251. mindspore/nn/optim/proximal_ada_grad.py +14 -13
  252. mindspore/nn/optim/rmsprop.py +17 -13
  253. mindspore/nn/optim/rprop.py +30 -17
  254. mindspore/nn/optim/sgd.py +40 -23
  255. mindspore/nn/optim/thor.py +24 -26
  256. mindspore/nn/probability/bijector/bijector.py +11 -11
  257. mindspore/nn/probability/bijector/exp.py +1 -1
  258. mindspore/nn/probability/bijector/gumbel_cdf.py +3 -3
  259. mindspore/nn/probability/bijector/invert.py +1 -1
  260. mindspore/nn/probability/bijector/power_transform.py +29 -29
  261. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  262. mindspore/nn/probability/bijector/softplus.py +5 -5
  263. mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +4 -2
  264. mindspore/nn/probability/bnn_layers/conv_variational.py +13 -13
  265. mindspore/nn/probability/bnn_layers/dense_variational.py +12 -12
  266. mindspore/nn/probability/bnn_layers/layer_distribution.py +9 -8
  267. mindspore/nn/probability/distribution/_utils/custom_ops.py +19 -3
  268. mindspore/nn/probability/distribution/_utils/utils.py +1 -1
  269. mindspore/nn/probability/distribution/bernoulli.py +9 -9
  270. mindspore/nn/probability/distribution/beta.py +8 -8
  271. mindspore/nn/probability/distribution/categorical.py +23 -15
  272. mindspore/nn/probability/distribution/cauchy.py +5 -6
  273. mindspore/nn/probability/distribution/distribution.py +3 -3
  274. mindspore/nn/probability/distribution/exponential.py +4 -4
  275. mindspore/nn/probability/distribution/gamma.py +10 -10
  276. mindspore/nn/probability/distribution/geometric.py +8 -8
  277. mindspore/nn/probability/distribution/gumbel.py +8 -9
  278. mindspore/nn/probability/distribution/half_normal.py +5 -5
  279. mindspore/nn/probability/distribution/laplace.py +5 -5
  280. mindspore/nn/probability/distribution/log_normal.py +12 -11
  281. mindspore/nn/probability/distribution/logistic.py +8 -8
  282. mindspore/nn/probability/distribution/normal.py +6 -5
  283. mindspore/nn/probability/distribution/poisson.py +10 -11
  284. mindspore/nn/probability/distribution/student_t.py +8 -9
  285. mindspore/nn/probability/distribution/transformed_distribution.py +5 -5
  286. mindspore/nn/probability/distribution/uniform.py +11 -11
  287. mindspore/nn/reinforcement/tensor_array.py +2 -2
  288. mindspore/nn/sparse/sparse.py +9 -9
  289. mindspore/nn/wrap/cell_wrapper.py +188 -63
  290. mindspore/nn/wrap/grad_reducer.py +21 -12
  291. mindspore/nn/wrap/loss_scale.py +136 -49
  292. mindspore/numpy/__init__.py +4 -4
  293. mindspore/numpy/array_creations.py +55 -56
  294. mindspore/numpy/array_ops.py +134 -35
  295. mindspore/numpy/logic_ops.py +66 -20
  296. mindspore/numpy/math_ops.py +142 -139
  297. mindspore/numpy/utils_const.py +2 -2
  298. mindspore/offline_debug/convert_async.py +2 -2
  299. mindspore/ops/_grad_experimental/__init__.py +7 -5
  300. mindspore/ops/_grad_experimental/grad_array_ops.py +231 -348
  301. mindspore/ops/{_grad → _grad_experimental}/grad_base.py +1 -33
  302. mindspore/ops/{_grad → _grad_experimental}/grad_comm_ops.py +25 -13
  303. mindspore/ops/{_grad/__init__.py → _grad_experimental/grad_debug_ops.py} +15 -7
  304. mindspore/ops/{_grad → _grad_experimental}/grad_implementations.py +17 -11
  305. mindspore/ops/_grad_experimental/grad_inner_ops.py +33 -52
  306. mindspore/ops/_grad_experimental/grad_math_ops.py +151 -1224
  307. mindspore/ops/_grad_experimental/grad_nn_ops.py +141 -414
  308. mindspore/ops/{_grad → _grad_experimental}/grad_quant_ops.py +10 -6
  309. mindspore/ops/_grad_experimental/grad_sparse.py +317 -2
  310. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -13
  311. mindspore/ops/{_grad → _grad_experimental}/taylor_rule.py +1 -1
  312. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  313. mindspore/ops/_op_impl/_custom_op/flash_attention/__init__.py +0 -0
  314. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +406 -0
  315. mindspore/{_extends/graph_kernel/expanders/complex/__init__.py → ops/_op_impl/_custom_op/flash_attention/constants.py} +27 -8
  316. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +467 -0
  317. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +563 -0
  318. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +193 -0
  319. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +435 -0
  320. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
  321. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +45 -0
  322. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +67 -0
  323. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +62 -0
  324. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
  325. mindspore/ops/_op_impl/aicpu/__init__.py +41 -1
  326. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
  327. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  328. mindspore/ops/_op_impl/aicpu/cast.py +52 -0
  329. mindspore/ops/_op_impl/aicpu/coalesce.py +2 -0
  330. mindspore/ops/_op_impl/aicpu/col2im.py +3 -1
  331. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  332. mindspore/ops/_op_impl/aicpu/dropout_genmask.py +6 -0
  333. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  334. mindspore/ops/_op_impl/aicpu/eye.py +4 -4
  335. mindspore/ops/_op_impl/aicpu/fft_with_size.py +6 -0
  336. mindspore/ops/_op_impl/aicpu/fill_diagonal.py +5 -0
  337. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  338. mindspore/ops/_op_impl/aicpu/im2col.py +3 -5
  339. mindspore/ops/_op_impl/aicpu/lgamma.py +1 -0
  340. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  341. mindspore/ops/_op_impl/aicpu/lu.py +39 -0
  342. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  343. mindspore/ops/_op_impl/aicpu/masked_scatter.py +1 -0
  344. mindspore/ops/_op_impl/aicpu/masked_select_grad.py +3 -0
  345. mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
  346. mindspore/ops/_op_impl/aicpu/matrix_power.py +6 -1
  347. mindspore/ops/_op_impl/aicpu/median.py +1 -0
  348. mindspore/ops/_op_impl/aicpu/multinomial.py +9 -9
  349. mindspore/ops/_op_impl/aicpu/not_equal.py +0 -5
  350. mindspore/ops/_op_impl/aicpu/pad_v3.py +3 -1
  351. mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +2 -0
  352. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  353. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  354. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  355. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  356. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  357. mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +0 -1
  358. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +0 -6
  359. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +0 -7
  360. mindspore/ops/_op_impl/aicpu/scatter_nd.py +2 -0
  361. mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
  362. mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
  363. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  364. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  365. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -4
  366. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -4
  367. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  368. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  369. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  370. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  371. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  372. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d.py +14 -6
  373. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +22 -8
  374. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +11 -6
  375. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +21 -10
  376. mindspore/ops/_op_impl/tbe/__init__.py +6 -4
  377. mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
  378. mindspore/ops/_op_impl/tbe/avg_pool.py +2 -2
  379. mindspore/ops/_op_impl/tbe/avg_pool_3d.py +3 -3
  380. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +4 -4
  381. mindspore/ops/_op_impl/tbe/avg_pool_ds.py +2 -2
  382. mindspore/ops/_op_impl/tbe/avg_pool_grad.py +3 -3
  383. mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +3 -3
  384. mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
  385. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +2 -2
  386. mindspore/ops/_op_impl/tbe/bn_infer.py +2 -2
  387. mindspore/ops/_op_impl/tbe/bn_infer_ds.py +3 -2
  388. mindspore/ops/_op_impl/tbe/broadcast_to.py +1 -1
  389. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +3 -3
  390. mindspore/ops/_op_impl/tbe/expand_dims.py +1 -1
  391. mindspore/ops/_op_impl/tbe/gather_v2.py +56 -0
  392. mindspore/ops/_op_impl/tbe/im2col.py +4 -4
  393. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  394. mindspore/ops/_op_impl/tbe/mem_set.py +38 -0
  395. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +3 -0
  396. mindspore/ops/_op_impl/tbe/scatter_nd_d.py +1 -1
  397. mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
  398. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +2 -2
  399. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  400. mindspore/ops/_primitive_cache.py +1 -1
  401. mindspore/ops/_tracefunc.py +241 -0
  402. mindspore/ops/_utils/utils.py +10 -2
  403. mindspore/ops/_vmap/vmap_array_ops.py +5 -3
  404. mindspore/ops/_vmap/vmap_base.py +5 -4
  405. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  406. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  407. mindspore/ops/_vmap/vmap_grad_nn_ops.py +11 -6
  408. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  409. mindspore/ops/_vmap/vmap_nn_ops.py +135 -11
  410. mindspore/ops/arg_dtype_cast.py +54 -0
  411. mindspore/ops/composite/__init__.py +7 -5
  412. mindspore/ops/composite/base.py +78 -34
  413. mindspore/ops/composite/math_ops.py +5 -695
  414. mindspore/ops/composite/multitype_ops/_compile_utils.py +403 -97
  415. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +28 -22
  416. mindspore/ops/composite/multitype_ops/add_impl.py +69 -7
  417. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  418. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  419. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -0
  420. mindspore/ops/composite/multitype_ops/div_impl.py +1 -0
  421. mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -0
  422. mindspore/ops/composite/multitype_ops/getitem_impl.py +48 -10
  423. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +2 -0
  424. mindspore/ops/composite/multitype_ops/greater_impl.py +2 -0
  425. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -0
  426. mindspore/ops/composite/multitype_ops/less_equal_impl.py +2 -0
  427. mindspore/ops/composite/multitype_ops/less_impl.py +2 -0
  428. mindspore/ops/composite/multitype_ops/logic_not_impl.py +2 -2
  429. mindspore/ops/composite/multitype_ops/mod_impl.py +1 -0
  430. mindspore/ops/composite/multitype_ops/mul_impl.py +1 -0
  431. mindspore/ops/composite/multitype_ops/negative_impl.py +1 -0
  432. mindspore/ops/composite/multitype_ops/not_in_impl.py +1 -0
  433. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  434. mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
  435. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -0
  436. mindspore/ops/composite/multitype_ops/setitem_impl.py +10 -7
  437. mindspore/ops/composite/multitype_ops/sub_impl.py +1 -0
  438. mindspore/ops/composite/multitype_ops/uadd_impl.py +2 -0
  439. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  440. mindspore/ops/deprecated.py +304 -0
  441. mindspore/ops/function/__init__.py +41 -4
  442. mindspore/ops/function/array_func.py +1108 -467
  443. mindspore/ops/function/clip_func.py +94 -27
  444. mindspore/ops/function/debug_func.py +3 -1
  445. mindspore/ops/function/grad/grad_func.py +82 -73
  446. mindspore/ops/function/image_func.py +28 -12
  447. mindspore/ops/function/linalg_func.py +135 -39
  448. mindspore/ops/function/math_func.py +3779 -894
  449. mindspore/ops/function/nn_func.py +1584 -657
  450. mindspore/ops/function/parameter_func.py +13 -3
  451. mindspore/ops/function/random_func.py +247 -153
  452. mindspore/ops/function/sparse_func.py +14 -11
  453. mindspore/ops/function/sparse_unary_func.py +173 -47
  454. mindspore/ops/function/spectral_func.py +8 -4
  455. mindspore/ops/function/vmap_func.py +8 -7
  456. mindspore/ops/functional.py +47 -16
  457. mindspore/ops/op_info_register.py +346 -86
  458. mindspore/ops/operations/__init__.py +38 -22
  459. mindspore/ops/operations/_grad_ops.py +145 -149
  460. mindspore/ops/operations/_inner_ops.py +298 -56
  461. mindspore/ops/operations/_ms_kernel.py +3 -3
  462. mindspore/ops/operations/_quant_ops.py +24 -28
  463. mindspore/ops/operations/_rl_inner_ops.py +9 -7
  464. mindspore/ops/operations/_scalar_ops.py +115 -0
  465. mindspore/ops/operations/_sequence_ops.py +148 -10
  466. mindspore/ops/operations/_tensor_array.py +1 -1
  467. mindspore/ops/operations/_thor_ops.py +2 -2
  468. mindspore/ops/operations/array_ops.py +1239 -561
  469. mindspore/ops/operations/comm_ops.py +166 -90
  470. mindspore/ops/operations/control_ops.py +3 -3
  471. mindspore/ops/operations/custom_ops.py +124 -102
  472. mindspore/ops/operations/debug_ops.py +24 -11
  473. mindspore/ops/operations/image_ops.py +86 -71
  474. mindspore/ops/operations/inner_ops.py +18 -13
  475. mindspore/ops/operations/linalg_ops.py +30 -11
  476. mindspore/ops/operations/math_ops.py +1730 -435
  477. mindspore/ops/operations/nn_ops.py +1953 -943
  478. mindspore/ops/operations/other_ops.py +65 -43
  479. mindspore/ops/operations/random_ops.py +258 -98
  480. mindspore/ops/operations/rl_ops.py +4 -36
  481. mindspore/ops/operations/sparse_ops.py +38 -33
  482. mindspore/ops/operations/spectral_ops.py +8 -4
  483. mindspore/ops/primitive.py +66 -44
  484. mindspore/ops/signature.py +5 -5
  485. mindspore/parallel/_auto_parallel_context.py +80 -19
  486. mindspore/parallel/_cost_model_context.py +42 -0
  487. mindspore/parallel/_offload_context.py +162 -72
  488. mindspore/parallel/_parallel_serialization.py +2 -2
  489. mindspore/parallel/_ps_context.py +16 -4
  490. mindspore/parallel/_recovery_context.py +2 -1
  491. mindspore/parallel/_tensor.py +15 -13
  492. mindspore/parallel/_transformer/layers.py +8 -6
  493. mindspore/parallel/_transformer/loss.py +1 -0
  494. mindspore/parallel/_transformer/moe.py +7 -7
  495. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  496. mindspore/parallel/_transformer/transformer.py +34 -14
  497. mindspore/parallel/_utils.py +36 -14
  498. mindspore/parallel/algo_parameter_config.py +114 -20
  499. mindspore/parallel/checkpoint_transform.py +16 -18
  500. mindspore/parallel/shard.py +16 -13
  501. mindspore/profiler/__init__.py +1 -1
  502. mindspore/profiler/common/struct_type.py +3 -3
  503. mindspore/profiler/common/util.py +3 -2
  504. mindspore/profiler/envprofiling.py +11 -4
  505. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  506. mindspore/profiler/parser/ascend_flops_generator.py +94 -0
  507. mindspore/profiler/parser/ascend_fpbp_generator.py +76 -0
  508. mindspore/profiler/parser/ascend_hccl_generator.py +288 -0
  509. mindspore/profiler/parser/ascend_msprof_exporter.py +213 -0
  510. mindspore/profiler/parser/ascend_msprof_generator.py +199 -0
  511. mindspore/profiler/parser/ascend_op_generator.py +276 -0
  512. mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
  513. mindspore/profiler/parser/ascend_timeline_generator.py +110 -54
  514. mindspore/profiler/parser/base_timeline_generator.py +11 -7
  515. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +45 -46
  516. mindspore/profiler/parser/flops_parser.py +15 -11
  517. mindspore/profiler/parser/framework_parser.py +92 -73
  518. mindspore/profiler/parser/hccl_parser.py +16 -12
  519. mindspore/profiler/parser/integrator.py +22 -11
  520. mindspore/profiler/parser/memory_usage_parser.py +36 -11
  521. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  522. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  523. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  524. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  525. mindspore/profiler/parser/optime_parser.py +1 -1
  526. mindspore/profiler/parser/profiler_info.py +4 -5
  527. mindspore/profiler/parser/step_trace_parser.py +11 -14
  528. mindspore/profiler/profiling.py +678 -377
  529. mindspore/rewrite/api/node.py +211 -54
  530. mindspore/rewrite/api/node_type.py +5 -0
  531. mindspore/rewrite/api/pattern_engine.py +22 -23
  532. mindspore/rewrite/api/scoped_value.py +20 -17
  533. mindspore/rewrite/api/symbol_tree.py +252 -106
  534. mindspore/rewrite/api/tree_node_helper.py +3 -0
  535. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  536. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  537. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  538. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +97 -46
  539. mindspore/rewrite/common/rewrite_elog.py +5 -1
  540. mindspore/rewrite/namer.py +51 -51
  541. mindspore/rewrite/namespace.py +14 -5
  542. mindspore/{ops/bprop_mindir → rewrite/node}/__init__.py +9 -4
  543. mindspore/rewrite/node/call_function.py +79 -0
  544. mindspore/rewrite/node/cell_container.py +135 -0
  545. mindspore/rewrite/node/control_flow.py +88 -0
  546. mindspore/rewrite/{node.py → node/node.py} +313 -247
  547. mindspore/rewrite/node/node_manager.py +254 -0
  548. mindspore/rewrite/node/node_topological_manager.py +243 -0
  549. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  550. mindspore/rewrite/parsers/assign_parser.py +225 -239
  551. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  552. mindspore/rewrite/parsers/class_def_parser.py +179 -218
  553. mindspore/rewrite/parsers/constant_parser.py +9 -6
  554. mindspore/rewrite/parsers/container_parser.py +9 -7
  555. mindspore/rewrite/parsers/for_parser.py +36 -15
  556. mindspore/rewrite/parsers/function_def_parser.py +23 -20
  557. mindspore/rewrite/parsers/if_parser.py +28 -24
  558. mindspore/rewrite/parsers/module_parser.py +202 -25
  559. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  560. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  561. mindspore/rewrite/parsers/return_parser.py +6 -6
  562. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  563. mindspore/rewrite/sparsify/sparsify.py +4 -1
  564. mindspore/rewrite/sparsify/utils.py +11 -5
  565. mindspore/rewrite/symbol_tree.py +577 -732
  566. mindspore/rewrite/symbol_tree_builder.py +9 -175
  567. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  568. mindspore/run_check/_check_version.py +46 -39
  569. mindspore/run_check/run_check.py +3 -2
  570. mindspore/{scipy/sparse → safeguard}/__init__.py +4 -5
  571. mindspore/safeguard/rewrite_obfuscation.py +517 -0
  572. mindspore/scipy/__init__.py +1 -1
  573. mindspore/scipy/linalg.py +67 -61
  574. mindspore/scipy/ops.py +5 -41
  575. mindspore/scipy/ops_grad.py +3 -2
  576. mindspore/scipy/ops_wrapper.py +5 -5
  577. mindspore/scipy/optimize/line_search.py +8 -8
  578. mindspore/scipy/optimize/linear_sum_assignment.py +4 -4
  579. mindspore/scipy/optimize/minimize.py +16 -12
  580. mindspore/scipy/utils.py +1 -52
  581. mindspore/scipy/utils_const.py +4 -4
  582. mindspore/train/__init__.py +4 -4
  583. mindspore/train/_utils.py +13 -5
  584. mindspore/train/amp.py +410 -148
  585. mindspore/train/anf_ir_pb2.py +16 -4
  586. mindspore/train/callback/_backup_and_restore.py +8 -11
  587. mindspore/train/callback/_callback.py +80 -3
  588. mindspore/train/callback/_checkpoint.py +82 -51
  589. mindspore/train/callback/_early_stop.py +12 -15
  590. mindspore/train/callback/_history.py +1 -1
  591. mindspore/train/callback/_lambda_callback.py +13 -13
  592. mindspore/train/callback/_landscape.py +21 -17
  593. mindspore/train/callback/_loss_monitor.py +9 -10
  594. mindspore/train/callback/_on_request_exit.py +16 -33
  595. mindspore/train/callback/_reduce_lr_on_plateau.py +21 -24
  596. mindspore/train/callback/_summary_collector.py +44 -30
  597. mindspore/train/callback/_time_monitor.py +62 -12
  598. mindspore/train/data_sink.py +10 -16
  599. mindspore/train/dataset_helper.py +154 -86
  600. mindspore/train/loss_scale_manager.py +14 -9
  601. mindspore/train/metrics/__init__.py +10 -2
  602. mindspore/train/metrics/accuracy.py +1 -1
  603. mindspore/train/metrics/auc.py +1 -1
  604. mindspore/train/metrics/bleu_score.py +2 -2
  605. mindspore/train/metrics/confusion_matrix.py +14 -14
  606. mindspore/train/metrics/cosine_similarity.py +3 -3
  607. mindspore/train/metrics/dice.py +1 -1
  608. mindspore/train/metrics/fbeta.py +1 -1
  609. mindspore/train/metrics/hausdorff_distance.py +8 -6
  610. mindspore/train/metrics/mean_surface_distance.py +5 -4
  611. mindspore/train/metrics/metric.py +49 -17
  612. mindspore/train/metrics/occlusion_sensitivity.py +4 -4
  613. mindspore/train/metrics/perplexity.py +1 -1
  614. mindspore/train/metrics/precision.py +2 -2
  615. mindspore/train/metrics/recall.py +2 -3
  616. mindspore/train/metrics/roc.py +7 -7
  617. mindspore/train/metrics/root_mean_square_surface_distance.py +5 -4
  618. mindspore/train/metrics/topk.py +7 -4
  619. mindspore/train/mind_ir_pb2.py +193 -48
  620. mindspore/train/model.py +377 -133
  621. mindspore/train/serialization.py +697 -245
  622. mindspore/train/summary/_summary_adapter.py +5 -2
  623. mindspore/train/summary/_writer_pool.py +4 -3
  624. mindspore/train/summary/summary_record.py +25 -23
  625. mindspore/train/train_thor/convert_utils.py +39 -23
  626. mindspore/train/train_thor/dataset_helper.py +4 -3
  627. mindspore/train/train_thor/model_thor.py +8 -8
  628. mindspore/version.py +1 -1
  629. {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/METADATA +7 -8
  630. {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/RECORD +633 -804
  631. {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/entry_points.txt +0 -1
  632. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  633. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  634. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  635. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  636. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  637. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  638. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  639. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  640. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  641. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  642. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  643. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  644. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  645. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  646. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  647. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  648. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  649. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  650. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  651. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  652. mindspore/_extends/graph_kernel/expander.py +0 -80
  653. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -57
  654. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  655. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  656. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  657. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  658. mindspore/_extends/graph_kernel/expanders/bias_add_grad.py +0 -49
  659. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  660. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  661. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  662. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  663. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  664. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  665. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  666. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  667. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  668. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  669. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  670. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  671. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  672. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  673. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  674. mindspore/_extends/graph_kernel/expanders/gather.py +0 -43
  675. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  676. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  677. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  678. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  679. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  680. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  681. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  682. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  683. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  684. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  685. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  686. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  687. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  688. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  689. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  690. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  691. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  692. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  693. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  694. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  695. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  696. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  697. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  698. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  699. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  700. mindspore/_extends/graph_kernel/expanders/tile.py +0 -54
  701. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  702. mindspore/_extends/parse/jit_fallback_modules.py +0 -51
  703. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  704. mindspore/dataset/engine/graphdata.py +0 -1586
  705. mindspore/include/api/net.h +0 -142
  706. mindspore/ops/_grad/grad_array_ops.py +0 -1347
  707. mindspore/ops/_grad/grad_clip_ops.py +0 -84
  708. mindspore/ops/_grad/grad_debug_ops.py +0 -68
  709. mindspore/ops/_grad/grad_inner_ops.py +0 -235
  710. mindspore/ops/_grad/grad_math_ops.py +0 -1684
  711. mindspore/ops/_grad/grad_nn_ops.py +0 -1529
  712. mindspore/ops/_grad/grad_other_ops.py +0 -89
  713. mindspore/ops/_grad/grad_sequence_ops.py +0 -296
  714. mindspore/ops/_grad/grad_sparse.py +0 -323
  715. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -249
  716. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -195
  717. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  718. mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
  719. mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
  720. mindspore/ops/bprop_mindir/ApproximateEqual_bprop.mindir +0 -19
  721. mindspore/ops/bprop_mindir/Argmax_bprop.mindir +0 -15
  722. mindspore/ops/bprop_mindir/Argmin_bprop.mindir +0 -15
  723. mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +0 -19
  724. mindspore/ops/bprop_mindir/Assign_bprop.mindir +0 -17
  725. mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +0 -150
  726. mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +0 -66
  727. mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
  728. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -15
  729. mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
  730. mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +0 -28
  731. mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
  732. mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +0 -33
  733. mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +0 -306
  734. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -13
  735. mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
  736. mindspore/ops/bprop_mindir/Concat_bprop.mindir +0 -0
  737. mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +0 -240
  738. mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +0 -247
  739. mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +0 -247
  740. mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +0 -315
  741. mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +0 -278
  742. mindspore/ops/bprop_mindir/DType_bprop.mindir +0 -14
  743. mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +0 -58
  744. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -13
  745. mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +0 -23
  746. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  747. mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +0 -15
  748. mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
  749. mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
  750. mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +0 -25
  751. mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +0 -18
  752. mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +0 -27
  753. mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
  754. mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
  755. mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
  756. mindspore/ops/bprop_mindir/DynamicShape_bprop.mindir +0 -14
  757. mindspore/ops/bprop_mindir/Elu_bprop.mindir +0 -16
  758. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  759. mindspore/ops/bprop_mindir/Equal_bprop.mindir +0 -19
  760. mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +0 -58
  761. mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +0 -16
  762. mindspore/ops/bprop_mindir/Flatten_bprop.mindir +0 -54
  763. mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +0 -19
  764. mindspore/ops/bprop_mindir/GatherD_bprop.mindir +0 -26
  765. mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +0 -57
  766. mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
  767. mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +0 -19
  768. mindspore/ops/bprop_mindir/Greater_bprop.mindir +0 -19
  769. mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +0 -16
  770. mindspore/ops/bprop_mindir/HSwish_bprop.mindir +0 -16
  771. mindspore/ops/bprop_mindir/IOU_bprop.mindir +0 -19
  772. mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
  773. mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +0 -15
  774. mindspore/ops/bprop_mindir/IsInf_bprop.mindir +0 -15
  775. mindspore/ops/bprop_mindir/IsNan_bprop.mindir +0 -15
  776. mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +0 -126
  777. mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +0 -15
  778. mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +0 -30
  779. mindspore/ops/bprop_mindir/LRN_bprop.mindir +0 -43
  780. mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
  781. mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +0 -19
  782. mindspore/ops/bprop_mindir/Less_bprop.mindir +0 -19
  783. mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +0 -23
  784. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -13
  785. mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +0 -23
  786. mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +0 -19
  787. mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +0 -15
  788. mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +0 -21
  789. mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +0 -74
  790. mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +0 -74
  791. mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +0 -75
  792. mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +0 -65
  793. mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
  794. mindspore/ops/bprop_mindir/Maximum_bprop.mindir +0 -0
  795. mindspore/ops/bprop_mindir/Minimum_bprop.mindir +0 -0
  796. mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +0 -27
  797. mindspore/ops/bprop_mindir/Mish_bprop.mindir +0 -35
  798. mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
  799. mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
  800. mindspore/ops/bprop_mindir/NonZero_bprop.mindir +0 -14
  801. mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +0 -19
  802. mindspore/ops/bprop_mindir/OneHot_bprop.mindir +0 -26
  803. mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +0 -14
  804. mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
  805. mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
  806. mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
  807. mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +0 -29
  808. mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +0 -82
  809. mindspore/ops/bprop_mindir/Range_bprop.mindir +0 -22
  810. mindspore/ops/bprop_mindir/Rank_bprop.mindir +0 -14
  811. mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +0 -16
  812. mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
  813. mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +0 -19
  814. mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +0 -19
  815. mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +0 -20
  816. mindspore/ops/bprop_mindir/Reshape_bprop.mindir +0 -60
  817. mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +0 -29
  818. mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +0 -89
  819. mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +0 -52
  820. mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +0 -22
  821. mindspore/ops/bprop_mindir/Round_bprop.mindir +0 -15
  822. mindspore/ops/bprop_mindir/ScatterMax_bprop.mindir +0 -0
  823. mindspore/ops/bprop_mindir/ScatterMin_bprop.mindir +0 -0
  824. mindspore/ops/bprop_mindir/ScatterNdUpdate_bprop.mindir +0 -22
  825. mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +0 -24
  826. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -22
  827. mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
  828. mindspore/ops/bprop_mindir/SeLU_bprop.mindir +0 -21
  829. mindspore/ops/bprop_mindir/Select_bprop.mindir +0 -31
  830. mindspore/ops/bprop_mindir/Shape_bprop.mindir +0 -14
  831. mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +0 -21
  832. mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
  833. mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +0 -16
  834. mindspore/ops/bprop_mindir/Sign_bprop.mindir +0 -15
  835. mindspore/ops/bprop_mindir/Slice_bprop.mindir +0 -26
  836. mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +0 -36
  837. mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  838. mindspore/ops/bprop_mindir/Softplus_bprop.mindir +0 -16
  839. mindspore/ops/bprop_mindir/Softsign_bprop.mindir +0 -33
  840. mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
  841. mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +0 -28
  842. mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +0 -23
  843. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  844. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  845. mindspore/ops/bprop_mindir/Split_bprop.mindir +0 -22
  846. mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +0 -54
  847. mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +0 -95
  848. mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +0 -98
  849. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -29
  850. mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
  851. mindspore/ops/bprop_mindir/Tanh_bprop.mindir +0 -66
  852. mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +0 -22
  853. mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +0 -29
  854. mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +0 -14
  855. mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
  856. mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
  857. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -23
  858. mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +0 -19
  859. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -20
  860. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -16
  861. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -22
  862. mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +0 -32
  863. mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +0 -38
  864. mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +0 -15
  865. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  866. mindspore/rewrite/node_visitor.py +0 -44
  867. mindspore/rewrite/topological_manager.py +0 -203
  868. mindspore/scipy/sparse/linalg.py +0 -192
  869. {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/WHEEL +0 -0
  870. {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/top_level.txt +0 -0
@@ -31,7 +31,7 @@ Note: Legacy c_transforms and py_transforms are deprecated but can still be impo
31
31
  from mindspore.dataset.transforms import py_transforms
32
32
 
33
33
  See `Common Transforms
34
- <https://www.mindspore.cn/tutorials/en/r2.0/beginner/transforms.html#common-transforms>`_ tutorial for more details.
34
+ <https://www.mindspore.cn/tutorials/en/r2.2/beginner/transforms.html#common-transforms>`_ tutorial for more details.
35
35
 
36
36
  Descriptions of common data processing terms are as follows:
37
37
 
@@ -377,8 +377,9 @@ class Concatenate(TensorOperation):
377
377
  Args:
378
378
  axis (int, optional): Concatenate the tensors along given axis. Default: 0.
379
379
  prepend (numpy.array, optional): NumPy array to be prepended to the already concatenated tensors.
380
- Default: None.
381
- append (numpy.array, optional): NumPy array to be appended to the already concatenated tensors. Default: None.
380
+ Default: ``None``.
381
+ append (numpy.array, optional): NumPy array to be appended to the already concatenated tensors.
382
+ Default: ``None``.
382
383
 
383
384
  Raises:
384
385
  TypeError: If `axis` is not of type int.
@@ -18,11 +18,12 @@ Built-in py_transforms_utils functions.
18
18
  import json
19
19
  import random
20
20
  from enum import IntEnum
21
- from types import FunctionType
21
+ from types import FunctionType, MethodType
22
22
  import numpy as np
23
23
 
24
24
  from mindspore import log as logger
25
25
  from ..core.py_util_helpers import is_numpy, ExceptionHandler
26
+ from .. import transforms as t
26
27
 
27
28
 
28
29
  class Implementation(IntEnum):
@@ -212,16 +213,43 @@ class FuncWrapper:
212
213
 
213
214
  def to_json(self):
214
215
  """ Serialize to JSON format """
215
- if isinstance(self.transform, FunctionType):
216
- # User-defined Python functions cannot be fully nor correctly serialized.
217
- # Log a warning, and produce minimal info for the Python UDF, so that serialization of the
218
- # dataset pipeline can continue.
219
- # Note that the serialized JSON output is not valid to be deserialized.
220
- logger.warning("Serialization of user-defined Python functions is not supported. "
221
- "Any produced serialized JSON file output for this dataset pipeline is not valid "
222
- "to be deserialized.")
216
+ # User-defined Python functions cannot be fully nor correctly serialized.
217
+ # Log a warning, and produce minimal info for the Python UDF, so that serialization of the
218
+ # dataset pipeline can continue.
219
+ # Note that the serialized JSON output is not valid to be deserialized.
220
+ udf_python_warning = "Serialization of user-defined Python functions is not supported. " \
221
+ "Any produced serialized JSON file output for this dataset pipeline is not valid " \
222
+ "to be deserialized."
223
+ try:
224
+ if isinstance(self.transform, (FunctionType, MethodType)):
225
+ # common function type(include lambda, class method) / object method
226
+ logger.warning(udf_python_warning)
227
+ json_obj = {}
228
+ json_obj["tensor_op_name"] = self.transform.__name__
229
+ json_obj["python_module"] = self.__class__.__module__
230
+ return json.dumps(json_obj)
231
+ if callable(self.transform) and not isinstance(self.transform, (t.c_transforms.TensorOperation,
232
+ t.py_transforms.PyTensorOperation,
233
+ t.transforms.TensorOperation,
234
+ t.transforms.PyTensorOperation,
235
+ FuncWrapper)):
236
+ # udf callable class
237
+ logger.warning(udf_python_warning)
238
+ json_obj = {}
239
+ json_obj["tensor_op_name"] = type(self.transform).__name__
240
+ json_obj["python_module"] = self.__class__.__module__
241
+ return json.dumps(json_obj)
242
+ # dataset operations
243
+ return self.transform.to_json()
244
+ except Exception as e:
245
+ logger.warning("Skip user-defined Python method which cannot be serialized, reason is: " + str(e))
223
246
  json_obj = {}
224
- json_obj["tensor_op_name"] = self.transform.__name__
225
- json_obj["python_module"] = self.__class__.__module__
247
+ json_obj["tensor_op_name"] = "unknown"
248
+ json_obj["python_module"] = "unknown"
226
249
  return json.dumps(json_obj)
227
- return self.transform.to_json()
250
+
251
+ def release_resource(self):
252
+ # release the executor which is used by current thread/process when
253
+ # use transform in eager mode in map op or batch op
254
+ # this will be call in MapOp::WorkerEntry and BatchOp::WorkerEntry
255
+ t.transforms.clean_unused_executors()
@@ -17,6 +17,8 @@ The module transforms provides common operations, including Compose, OneHot and
17
17
  """
18
18
  import json
19
19
  from abc import ABC
20
+ import os
21
+ import threading
20
22
 
21
23
  import sys
22
24
  from enum import IntEnum
@@ -36,6 +38,28 @@ from ..core.datatypes import mstype_to_detype, nptype_to_detype
36
38
  from ..vision.py_transforms_util import is_pil
37
39
 
38
40
 
41
+ # hold all the executor objects when in training procedure
42
+ # key : pid_tid which distinguishes multiple executors by process_id + thread_id
43
+ # value : executor object which lifecycle will always exist during training
44
+ EXECUTORS_LIST = dict()
45
+
46
+
47
+ # the follow case process / thread exit need call the function
48
+ # 1. user defined dataset with process mode
49
+ # 2. user defined dataset with thread mode
50
+ # 3. user defined transform in map op with process mode
51
+ # 4. user defined transform in map op with thread mode
52
+ # 5. batch op with per_batch_map operation in process mode
53
+ # 6. batch op with per_batch_map operation in thread mode
54
+ def clean_unused_executors():
55
+ """
56
+ clean the unused executor object in UDF or map with PyFunc process / thread mode
57
+ """
58
+ key = str(os.getpid()) + "_" + str(threading.currentThread().ident)
59
+ if key in EXECUTORS_LIST:
60
+ EXECUTORS_LIST.pop(key)
61
+
62
+
39
63
  class TensorOperation:
40
64
  """
41
65
  Base class Tensor Ops
@@ -44,7 +68,7 @@ class TensorOperation:
44
68
  def __init__(self):
45
69
  super().__init__()
46
70
  self.implementation = None
47
- self.callable_op_ = None
71
+ self.device_target = "CPU"
48
72
 
49
73
  def __call__(self, *input_tensor_list):
50
74
  """
@@ -62,9 +86,22 @@ class TensorOperation:
62
86
  except (RuntimeError, TypeError):
63
87
  raise TypeError("Invalid user input. Got {}: {}, cannot be converted into tensor." \
64
88
  .format(type(tensor), tensor))
65
- if not hasattr(self, 'callable_op_') or self.callable_op_ is None:
66
- self.callable_op_ = cde.Execute(self.parse())
67
- output_tensor_list = self.callable_op_(tensor_row)
89
+
90
+ # get or create the executor from EXECUTORS_LIST
91
+ executor = None
92
+ key = str(os.getpid()) + "_" + str(threading.currentThread().ident)
93
+ if key in EXECUTORS_LIST:
94
+ # get the executor by process id and thread id
95
+ executor = EXECUTORS_LIST[key]
96
+ # remove the old transform which in executor and update the new transform
97
+ executor.UpdateOperation(self.parse())
98
+ else:
99
+ # create a new executor by process id and thread_id
100
+ executor = cde.Execute(self.parse())
101
+ # add the executor the global EXECUTORS_LIST
102
+ EXECUTORS_LIST[key] = executor
103
+
104
+ output_tensor_list = executor(tensor_row)
68
105
  output_numpy_list = [x.as_array() for x in output_tensor_list]
69
106
  return output_numpy_list[0] if len(output_numpy_list) == 1 else tuple(output_numpy_list)
70
107
 
@@ -220,12 +257,14 @@ class Compose(CompoundOperation):
220
257
  ``CPU``
221
258
 
222
259
  Examples:
223
- >>> compose = transforms.Compose([vision.Decode(), vision.RandomCrop(512)])
224
- >>> image_folder_dataset = image_folder_dataset.map(operations=compose)
225
- >>> image_folder_dataset_dir = "/path/to/image_folder_dataset_directory"
260
+ >>> import mindspore.dataset as ds
261
+ >>> import mindspore.dataset.transforms as transforms
262
+ >>> import mindspore.dataset.vision as vision
226
263
  >>>
227
264
  >>> # create a dataset that reads all files in dataset_dir with 8 threads
265
+ >>> image_folder_dataset_dir = "/path/to/image_folder_dataset_directory"
228
266
  >>> image_folder_dataset = ds.ImageFolderDataset(image_folder_dataset_dir, num_parallel_workers=8)
267
+ >>>
229
268
  >>> # create a list of transformations to be applied to the image data
230
269
  >>> transform = transforms.Compose([vision.Decode(to_pil=True),
231
270
  ... vision.RandomHorizontalFlip(0.5),
@@ -244,7 +283,7 @@ class Compose(CompoundOperation):
244
283
  ... vision.RandomErasing()]
245
284
  >>>
246
285
  >>> # apply the transform to the dataset through dataset.map()
247
- >>> image_folder_dataset_1 = image_folder_dataset_1.map(operations=transforms_list, input_columns=["image"])
286
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list, input_columns=["image"])
248
287
  >>>
249
288
  >>> # Certain C++ and Python ops can be combined, but not all of them
250
289
  >>> # An example of combined operations
@@ -271,17 +310,16 @@ class Compose(CompoundOperation):
271
310
  if all(hasattr(transform, "random") and not transform.random for transform in self.transforms):
272
311
  self.random = False
273
312
 
313
+ # pylint: disable=missing-docstring
274
314
  @staticmethod
275
315
  def decompose(operations):
276
- """
277
- Remove all compose operation from the given list of operations.
278
-
279
- Args:
280
- operations (list): list of transforms.
281
-
282
- Returns:
283
- list of operations without compose operations.
284
- """
316
+ # Remove all compose operation from the given list of operations.
317
+ #
318
+ # Args:
319
+ # operations (list): list of transforms.
320
+ #
321
+ # Returns:
322
+ # list of operations without compose operations.
285
323
  new_operations = []
286
324
  for op in operations:
287
325
  if isinstance(op, Compose):
@@ -290,17 +328,16 @@ class Compose(CompoundOperation):
290
328
  new_operations.append(op)
291
329
  return new_operations
292
330
 
331
+ # pylint: disable=missing-docstring
293
332
  @staticmethod
294
333
  def reduce(operations):
295
- """
296
- Wraps adjacent Python operations in a Compose to allow mixing of Python and C++ operations.
297
-
298
- Args:
299
- operations (list): list of tensor operations.
300
-
301
- Returns:
302
- list, the reduced list of operations.
303
- """
334
+ # Wraps adjacent Python operations in a Compose to allow mixing of Python and C++ operations.
335
+ #
336
+ # Args:
337
+ # operations (list): list of tensor operations.
338
+ #
339
+ # Returns:
340
+ # list, the reduced list of operations.
304
341
  new_ops, start_ind, end_ind = [], 0, 0
305
342
  for i, op in enumerate(operations):
306
343
  if op.implementation == Implementation.C and not isinstance(op, FuncWrapper):
@@ -340,16 +377,31 @@ class Compose(CompoundOperation):
340
377
  """
341
378
  return util.compose(self.transforms, *args)
342
379
 
380
+ def __call__(self, *args):
381
+ '''
382
+ If PY op exists in self.transforms, should use _execute_py to keep the output types unchanged.
383
+ '''
384
+ if any([t.implementation == Implementation.PY for t in self.transforms]):
385
+ self.implementation = Implementation.PY
386
+ return super().__call__(*args)
387
+
388
+ def release_resource(self):
389
+ # release the executor which is used by current thread/process when
390
+ # use transform in eager mode in map op
391
+ # this will be call in MapOp::WorkerEntry
392
+ clean_unused_executors()
393
+
343
394
 
344
395
  class Concatenate(TensorOperation):
345
396
  """
346
397
  Tensor operation that concatenates all columns into a single tensor, only 1D tenspr is supported.
347
398
 
348
399
  Args:
349
- axis (int, optional): Concatenate the tensors along given axis. Default: 0.
400
+ axis (int, optional): Concatenate the tensors along given axis. Default: ``0``.
350
401
  prepend (numpy.ndarray, optional): NumPy array to be prepended to the already concatenated tensors.
351
- Default: None.
352
- append (numpy.ndarray, optional): NumPy array to be appended to the already concatenated tensors. Default: None.
402
+ Default: ``None``.
403
+ append (numpy.ndarray, optional): NumPy array to be appended to the already concatenated tensors.
404
+ Default: ``None``.
353
405
 
354
406
  Raises:
355
407
  TypeError: If `axis` is not of type int.
@@ -360,7 +412,10 @@ class Concatenate(TensorOperation):
360
412
  ``CPU``
361
413
 
362
414
  Examples:
415
+ >>> import mindspore.dataset as ds
416
+ >>> import mindspore.dataset.transforms as transforms
363
417
  >>> import numpy as np
418
+ >>>
364
419
  >>> # concatenate string
365
420
  >>> prepend_tensor = np.array(["dw", "df"], dtype='S')
366
421
  >>> append_tensor = np.array(["dwsdf", "df"], dtype='S')
@@ -393,6 +448,8 @@ class Duplicate(TensorOperation):
393
448
  ``CPU``
394
449
 
395
450
  Examples:
451
+ >>> import mindspore.dataset as ds
452
+ >>> import mindspore.dataset.transforms as transforms
396
453
  >>> # Data before
397
454
  >>> # | x |
398
455
  >>> # +---------+
@@ -435,7 +492,10 @@ class Fill(TensorOperation):
435
492
 
436
493
 
437
494
  Examples:
495
+ >>> import mindspore.dataset as ds
496
+ >>> import mindspore.dataset.transforms as transforms
438
497
  >>> import numpy as np
498
+ >>>
439
499
  >>> # generate a 1D integer numpy array from 0 to 4
440
500
  >>> def generator_1d():
441
501
  ... for i in range(5):
@@ -463,10 +523,11 @@ class Mask(TensorOperation):
463
523
  Any element of the tensor that matches the predicate will be evaluated to True, otherwise False.
464
524
 
465
525
  Args:
466
- operator (Relational): relational operators, it can be any of [Relational.EQ, Relational.NE, Relational.LT,
467
- Relational.GT, Relational.LE, Relational.GE], take Relational.EQ as example, EQ refers to equal.
526
+ operator (Relational): relational operators, it can be ``Relational.EQ``, ``Relational.NE``, ``Relational.LT``,
527
+ ``Relational.GT``, ``Relational.LE``, ``Relational.GE``, take ``Relational.EQ`` as example,
528
+ EQ refers to equal.
468
529
  constant (Union[str, int, float, bool]): Constant to be compared to.
469
- dtype (mindspore.dtype, optional): Type of the generated mask. Default: mindspore.dtype.bool\_.
530
+ dtype (mindspore.dtype, optional): Type of the generated mask. Default: ``mstype.bool_``.
470
531
 
471
532
  Raises:
472
533
  TypeError: `operator` is not of type Relational.
@@ -477,6 +538,8 @@ class Mask(TensorOperation):
477
538
  ``CPU``
478
539
 
479
540
  Examples:
541
+ >>> import mindspore.dataset as ds
542
+ >>> import mindspore.dataset.transforms as transforms
480
543
  >>> from mindspore.dataset.transforms import Relational
481
544
  >>> # Data before
482
545
  >>> # | col |
@@ -507,25 +570,36 @@ class Mask(TensorOperation):
507
570
 
508
571
  class OneHot(TensorOperation):
509
572
  """
510
- Tensor operation to apply one hot encoding.
573
+ Apply One-Hot encoding to the input labels.
574
+
575
+ For a 1-D input of shape :math:`(*)`, an output of shape :math:`(*, num_classes)` will be
576
+ returned, where the elements with index values equal to the input values will be set to 1,
577
+ and the rest will be set to 0. If a label smoothing rate is specified, the element values
578
+ are further smoothed to enhance generalization.
511
579
 
512
580
  Args:
513
- num_classes (int): Number of classes of objects in dataset.
514
- It should be larger than the largest label number in the dataset.
515
- smoothing_rate (float, optional): Adjustable hyperparameter for label smoothing level.
516
- Default: 0.0, means no smoothing is applied.
581
+ num_classes (int): Total number of classes. Must be greater than the maximum value
582
+ of the input labels.
583
+ smoothing_rate (float, optional): The amount of label smoothing. Must be between
584
+ [0.0, 1.0]. Default: ``0.0``, no label smoothing.
517
585
 
518
586
  Raises:
519
- TypeError: `num_classes` is not of type int.
520
- TypeError: `smoothing_rate` is not of type float or int.
521
- ValueError: `smoothing_rate` is not in range [0.0, 1.0].
522
- RuntimeError: Input tensor is not of type int.
523
- RuntimeError: Input tensor is not a 1-D tensor.
587
+ TypeError: If `num_classes` is not of type int.
588
+ TypeError: If `smoothing_rate` is not of type float.
589
+ ValueError: If `smoothing_rate` is not in range of [0.0, 1.0].
590
+ RuntimeError: If input label is not of type int.
591
+ RuntimeError: If the dimension of the input label is not 1.
524
592
 
525
593
  Supported Platforms:
526
594
  ``CPU``
527
595
 
528
596
  Examples:
597
+ >>> import mindspore.dataset as ds
598
+ >>> import mindspore.dataset.transforms as transforms
599
+ >>>
600
+ >>> mnist_dataset_dir = "/path/to/mnist_dataset_directory"
601
+ >>> mnist_dataset = ds.MnistDataset(dataset_dir=mnist_dataset_dir)
602
+ >>>
529
603
  >>> # Assume that dataset has 10 classes, thus the label ranges from 0 to 9
530
604
  >>> onehot_op = transforms.OneHot(num_classes=10)
531
605
  >>> mnist_dataset = mnist_dataset.map(operations=onehot_op, input_columns=["label"])
@@ -547,10 +621,10 @@ class PadEnd(TensorOperation):
547
621
  Pad input tensor according to pad_shape, input tensor needs to have same rank.
548
622
 
549
623
  Args:
550
- pad_shape (list(int)): List of integers representing the shape needed. Dimensions that set to `None` will
624
+ pad_shape (list(int)): List of integers representing the shape needed. Dimensions that set to ``None`` will
551
625
  not be padded (i.e., original dim will be used). Shorter dimensions will truncate the values.
552
- pad_value (Union[str, bytes, int, float, bool], optional): Value used to pad. Default to 0 or empty
553
- string in case of tensors of strings.
626
+ pad_value (Union[str, bytes, int, float, bool], optional): Value used to pad. Default: ``None``.
627
+ Default to ``0`` in case of tensors of Numbers, or empty string in case of tensors of strings.
554
628
 
555
629
  Raises:
556
630
  TypeError: If `pad_shape` is not of type list.
@@ -562,6 +636,8 @@ class PadEnd(TensorOperation):
562
636
  ``CPU``
563
637
 
564
638
  Examples:
639
+ >>> import mindspore.dataset as ds
640
+ >>> import mindspore.dataset.transforms as transforms
565
641
  >>> # Data before
566
642
  >>> # | col |
567
643
  >>> # +---------+
@@ -607,7 +683,11 @@ class Plugin(TensorOperation):
607
683
  ``CPU``
608
684
 
609
685
  Examples:
686
+ >>> import mindspore.dataset as ds
687
+ >>> import mindspore.dataset.transforms as transforms
688
+ >>>
610
689
  >>> plugin = transforms.Plugin("pluginlib.so", "PluginDecode")
690
+ >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory")
611
691
  >>> image_folder_dataset = image_folder_dataset.map(operations=plugin)
612
692
  """
613
693
 
@@ -629,7 +709,7 @@ class RandomApply(CompoundOperation):
629
709
 
630
710
  Args:
631
711
  transforms (list): List of transformations to be applied.
632
- prob (float, optional): The probability to apply the transformation list. Default: 0.5.
712
+ prob (float, optional): The probability to apply the transformation list. Default: ``0.5``.
633
713
 
634
714
  Raises:
635
715
  TypeError: If `transforms` is not of type list.
@@ -643,13 +723,19 @@ class RandomApply(CompoundOperation):
643
723
  ``CPU``
644
724
 
645
725
  Examples:
726
+ >>> import mindspore.dataset as ds
727
+ >>> import mindspore.dataset.transforms as transforms
728
+ >>> import mindspore.dataset.vision as vision
646
729
  >>> from mindspore.dataset.transforms import Compose
730
+ >>>
647
731
  >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
648
732
  ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262)),
649
733
  ... vision.RandomErasing()]
650
734
  >>> composed_transform = Compose([vision.Decode(to_pil=True),
651
735
  ... transforms.RandomApply(transforms_list, prob=0.6),
652
736
  ... vision.ToTensor()])
737
+ >>>
738
+ >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory")
653
739
  >>> image_folder_dataset = image_folder_dataset.map(operations=composed_transform, input_columns=["image"])
654
740
  """
655
741
 
@@ -692,13 +778,19 @@ class RandomChoice(CompoundOperation):
692
778
  ``CPU``
693
779
 
694
780
  Examples:
781
+ >>> import mindspore.dataset as ds
782
+ >>> import mindspore.dataset.transforms as transforms
783
+ >>> import mindspore.dataset.vision as vision
695
784
  >>> from mindspore.dataset.transforms import Compose
785
+ >>>
696
786
  >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
697
787
  ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262)),
698
788
  ... vision.RandomErasing()]
699
789
  >>> composed_transform = Compose([vision.Decode(),
700
790
  ... transforms.RandomChoice(transforms_list),
701
791
  ... vision.ToTensor()])
792
+ >>>
793
+ >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory")
702
794
  >>> image_folder_dataset = image_folder_dataset.map(operations=composed_transform, input_columns=["image"])
703
795
 
704
796
  """
@@ -742,13 +834,19 @@ class RandomOrder(PyTensorOperation):
742
834
  ``CPU``
743
835
 
744
836
  Examples:
837
+ >>> import mindspore.dataset as ds
838
+ >>> import mindspore.dataset.vision as vision
839
+ >>> import mindspore.dataset.transforms as transforms
745
840
  >>> from mindspore.dataset.transforms import Compose
841
+ >>>
746
842
  >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
747
843
  ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262)),
748
844
  ... vision.RandomErasing()]
749
845
  >>> composed_transform = Compose([vision.Decode(to_pil=False),
750
846
  ... transforms.RandomOrder(transforms_list),
751
847
  ... vision.ToTensor()])
848
+ >>>
849
+ >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory")
752
850
  >>> image_folder_dataset = image_folder_dataset.map(operations=composed_transform, input_columns=["image"])
753
851
  """
754
852
 
@@ -773,17 +871,16 @@ class RandomOrder(PyTensorOperation):
773
871
 
774
872
  class Relational(IntEnum):
775
873
  """
776
- Relationship operator.
874
+ Relational operator.
777
875
 
778
- Possible enumeration values are: Relational.EQ, Relational.NE, Relational.GT, Relational.GE, Relational.LT,
779
- Relational.LE.
876
+ Available values are as follows:
780
877
 
781
- - Relational.EQ: refers to Equality.
782
- - Relational.NE: refers not equal, or Inequality.
783
- - Relational.GT: refers to Greater than.
784
- - Relational.GE: refers to Greater than or equal to.
785
- - Relational.LT: refers to Less than.
786
- - Relational.LE: refers to Less than or equal to.
878
+ - Relational.EQ: Equal to.
879
+ - Relational.NE: Not equal to.
880
+ - Relational.GT: Greater than.
881
+ - Relational.GE: Greater than or equal to.
882
+ - Relational.LT: Less than.
883
+ - Relational.LE: Less than or equal to.
787
884
  """
788
885
  EQ = 0
789
886
  NE = 1
@@ -829,30 +926,31 @@ class _SliceOption(cde.SliceOption):
829
926
 
830
927
  class Slice(TensorOperation):
831
928
  """
832
- Slice operation to extract a tensor out using the given n slices.
929
+ Extract a slice from the input.
833
930
 
834
- The functionality of Slice is similar to NumPy's indexing feature (Currently only rank-1 tensors are supported).
931
+ Currently, only 1-D input is supported.
835
932
 
836
933
  Args:
837
- slices (Union[int, list[int], slice, None, Ellipsis]):
838
- Maximum `n` number of arguments to slice a tensor of rank `n` .
839
- One object in slices can be one of:
840
-
841
- 1. :py:obj:`int`: Slice this index only along the first dimension. Negative index is supported.
842
- 2. :py:obj:`list(int)`: Slice these indices along the first dimension. Negative indices are supported.
843
- 3. :py:obj:`slice`: Slice the generated indices from the
844
- `slice <https://docs.python.org/3.7/library/functions.html?highlight=slice#slice>`_ object along the
845
- first dimension. Similar to start:stop:step.
846
- 4. :py:obj:`None`: Slice the whole dimension. Similar to :py:obj:`[:]` in Python indexing.
847
- 5. :py:obj:`Ellipsis`: Slice the whole dimension, same result with `None` .
934
+ slices (Union[int, list[int], slice, Ellipsis]): The desired slice.
935
+ If the input type is int, it will slice the element with the specified index value.
936
+ Negative index is also supported.
937
+ If the input type is list[int], it will slice all the elements with the specified index values.
938
+ Negative index is also supported.
939
+ If the input type is `slice <https://docs.python.org/3.7/library/functions.html#slice>`_ ,
940
+ it will slice according to its specified start position, stop position and step size.
941
+ If the input type is `Ellipsis <https://docs.python.org/3.7/library/constants.html#Ellipsis>`_ ,
942
+ all elements will be sliced.
943
+ If the input is None, all elements will be sliced.
848
944
 
849
945
  Raises:
850
- TypeError: If `slices` is not of type int, list[int], :py:obj:`slice` , :py:obj:`None` or :py:obj:`Ellipsis` .
946
+ TypeError: If `slices` is not of type Union[int, list[int], slice, Ellipsis].
851
947
 
852
948
  Supported Platforms:
853
949
  ``CPU``
854
950
 
855
951
  Examples:
952
+ >>> import mindspore.dataset as ds
953
+ >>> import mindspore.dataset.transforms as transforms
856
954
  >>> # Data before
857
955
  >>> # | col |
858
956
  >>> # +---------+
@@ -886,7 +984,8 @@ class TypeCast(TensorOperation):
886
984
  Tensor operation to cast to a given MindSpore data type or NumPy data type.
887
985
 
888
986
  Note:
889
- This operation supports running on Ascend or GPU platforms by Offload.
987
+ This operation is executed on the CPU by default, but it is also supported
988
+ to be executed on the GPU or Ascend via heterogeneous acceleration.
890
989
 
891
990
  Args:
892
991
  data_type (Union[mindspore.dtype, numpy.dtype]): mindspore.dtype or numpy.dtype (e.g. `numpy.float32`)
@@ -896,9 +995,11 @@ class TypeCast(TensorOperation):
896
995
  TypeError: If `data_type` is not of MindSpore data type bool, int, float, string or type :class:`numpy.dtype` .
897
996
 
898
997
  Supported Platforms:
899
- ``Ascend`` ``GPU`` ``CPU``
998
+ ``CPU`` ``GPU`` ``Ascend``
900
999
 
901
1000
  Examples:
1001
+ >>> import mindspore.dataset as ds
1002
+ >>> import mindspore.dataset.transforms as transforms
902
1003
  >>> import numpy as np
903
1004
  >>> from mindspore import dtype as mstype
904
1005
  >>>
@@ -947,6 +1048,8 @@ class Unique(TensorOperation):
947
1048
  ``CPU``
948
1049
 
949
1050
  Examples:
1051
+ >>> import mindspore.dataset as ds
1052
+ >>> import mindspore.dataset.transforms as transforms
950
1053
  >>> # Data before
951
1054
  >>> # | x |
952
1055
  >>> # +--------------------+
@@ -28,33 +28,41 @@ def imshow_det_bbox(image, bboxes, labels, segm=None, class_names=None, score_th
28
28
  """Draw an image with given bboxes and class labels (with scores).
29
29
 
30
30
  Args:
31
- image (numpy.ndarray): The image to be displayed, shaped (C, H, W) or (H, W, C), formatted RGB.
32
- bboxes (numpy.ndarray): Bounding boxes (with scores), shaped (N, 4) or (N, 5),
31
+ image (numpy.ndarray): The image to be displayed, shaped :math:`(C, H, W)` or :math:`(H, W, C)`,
32
+ formatted RGB.
33
+ bboxes (numpy.ndarray): Bounding boxes (with scores), shaped :math:`(N, 4)` or :math:`(N, 5)`,
33
34
  data should be ordered with (N, x, y, w, h).
34
- labels (numpy.ndarray): Labels of bboxes, shaped (N, 1).
35
- segm (numpy.ndarray): The segmentation masks of image in M classes, shaped (M, H, W). Default: None.
35
+ labels (numpy.ndarray): Labels of bboxes, shaped :math:`(N, 1)`.
36
+ segm (numpy.ndarray): The segmentation masks of image in M classes, shaped :math:`(M, H, W)`.
37
+ Default: ``None``.
36
38
  class_names (list[str], tuple[str], dict): Names of each class to map label to class name.
37
- Default: None, only display label.
38
- score_threshold (float): Minimum score of bboxes to be shown. Default: 0.
39
+ Default: ``None``, only display label.
40
+ score_threshold (float): Minimum score of bboxes to be shown. Default: ``0``.
39
41
  bbox_color (tuple(int)): Color of bbox lines.
40
- The tuple of color should be in BGR order. Default: (0, 255 ,0), means 'green'.
42
+ The tuple of color should be in BGR order. Default: ``(0, 255 ,0)``, means 'green'.
41
43
  text_color (tuple(int)): Color of texts.
42
- The tuple of color should be in BGR order. Default: (203, 192, 255), means 'pink'.
44
+ The tuple of color should be in BGR order. Default: ``(203, 192, 255)``, means 'pink'.
43
45
  mask_color (tuple(int)): Color of mask.
44
- The tuple of color should be in BGR order. Default: (128, 0, 128), means 'purple'.
45
- thickness (int): Thickness of lines. Default: 2.
46
- font_size (int, float): Font size of texts. Default: 0.8.
47
- show (bool): Whether to show the image. Default: True.
48
- win_name (str): The window name. Default: "win".
49
- wait_time (int): Value of waitKey param. Default: 2000, means display interval is 2000ms.
50
- out_file (str, optional): The filename to write the imagee. Default: None. File extension name
46
+ The tuple of color should be in BGR order. Default: ``(128, 0, 128)``, means 'purple'.
47
+ thickness (int): Thickness of lines. Default: ``2``.
48
+ font_size (int, float): Font size of texts. Default: ``0.8``.
49
+ show (bool): Whether to show the image. Default: ``True``.
50
+ win_name (str): The window name. Default: ``"win"``.
51
+ wait_time (int): Waiting time delay for a key event in milliseconds. During image display,
52
+ if there is no key pressed, wait for this time then jump to next image. If ESC is pressed,
53
+ quit display immediately. If any other key is pressed, stop waiting then jump to
54
+ next image directly. Default: ``2000`` , wait 2000ms then jump to next image.
55
+ out_file (str, optional): The filename to write the imagee. Default: ``None``. File extension name
51
56
  is required to indicate the image compression type, e.g. 'jpg', 'png'.
52
57
 
53
58
  Returns:
54
59
  ndarray, The image with bboxes drawn on it.
55
60
 
61
+ Note:
62
+ This interface relies on the `opencv-python` library.
63
+
56
64
  Raises:
57
- ImportError: If opencv-python is not installed.
65
+ ImportError: If `opencv-python` is not installed.
58
66
  AssertionError: If `image` is not in (H, W, C) or (C, H, W) format.
59
67
  AssertionError: If `bboxes` is not in (N, 4) or (N, 5) format.
60
68
  AssertionError: If `labels` is not in (N, 1) format.
@@ -67,7 +75,7 @@ def imshow_det_bbox(image, bboxes, labels, segm=None, class_names=None, score_th
67
75
  Examples:
68
76
  >>> import numpy as np
69
77
  >>> import mindspore.dataset as ds
70
- >>> from mindspore.dataset.utils.browse_dataset import imshow_det_bbox
78
+ >>> from mindspore.dataset.utils import imshow_det_bbox
71
79
  >>>
72
80
  >>> # Read Detection dataset, such as VOC2012.
73
81
  >>> voc_dataset_dir = "/path/to/voc_dataset_directory"