mindspore 2.1.0__cp38-none-any.whl → 2.2.10__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.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +4 -1
- mindspore/_akg/akg/build_module.py +5 -6
- mindspore/_akg/akg/composite/build_module.py +46 -19
- mindspore/_akg/akg/composite/split_stitch.py +10 -11
- mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
- mindspore/_akg/akg/tvm/api.py +4 -3
- mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
- mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
- mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
- mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
- mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
- mindspore/_akg/akg/tvm/build_module.py +16 -1
- mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
- mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
- mindspore/_akg/akg/tvm/ir_builder.py +1 -1
- mindspore/_akg/akg/tvm/module.py +1 -2
- mindspore/_akg/akg/tvm/stmt.py +2 -2
- mindspore/_akg/akg/utils/ascend_profilier/__init__.py +0 -0
- mindspore/_akg/akg/utils/ascend_profilier/cann_file_parser.py +76 -0
- mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
- mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
- mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
- mindspore/_akg/akg/utils/kernel_exec.py +98 -274
- mindspore/_akg/akg/utils/result_analysis.py +4 -24
- mindspore/_akg/akg/utils/tbe_codegen_utils.py +219 -0
- mindspore/_akg/akg/utils/util.py +38 -0
- mindspore/_c_dataengine.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -1
- mindspore/_checkparam.py +23 -29
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
- mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
- mindspore/_extends/graph_kernel/splitter.py +4 -11
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
- mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
- mindspore/_extends/parse/__init__.py +12 -15
- mindspore/_extends/parse/namespace.py +7 -33
- mindspore/_extends/parse/parser.py +61 -71
- mindspore/_extends/parse/resources.py +1 -1
- mindspore/_extends/parse/standard_method.py +74 -104
- mindspore/_extends/parse/trope.py +1 -1
- mindspore/_extends/remote/kernel_build_server.py +25 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_mindspore_offline_debug.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/amp.py +47 -11
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/boost.py +1 -8
- mindspore/boost/boost_cell_wrapper.py +3 -2
- mindspore/boost/grad_accumulation.py +1 -1
- mindspore/boost/group_loss_scale_manager.py +8 -7
- mindspore/common/__init__.py +5 -3
- mindspore/common/_jit_fallback_utils.py +6 -0
- mindspore/common/_register_for_adapter.py +2 -0
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +13 -0
- mindspore/common/_utils.py +13 -0
- mindspore/common/api.py +174 -259
- mindspore/common/auto_dynamic_shape.py +494 -0
- mindspore/common/dtype.py +18 -11
- mindspore/common/dump.py +6 -4
- mindspore/common/initializer.py +14 -14
- mindspore/common/jit_config.py +33 -15
- mindspore/common/lazy_inline.py +126 -7
- mindspore/common/mindir_util.py +101 -0
- mindspore/common/parameter.py +51 -41
- mindspore/common/seed.py +4 -4
- mindspore/common/sparse_tensor.py +13 -14
- mindspore/common/tensor.py +243 -165
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +83 -4
- mindspore/communication/management.py +152 -84
- mindspore/config/op_info.config +14 -3
- mindspore/config/super_bar_config.json +4 -2
- mindspore/context.py +152 -61
- mindspore/dataset/__init__.py +5 -5
- mindspore/dataset/audio/__init__.py +2 -2
- mindspore/dataset/audio/transforms.py +52 -52
- mindspore/dataset/callback/ds_callback.py +16 -2
- mindspore/dataset/core/config.py +68 -51
- mindspore/dataset/engine/cache_client.py +28 -5
- mindspore/dataset/engine/datasets.py +250 -112
- mindspore/dataset/engine/datasets_audio.py +43 -211
- mindspore/dataset/engine/datasets_standard_format.py +16 -35
- mindspore/dataset/engine/datasets_text.py +43 -67
- mindspore/dataset/engine/datasets_user_defined.py +86 -100
- mindspore/dataset/engine/datasets_vision.py +219 -1029
- mindspore/dataset/engine/iterators.py +11 -4
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
- mindspore/dataset/engine/obs/util.py +3 -0
- mindspore/dataset/engine/samplers.py +1 -1
- mindspore/dataset/engine/validators.py +19 -5
- mindspore/dataset/text/__init__.py +3 -3
- mindspore/dataset/text/transforms.py +101 -127
- mindspore/dataset/text/utils.py +205 -138
- mindspore/dataset/transforms/__init__.py +1 -1
- mindspore/dataset/transforms/py_transforms_util.py +40 -12
- mindspore/dataset/transforms/transforms.py +95 -40
- mindspore/dataset/utils/browse_dataset.py +8 -2
- mindspore/dataset/utils/line_reader.py +17 -19
- mindspore/dataset/vision/__init__.py +3 -3
- mindspore/dataset/vision/c_transforms.py +6 -3
- mindspore/dataset/vision/transforms.py +409 -287
- mindspore/dataset/vision/utils.py +13 -14
- mindspore/dataset/vision/validators.py +11 -1
- mindspore/experimental/map_parameter.py +14 -0
- mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
- mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
- mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
- mindspore/experimental/optim/lr_scheduler.py +1427 -0
- mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
- mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
- mindspore/gen_ops.py +273 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/data_type.h +2 -1
- mindspore/include/api/graph.h +0 -15
- mindspore/include/api/kernel.h +2 -0
- mindspore/include/api/kernel_api.h +37 -12
- mindspore/include/api/model.h +17 -14
- mindspore/include/api/status.h +8 -3
- mindspore/include/api/types.h +37 -4
- mindspore/include/c_api/ms/abstract.h +67 -0
- mindspore/include/c_api/ms/attribute.h +197 -0
- mindspore/include/c_api/ms/base/handle_types.h +43 -0
- mindspore/include/c_api/ms/base/macros.h +32 -0
- mindspore/include/c_api/ms/base/status.h +33 -0
- mindspore/include/c_api/ms/base/types.h +282 -0
- mindspore/include/c_api/ms/context.h +102 -0
- mindspore/include/c_api/ms/graph.h +160 -0
- mindspore/include/c_api/ms/node.h +606 -0
- mindspore/include/c_api/ms/tensor.h +161 -0
- mindspore/include/c_api/ms/value.h +84 -0
- mindspore/include/dataset/constants.h +6 -5
- mindspore/include/dataset/execute.h +23 -13
- mindspore/include/dataset/text.h +26 -26
- mindspore/include/dataset/transforms.h +13 -13
- mindspore/include/dataset/vision.h +60 -60
- mindspore/include/dataset/vision_ascend.h +5 -6
- mindspore/include/dataset/vision_lite.h +17 -17
- mindspore/include/mindapi/base/type_id.h +1 -0
- mindspore/include/mindapi/base/types.h +1 -0
- mindspore/lib/libdnnl.so.2 +0 -0
- mindspore/lib/libjemalloc.so.2 +0 -0
- mindspore/lib/libmindspore.so +0 -0
- mindspore/lib/libmindspore_backend.so +0 -0
- mindspore/lib/libmindspore_common.so +0 -0
- mindspore/lib/libmindspore_core.so +0 -0
- mindspore/lib/libmindspore_glog.so.0 +0 -0
- mindspore/lib/libmindspore_gpr.so.15 +0 -0
- mindspore/lib/libmindspore_grpc++.so.1 +0 -0
- mindspore/lib/libmindspore_grpc.so.15 +0 -0
- mindspore/lib/libmindspore_shared_lib.so +0 -0
- mindspore/lib/libnnacl.so +0 -0
- mindspore/lib/libopencv_core.so.4.5 +0 -0
- mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
- mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
- mindspore/lib/libps_cache.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8928 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
- mindspore/lib/plugin/ascend/libakg.so +0 -0
- mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
- mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
- mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
- mindspore/lib/plugin/cpu/libakg.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
- mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
- mindspore/nn/__init__.py +0 -2
- mindspore/nn/cell.py +313 -74
- mindspore/nn/dynamic_lr.py +21 -21
- mindspore/nn/layer/activation.py +22 -30
- mindspore/nn/layer/basic.py +15 -13
- mindspore/nn/layer/channel_shuffle.py +1 -1
- mindspore/nn/layer/container.py +271 -9
- mindspore/nn/layer/conv.py +323 -204
- mindspore/nn/layer/dense.py +8 -5
- mindspore/nn/layer/embedding.py +33 -27
- mindspore/nn/layer/flash_attention.py +141 -88
- mindspore/nn/layer/image.py +8 -6
- mindspore/nn/layer/math.py +16 -25
- mindspore/nn/layer/normalization.py +107 -66
- mindspore/nn/layer/padding.py +1 -1
- mindspore/nn/layer/pooling.py +131 -109
- mindspore/nn/layer/rnn_cells.py +27 -22
- mindspore/nn/layer/rnns.py +13 -16
- mindspore/nn/layer/thor_layer.py +1 -1
- mindspore/nn/layer/transformer.py +221 -154
- mindspore/nn/learning_rate_schedule.py +9 -1
- mindspore/nn/loss/loss.py +235 -174
- mindspore/nn/optim/ada_grad.py +2 -1
- mindspore/nn/optim/adadelta.py +1 -0
- mindspore/nn/optim/adafactor.py +2 -1
- mindspore/nn/optim/adam.py +7 -4
- mindspore/nn/optim/adamax.py +3 -2
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/asgd.py +2 -3
- mindspore/nn/optim/ftrl.py +6 -5
- mindspore/nn/optim/lamb.py +7 -4
- mindspore/nn/optim/lars.py +1 -1
- mindspore/nn/optim/lazyadam.py +5 -3
- mindspore/nn/optim/momentum.py +2 -1
- mindspore/nn/optim/optimizer.py +53 -4
- mindspore/nn/optim/proximal_ada_grad.py +3 -4
- mindspore/nn/optim/rmsprop.py +4 -3
- mindspore/nn/optim/rprop.py +23 -12
- mindspore/nn/optim/sgd.py +26 -11
- mindspore/nn/optim/thor.py +9 -7
- mindspore/nn/probability/bijector/bijector.py +5 -5
- mindspore/nn/probability/bijector/power_transform.py +27 -27
- mindspore/nn/probability/bijector/softplus.py +3 -3
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
- mindspore/nn/probability/distribution/bernoulli.py +5 -5
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +7 -7
- mindspore/nn/probability/distribution/cauchy.py +0 -1
- mindspore/nn/probability/distribution/distribution.py +3 -3
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +4 -4
- mindspore/nn/probability/distribution/gumbel.py +4 -4
- mindspore/nn/probability/distribution/log_normal.py +2 -2
- mindspore/nn/probability/distribution/logistic.py +2 -2
- mindspore/nn/probability/distribution/poisson.py +4 -4
- mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
- mindspore/nn/probability/distribution/uniform.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +84 -34
- mindspore/nn/wrap/grad_reducer.py +8 -5
- mindspore/nn/wrap/loss_scale.py +105 -42
- mindspore/numpy/array_creations.py +1 -2
- mindspore/numpy/array_ops.py +3 -2
- mindspore/numpy/utils_const.py +5 -5
- mindspore/offline_debug/convert_async.py +2 -2
- mindspore/ops/_grad_experimental/__init__.py +0 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
- mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
- mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
- mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
- mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
- mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
- mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
- mindspore/ops/_op_impl/aicpu/add.py +3 -3
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/aicpu/eps.py +32 -0
- mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
- mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
- mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
- mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
- mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
- mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
- mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
- mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
- mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
- mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
- mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
- mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
- mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
- mindspore/ops/_op_impl/tbe/__init__.py +4 -4
- mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +1 -1
- mindspore/ops/_tracefunc.py +45 -13
- mindspore/ops/_utils/utils.py +6 -1
- mindspore/ops/_vmap/vmap_array_ops.py +3 -3
- mindspore/ops/_vmap/vmap_base.py +3 -3
- mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
- mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
- mindspore/ops/_vmap/vmap_math_ops.py +5 -2
- mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
- mindspore/ops/arg_dtype_cast.py +54 -0
- mindspore/ops/composite/base.py +37 -10
- mindspore/ops/composite/math_ops.py +5 -4
- mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
- mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
- mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
- mindspore/ops/deprecated.py +304 -0
- mindspore/ops/function/__init__.py +4 -1
- mindspore/ops/function/array_func.py +174 -193
- mindspore/ops/function/clip_func.py +81 -13
- mindspore/ops/function/debug_func.py +1 -1
- mindspore/ops/function/grad/grad_func.py +18 -9
- mindspore/ops/function/image_func.py +10 -4
- mindspore/ops/function/linalg_func.py +5 -5
- mindspore/ops/function/math_func.py +575 -386
- mindspore/ops/function/nn_func.py +568 -260
- mindspore/ops/function/random_func.py +88 -57
- mindspore/ops/function/sparse_func.py +1 -1
- mindspore/ops/function/sparse_unary_func.py +14 -12
- mindspore/ops/function/vmap_func.py +6 -5
- mindspore/ops/functional.py +15 -10
- mindspore/ops/op_info_register.py +244 -25
- mindspore/ops/operations/__init__.py +28 -19
- mindspore/ops/operations/_grad_ops.py +72 -7
- mindspore/ops/operations/_inner_ops.py +350 -17
- mindspore/ops/operations/_quant_ops.py +4 -8
- mindspore/ops/operations/_sequence_ops.py +42 -0
- mindspore/ops/operations/array_ops.py +68 -282
- mindspore/ops/operations/comm_ops.py +107 -59
- mindspore/ops/operations/custom_ops.py +94 -70
- mindspore/ops/operations/debug_ops.py +8 -4
- mindspore/ops/operations/image_ops.py +18 -12
- mindspore/ops/operations/inner_ops.py +26 -3
- mindspore/ops/operations/math_ops.py +189 -141
- mindspore/ops/operations/nn_ops.py +794 -489
- mindspore/ops/operations/other_ops.py +0 -22
- mindspore/ops/operations/random_ops.py +53 -111
- mindspore/ops/operations/sparse_ops.py +3 -1
- mindspore/ops/primitive.py +24 -18
- mindspore/parallel/_auto_parallel_context.py +68 -8
- mindspore/parallel/_cost_model_context.py +2 -2
- mindspore/parallel/_offload_context.py +17 -3
- mindspore/parallel/_parallel_serialization.py +12 -5
- mindspore/parallel/_ps_context.py +12 -0
- mindspore/parallel/_tensor.py +18 -13
- mindspore/parallel/_transformer/layers.py +5 -3
- mindspore/parallel/_transformer/loss.py +1 -0
- mindspore/parallel/_transformer/moe.py +2 -2
- mindspore/parallel/_transformer/op_parallel_config.py +12 -1
- mindspore/parallel/_transformer/transformer.py +23 -3
- mindspore/parallel/_utils.py +11 -7
- mindspore/parallel/algo_parameter_config.py +85 -5
- mindspore/parallel/checkpoint_transform.py +19 -12
- mindspore/parallel/shard.py +21 -14
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +4 -2
- mindspore/profiler/envprofiling.py +1 -1
- mindspore/profiler/parser/aicpu_data_parser.py +5 -3
- mindspore/profiler/parser/ascend_flops_generator.py +2 -2
- mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
- mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
- mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
- mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
- mindspore/profiler/parser/ascend_op_generator.py +6 -6
- mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
- mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
- mindspore/profiler/parser/base_timeline_generator.py +10 -8
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +38 -22
- mindspore/profiler/parser/hccl_parser.py +16 -12
- mindspore/profiler/parser/integrator.py +22 -11
- mindspore/profiler/parser/memory_usage_parser.py +2 -2
- mindspore/profiler/parser/minddata_analyzer.py +12 -14
- mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
- mindspore/profiler/parser/msadvisor_parser.py +8 -4
- mindspore/profiler/parser/op_intermediate_parser.py +5 -2
- mindspore/profiler/parser/optime_parser.py +1 -1
- mindspore/profiler/parser/profiler_info.py +21 -2
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +179 -89
- mindspore/rewrite/api/node.py +102 -19
- mindspore/rewrite/api/node_type.py +5 -1
- mindspore/rewrite/api/pattern_engine.py +1 -1
- mindspore/rewrite/api/scoped_value.py +9 -17
- mindspore/rewrite/api/symbol_tree.py +131 -47
- mindspore/rewrite/ast_helpers/__init__.py +2 -1
- mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
- mindspore/rewrite/common/rewrite_elog.py +5 -1
- mindspore/rewrite/namer.py +33 -24
- mindspore/rewrite/namespace.py +14 -5
- mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
- mindspore/rewrite/node/call_function.py +79 -0
- mindspore/rewrite/node/cell_container.py +135 -0
- mindspore/rewrite/node/control_flow.py +88 -0
- mindspore/rewrite/{node.py → node/node.py} +273 -234
- mindspore/rewrite/node/node_manager.py +254 -0
- mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
- mindspore/rewrite/parsers/arguments_parser.py +22 -21
- mindspore/rewrite/parsers/assign_parser.py +216 -221
- mindspore/rewrite/parsers/attribute_parser.py +9 -7
- mindspore/rewrite/parsers/class_def_parser.py +174 -113
- mindspore/rewrite/parsers/constant_parser.py +9 -6
- mindspore/rewrite/parsers/container_parser.py +9 -7
- mindspore/rewrite/parsers/for_parser.py +36 -15
- mindspore/rewrite/parsers/function_def_parser.py +24 -16
- mindspore/rewrite/parsers/if_parser.py +28 -24
- mindspore/rewrite/parsers/module_parser.py +196 -25
- mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
- mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
- mindspore/rewrite/parsers/return_parser.py +6 -6
- mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
- mindspore/rewrite/sparsify/utils.py +1 -1
- mindspore/rewrite/symbol_tree.py +523 -578
- mindspore/rewrite/symbol_tree_builder.py +9 -193
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +6 -4
- mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
- mindspore/safeguard/rewrite_obfuscation.py +541 -0
- mindspore/scipy/linalg.py +1 -1
- mindspore/scipy/optimize/minimize.py +7 -3
- mindspore/train/_utils.py +7 -3
- mindspore/train/amp.py +323 -123
- mindspore/train/anf_ir_pb2.py +14 -2
- mindspore/train/callback/_backup_and_restore.py +2 -12
- mindspore/train/callback/_callback.py +29 -4
- mindspore/train/callback/_checkpoint.py +23 -8
- mindspore/train/callback/_early_stop.py +2 -2
- mindspore/train/callback/_landscape.py +4 -4
- mindspore/train/callback/_loss_monitor.py +2 -2
- mindspore/train/callback/_on_request_exit.py +2 -2
- mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
- mindspore/train/callback/_summary_collector.py +15 -8
- mindspore/train/callback/_time_monitor.py +58 -5
- mindspore/train/data_sink.py +5 -11
- mindspore/train/dataset_helper.py +84 -57
- mindspore/train/loss_scale_manager.py +2 -2
- mindspore/train/metrics/__init__.py +3 -3
- mindspore/train/metrics/cosine_similarity.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +3 -2
- mindspore/train/metrics/mean_surface_distance.py +3 -2
- mindspore/train/metrics/metric.py +39 -19
- mindspore/train/metrics/roc.py +2 -2
- mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
- mindspore/train/mind_ir_pb2.py +85 -36
- mindspore/train/model.py +187 -47
- mindspore/train/serialization.py +487 -161
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/_writer_pool.py +3 -2
- mindspore/train/summary/summary_record.py +37 -17
- mindspore/train/train_thor/convert_utils.py +3 -3
- mindspore/train/train_thor/dataset_helper.py +1 -1
- mindspore/version.py +1 -1
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/METADATA +6 -7
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/RECORD +477 -517
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/entry_points.txt +0 -1
- mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
- mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
- mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
- mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
- mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
- mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
- mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
- mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
- mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
- mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
- mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
- mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
- mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
- mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
- mindspore/_akg/akg/tvm/rpc/base.py +0 -182
- mindspore/_akg/akg/tvm/rpc/client.py +0 -436
- mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
- mindspore/_akg/akg/tvm/rpc/server.py +0 -413
- mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
- mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
- mindspore/_extends/graph_kernel/expander.py +0 -80
- mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
- mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
- mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
- mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
- mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
- mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
- mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
- mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
- mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
- mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
- mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
- mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
- mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
- mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
- mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
- mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
- mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
- mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
- mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
- mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
- mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
- mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
- mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
- mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
- mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
- mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
- mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
- mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
- mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
- mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
- mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
- mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
- mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
- mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
- mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
- mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
- mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
- mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
- mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
- mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
- mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
- mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
- mindspore/dataset/datapreprocess/__init__.py +0 -20
- mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
- mindspore/include/api/net.h +0 -142
- mindspore/nn/lr_scheduler.py +0 -262
- mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
- mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
- mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
- mindspore/rewrite/node_visitor.py +0 -44
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/WHEEL +0 -0
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.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.
|
|
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
|
|
|
@@ -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
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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"] =
|
|
225
|
-
json_obj["python_module"] =
|
|
247
|
+
json_obj["tensor_op_name"] = "unknown"
|
|
248
|
+
json_obj["python_module"] = "unknown"
|
|
226
249
|
return json.dumps(json_obj)
|
|
227
|
-
|
|
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.
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
|
|
@@ -340,6 +377,20 @@ 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
|
"""
|
|
@@ -476,7 +527,7 @@ class Mask(TensorOperation):
|
|
|
476
527
|
``Relational.GT``, ``Relational.LE``, ``Relational.GE``, take ``Relational.EQ`` as example,
|
|
477
528
|
EQ refers to equal.
|
|
478
529
|
constant (Union[str, int, float, bool]): Constant to be compared to.
|
|
479
|
-
dtype (mindspore.dtype, optional): Type of the generated mask. Default: ``mstype.
|
|
530
|
+
dtype (mindspore.dtype, optional): Type of the generated mask. Default: ``mstype.bool_``.
|
|
480
531
|
|
|
481
532
|
Raises:
|
|
482
533
|
TypeError: `operator` is not of type Relational.
|
|
@@ -519,20 +570,25 @@ class Mask(TensorOperation):
|
|
|
519
570
|
|
|
520
571
|
class OneHot(TensorOperation):
|
|
521
572
|
"""
|
|
522
|
-
|
|
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.
|
|
523
579
|
|
|
524
580
|
Args:
|
|
525
|
-
num_classes (int):
|
|
526
|
-
|
|
527
|
-
smoothing_rate (float, optional):
|
|
528
|
-
Default: ``0.0``,
|
|
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.
|
|
529
585
|
|
|
530
586
|
Raises:
|
|
531
|
-
TypeError: `num_classes` is not of type int.
|
|
532
|
-
TypeError: `smoothing_rate` is not of type float
|
|
533
|
-
ValueError: `smoothing_rate` is not in range [0.0, 1.0].
|
|
534
|
-
RuntimeError:
|
|
535
|
-
RuntimeError:
|
|
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.
|
|
536
592
|
|
|
537
593
|
Supported Platforms:
|
|
538
594
|
``CPU``
|
|
@@ -815,17 +871,16 @@ class RandomOrder(PyTensorOperation):
|
|
|
815
871
|
|
|
816
872
|
class Relational(IntEnum):
|
|
817
873
|
"""
|
|
818
|
-
|
|
874
|
+
Relational operator.
|
|
819
875
|
|
|
820
|
-
|
|
821
|
-
``Relational.LT``, ``Relational.LE``.
|
|
876
|
+
Available values are as follows:
|
|
822
877
|
|
|
823
|
-
- Relational.EQ:
|
|
824
|
-
- Relational.NE:
|
|
825
|
-
- Relational.GT:
|
|
826
|
-
- Relational.GE:
|
|
827
|
-
- Relational.LT:
|
|
828
|
-
- Relational.LE:
|
|
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.
|
|
829
884
|
"""
|
|
830
885
|
EQ = 0
|
|
831
886
|
NE = 1
|
|
@@ -871,25 +926,24 @@ class _SliceOption(cde.SliceOption):
|
|
|
871
926
|
|
|
872
927
|
class Slice(TensorOperation):
|
|
873
928
|
"""
|
|
874
|
-
|
|
929
|
+
Extract a slice from the input.
|
|
875
930
|
|
|
876
|
-
|
|
931
|
+
Currently, only 1-D input is supported.
|
|
877
932
|
|
|
878
933
|
Args:
|
|
879
|
-
slices (Union[int, list[int], slice,
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
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.
|
|
890
944
|
|
|
891
945
|
Raises:
|
|
892
|
-
TypeError: If `slices` is not of type int, list[int],
|
|
946
|
+
TypeError: If `slices` is not of type Union[int, list[int], slice, Ellipsis].
|
|
893
947
|
|
|
894
948
|
Supported Platforms:
|
|
895
949
|
``CPU``
|
|
@@ -930,7 +984,8 @@ class TypeCast(TensorOperation):
|
|
|
930
984
|
Tensor operation to cast to a given MindSpore data type or NumPy data type.
|
|
931
985
|
|
|
932
986
|
Note:
|
|
933
|
-
This operation
|
|
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.
|
|
934
989
|
|
|
935
990
|
Args:
|
|
936
991
|
data_type (Union[mindspore.dtype, numpy.dtype]): mindspore.dtype or numpy.dtype (e.g. `numpy.float32`)
|
|
@@ -940,7 +995,7 @@ class TypeCast(TensorOperation):
|
|
|
940
995
|
TypeError: If `data_type` is not of MindSpore data type bool, int, float, string or type :class:`numpy.dtype` .
|
|
941
996
|
|
|
942
997
|
Supported Platforms:
|
|
943
|
-
``
|
|
998
|
+
``CPU`` ``GPU`` ``Ascend``
|
|
944
999
|
|
|
945
1000
|
Examples:
|
|
946
1001
|
>>> import mindspore.dataset as ds
|
|
@@ -48,15 +48,21 @@ def imshow_det_bbox(image, bboxes, labels, segm=None, class_names=None, score_th
|
|
|
48
48
|
font_size (int, float): Font size of texts. Default: ``0.8``.
|
|
49
49
|
show (bool): Whether to show the image. Default: ``True``.
|
|
50
50
|
win_name (str): The window name. Default: ``"win"``.
|
|
51
|
-
wait_time (int):
|
|
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.
|
|
52
55
|
out_file (str, optional): The filename to write the imagee. Default: ``None``. File extension name
|
|
53
56
|
is required to indicate the image compression type, e.g. 'jpg', 'png'.
|
|
54
57
|
|
|
55
58
|
Returns:
|
|
56
59
|
ndarray, The image with bboxes drawn on it.
|
|
57
60
|
|
|
61
|
+
Note:
|
|
62
|
+
This interface relies on the `opencv-python` library.
|
|
63
|
+
|
|
58
64
|
Raises:
|
|
59
|
-
ImportError: If opencv-python is not installed.
|
|
65
|
+
ImportError: If `opencv-python` is not installed.
|
|
60
66
|
AssertionError: If `image` is not in (H, W, C) or (C, H, W) format.
|
|
61
67
|
AssertionError: If `bboxes` is not in (N, 4) or (N, 5) format.
|
|
62
68
|
AssertionError: If `labels` is not in (N, 1) format.
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
-
"""Efficient line
|
|
15
|
+
"""Efficient line-based file reading.
|
|
16
16
|
"""
|
|
17
17
|
import os
|
|
18
18
|
|
|
@@ -22,28 +22,26 @@ from ..core.validator_helpers import check_filename, check_uint64, check_value
|
|
|
22
22
|
|
|
23
23
|
class LineReader:
|
|
24
24
|
"""
|
|
25
|
-
|
|
25
|
+
Line-based file reader.
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
The following functionality is provided:
|
|
30
|
-
|
|
31
|
-
- len(): return the number of lines in the file
|
|
32
|
-
- readline(line): open file handle (if not opened yet), and read a line in the file
|
|
33
|
-
- close(): close the file handle opened in readline
|
|
27
|
+
Cache the line-based meta data of the file in advance to achieve random-access reading of each file line.
|
|
34
28
|
|
|
35
29
|
Args:
|
|
36
|
-
filename (str):
|
|
30
|
+
filename (str): Filename to be read.
|
|
37
31
|
|
|
38
32
|
Raises:
|
|
39
|
-
TypeError:
|
|
40
|
-
RuntimeError:
|
|
33
|
+
TypeError: If `filename` is not of type int.
|
|
34
|
+
RuntimeError: If `filename` does not exist or is not a regular file.
|
|
41
35
|
|
|
42
36
|
Examples:
|
|
43
37
|
>>> from mindspore.dataset import LineReader
|
|
44
38
|
>>>
|
|
45
39
|
>>> reader = LineReader("/path/to/txt/or/csv/file")
|
|
40
|
+
>>> # Read the first line of csv file
|
|
46
41
|
>>> reader.readline(1)
|
|
42
|
+
>>> # Return the row size in csv file
|
|
43
|
+
>>> reader.len()
|
|
44
|
+
>>> # Close the handle
|
|
47
45
|
>>> reader.close()
|
|
48
46
|
"""
|
|
49
47
|
|
|
@@ -84,22 +82,22 @@ class LineReader:
|
|
|
84
82
|
self.close()
|
|
85
83
|
|
|
86
84
|
def len(self):
|
|
87
|
-
"""Get the total number of lines in the file"""
|
|
85
|
+
"""Get the total number of lines in the current file."""
|
|
88
86
|
return len(self.offsets)
|
|
89
87
|
|
|
90
88
|
def readline(self, line):
|
|
91
89
|
"""
|
|
92
|
-
|
|
90
|
+
Reads the contents of the specified line.
|
|
93
91
|
|
|
94
92
|
Args:
|
|
95
|
-
line (int):
|
|
93
|
+
line (int): The line number to be read, with a starting line number of 1.
|
|
96
94
|
|
|
97
95
|
Returns:
|
|
98
|
-
str,
|
|
96
|
+
str, the contents of the corresponding line, without line break characters.
|
|
99
97
|
|
|
100
98
|
Raises:
|
|
101
|
-
TypeError:
|
|
102
|
-
ValueError:
|
|
99
|
+
TypeError: If `line` is not of type int.
|
|
100
|
+
ValueError: If `line` exceeds the total number of lines in the file.
|
|
103
101
|
"""
|
|
104
102
|
check_uint64(line, "line")
|
|
105
103
|
check_value(line, [1, len(self.offsets)], "line")
|
|
@@ -119,7 +117,7 @@ class LineReader:
|
|
|
119
117
|
return content
|
|
120
118
|
|
|
121
119
|
def close(self):
|
|
122
|
-
"""Close the file"""
|
|
120
|
+
"""Close the file handle."""
|
|
123
121
|
if self.fo_handle is None:
|
|
124
122
|
return
|
|
125
123
|
self.fo_handle.close()
|
|
@@ -32,7 +32,7 @@ Note: Legacy c_transforms and py_transforms are deprecated but can still be impo
|
|
|
32
32
|
import mindspore.dataset.vision.py_transforms as py_vision
|
|
33
33
|
|
|
34
34
|
See `Vision Transforms
|
|
35
|
-
<https://www.mindspore.cn/tutorials/en/r2.
|
|
35
|
+
<https://www.mindspore.cn/tutorials/en/r2.2/beginner/transforms.html#vision-transforms>`_ tutorial for more details.
|
|
36
36
|
|
|
37
37
|
Descriptions of common data processing terms are as follows:
|
|
38
38
|
|
|
@@ -43,10 +43,10 @@ Descriptions of common data processing terms are as follows:
|
|
|
43
43
|
The data transform operation can be executed in the data processing pipeline or in the eager mode:
|
|
44
44
|
|
|
45
45
|
- Pipeline mode is generally used to process big datasets. Examples refer to
|
|
46
|
-
`introduction to data processing pipeline <https://www.mindspore.cn/docs/en/r2.
|
|
46
|
+
`introduction to data processing pipeline <https://www.mindspore.cn/docs/en/r2.2/api_python/
|
|
47
47
|
mindspore.dataset.html#introduction-to-data-processing-pipeline>`_ .
|
|
48
48
|
- Eager mode is more like a function call to process data. Examples refer to
|
|
49
|
-
`Lightweight Data Processing <https://www.mindspore.cn/tutorials/en/r2.
|
|
49
|
+
`Lightweight Data Processing <https://www.mindspore.cn/tutorials/en/r2.2/advanced/dataset/eager.html>`_ .
|
|
50
50
|
"""
|
|
51
51
|
from . import c_transforms
|
|
52
52
|
from . import py_transforms
|
|
@@ -610,7 +610,8 @@ class Decode(ImageTensorOperation):
|
|
|
610
610
|
return super().__call__(img)
|
|
611
611
|
|
|
612
612
|
def parse(self):
|
|
613
|
-
|
|
613
|
+
# deprecated api just support cpu device target
|
|
614
|
+
return cde.DecodeOperation(self.rgb, "CPU")
|
|
614
615
|
|
|
615
616
|
|
|
616
617
|
class Equalize(ImageTensorOperation):
|
|
@@ -842,7 +843,8 @@ class Normalize(ImageTensorOperation):
|
|
|
842
843
|
self.std = std
|
|
843
844
|
|
|
844
845
|
def parse(self):
|
|
845
|
-
|
|
846
|
+
# deprecated api just support cpu device target
|
|
847
|
+
return cde.NormalizeOperation(self.mean, self.std, True, "CPU")
|
|
846
848
|
|
|
847
849
|
|
|
848
850
|
class NormalizePad(ImageTensorOperation):
|
|
@@ -2275,7 +2277,8 @@ class Resize(ImageTensorOperation):
|
|
|
2275
2277
|
self.interpolation = interpolation
|
|
2276
2278
|
|
|
2277
2279
|
def parse(self):
|
|
2278
|
-
|
|
2280
|
+
# deprecated api just support cpu device target
|
|
2281
|
+
return cde.ResizeOperation(self.size, DE_C_INTER_MODE.get(self.interpolation), "CPU")
|
|
2279
2282
|
|
|
2280
2283
|
|
|
2281
2284
|
class ResizeWithBBox(ImageTensorOperation):
|