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
|
@@ -52,12 +52,15 @@ class ReduceOp:
|
|
|
52
52
|
Before running the following examples, you need to configure the communication environment variables.
|
|
53
53
|
|
|
54
54
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
55
|
-
Please see the `
|
|
56
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
55
|
+
Please see the `rank table Startup
|
|
56
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
57
57
|
for more details.
|
|
58
58
|
|
|
59
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
60
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
59
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
60
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
61
|
+
|
|
62
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
63
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
61
64
|
|
|
62
65
|
This example should be run with multiple devices.
|
|
63
66
|
|
|
@@ -140,14 +143,17 @@ class AllReduce(Primitive):
|
|
|
140
143
|
Before running the following examples, you need to configure the communication environment variables.
|
|
141
144
|
|
|
142
145
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
143
|
-
Please see the `
|
|
144
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
146
|
+
Please see the `rank table Startup
|
|
147
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
145
148
|
for more details.
|
|
146
149
|
|
|
147
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
148
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
150
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
151
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
149
152
|
|
|
150
|
-
|
|
153
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
154
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
155
|
+
|
|
156
|
+
This example should be run with 2 devices.
|
|
151
157
|
|
|
152
158
|
>>> import numpy as np
|
|
153
159
|
>>> from mindspore.communication import init
|
|
@@ -174,7 +180,7 @@ class AllReduce(Primitive):
|
|
|
174
180
|
|
|
175
181
|
Tutorial Examples:
|
|
176
182
|
- `Distributed Set Communication Primitives - AllReduce
|
|
177
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
183
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#allreduce>`_
|
|
178
184
|
|
|
179
185
|
"""
|
|
180
186
|
|
|
@@ -226,12 +232,15 @@ class AllGather(PrimitiveWithInfer):
|
|
|
226
232
|
Before running the following examples, you need to configure the communication environment variables.
|
|
227
233
|
|
|
228
234
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
229
|
-
Please see the `
|
|
230
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
235
|
+
Please see the `rank table Startup
|
|
236
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
231
237
|
for more details.
|
|
232
238
|
|
|
233
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
234
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
239
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
240
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
241
|
+
|
|
242
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
243
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
235
244
|
|
|
236
245
|
This example should be run with 2 devices.
|
|
237
246
|
|
|
@@ -263,7 +272,7 @@ class AllGather(PrimitiveWithInfer):
|
|
|
263
272
|
|
|
264
273
|
Tutorial Examples:
|
|
265
274
|
- `Distributed Set Communication Primitives - AllGather
|
|
266
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
275
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#allgather>`_
|
|
267
276
|
|
|
268
277
|
"""
|
|
269
278
|
|
|
@@ -448,12 +457,15 @@ class ReduceScatter(Primitive):
|
|
|
448
457
|
Before running the following examples, you need to configure the communication environment variables.
|
|
449
458
|
|
|
450
459
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
451
|
-
Please see the `
|
|
452
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
460
|
+
Please see the `rank table Startup
|
|
461
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
453
462
|
for more details.
|
|
454
463
|
|
|
455
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
456
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
464
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
465
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
466
|
+
|
|
467
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
468
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
457
469
|
|
|
458
470
|
This example should be run with 2 devices.
|
|
459
471
|
|
|
@@ -486,7 +498,7 @@ class ReduceScatter(Primitive):
|
|
|
486
498
|
|
|
487
499
|
Tutorial Examples:
|
|
488
500
|
- `Distributed Set Communication Primitives - ReduceScatter
|
|
489
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
501
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#reducescatter>`_
|
|
490
502
|
|
|
491
503
|
"""
|
|
492
504
|
|
|
@@ -587,12 +599,15 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
587
599
|
Before running the following examples, you need to configure the communication environment variables.
|
|
588
600
|
|
|
589
601
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
590
|
-
Please see the `
|
|
591
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
602
|
+
Please see the `rank table Startup
|
|
603
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
592
604
|
for more details.
|
|
593
605
|
|
|
594
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
595
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
606
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
607
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
608
|
+
|
|
609
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
610
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
596
611
|
|
|
597
612
|
This example should be run with multiple devices.
|
|
598
613
|
|
|
@@ -623,7 +638,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
623
638
|
|
|
624
639
|
Tutorial Examples:
|
|
625
640
|
- `Distributed Set Communication Primitives - Broadcast
|
|
626
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
641
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#broadcast>`_
|
|
627
642
|
|
|
628
643
|
"""
|
|
629
644
|
|
|
@@ -643,7 +658,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
643
658
|
if not isinstance(x_dtype, tuple):
|
|
644
659
|
raise TypeError(f"For '{self.name}', the 'input_x' must be a tuple, but got {type(x_dtype).__name__}!")
|
|
645
660
|
for _ele in x_dtype:
|
|
646
|
-
check_collective_target_dtype('input_x', _ele, self.name)
|
|
661
|
+
check_collective_target_dtype('tuple input_x', _ele, self.name)
|
|
647
662
|
return x_dtype
|
|
648
663
|
|
|
649
664
|
|
|
@@ -713,11 +728,11 @@ class NeighborExchange(Primitive):
|
|
|
713
728
|
The user needs to preset
|
|
714
729
|
communication environment variables before running the following example, please check the details on the
|
|
715
730
|
official website of `MindSpore \
|
|
716
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
731
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/mindspore.ops.primitive.html#communication-operator>`_.
|
|
717
732
|
|
|
718
733
|
This operator requires a full-mesh network topology, each device has the same vlan id, and the ip & mask are
|
|
719
734
|
in the same subnet, please check the `details \
|
|
720
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
735
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#notes>`_.
|
|
721
736
|
|
|
722
737
|
Args:
|
|
723
738
|
send_rank_ids (list(int)): Ranks which the data is sent to.
|
|
@@ -756,7 +771,7 @@ class NeighborExchange(Primitive):
|
|
|
756
771
|
... def construct(self, x):
|
|
757
772
|
... out = self.neighborexchange((x,))
|
|
758
773
|
...
|
|
759
|
-
>>> ms.set_context(mode=ms.GRAPH_MODE
|
|
774
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
760
775
|
>>> init()
|
|
761
776
|
>>> net = Net()
|
|
762
777
|
>>> input_x = Tensor(np.ones([3, 3]), dtype = ms.float32)
|
|
@@ -766,7 +781,7 @@ class NeighborExchange(Primitive):
|
|
|
766
781
|
|
|
767
782
|
Tutorial Examples:
|
|
768
783
|
- `Distributed Set Communication Primitives - NeighborExchange
|
|
769
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
784
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#neighborexchange>`_
|
|
770
785
|
|
|
771
786
|
"""
|
|
772
787
|
|
|
@@ -799,7 +814,7 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
799
814
|
Note:
|
|
800
815
|
This operator requires a full-mesh network topology, each device has the same vlan id, and the ip & mask are
|
|
801
816
|
in the same subnet, please check the `details \
|
|
802
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
817
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#notes>`_.
|
|
803
818
|
|
|
804
819
|
Args:
|
|
805
820
|
split_count (int): On each process, divide blocks into split_count number.
|
|
@@ -829,12 +844,15 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
829
844
|
Before running the following examples, you need to configure the communication environment variables.
|
|
830
845
|
|
|
831
846
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
832
|
-
Please see the `
|
|
833
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
847
|
+
Please see the `rank table Startup
|
|
848
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
834
849
|
for more details.
|
|
835
850
|
|
|
836
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
837
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
851
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
852
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
853
|
+
|
|
854
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
855
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
838
856
|
|
|
839
857
|
This example should be run with 8 devices.
|
|
840
858
|
|
|
@@ -854,7 +872,7 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
854
872
|
... out = self.alltoall(x)
|
|
855
873
|
... return out
|
|
856
874
|
...
|
|
857
|
-
>>> ms.set_context(mode=ms.GRAPH_MODE
|
|
875
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
858
876
|
>>> init()
|
|
859
877
|
>>> net = Net()
|
|
860
878
|
>>> rank_id = int(os.getenv("RANK_ID"))
|
|
@@ -865,7 +883,7 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
865
883
|
|
|
866
884
|
Tutorial Examples:
|
|
867
885
|
- `Distributed Set Communication Primitives - AlltoAll
|
|
868
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
886
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#alltoall>`_
|
|
869
887
|
|
|
870
888
|
"""
|
|
871
889
|
|
|
@@ -913,7 +931,7 @@ class NeighborExchangeV2(Primitive):
|
|
|
913
931
|
Note:
|
|
914
932
|
This operator requires a full-mesh network topology, each device has the same vlan id, and the ip & mask are
|
|
915
933
|
in the same subnet, please check the `details \
|
|
916
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
934
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#notes>`_.
|
|
917
935
|
|
|
918
936
|
Args:
|
|
919
937
|
send_rank_ids (list(int)): Ranks which the data is sent to. 8 rank_ids represents 8 directions, if one
|
|
@@ -950,46 +968,67 @@ class NeighborExchangeV2(Primitive):
|
|
|
950
968
|
Before running the following examples, you need to configure the communication environment variables.
|
|
951
969
|
|
|
952
970
|
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
953
|
-
Please see the `
|
|
954
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
971
|
+
Please see the `rank table Startup
|
|
972
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/rank_table.html>`_
|
|
955
973
|
for more details.
|
|
956
974
|
|
|
957
|
-
For the GPU devices, users need to prepare the host file and mpi, please see the `
|
|
958
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
975
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
|
|
976
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/mpirun.html>`_ .
|
|
977
|
+
|
|
978
|
+
For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
|
|
979
|
+
Startup <https://www.mindspore.cn/tutorials/experts/en/r2.2/parallel/dynamic_cluster.html>`_ .
|
|
959
980
|
|
|
960
981
|
This example should be run with 2 devices.
|
|
961
982
|
|
|
962
983
|
>>> import os
|
|
963
984
|
>>> import mindspore as ms
|
|
964
|
-
>>> from mindspore import Tensor
|
|
965
985
|
>>> from mindspore.communication import init
|
|
966
986
|
>>> import mindspore.nn as nn
|
|
967
987
|
>>> import mindspore.ops as ops
|
|
968
988
|
>>> import numpy as np
|
|
969
|
-
>>>
|
|
989
|
+
>>>
|
|
990
|
+
>>> class Net0(nn.Cell):
|
|
970
991
|
... def __init__(self):
|
|
971
|
-
... super(
|
|
972
|
-
... self.
|
|
973
|
-
...
|
|
974
|
-
...
|
|
975
|
-
...
|
|
976
|
-
... data_format="NCHW")
|
|
992
|
+
... super(Net0, self).__init__()
|
|
993
|
+
... self.neighbor_exchangev2 = ops.NeighborExchangeV2(send_rank_ids=[-1, -1, -1, -1, 1, -1, -1, -1],
|
|
994
|
+
... send_lens=[0, 1, 0, 0],
|
|
995
|
+
... recv_rank_ids=[-1, -1, -1, -1, 1, -1, -1, -1],
|
|
996
|
+
... recv_lens=[0, 1, 0, 0], data_format="NCHW")
|
|
977
997
|
...
|
|
978
998
|
... def construct(self, x):
|
|
979
|
-
... out = self.
|
|
999
|
+
... out = self.neighbor_exchangev2(x)
|
|
980
1000
|
... return out
|
|
1001
|
+
>>>
|
|
1002
|
+
... class Net1(nn.Cell):
|
|
1003
|
+
... def __init__(self):
|
|
1004
|
+
... super(Net1, self).__init__()
|
|
1005
|
+
... self.neighbor_exchangev2 = ops.NeighborExchangeV2(send_rank_ids=[0, -1, -1, -1, -1, -1, -1, -1],
|
|
1006
|
+
... send_lens=[1, 0, 0, 0],
|
|
1007
|
+
... recv_rank_ids=[0, -1, -1, -1, -1, -1, -1, -1],
|
|
1008
|
+
... recv_lens=[1, 0, 0, 0], data_format="NCHW")
|
|
981
1009
|
...
|
|
982
|
-
|
|
1010
|
+
... def construct(self, x):
|
|
1011
|
+
... out = self.neighbor_exchangev2(x)
|
|
1012
|
+
... return out
|
|
1013
|
+
>>>
|
|
1014
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
983
1015
|
>>> init()
|
|
984
|
-
>>>
|
|
985
|
-
>>>
|
|
986
|
-
>>>
|
|
987
|
-
>>>
|
|
1016
|
+
>>> rank_id = int(os.getenv("RANK_ID"))
|
|
1017
|
+
>>> if (rank_id % 2 == 0):
|
|
1018
|
+
>>> input_x = ms.Tensor(np.ones([1, 1, 2, 2]), dtype = ms.float32)
|
|
1019
|
+
>>> net = Net0()
|
|
1020
|
+
>>> output = net(input_x)
|
|
1021
|
+
>>> print(output)
|
|
1022
|
+
>>> else:
|
|
1023
|
+
>>> input_x = ms.Tensor(np.ones([1, 1, 2, 2]) * 2, dtype = ms.float32)
|
|
1024
|
+
>>> net = Net1()
|
|
1025
|
+
>>> output = net(input_x)
|
|
1026
|
+
>>> print(output)
|
|
988
1027
|
[[[[1. 1.], [1. 1.], [2. 2.]]]]
|
|
989
1028
|
|
|
990
1029
|
Tutorial Examples:
|
|
991
1030
|
- `Distributed Set Communication Primitives - NeighborExchangeV2
|
|
992
|
-
<https://www.mindspore.cn/docs/en/r2.
|
|
1031
|
+
<https://www.mindspore.cn/docs/en/r2.2/api_python/samples/ops/communicate_ops.html#neighborexchangev2>`_
|
|
993
1032
|
|
|
994
1033
|
"""
|
|
995
1034
|
|
|
@@ -1004,6 +1043,15 @@ class NeighborExchangeV2(Primitive):
|
|
|
1004
1043
|
self.format = data_format
|
|
1005
1044
|
self.add_prim_attr('group', _get_group(group))
|
|
1006
1045
|
self.add_prim_attr('no_eliminate', True)
|
|
1046
|
+
self.rank_size = get_group_size(_get_group(group))
|
|
1047
|
+
for rank_id in send_rank_ids:
|
|
1048
|
+
if rank_id != -1:
|
|
1049
|
+
validator.check_number_range(rank_id, 0, self.rank_size, validator.INC_LEFT, int,
|
|
1050
|
+
"rank_id in send_rank_ids")
|
|
1051
|
+
for rank_id in recv_rank_ids:
|
|
1052
|
+
if rank_id != -1:
|
|
1053
|
+
validator.check_number_range(rank_id, 0, self.rank_size, validator.INC_LEFT, int,
|
|
1054
|
+
"rank_id in recv_rank_ids")
|
|
1007
1055
|
|
|
1008
1056
|
def __call__(self, tensor):
|
|
1009
1057
|
raise NotImplementedError
|
|
@@ -146,10 +146,11 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
146
146
|
function if needed. Then these `Custom` objects can be directly used in neural networks.
|
|
147
147
|
Detailed description and introduction of user-defined operators, including correct writing of parameters,
|
|
148
148
|
please refer to `Custom Operators Tutorial
|
|
149
|
-
<https://www.mindspore.cn/tutorials/experts/en/r2.
|
|
149
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html>`_ .
|
|
150
150
|
|
|
151
151
|
.. warning::
|
|
152
|
-
This is an experimental API that is subject to change.
|
|
152
|
+
- This is an experimental API that is subject to change.
|
|
153
|
+
- Currently, the functionality of Custom does not support Ascend 910B.
|
|
153
154
|
|
|
154
155
|
.. note::
|
|
155
156
|
The supported platforms are determined by the input `func_type`. The supported platforms are as follows:
|
|
@@ -162,6 +163,12 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
162
163
|
- "julia": supports ["CPU"].
|
|
163
164
|
- "aicpu": supports ["Ascend"].
|
|
164
165
|
|
|
166
|
+
If run on ge backend, use `CustomRegOp` to generate the registration information of "aicpu" and "tbe" operator,
|
|
167
|
+
use `custom_info_register` to bind the registration information to the `func` of the "tbe" operator,
|
|
168
|
+
then save the registration information of "aicpu" operator and the `func` implementation of "tbe" operator to
|
|
169
|
+
a file or separate files, keep these files in a separate directory, and set the absolute path of this directory
|
|
170
|
+
to environment variable "MS_DEV_CUSTOM_OPP_PATH" before running the network.
|
|
171
|
+
|
|
165
172
|
Args:
|
|
166
173
|
func (Union[function, str]):
|
|
167
174
|
|
|
@@ -620,7 +627,7 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
620
627
|
raise TypeError(
|
|
621
628
|
"{}, the legal path for the file is {}, but the file is {}".format(
|
|
622
629
|
self.log_prefix, legal_path, file_path))
|
|
623
|
-
if
|
|
630
|
+
if file_path.endswith(("cu", "cpp", "cc")):
|
|
624
631
|
file_path = _compile_aot(file_path)
|
|
625
632
|
self.func = file_path + ":" + file_name_list[1]
|
|
626
633
|
|
|
@@ -58,7 +58,7 @@ class ScalarSummary(Primitive):
|
|
|
58
58
|
This operator will put a scalar to a summary file with protocol buffer format. It must be used with SummaryRecord
|
|
59
59
|
or SummaryCollector, which specify the directory of the summary file. The summary file can
|
|
60
60
|
be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
61
|
-
mindinsight/docs/en/r2.
|
|
61
|
+
mindinsight/docs/en/r2.2/index.html>`_ for details.
|
|
62
62
|
|
|
63
63
|
Inputs:
|
|
64
64
|
- **name** (str) - The name of the input variable, it must not be an empty string.
|
|
@@ -104,6 +104,7 @@ class ScalarSummary(Primitive):
|
|
|
104
104
|
raise ValueError('The Summary is not supported, please without `-s on` and recompile source.')
|
|
105
105
|
|
|
106
106
|
self.add_prim_attr("side_effect_io", True)
|
|
107
|
+
self.add_prim_attr("channel_name", "ms_scalar_summary")
|
|
107
108
|
|
|
108
109
|
def __call__(self, *args):
|
|
109
110
|
_cache_summary_data(self.name, args[0], args[1])
|
|
@@ -114,7 +115,7 @@ class ImageSummary(PrimitiveWithInfer):
|
|
|
114
115
|
This operator will put an image tensor to a summary file with protocol buffer format. It must be used with
|
|
115
116
|
SummaryRecord or SummaryCollector, which specify the directory of the summary file. The summary file can
|
|
116
117
|
be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
117
|
-
mindinsight/docs/en/r2.
|
|
118
|
+
mindinsight/docs/en/r2.2/index.html>`_ for details.
|
|
118
119
|
|
|
119
120
|
Inputs:
|
|
120
121
|
- **name** (str) - The name of the input variable, it must not be an empty string.
|
|
@@ -153,6 +154,7 @@ class ImageSummary(PrimitiveWithInfer):
|
|
|
153
154
|
raise ValueError('The Summary is not supported, please without `-s on` and recompile source.')
|
|
154
155
|
|
|
155
156
|
self.add_prim_attr("side_effect_io", True)
|
|
157
|
+
self.add_prim_attr("channel_name", "ms_image_summary")
|
|
156
158
|
|
|
157
159
|
def __infer__(self, name, value):
|
|
158
160
|
_check_summary_param(name, value, self.__class__.__name__)
|
|
@@ -175,7 +177,7 @@ class TensorSummary(Primitive):
|
|
|
175
177
|
This operator will put a tensor to a summary file with protocol buffer format. It must be used with SummaryRecord
|
|
176
178
|
or SummaryCollector, which specify the directory of the summary file. The summary file can
|
|
177
179
|
be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
178
|
-
mindinsight/docs/en/r2.
|
|
180
|
+
mindinsight/docs/en/r2.2/index.html>`_ for details.
|
|
179
181
|
|
|
180
182
|
Inputs:
|
|
181
183
|
- **name** (str) - The name of the input variable.
|
|
@@ -221,6 +223,7 @@ class TensorSummary(Primitive):
|
|
|
221
223
|
raise ValueError('The Summary is not supported, please without `-s on` and recompile source.')
|
|
222
224
|
|
|
223
225
|
self.add_prim_attr("side_effect_io", True)
|
|
226
|
+
self.add_prim_attr("channel_name", "ms_tensor_summary")
|
|
224
227
|
|
|
225
228
|
def __call__(self, *args):
|
|
226
229
|
_cache_summary_data(self.name, args[0], args[1])
|
|
@@ -231,7 +234,7 @@ class HistogramSummary(PrimitiveWithInfer):
|
|
|
231
234
|
This operator will calculate the histogram of a tensor and put it to a summary file with protocol buffer format.
|
|
232
235
|
It must be used with SummaryRecord or SummaryCollector, which specify the directory of the summary file.
|
|
233
236
|
The summary file can be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
234
|
-
mindinsight/docs/en/r2.
|
|
237
|
+
mindinsight/docs/en/r2.2/index.html>`_ for details.
|
|
235
238
|
|
|
236
239
|
Inputs:
|
|
237
240
|
- **name** (str) - The name of the input variable.
|
|
@@ -276,6 +279,7 @@ class HistogramSummary(PrimitiveWithInfer):
|
|
|
276
279
|
raise ValueError('The Summary is not supported, please without `-s on` and recompile source.')
|
|
277
280
|
|
|
278
281
|
self.add_prim_attr("side_effect_io", True)
|
|
282
|
+
self.add_prim_attr("channel_name", "ms_histogram_summary")
|
|
279
283
|
|
|
280
284
|
def __infer__(self, name, value):
|
|
281
285
|
_check_summary_param(name, value, self.__class__.__name__)
|
|
@@ -180,7 +180,7 @@ class AdjustHue(Primitive):
|
|
|
180
180
|
|
|
181
181
|
|
|
182
182
|
class ExtractGlimpse(Primitive):
|
|
183
|
-
"""
|
|
183
|
+
r"""
|
|
184
184
|
Extracts glimpses(usually subarea of rectangle) from the input image Tensor and return as windows.
|
|
185
185
|
|
|
186
186
|
Note:
|
|
@@ -205,20 +205,20 @@ class ExtractGlimpse(Primitive):
|
|
|
205
205
|
- When `noise` is ``'zero'`` , the value of `uniform_noise` must be ``'False'`` and the
|
|
206
206
|
filling noise will be zero so that the result is fixed.
|
|
207
207
|
- When `uniform_noise` is ``'True'`` , the value of `noise` only can be ``'uniform'`` .
|
|
208
|
-
When `uniform_noise` is ``'False'`` , the value of `noise` can be ``'uniform'`` , ``'gaussian'``
|
|
208
|
+
When `uniform_noise` is ``'False'`` , the value of `noise` can be ``'uniform'`` , ``'gaussian'`` or
|
|
209
209
|
``'zero'`` .
|
|
210
210
|
|
|
211
211
|
Inputs:
|
|
212
|
-
- **x** (Tensor) - A 4-D float tensor of shape :math:`(
|
|
212
|
+
- **x** (Tensor) - A 4-D float tensor of shape :math:`(batch\_size, height, width, channels)`.
|
|
213
213
|
Types allowed: float32.
|
|
214
214
|
- **size** (Tensor) - A 1-D tensor of 2 elements containing the size of the glimpses to extract.
|
|
215
215
|
The glimpse height must be specified first, following by the glimpse width. Types allowed: int32.
|
|
216
216
|
The value of size must be greater than zero.
|
|
217
|
-
- **offsets** (Tensor) - A 2-D integer tensor of shape :math:`(
|
|
217
|
+
- **offsets** (Tensor) - A 2-D integer tensor of shape :math:`(batch\_size, 2)` containing the y, x locations
|
|
218
218
|
of the center of each window. Types allowed: float32.
|
|
219
219
|
|
|
220
220
|
Outputs:
|
|
221
|
-
A 4-D tensor of shape :math:`(
|
|
221
|
+
A 4-D tensor of shape :math:`(batch\_size, glimpse\_height, glimpse\_width, channels)` with type: float32.
|
|
222
222
|
|
|
223
223
|
Raises:
|
|
224
224
|
TypeError: If `centered` is not a bool.
|
|
@@ -277,9 +277,16 @@ class CropAndResize(Primitive):
|
|
|
277
277
|
|
|
278
278
|
Args:
|
|
279
279
|
method (str, optional): An optional string that specifies the sampling method for resizing.
|
|
280
|
-
It can be ``"bilinear"`` , ``"nearest"`` or ``"bilinear_v2"`` .
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
It can be ``"bilinear"`` , ``"nearest"`` or ``"bilinear_v2"`` . Default: ``"bilinear"`` .
|
|
281
|
+
|
|
282
|
+
- ``"nearest"``: Nearest neighbor interpolation. Each output pixel is assigned the value of the
|
|
283
|
+
nearest input pixel. This method is simple and fast but can result in blocky or pixelated outputs.
|
|
284
|
+
- ``"bilinear"``: Bilinear interpolation. Each output pixel is a weighted average of the four nearest input
|
|
285
|
+
pixels, computed using bilinear interpolation. This method produces smoother results compared
|
|
286
|
+
to nearest neighbor interpolation.
|
|
287
|
+
- ``"bilinear_v2"``: The optimized variant of
|
|
288
|
+
``"bilinear"``, it may achieve better result(higher precision and speed) in some cases.
|
|
289
|
+
|
|
283
290
|
extrapolation_value (float, optional): An optional float value used extrapolation, if applicable.
|
|
284
291
|
Default: ``0.0`` .
|
|
285
292
|
|
|
@@ -358,7 +365,6 @@ class CropAndResize(Primitive):
|
|
|
358
365
|
self.method = method
|
|
359
366
|
validator.check_value_type("extrapolation_value", extrapolation_value, [float], self.name)
|
|
360
367
|
self.extrapolation_value = extrapolation_value
|
|
361
|
-
self.is_ge = context.get_context("enable_ge")
|
|
362
368
|
|
|
363
369
|
|
|
364
370
|
class NonMaxSuppressionV3(Primitive):
|
|
@@ -470,7 +476,7 @@ class NonMaxSuppressionWithOverlaps(Primitive):
|
|
|
470
476
|
Raises:
|
|
471
477
|
TypeError: If the dtype of `overlaps` , `scores` `overlap_threshold` and `score_threshold`
|
|
472
478
|
is not float16, float32 or float64.
|
|
473
|
-
TypeError: If `overlaps` or `scores` is not Tensor
|
|
479
|
+
TypeError: If `overlaps` or `scores` is not Tensor.
|
|
474
480
|
TypeError: If `max_output_size` is not Tensor or Scalar.If `max_output_size` is not int32.
|
|
475
481
|
TypeError: If `overlap_threshold` is not Tensor or scalar. If its type is not float16, float32 or float64.
|
|
476
482
|
TypeError: If `score_threshold` is not Tensor or scalar. If its type is not float16, float32 or float64.
|
|
@@ -1115,13 +1121,13 @@ class CombinedNonMaxSuppression(Primitive):
|
|
|
1115
1121
|
it exceeds `max_total_size`.
|
|
1116
1122
|
|
|
1117
1123
|
Inputs:
|
|
1118
|
-
- **boxes** (Tensor) - A float32 Tensor with shape :math:`(
|
|
1124
|
+
- **boxes** (Tensor) - A float32 Tensor with shape :math:`(batch\_size, num\_boxes, q, 4)`
|
|
1119
1125
|
representing the bounding box coordinates.
|
|
1120
1126
|
`q` indicates mapping relationship between boxes and classes.
|
|
1121
1127
|
If `q` is 1, all classes use the same bounding box. If `q` is equal to the number of classes,
|
|
1122
1128
|
class-specific boxes are applied.
|
|
1123
1129
|
- **scores** (Tensor) - A 3-D Tensor of float32 type with the shape
|
|
1124
|
-
:math:`(
|
|
1130
|
+
:math:`(batch\_size, num\_boxes, num\_classes)`. It contains a score value for each box,
|
|
1125
1131
|
with each row of `boxes` represented by a single score.
|
|
1126
1132
|
- **max_output_size_per_class** (Tensor) - The maximum number of boxes that can be selected for each class
|
|
1127
1133
|
by the non-maximum suppression algorithm, represented by a scalar Tensor of type int32.
|