mindspore 2.1.0__cp38-cp38-manylinux1_x86_64.whl → 2.2.0__cp38-cp38-manylinux1_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- 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 +49 -16
- 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/composite_op_helper.py +9 -10
- mindspore/_akg/akg/utils/kernel_exec.py +58 -260
- mindspore/_akg/akg/utils/result_analysis.py +4 -24
- mindspore/_akg/akg/utils/tbe_codegen_utils.py +198 -0
- mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -1
- mindspore/_checkparam.py +26 -32
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
- mindspore/_extends/graph_kernel/splitter.py +1 -9
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +2 -2
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +4 -4
- 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 +72 -95
- mindspore/_extends/parse/trope.py +1 -1
- mindspore/_extends/remote/kernel_build_server.py +24 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_mindspore_offline_debug.cpython-38-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 +173 -258
- mindspore/common/auto_dynamic_shape.py +498 -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 +240 -145
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +83 -4
- mindspore/communication/management.py +152 -84
- mindspore/config/op_info.config +13 -2
- mindspore/config/super_bar_config.json +4 -2
- mindspore/context.py +143 -59
- 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 +11 -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 +59 -66
- 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 +0 -14
- 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_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 +9000 -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 +316 -74
- mindspore/nn/dynamic_lr.py +21 -21
- mindspore/nn/layer/activation.py +21 -28
- 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 +310 -207
- mindspore/nn/layer/dense.py +8 -5
- mindspore/nn/layer/embedding.py +33 -27
- mindspore/nn/layer/flash_attention.py +82 -41
- mindspore/nn/layer/image.py +8 -6
- mindspore/nn/layer/math.py +13 -18
- 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 +22 -17
- 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 +78 -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/offline_debug/convert_async.py +2 -2
- mindspore/ops/_grad_experimental/__init__.py +0 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +1 -2
- 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 +10 -0
- mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
- mindspore/ops/_grad_experimental/grad_math_ops.py +0 -181
- mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
- 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/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 +4 -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 +273 -72
- 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 +40 -2
- 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 +167 -189
- mindspore/ops/function/clip_func.py +81 -13
- mindspore/ops/function/debug_func.py +1 -1
- mindspore/ops/function/grad/grad_func.py +18 -8
- 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 +470 -251
- mindspore/ops/function/random_func.py +86 -56
- 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 +235 -19
- mindspore/ops/operations/__init__.py +25 -17
- mindspore/ops/operations/_grad_ops.py +52 -7
- mindspore/ops/operations/_inner_ops.py +213 -12
- mindspore/ops/operations/_quant_ops.py +4 -8
- mindspore/ops/operations/_sequence_ops.py +42 -0
- mindspore/ops/operations/array_ops.py +64 -280
- mindspore/ops/operations/comm_ops.py +105 -57
- mindspore/ops/operations/custom_ops.py +10 -3
- mindspore/ops/operations/debug_ops.py +8 -4
- mindspore/ops/operations/image_ops.py +18 -12
- mindspore/ops/operations/math_ops.py +185 -138
- mindspore/ops/operations/nn_ops.py +716 -492
- 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 +2 -2
- mindspore/parallel/_ps_context.py +12 -0
- mindspore/parallel/_tensor.py +14 -12
- 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 +6 -10
- mindspore/parallel/shard.py +4 -4
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +3 -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 +17 -12
- mindspore/profiler/parser/ascend_msprof_exporter.py +104 -252
- mindspore/profiler/parser/ascend_msprof_generator.py +8 -8
- mindspore/profiler/parser/ascend_op_generator.py +5 -5
- mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
- mindspore/profiler/parser/ascend_timeline_generator.py +9 -6
- mindspore/profiler/parser/base_timeline_generator.py +9 -7
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +14 -10
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +37 -21
- 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 +2 -2
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +139 -71
- mindspore/rewrite/api/node.py +102 -19
- mindspore/rewrite/api/node_type.py +5 -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 +525 -577
- mindspore/rewrite/symbol_tree_builder.py +9 -193
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +2 -2
- mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
- mindspore/safeguard/rewrite_obfuscation.py +517 -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 +14 -7
- mindspore/train/callback/_time_monitor.py +58 -5
- mindspore/train/data_sink.py +5 -11
- mindspore/train/dataset_helper.py +83 -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 +185 -45
- mindspore/train/serialization.py +390 -150
- mindspore/train/summary/_writer_pool.py +3 -2
- mindspore/train/summary/summary_record.py +14 -10
- 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.0.dist-info}/METADATA +6 -7
- {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/RECORD +458 -518
- {mindspore-2.1.0.dist-info → mindspore-2.2.0.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.0.dist-info}/WHEEL +0 -0
- {mindspore-2.1.0.dist-info → mindspore-2.2.0.dist-info}/top_level.txt +0 -0
|
@@ -18,6 +18,7 @@ from __future__ import absolute_import
|
|
|
18
18
|
import math
|
|
19
19
|
|
|
20
20
|
from mindspore import _checkparam as Validator
|
|
21
|
+
from mindspore import log as logger
|
|
21
22
|
from mindspore.common._auto_dynamic import is_auto_dynamic, convert_new_shapes
|
|
22
23
|
from mindspore.common.dtype import pytype_to_dtype
|
|
23
24
|
from mindspore.common.api import _cell_graph_executor
|
|
@@ -29,6 +30,7 @@ from mindspore.parallel._utils import _get_device_num, _get_global_rank, _need_t
|
|
|
29
30
|
_to_full_shapes, _get_pipeline_stages
|
|
30
31
|
from mindspore.parallel._ps_context import _is_role_sched
|
|
31
32
|
from mindspore.ops import operations as P
|
|
33
|
+
from mindspore.common.auto_dynamic_shape import _auto_dynamic_shape
|
|
32
34
|
|
|
33
35
|
|
|
34
36
|
def _send_data(dataset, epoch_num):
|
|
@@ -93,8 +95,7 @@ class _DataWrapper(nn.Cell):
|
|
|
93
95
|
self.get_next = P.GetNext(
|
|
94
96
|
dataset_types, dataset_shapes, len(dataset_types), queue_name)
|
|
95
97
|
self.network = network
|
|
96
|
-
|
|
97
|
-
self._jit_config_dict = network.jit_config_dict
|
|
98
|
+
self._get_attr_from_cell(network)
|
|
98
99
|
|
|
99
100
|
def construct(self):
|
|
100
101
|
outputs = self.get_next()
|
|
@@ -179,29 +180,20 @@ def _get_dataset_aux(dataset):
|
|
|
179
180
|
|
|
180
181
|
def connect_network_with_dataset(network, dataset_helper):
|
|
181
182
|
"""
|
|
182
|
-
Connect the `network` with dataset in `dataset_helper`.
|
|
183
|
-
|
|
184
|
-
This function wraps the input network with 'GetNext' so that the data can be fetched automatically from the
|
|
185
|
-
data channel corresponding to the 'queue_name' and passed to the input network during forward computation.
|
|
186
|
-
|
|
187
|
-
Note:
|
|
188
|
-
In the case of running the network on Ascend/GPU in graph mode, this function will wrap the input network with
|
|
189
|
-
:class:`mindspore.ops.GetNext`. In other cases, the input network will be returned with no change.
|
|
190
|
-
The :class:`mindspore.ops.GetNext` is required to get data only in sink mode,
|
|
191
|
-
so this function is not applicable to no-sink mode.
|
|
192
|
-
when dataset_helper's dataset_sink_mode is True, it can only be connected to one network.
|
|
183
|
+
Connect the `network` with dataset in `dataset_helper`. Only supported in `sink mode
|
|
184
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/optimize/execution_opt.html>`_, (dataset_sink_mode=True).
|
|
193
185
|
|
|
194
186
|
Args:
|
|
195
187
|
network (Cell): The training network for dataset.
|
|
196
188
|
dataset_helper (DatasetHelper): A class to process the MindData dataset, it provides the type, shape and queue
|
|
197
|
-
name of the dataset
|
|
189
|
+
name of the dataset.
|
|
198
190
|
|
|
199
191
|
Returns:
|
|
200
|
-
Cell, a new network
|
|
201
|
-
it is the input network.
|
|
192
|
+
Cell, a new network containing the type, shape and queue name of the dataset info.
|
|
202
193
|
|
|
203
194
|
Raises:
|
|
204
195
|
RuntimeError: If the API was not called in dataset sink mode.
|
|
196
|
+
|
|
205
197
|
Supported Platforms:
|
|
206
198
|
``Ascend`` ``GPU``
|
|
207
199
|
|
|
@@ -215,7 +207,7 @@ def connect_network_with_dataset(network, dataset_helper):
|
|
|
215
207
|
>>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
|
|
216
208
|
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
|
|
217
209
|
>>> net = nn.Dense(10, 5)
|
|
218
|
-
>>>
|
|
210
|
+
>>> net_with_dataset = ms.connect_network_with_dataset(net, dataset_helper)
|
|
219
211
|
"""
|
|
220
212
|
dataset_iter = dataset_helper.iter
|
|
221
213
|
dataset = dataset_iter.dataset
|
|
@@ -240,8 +232,10 @@ def connect_network_with_dataset(network, dataset_helper):
|
|
|
240
232
|
if _dynamic_sink_scenario(dataset, dataset_iter, is_dynamic):
|
|
241
233
|
dataset_types, dataset_shapes = dataset_helper.get_data_info()
|
|
242
234
|
dataset_types = [pytype_to_dtype(x) for x in dataset_types]
|
|
243
|
-
|
|
235
|
+
if not is_dynamic:
|
|
236
|
+
dataset_shapes = _auto_dynamic_shape.auto_dynamic_generate_compile_args(dataset_shapes, True)
|
|
244
237
|
key = str(dataset_types) + str(dataset_shapes)
|
|
238
|
+
_auto_dynamic_shape.update_phase_and_compile_args(dataset_shapes, key, True, aux)
|
|
245
239
|
if hasattr(aux, '__network_manage__') and key in aux.__network_manage__:
|
|
246
240
|
network = aux.__network_manage__[key]
|
|
247
241
|
else:
|
|
@@ -312,7 +306,7 @@ class DatasetHelper:
|
|
|
312
306
|
>>> for next_element in set_helper:
|
|
313
307
|
... # `next_element` includes data and label, using data to run the net
|
|
314
308
|
... data = next_element[0]
|
|
315
|
-
... net(data)
|
|
309
|
+
... result = net(data)
|
|
316
310
|
"""
|
|
317
311
|
|
|
318
312
|
def __init__(self, dataset, dataset_sink_mode=True, sink_size=-1, epoch_num=1):
|
|
@@ -393,15 +387,15 @@ class DatasetHelper:
|
|
|
393
387
|
Stop send data about data sink.
|
|
394
388
|
|
|
395
389
|
Examples:
|
|
396
|
-
>>> import numpy as np
|
|
397
390
|
>>> import mindspore as ms
|
|
398
|
-
>>>
|
|
399
|
-
>>>
|
|
400
|
-
>>>
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
>>>
|
|
404
|
-
>>>
|
|
391
|
+
>>> import numpy as np
|
|
392
|
+
>>> # Define a dataset pipeline
|
|
393
|
+
>>> def generator():
|
|
394
|
+
... for i in range(5):
|
|
395
|
+
... yield (np.ones((32, 10)),)
|
|
396
|
+
>>> train_dataset = ms.dataset.GeneratorDataset(generator, ["data"])
|
|
397
|
+
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True, sink_size=-1)
|
|
398
|
+
>>> dataset_helper.stop_send()
|
|
405
399
|
"""
|
|
406
400
|
self.iter.stop_send()
|
|
407
401
|
|
|
@@ -417,8 +411,8 @@ class DatasetHelper:
|
|
|
417
411
|
>>>
|
|
418
412
|
>>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
|
|
419
413
|
>>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
|
|
420
|
-
>>>
|
|
421
|
-
>>>
|
|
414
|
+
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
|
|
415
|
+
>>> dataset_helper.release()
|
|
422
416
|
"""
|
|
423
417
|
self.iter.release()
|
|
424
418
|
|
|
@@ -434,22 +428,63 @@ class DatasetHelper:
|
|
|
434
428
|
>>>
|
|
435
429
|
>>> data = {"x": np.float32(np.random.rand(64, 10)), "y": np.random.randint(0, 5, (64,))}
|
|
436
430
|
>>> train_dataset = ds.NumpySlicesDataset(data=data).batch(32)
|
|
437
|
-
>>>
|
|
438
|
-
>>>
|
|
431
|
+
>>> dataset_helper = ms.DatasetHelper(train_dataset, dataset_sink_mode=True)
|
|
432
|
+
>>> dataset_helper.continue_send()
|
|
439
433
|
"""
|
|
440
434
|
self.iter.continue_send()
|
|
441
435
|
|
|
442
|
-
def _reset(self, step,
|
|
436
|
+
def _reset(self, step, dataset_size):
|
|
443
437
|
"""Reset the dataset to the provided step and epoch."""
|
|
444
|
-
self.iter._reset(step,
|
|
438
|
+
self.iter._reset(step, dataset_size) # pylint: disable=protected-access
|
|
445
439
|
|
|
440
|
+
# pylint: disable=missing-docstring
|
|
446
441
|
def get_data_info(self):
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
Generally, it works in dynamic shape scenarios.
|
|
450
|
-
"""
|
|
442
|
+
# In sink mode, it returns the types and shapes of the current data.
|
|
443
|
+
# Generally, it works in dynamic shape scenarios.
|
|
451
444
|
return self.iter.get_data_info()
|
|
452
445
|
|
|
446
|
+
# pylint: disable=missing-docstring
|
|
447
|
+
def get_send_info(self, run_context):
|
|
448
|
+
# In sink mode, it returns the send information of dataset at this moment.
|
|
449
|
+
# Send information includes number of send batches, time summary of fetching data on host
|
|
450
|
+
# and time summary of sending data.
|
|
451
|
+
class InfoViewer:
|
|
452
|
+
'''
|
|
453
|
+
Inner class for parsing send info.
|
|
454
|
+
'''
|
|
455
|
+
def __init__(self, send_info, run_context):
|
|
456
|
+
self.info_ = {}
|
|
457
|
+
self.sink_size = run_context.original_args()["batch_num"]
|
|
458
|
+
if run_context.original_args().get("train_dataset", None) is not None:
|
|
459
|
+
self.dataset_size = run_context.original_args()["train_dataset"].get_dataset_size()
|
|
460
|
+
elif run_context.original_args().get("valid_dataset", None) is not None:
|
|
461
|
+
self.dataset_size = run_context.original_args()["valid_dataset"].get_dataset_size()
|
|
462
|
+
else:
|
|
463
|
+
raise RuntimeError("Could not find a proper dataset to estimate dataset size.")
|
|
464
|
+
if not send_info:
|
|
465
|
+
epoch = 1
|
|
466
|
+
self.info_[epoch] = {'fetch_data_num': 0, 'fetch_data_time': 0, 'first_data_time': 0}
|
|
467
|
+
else:
|
|
468
|
+
for info_per_epoch in send_info:
|
|
469
|
+
epoch, fetch_data_num, first_data_time, fetch_data_time = info_per_epoch
|
|
470
|
+
if fetch_data_num > 1:
|
|
471
|
+
fetch_data_time = (fetch_data_time - first_data_time) / (fetch_data_num - 1) * 1000.
|
|
472
|
+
self.info_[epoch] = {'fetch_data_num': fetch_data_num,
|
|
473
|
+
'fetch_data_time': fetch_data_time,
|
|
474
|
+
'first_data_time': first_data_time}
|
|
475
|
+
|
|
476
|
+
def epoch(self, epoch):
|
|
477
|
+
if self.sink_size == self.dataset_size:
|
|
478
|
+
return self.info_[epoch]
|
|
479
|
+
global_step = epoch * self.sink_size
|
|
480
|
+
data_epoch = math.ceil(global_step / self.dataset_size)
|
|
481
|
+
return self.info_[data_epoch]
|
|
482
|
+
|
|
483
|
+
# send info struct:[epoch, data_num_per_epoch, first_data_time, accumulate_data_time]
|
|
484
|
+
# for example [1, 1875, 0.421, 0.362]
|
|
485
|
+
send_info = self.iter.get_send_info()
|
|
486
|
+
return InfoViewer(send_info, run_context)
|
|
487
|
+
|
|
453
488
|
|
|
454
489
|
class _DatasetIter:
|
|
455
490
|
"""Base iter for dataset helper"""
|
|
@@ -460,6 +495,15 @@ class _DatasetIter:
|
|
|
460
495
|
self.sink_count = self.get_sink_count(dataset)
|
|
461
496
|
self.dataset_types, self.dataset_shapes = _get_types_and_shapes(
|
|
462
497
|
dataset)
|
|
498
|
+
|
|
499
|
+
if dataset.get_init_step() % sink_size != 0:
|
|
500
|
+
init_epoch = dataset.get_init_step() // sink_size
|
|
501
|
+
init_step = init_epoch * sink_size
|
|
502
|
+
logger.warning("Init global step must be the end of the epoch in sink mode, "
|
|
503
|
+
"but got: {0}. Reset it to the end of epoch {1} at step {2}."
|
|
504
|
+
.format(dataset.get_init_step(), init_epoch, init_step))
|
|
505
|
+
dataset.set_init_step(init_step)
|
|
506
|
+
|
|
463
507
|
if not hasattr(dataset, '__transfer_dataset__'):
|
|
464
508
|
if hasattr(dataset, '__loop_size__'):
|
|
465
509
|
self.sink_size = dataset.__loop_size__
|
|
@@ -481,6 +525,7 @@ class _DatasetIter:
|
|
|
481
525
|
self.release = dataset.__transfer_dataset__.release
|
|
482
526
|
self.continue_send = dataset.__transfer_dataset__.continue_send
|
|
483
527
|
self.get_data_info = dataset.__transfer_dataset__.get_data_info
|
|
528
|
+
self.get_send_info = dataset.__transfer_dataset__.get_send_info
|
|
484
529
|
if hasattr(dataset.__transfer_dataset__, "_reset"):
|
|
485
530
|
self._reset = dataset.__transfer_dataset__._reset # pylint: disable=protected-access
|
|
486
531
|
|
|
@@ -517,8 +562,7 @@ class _DatasetIter:
|
|
|
517
562
|
if hasattr(self.dataset, '__loop_size__'):
|
|
518
563
|
sink_size = self.dataset.__loop_size__
|
|
519
564
|
else:
|
|
520
|
-
if context.get_context("
|
|
521
|
-
or context.get_context("device_target") == "GPU":
|
|
565
|
+
if context.get_context("device_target") == "Ascend" or context.get_context("device_target") == "GPU":
|
|
522
566
|
if self.sink_size > 0:
|
|
523
567
|
sink_size = self.sink_size
|
|
524
568
|
else:
|
|
@@ -526,24 +570,6 @@ class _DatasetIter:
|
|
|
526
570
|
return sink_size
|
|
527
571
|
|
|
528
572
|
|
|
529
|
-
class _DatasetIterGE(_DatasetIter):
|
|
530
|
-
"""Iter for GE."""
|
|
531
|
-
|
|
532
|
-
def __init__(self, dataset, sink_size, epoch_num):
|
|
533
|
-
super().__init__(dataset, sink_size, epoch_num)
|
|
534
|
-
self.sink_count = self.get_sink_count(dataset)
|
|
535
|
-
batch_expand_num = 1
|
|
536
|
-
if _need_to_full():
|
|
537
|
-
batch_expand_num = _get_device_num() // _get_pipeline_stages()
|
|
538
|
-
tensor_list_run = _construct_tensor_list(
|
|
539
|
-
self.dataset_types, self.dataset_shapes, batch_expand_num)
|
|
540
|
-
|
|
541
|
-
def op():
|
|
542
|
-
return tensor_list_run
|
|
543
|
-
|
|
544
|
-
self.op = op
|
|
545
|
-
|
|
546
|
-
|
|
547
573
|
class _DatasetIterPyNative(_DatasetIter):
|
|
548
574
|
"""Iter for context (mode=PYNATIVE_MODE)."""
|
|
549
575
|
|
|
@@ -62,7 +62,7 @@ class FixedLossScaleManager(LossScaleManager):
|
|
|
62
62
|
>>> from mindspore import amp, nn
|
|
63
63
|
>>>
|
|
64
64
|
>>> # Define the network structure of LeNet5. Refer to
|
|
65
|
-
>>> # https://gitee.com/mindspore/docs/blob/r2.
|
|
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
|