mindspore 2.1.0__cp37-cp37m-manylinux1_x86_64.whl → 2.2.10__cp37-cp37m-manylinux1_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- 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-37m-x86_64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-37m-x86_64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-37m-x86_64-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-37m-x86_64-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/gpu/libcuda_ops.so.10 +0 -0
- mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
- mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
- mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
- mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
- mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.11.6 +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 +488 -528
- {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
|
@@ -18,6 +18,7 @@ from __future__ import absolute_import
|
|
|
18
18
|
import math
|
|
19
19
|
|
|
20
20
|
from mindspore import _checkparam as Validator
|
|
21
|
+
from mindspore import log as logger
|
|
21
22
|
from mindspore.common._auto_dynamic import is_auto_dynamic, convert_new_shapes
|
|
22
23
|
from mindspore.common.dtype import pytype_to_dtype
|
|
23
24
|
from mindspore.common.api import _cell_graph_executor
|
|
@@ -29,6 +30,7 @@ from mindspore.parallel._utils import _get_device_num, _get_global_rank, _need_t
|
|
|
29
30
|
_to_full_shapes, _get_pipeline_stages
|
|
30
31
|
from mindspore.parallel._ps_context import _is_role_sched
|
|
31
32
|
from mindspore.ops import operations as P
|
|
33
|
+
from mindspore.common.auto_dynamic_shape import _auto_dynamic_shape
|
|
32
34
|
|
|
33
35
|
|
|
34
36
|
def _send_data(dataset, epoch_num):
|
|
@@ -50,6 +52,7 @@ def _dynamic_sink_data(dataset, dataset_iter):
|
|
|
50
52
|
if hasattr(dataset_iter, "sink_size") and \
|
|
51
53
|
dataset_iter.sink_size == 1 and \
|
|
52
54
|
dataset.get_dataset_size() != 1 and \
|
|
55
|
+
not hasattr(dataset, "__no_send__") and \
|
|
53
56
|
hasattr(dataset_iter, "sink_count") and \
|
|
54
57
|
dataset_iter.sink_count == 1:
|
|
55
58
|
return True
|
|
@@ -93,8 +96,7 @@ class _DataWrapper(nn.Cell):
|
|
|
93
96
|
self.get_next = P.GetNext(
|
|
94
97
|
dataset_types, dataset_shapes, len(dataset_types), queue_name)
|
|
95
98
|
self.network = network
|
|
96
|
-
|
|
97
|
-
self._jit_config_dict = network.jit_config_dict
|
|
99
|
+
self._get_attr_from_cell(network)
|
|
98
100
|
|
|
99
101
|
def construct(self):
|
|
100
102
|
outputs = self.get_next()
|
|
@@ -179,29 +181,20 @@ def _get_dataset_aux(dataset):
|
|
|
179
181
|
|
|
180
182
|
def connect_network_with_dataset(network, dataset_helper):
|
|
181
183
|
"""
|
|
182
|
-
Connect the `network` with dataset in `dataset_helper`.
|
|
183
|
-
|
|
184
|
-
This function wraps the input network with 'GetNext' so that the data can be fetched automatically from the
|
|
185
|
-
data channel corresponding to the 'queue_name' and passed to the input network during forward computation.
|
|
186
|
-
|
|
187
|
-
Note:
|
|
188
|
-
In the case of running the network on Ascend/GPU in graph mode, this function will wrap the input network with
|
|
189
|
-
:class:`mindspore.ops.GetNext`. In other cases, the input network will be returned with no change.
|
|
190
|
-
The :class:`mindspore.ops.GetNext` is required to get data only in sink mode,
|
|
191
|
-
so this function is not applicable to no-sink mode.
|
|
192
|
-
when dataset_helper's dataset_sink_mode is True, it can only be connected to one network.
|
|
184
|
+
Connect the `network` with dataset in `dataset_helper`. Only supported in `sink mode
|
|
185
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/optimize/execution_opt.html>`_, (dataset_sink_mode=True).
|
|
193
186
|
|
|
194
187
|
Args:
|
|
195
188
|
network (Cell): The training network for dataset.
|
|
196
189
|
dataset_helper (DatasetHelper): A class to process the MindData dataset, it provides the type, shape and queue
|
|
197
|
-
name of the dataset
|
|
190
|
+
name of the dataset.
|
|
198
191
|
|
|
199
192
|
Returns:
|
|
200
|
-
Cell, a new network
|
|
201
|
-
it is the input network.
|
|
193
|
+
Cell, a new network containing the type, shape and queue name of the dataset info.
|
|
202
194
|
|
|
203
195
|
Raises:
|
|
204
196
|
RuntimeError: If the API was not called in dataset sink mode.
|
|
197
|
+
|
|
205
198
|
Supported Platforms:
|
|
206
199
|
``Ascend`` ``GPU``
|
|
207
200
|
|
|
@@ -215,7 +208,7 @@ def connect_network_with_dataset(network, dataset_helper):
|
|
|
215
208
|
>>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
|
|
216
209
|
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
|
|
217
210
|
>>> net = nn.Dense(10, 5)
|
|
218
|
-
>>>
|
|
211
|
+
>>> net_with_dataset = ms.connect_network_with_dataset(net, dataset_helper)
|
|
219
212
|
"""
|
|
220
213
|
dataset_iter = dataset_helper.iter
|
|
221
214
|
dataset = dataset_iter.dataset
|
|
@@ -240,8 +233,10 @@ def connect_network_with_dataset(network, dataset_helper):
|
|
|
240
233
|
if _dynamic_sink_scenario(dataset, dataset_iter, is_dynamic):
|
|
241
234
|
dataset_types, dataset_shapes = dataset_helper.get_data_info()
|
|
242
235
|
dataset_types = [pytype_to_dtype(x) for x in dataset_types]
|
|
243
|
-
|
|
236
|
+
if not is_dynamic:
|
|
237
|
+
dataset_shapes = _auto_dynamic_shape.auto_dynamic_generate_compile_args(dataset_shapes, True)
|
|
244
238
|
key = str(dataset_types) + str(dataset_shapes)
|
|
239
|
+
_auto_dynamic_shape.update_phase_and_compile_args(dataset_shapes, key, True, aux)
|
|
245
240
|
if hasattr(aux, '__network_manage__') and key in aux.__network_manage__:
|
|
246
241
|
network = aux.__network_manage__[key]
|
|
247
242
|
else:
|
|
@@ -312,7 +307,7 @@ class DatasetHelper:
|
|
|
312
307
|
>>> for next_element in set_helper:
|
|
313
308
|
... # `next_element` includes data and label, using data to run the net
|
|
314
309
|
... data = next_element[0]
|
|
315
|
-
... net(data)
|
|
310
|
+
... result = net(data)
|
|
316
311
|
"""
|
|
317
312
|
|
|
318
313
|
def __init__(self, dataset, dataset_sink_mode=True, sink_size=-1, epoch_num=1):
|
|
@@ -393,15 +388,15 @@ class DatasetHelper:
|
|
|
393
388
|
Stop send data about data sink.
|
|
394
389
|
|
|
395
390
|
Examples:
|
|
396
|
-
>>> import numpy as np
|
|
397
391
|
>>> import mindspore as ms
|
|
398
|
-
>>>
|
|
399
|
-
>>>
|
|
400
|
-
>>>
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
>>>
|
|
404
|
-
>>>
|
|
392
|
+
>>> import numpy as np
|
|
393
|
+
>>> # Define a dataset pipeline
|
|
394
|
+
>>> def generator():
|
|
395
|
+
... for i in range(5):
|
|
396
|
+
... yield (np.ones((32, 10)),)
|
|
397
|
+
>>> train_dataset = ms.dataset.GeneratorDataset(generator, ["data"])
|
|
398
|
+
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True, sink_size=-1)
|
|
399
|
+
>>> dataset_helper.stop_send()
|
|
405
400
|
"""
|
|
406
401
|
self.iter.stop_send()
|
|
407
402
|
|
|
@@ -417,8 +412,8 @@ class DatasetHelper:
|
|
|
417
412
|
>>>
|
|
418
413
|
>>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
|
|
419
414
|
>>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
|
|
420
|
-
>>>
|
|
421
|
-
>>>
|
|
415
|
+
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
|
|
416
|
+
>>> dataset_helper.release()
|
|
422
417
|
"""
|
|
423
418
|
self.iter.release()
|
|
424
419
|
|
|
@@ -434,22 +429,63 @@ class DatasetHelper:
|
|
|
434
429
|
>>>
|
|
435
430
|
>>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
|
|
436
431
|
>>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
|
|
437
|
-
>>>
|
|
438
|
-
>>>
|
|
432
|
+
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
|
|
433
|
+
>>> dataset_helper.continue_send()
|
|
439
434
|
"""
|
|
440
435
|
self.iter.continue_send()
|
|
441
436
|
|
|
442
|
-
def _reset(self, step,
|
|
437
|
+
def _reset(self, step, dataset_size):
|
|
443
438
|
"""Reset the dataset to the provided step and epoch."""
|
|
444
|
-
self.iter._reset(step,
|
|
439
|
+
self.iter._reset(step, dataset_size) # pylint: disable=protected-access
|
|
445
440
|
|
|
441
|
+
# pylint: disable=missing-docstring
|
|
446
442
|
def get_data_info(self):
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
Generally, it works in dynamic shape scenarios.
|
|
450
|
-
"""
|
|
443
|
+
# In sink mode, it returns the types and shapes of the current data.
|
|
444
|
+
# Generally, it works in dynamic shape scenarios.
|
|
451
445
|
return self.iter.get_data_info()
|
|
452
446
|
|
|
447
|
+
# pylint: disable=missing-docstring
|
|
448
|
+
def get_send_info(self, run_context):
|
|
449
|
+
# In sink mode, it returns the send information of dataset at this moment.
|
|
450
|
+
# Send information includes number of send batches, time summary of fetching data on host
|
|
451
|
+
# and time summary of sending data.
|
|
452
|
+
class InfoViewer:
|
|
453
|
+
'''
|
|
454
|
+
Inner class for parsing send info.
|
|
455
|
+
'''
|
|
456
|
+
def __init__(self, send_info, run_context):
|
|
457
|
+
self.info_ = {}
|
|
458
|
+
self.sink_size = run_context.original_args()["batch_num"]
|
|
459
|
+
if run_context.original_args().get("train_dataset", None) is not None:
|
|
460
|
+
self.dataset_size = run_context.original_args()["train_dataset"].get_dataset_size()
|
|
461
|
+
elif run_context.original_args().get("valid_dataset", None) is not None:
|
|
462
|
+
self.dataset_size = run_context.original_args()["valid_dataset"].get_dataset_size()
|
|
463
|
+
else:
|
|
464
|
+
raise RuntimeError("Could not find a proper dataset to estimate dataset size.")
|
|
465
|
+
if not send_info:
|
|
466
|
+
epoch = 1
|
|
467
|
+
self.info_[epoch] = {'fetch_data_num': 0, 'fetch_data_time': 0, 'first_data_time': 0}
|
|
468
|
+
else:
|
|
469
|
+
for info_per_epoch in send_info:
|
|
470
|
+
epoch, fetch_data_num, first_data_time, fetch_data_time = info_per_epoch
|
|
471
|
+
if fetch_data_num > 1:
|
|
472
|
+
fetch_data_time = (fetch_data_time - first_data_time) / (fetch_data_num - 1) * 1000.
|
|
473
|
+
self.info_[epoch] = {'fetch_data_num': fetch_data_num,
|
|
474
|
+
'fetch_data_time': fetch_data_time,
|
|
475
|
+
'first_data_time': first_data_time}
|
|
476
|
+
|
|
477
|
+
def epoch(self, epoch):
|
|
478
|
+
if self.sink_size == self.dataset_size:
|
|
479
|
+
return self.info_[epoch]
|
|
480
|
+
global_step = epoch * self.sink_size
|
|
481
|
+
data_epoch = math.ceil(global_step / self.dataset_size)
|
|
482
|
+
return self.info_[data_epoch]
|
|
483
|
+
|
|
484
|
+
# send info struct:[epoch, data_num_per_epoch, first_data_time, accumulate_data_time]
|
|
485
|
+
# for example [1, 1875, 0.421, 0.362]
|
|
486
|
+
send_info = self.iter.get_send_info()
|
|
487
|
+
return InfoViewer(send_info, run_context)
|
|
488
|
+
|
|
453
489
|
|
|
454
490
|
class _DatasetIter:
|
|
455
491
|
"""Base iter for dataset helper"""
|
|
@@ -460,6 +496,15 @@ class _DatasetIter:
|
|
|
460
496
|
self.sink_count = self.get_sink_count(dataset)
|
|
461
497
|
self.dataset_types, self.dataset_shapes = _get_types_and_shapes(
|
|
462
498
|
dataset)
|
|
499
|
+
|
|
500
|
+
if dataset.get_init_step() % sink_size != 0:
|
|
501
|
+
init_epoch = dataset.get_init_step() // sink_size
|
|
502
|
+
init_step = init_epoch * sink_size
|
|
503
|
+
logger.warning("Init global step must be the end of the epoch in sink mode, "
|
|
504
|
+
"but got: {0}. Reset it to the end of epoch {1} at step {2}."
|
|
505
|
+
.format(dataset.get_init_step(), init_epoch, init_step))
|
|
506
|
+
dataset.set_init_step(init_step)
|
|
507
|
+
|
|
463
508
|
if not hasattr(dataset, '__transfer_dataset__'):
|
|
464
509
|
if hasattr(dataset, '__loop_size__'):
|
|
465
510
|
self.sink_size = dataset.__loop_size__
|
|
@@ -481,6 +526,7 @@ class _DatasetIter:
|
|
|
481
526
|
self.release = dataset.__transfer_dataset__.release
|
|
482
527
|
self.continue_send = dataset.__transfer_dataset__.continue_send
|
|
483
528
|
self.get_data_info = dataset.__transfer_dataset__.get_data_info
|
|
529
|
+
self.get_send_info = dataset.__transfer_dataset__.get_send_info
|
|
484
530
|
if hasattr(dataset.__transfer_dataset__, "_reset"):
|
|
485
531
|
self._reset = dataset.__transfer_dataset__._reset # pylint: disable=protected-access
|
|
486
532
|
|
|
@@ -517,8 +563,7 @@ class _DatasetIter:
|
|
|
517
563
|
if hasattr(self.dataset, '__loop_size__'):
|
|
518
564
|
sink_size = self.dataset.__loop_size__
|
|
519
565
|
else:
|
|
520
|
-
if context.get_context("
|
|
521
|
-
or context.get_context("device_target") == "GPU":
|
|
566
|
+
if context.get_context("device_target") == "Ascend" or context.get_context("device_target") == "GPU":
|
|
522
567
|
if self.sink_size > 0:
|
|
523
568
|
sink_size = self.sink_size
|
|
524
569
|
else:
|
|
@@ -526,24 +571,6 @@ class _DatasetIter:
|
|
|
526
571
|
return sink_size
|
|
527
572
|
|
|
528
573
|
|
|
529
|
-
class _DatasetIterGE(_DatasetIter):
|
|
530
|
-
"""Iter for GE."""
|
|
531
|
-
|
|
532
|
-
def __init__(self, dataset, sink_size, epoch_num):
|
|
533
|
-
super().__init__(dataset, sink_size, epoch_num)
|
|
534
|
-
self.sink_count = self.get_sink_count(dataset)
|
|
535
|
-
batch_expand_num = 1
|
|
536
|
-
if _need_to_full():
|
|
537
|
-
batch_expand_num = _get_device_num() // _get_pipeline_stages()
|
|
538
|
-
tensor_list_run = _construct_tensor_list(
|
|
539
|
-
self.dataset_types, self.dataset_shapes, batch_expand_num)
|
|
540
|
-
|
|
541
|
-
def op():
|
|
542
|
-
return tensor_list_run
|
|
543
|
-
|
|
544
|
-
self.op = op
|
|
545
|
-
|
|
546
|
-
|
|
547
574
|
class _DatasetIterPyNative(_DatasetIter):
|
|
548
575
|
"""Iter for context (mode=PYNATIVE_MODE)."""
|
|
549
576
|
|
|
@@ -62,7 +62,7 @@ class FixedLossScaleManager(LossScaleManager):
|
|
|
62
62
|
>>> from mindspore import amp, nn
|
|
63
63
|
>>>
|
|
64
64
|
>>> # Define the network structure of LeNet5. Refer to
|
|
65
|
-
>>> # https://gitee.com/mindspore/docs/blob/r2.
|
|
65
|
+
>>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/lenet.py
|
|
66
66
|
>>> net = LeNet5()
|
|
67
67
|
>>> loss_scale = 1024.0
|
|
68
68
|
>>> loss_scale_manager = amp.FixedLossScaleManager(loss_scale, False)
|
|
@@ -136,7 +136,7 @@ class DynamicLossScaleManager(LossScaleManager):
|
|
|
136
136
|
>>> from mindspore import amp, nn
|
|
137
137
|
>>>
|
|
138
138
|
>>> # Define the network structure of LeNet5. Refer to
|
|
139
|
-
>>> # https://gitee.com/mindspore/docs/blob/r2.
|
|
139
|
+
>>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/lenet.py
|
|
140
140
|
>>> net = LeNet5()
|
|
141
141
|
>>> loss_scale_manager = amp.DynamicLossScaleManager()
|
|
142
142
|
>>> optim = nn.Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9)
|
|
@@ -109,9 +109,9 @@ def names():
|
|
|
109
109
|
>>> import mindspore as ms
|
|
110
110
|
>>> ms.train.names()
|
|
111
111
|
['F1', 'acc', 'accuracy', 'auc', 'bleu_score', 'confusion_matrix', 'confusion_matrix_metric',
|
|
112
|
-
'cosine_similarity', 'dice', 'hausdorff_distance', 'loss', 'mae', 'mean_surface_distance', '
|
|
113
|
-
'occlusion_sensitivity', 'perplexity', '
|
|
114
|
-
'top_5_accuracy', 'topk']
|
|
112
|
+
'cosine_similarity', 'dice', 'hausdorff_distance', 'loss', 'mae', 'mean_surface_distance', 'mse',
|
|
113
|
+
'occlusion_sensitivity', 'perplexity', 'precision', 'recall', 'roc', 'root_mean_square_distance',
|
|
114
|
+
'top_1_accuracy', 'top_5_accuracy', 'topk']
|
|
115
115
|
"""
|
|
116
116
|
return sorted(__factory__.keys())
|
|
117
117
|
|
|
@@ -27,7 +27,7 @@ class CosineSimilarity(Metric):
|
|
|
27
27
|
|
|
28
28
|
Args:
|
|
29
29
|
similarity (str): 'dot' or 'cosine'. Default: ``'cosine'`` .
|
|
30
|
-
reduction (str): 'none'
|
|
30
|
+
reduction (str): ``'none'``, 'sum', ``'mean'`` (all along dim -1). Default: ``'none'`` .
|
|
31
31
|
zero_diagonal (bool): If True, diagonals of results will be set to zero. Default: ``True`` .
|
|
32
32
|
|
|
33
33
|
Supported Platforms:
|
|
@@ -85,8 +85,8 @@ class HausdorffDistance(Metric):
|
|
|
85
85
|
|
|
86
86
|
Args:
|
|
87
87
|
distance_metric (string): Three distance measurement methods are supported:
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
``"euclidean"`` (Euclidean Distance) , ``"chessboard"`` (Chessboard Distance, Chebyshev Distance)
|
|
89
|
+
or ``"taxicab"`` (Taxicab Distance, Manhattan Distance). Default: ``"euclidean"`` .
|
|
90
90
|
percentile (float): Floating point numbers between 0 and 100. Specify the percentile parameter to get the
|
|
91
91
|
percentile of the Hausdorff distance. Default: ``None`` .
|
|
92
92
|
directed (bool): If True, it only calculates h(y_pred, y) distance, otherwise, max(h(y_pred, y), h(y, y_pred))
|
|
@@ -112,6 +112,7 @@ class HausdorffDistance(Metric):
|
|
|
112
112
|
>>> print(mean_average_distance)
|
|
113
113
|
1.4142135623730951
|
|
114
114
|
"""
|
|
115
|
+
|
|
115
116
|
def __init__(self, distance_metric="euclidean", percentile=None, directed=False, crop=True):
|
|
116
117
|
super(HausdorffDistance, self).__init__()
|
|
117
118
|
string_list = ["euclidean", "chessboard", "taxicab"]
|
|
@@ -49,8 +49,9 @@ class MeanSurfaceDistance(Metric):
|
|
|
49
49
|
\left | S(B) \right |}
|
|
50
50
|
|
|
51
51
|
Args:
|
|
52
|
-
distance_metric (string): Three measurement methods are supported: "euclidean"
|
|
53
|
-
|
|
52
|
+
distance_metric (string): Three measurement methods are supported: ``"euclidean"`` (Euclidean Distance) ,
|
|
53
|
+
``"chessboard"`` (Chessboard Distance, Chebyshev Distance) or
|
|
54
|
+
``"taxicab"`` (Taxicab Distance, Manhattan Distance) Default: ``"euclidean"`` .
|
|
54
55
|
symmetric (bool): Whether to calculate the Mean Surface Distance between y_pred and y.
|
|
55
56
|
If False, it only calculates :math:`AvgSurDis(y\_pred \rightarrow y)`,
|
|
56
57
|
otherwise, the mean of distance from `y_pred` to `y` and from `y` to `y_pred`, i.e.
|
|
@@ -83,6 +83,42 @@ class Metric(metaclass=ABCMeta):
|
|
|
83
83
|
|
|
84
84
|
Supported Platforms:
|
|
85
85
|
``Ascend`` ``GPU`` ``CPU``
|
|
86
|
+
|
|
87
|
+
Examples:
|
|
88
|
+
>>> import numpy as np
|
|
89
|
+
>>> import mindspore as ms
|
|
90
|
+
>>>
|
|
91
|
+
>>> class MyMAE(ms.train.Metric):
|
|
92
|
+
... def __init__(self):
|
|
93
|
+
... super(MyMAE, self).__init__()
|
|
94
|
+
... self.clear()
|
|
95
|
+
...
|
|
96
|
+
... def clear(self):
|
|
97
|
+
... self._abs_error_sum = 0
|
|
98
|
+
... self._samples_num = 0
|
|
99
|
+
...
|
|
100
|
+
... def update(self, *inputs):
|
|
101
|
+
... y_pred = inputs[0].asnumpy()
|
|
102
|
+
... y = inputs[1].asnumpy()
|
|
103
|
+
... abs_error_sum = np.abs(y - y_pred)
|
|
104
|
+
... self._abs_error_sum += abs_error_sum.sum()
|
|
105
|
+
... self._samples_num += y.shape[0]
|
|
106
|
+
...
|
|
107
|
+
... def eval(self):
|
|
108
|
+
... return self._abs_error_sum / self._samples_num
|
|
109
|
+
>>>
|
|
110
|
+
>>> x = ms.Tensor(np.array([[0.1, 0.2, 0.6, 0.9], [0.1, 0.2, 0.6, 0.9]]), ms.float32)
|
|
111
|
+
>>> y = ms.Tensor(np.array([[0.1, 0.1, 0.1, 0.1], [0.1, 0.1, 0.1, 0.1]]), ms.float32)
|
|
112
|
+
>>> y2 = ms.Tensor(np.array([[0.1, 0.25, 0.7, 0.9], [0.1, 0.25, 0.7, 0.9]]), ms.float32)
|
|
113
|
+
>>> metric = MyMAE().set_indexes([0, 2])
|
|
114
|
+
>>> metric.clear()
|
|
115
|
+
>>> # indexes is [0, 2], using x as logits, y2 as label.
|
|
116
|
+
>>> metric.update(x, y, y2)
|
|
117
|
+
>>> accuracy = metric.eval()
|
|
118
|
+
>>> print(accuracy)
|
|
119
|
+
1.399999976158142
|
|
120
|
+
>>> print(metric.indexes)
|
|
121
|
+
[0, 2]
|
|
86
122
|
"""
|
|
87
123
|
def __init__(self):
|
|
88
124
|
self._indexes = None
|
|
@@ -133,22 +169,6 @@ class Metric(metaclass=ABCMeta):
|
|
|
133
169
|
|
|
134
170
|
Raises:
|
|
135
171
|
ValueError: If the type of input 'indexes' is not a list or its elements are not all int.
|
|
136
|
-
|
|
137
|
-
Examples:
|
|
138
|
-
>>> import numpy as np
|
|
139
|
-
>>> from mindspore import Tensor
|
|
140
|
-
>>> from mindspore.train import Accuracy
|
|
141
|
-
>>>
|
|
142
|
-
>>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]]))
|
|
143
|
-
>>> y = Tensor(np.array([1, 0, 1]))
|
|
144
|
-
>>> y2 = Tensor(np.array([0, 0, 1]))
|
|
145
|
-
>>> metric = Accuracy('classification').set_indexes([0, 2])
|
|
146
|
-
>>> metric.clear()
|
|
147
|
-
>>> # indexes is [0, 2], using x as logits, y2 as label.
|
|
148
|
-
>>> metric.update(x, y, y2)
|
|
149
|
-
>>> accuracy = metric.eval()
|
|
150
|
-
>>> print(accuracy)
|
|
151
|
-
0.3333333333333333
|
|
152
172
|
"""
|
|
153
173
|
if not isinstance(indexes, list) or not all(isinstance(i, int) for i in indexes):
|
|
154
174
|
raise ValueError("For 'set_indexes', the argument 'indexes' must be a list and all its elements must "
|
|
@@ -180,7 +200,7 @@ class Metric(metaclass=ABCMeta):
|
|
|
180
200
|
|
|
181
201
|
Tutorial Examples:
|
|
182
202
|
- `Evaluation Metrics - Customized Metrics
|
|
183
|
-
<https://mindspore.cn/tutorials/en/r2.
|
|
203
|
+
<https://mindspore.cn/tutorials/en/r2.2/advanced/model/metric.html#customized-metrics>`_
|
|
184
204
|
"""
|
|
185
205
|
raise NotImplementedError('Must define clear function to use this base class')
|
|
186
206
|
|
|
@@ -194,7 +214,7 @@ class Metric(metaclass=ABCMeta):
|
|
|
194
214
|
|
|
195
215
|
Tutorial Examples:
|
|
196
216
|
- `Evaluation Metrics - Customized Metrics
|
|
197
|
-
<https://mindspore.cn/tutorials/en/r2.
|
|
217
|
+
<https://mindspore.cn/tutorials/en/r2.2/advanced/model/metric.html#customized-metrics>`_
|
|
198
218
|
"""
|
|
199
219
|
raise NotImplementedError('Must define eval function to use this base class')
|
|
200
220
|
|
|
@@ -211,7 +231,7 @@ class Metric(metaclass=ABCMeta):
|
|
|
211
231
|
|
|
212
232
|
Tutorial Examples:
|
|
213
233
|
- `Evaluation Metrics - Customized Metrics
|
|
214
|
-
<https://mindspore.cn/tutorials/en/r2.
|
|
234
|
+
<https://mindspore.cn/tutorials/en/r2.2/advanced/model/metric.html#customized-metrics>`_
|
|
215
235
|
"""
|
|
216
236
|
raise NotImplementedError('Must define update function to use this base class')
|
|
217
237
|
|
mindspore/train/metrics/roc.py
CHANGED
|
@@ -172,8 +172,8 @@ class ROC(Metric):
|
|
|
172
172
|
- **fpr** (np.array) - False positive rate. In binary classification case, a fpr numpy array under different
|
|
173
173
|
thresholds will be returned, otherwise in multiclass case, a list of
|
|
174
174
|
fpr numpy arrays will be returned and each element represents one category.
|
|
175
|
-
- **tpr** (np.array) - True positive rates. n binary classification case, a
|
|
176
|
-
thresholds will be returned, otherwise in multiclass case, a list of
|
|
175
|
+
- **tpr** (np.array) - True positive rates. n binary classification case, a tpr numpy array under different
|
|
176
|
+
thresholds will be returned, otherwise in multiclass case, a list of tpr numpy arrays
|
|
177
177
|
will be returned and each element represents one category.
|
|
178
178
|
- **thresholds** (np.array) - Thresholds used for computing fpr and tpr.
|
|
179
179
|
|
|
@@ -49,7 +49,8 @@ class RootMeanSquareDistance(Metric):
|
|
|
49
49
|
|
|
50
50
|
Args:
|
|
51
51
|
distance_metric (string): Three measurement methods are supported:
|
|
52
|
-
"euclidean",
|
|
52
|
+
``"euclidean"`` (Euclidean Distance) , ``"chessboard"`` (Chessboard Distance, Chebyshev Distance)
|
|
53
|
+
or ``"taxicab"`` (Taxicab Distance, Manhattan Distance). Default: ``"euclidean"`` .
|
|
53
54
|
symmetric (bool): Whether to calculate the symmetric average root mean square distance between
|
|
54
55
|
y_pred and y. If False, only calculates :math:`RmsSurDis(y\_pred, y)` surface distance,
|
|
55
56
|
otherwise, the mean of distance from `y_pred` to `y` and from `y` to `y_pred`, i.e.
|
|
@@ -175,7 +176,7 @@ class RootMeanSquareDistance(Metric):
|
|
|
175
176
|
if residual_mean_square_distance.shape == (0,):
|
|
176
177
|
return np.inf
|
|
177
178
|
|
|
178
|
-
rms_surface_distance = (residual_mean_square_distance**2).mean()
|
|
179
|
+
rms_surface_distance = (residual_mean_square_distance ** 2).mean()
|
|
179
180
|
|
|
180
181
|
if not self.symmetric:
|
|
181
182
|
return rms_surface_distance
|
|
@@ -184,7 +185,7 @@ class RootMeanSquareDistance(Metric):
|
|
|
184
185
|
if contrary_residual_mean_square_distance.shape == (0,):
|
|
185
186
|
return np.inf
|
|
186
187
|
|
|
187
|
-
contrary_rms_surface_distance = (contrary_residual_mean_square_distance**2).mean()
|
|
188
|
+
contrary_rms_surface_distance = (contrary_residual_mean_square_distance ** 2).mean()
|
|
188
189
|
|
|
189
190
|
rms_distance = np.sqrt(np.mean((rms_surface_distance, contrary_rms_surface_distance)))
|
|
190
191
|
return rms_distance
|