mindspore 2.1.0__cp38-none-any.whl → 2.2.0__cp38-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- 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-aarch64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -1
- mindspore/_checkparam.py +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-aarch64-linux-gnu.so +0 -0
- mindspore/amp.py +47 -11
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/boost.py +1 -8
- mindspore/boost/boost_cell_wrapper.py +3 -2
- mindspore/boost/grad_accumulation.py +1 -1
- mindspore/boost/group_loss_scale_manager.py +8 -7
- mindspore/common/__init__.py +5 -3
- mindspore/common/_jit_fallback_utils.py +6 -0
- mindspore/common/_register_for_adapter.py +2 -0
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +13 -0
- mindspore/common/_utils.py +13 -0
- mindspore/common/api.py +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/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
- mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
- mindspore/nn/__init__.py +0 -2
- mindspore/nn/cell.py +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 +447 -507
- {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
|
@@ -28,7 +28,8 @@ from mindspore.ops._utils import get_broadcast_shape
|
|
|
28
28
|
from mindspore.common._utils import is_shape_unknown, is_dim_unknown
|
|
29
29
|
from mindspore.ops.primitive import Primitive, PrimitiveWithInfer, PrimitiveWithCheck, prim_attr_register, _run_op
|
|
30
30
|
from mindspore import _checkparam as validator
|
|
31
|
-
from mindspore._checkparam import _check_3d_int_or_tuple
|
|
31
|
+
from mindspore._checkparam import _check_3d_int_or_tuple
|
|
32
|
+
from mindspore.ops._tracefunc import PackFunc
|
|
32
33
|
from mindspore.common import dtype as mstype
|
|
33
34
|
from mindspore.common._decorator import deprecated
|
|
34
35
|
from mindspore.common.parameter import Parameter
|
|
@@ -174,39 +175,11 @@ def _check_infer_attr_reduce(axis, keep_dims, prim_name):
|
|
|
174
175
|
|
|
175
176
|
class Expand(Primitive):
|
|
176
177
|
"""
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
.. warning::
|
|
180
|
-
This is an experimental API that is subject to change or deletion.
|
|
181
|
-
|
|
182
|
-
Refer to :func:`mindspore.ops.expand` for more details.
|
|
183
|
-
|
|
184
|
-
Inputs:
|
|
185
|
-
- **x** (Tensor) - The input tensor.
|
|
186
|
-
- **shape** (Tensor) - The new shape of x.
|
|
187
|
-
|
|
188
|
-
Outputs:
|
|
189
|
-
Tensor after expansion, it shape is determined by `shape`.
|
|
190
|
-
|
|
191
|
-
Supported Platforms:
|
|
192
|
-
``Ascend`` ``CPU``
|
|
193
|
-
|
|
194
|
-
Examples:
|
|
195
|
-
>>> x = Tensor(np.array([[1], [2], [3]]), mindspore.float32)
|
|
196
|
-
>>> shape = Tensor(np.array([3,4]), mindspore.int32)
|
|
197
|
-
>>> expand = ops.Expand()
|
|
198
|
-
>>> y = expand(x, shape)
|
|
199
|
-
>>> print(y)
|
|
200
|
-
[[1. 1. 1. 1.]
|
|
201
|
-
[2. 2. 2. 2.]
|
|
202
|
-
[3. 3. 3. 3.]]
|
|
203
|
-
>>> input_x = Tensor(2, mindspore.int16)
|
|
204
|
-
>>> size = Tensor(np.array([1, 1]), mindspore.int32)
|
|
205
|
-
>>> y = ops.Expand()(input_x, size)
|
|
206
|
-
>>> print(y)
|
|
207
|
-
[[2]]
|
|
178
|
+
:class:`mindspore.ops.Expand` will be deprecated in the future.
|
|
179
|
+
Please use :class:`mindspore.ops.BroadcastTo` instead.
|
|
208
180
|
"""
|
|
209
181
|
|
|
182
|
+
@deprecated("2.1", "BroadcastTo", False)
|
|
210
183
|
@prim_attr_register
|
|
211
184
|
def __init__(self):
|
|
212
185
|
"""Initialize Expand."""
|
|
@@ -216,7 +189,8 @@ class Expand(Primitive):
|
|
|
216
189
|
|
|
217
190
|
class ExpandDims(PrimitiveWithCheck):
|
|
218
191
|
"""
|
|
219
|
-
Adds an additional dimension to `input_x` at the given axis
|
|
192
|
+
Adds an additional dimension to `input_x` at the given axis, the dimension of
|
|
193
|
+
`input_x` should be greater than or equal to 1.
|
|
220
194
|
|
|
221
195
|
Refer to :func:`mindspore.ops.expand_dims` for more details.
|
|
222
196
|
|
|
@@ -243,11 +217,6 @@ class ExpandDims(PrimitiveWithCheck):
|
|
|
243
217
|
>>> print(output)
|
|
244
218
|
[[[2. 2.]
|
|
245
219
|
[2. 2.]]]
|
|
246
|
-
>>> input_tensor = Tensor(2.1+2j, mindspore.complex64)
|
|
247
|
-
>>> expand_dims = ops.ExpandDims()
|
|
248
|
-
>>> output = expand_dims(input_tensor, 0)
|
|
249
|
-
>>> print(output)
|
|
250
|
-
[2.1+2.j]
|
|
251
220
|
"""
|
|
252
221
|
|
|
253
222
|
@prim_attr_register
|
|
@@ -380,7 +349,7 @@ class Cast(PrimitiveWithCheck):
|
|
|
380
349
|
data = x.data
|
|
381
350
|
if data.dtype == dtype:
|
|
382
351
|
return (True, x)
|
|
383
|
-
if isinstance(x, Tensor) and x.dtype == dtype and not
|
|
352
|
+
if isinstance(x, Tensor) and x.dtype == dtype and not PackFunc.is_tracing():
|
|
384
353
|
x = Tensor(x)
|
|
385
354
|
x.set_cast_dtype()
|
|
386
355
|
return (True, x)
|
|
@@ -404,9 +373,9 @@ class Cast(PrimitiveWithCheck):
|
|
|
404
373
|
value = None
|
|
405
374
|
np_dst_type = mstype.dtype_to_nptype(dst_type)
|
|
406
375
|
if isinstance(x, (int, float)):
|
|
407
|
-
value = Tensor(np.array(x).astype(np_dst_type))
|
|
376
|
+
value = Tensor(np.array(x).astype(np_dst_type), dtype=dst_type)
|
|
408
377
|
else:
|
|
409
|
-
value = Tensor(x.asnumpy().astype(np_dst_type))
|
|
378
|
+
value = Tensor(x.asnumpy().astype(np_dst_type), dtype=dst_type)
|
|
410
379
|
return value
|
|
411
380
|
|
|
412
381
|
|
|
@@ -766,23 +735,6 @@ class Unsqueeze(PrimitiveWithCheck):
|
|
|
766
735
|
self.axis = axis
|
|
767
736
|
|
|
768
737
|
|
|
769
|
-
class DynamicShape(Primitive):
|
|
770
|
-
"""
|
|
771
|
-
Same as operator TensorShape. DynamicShape will be deprecated in the future.
|
|
772
|
-
Please use TensorShape instead.
|
|
773
|
-
|
|
774
|
-
Supported Platforms:
|
|
775
|
-
Deprecated
|
|
776
|
-
"""
|
|
777
|
-
|
|
778
|
-
@deprecated("1.7", "TensorShape", True)
|
|
779
|
-
@prim_attr_register
|
|
780
|
-
def __init__(self, dtype=9):
|
|
781
|
-
"""init Shape"""
|
|
782
|
-
self.init_prim_io_names(inputs=['tensor'], outputs=['output'])
|
|
783
|
-
self.add_prim_attr('is_dynamic_shape', True)
|
|
784
|
-
|
|
785
|
-
|
|
786
738
|
class Squeeze(Primitive):
|
|
787
739
|
"""
|
|
788
740
|
Return the Tensor after deleting the dimension of size 1 in the specified `axis`.
|
|
@@ -1358,7 +1310,7 @@ class Size(Primitive):
|
|
|
1358
1310
|
|
|
1359
1311
|
Inputs:
|
|
1360
1312
|
- **input_x** (Tensor) - Input parameters, the shape of tensor is :math:`(x_1, x_2, ..., x_R)`. The data type is
|
|
1361
|
-
`number <https://www.mindspore.cn/docs/en/r2.
|
|
1313
|
+
`number <https://www.mindspore.cn/docs/en/r2.2/api_python/mindspore.html#mindspore.dtype>`_.
|
|
1362
1314
|
|
|
1363
1315
|
Outputs:
|
|
1364
1316
|
int. A scalar representing the elements' size of `input_x`, tensor is the number of elements
|
|
@@ -1479,10 +1431,20 @@ class MatrixDiagPartV3(Primitive):
|
|
|
1479
1431
|
Refer to :func:`mindspore.ops.matrix_diag_part` for more details.
|
|
1480
1432
|
|
|
1481
1433
|
Args:
|
|
1482
|
-
align (str, optional):
|
|
1483
|
-
"LEFT_RIGHT", "LEFT_LEFT", "RIGHT_RIGHT".
|
|
1484
|
-
|
|
1485
|
-
|
|
1434
|
+
align (str, optional): specifies how superdiagonals and subdiagonals should be aligned.
|
|
1435
|
+
Supported values: ``"RIGHT_LEFT"`` , ``"LEFT_RIGHT"`` , ``"LEFT_LEFT"`` , ``"RIGHT_RIGHT"`` .
|
|
1436
|
+
Default: ``"RIGHT_LEFT"`` .
|
|
1437
|
+
|
|
1438
|
+
- When set to ``"RIGHT_LEFT"`` , the alignment of superdiagonals will be towards the right side
|
|
1439
|
+
(padding the row on the left), while subdiagonals will be towards the left side
|
|
1440
|
+
(padding the row on the right)
|
|
1441
|
+
- When set to ``"LEFT_RIGHT"`` , the alignment of superdiagonals will be towards the left side
|
|
1442
|
+
(padding the row on the right), while subdiagonals will be towards the right side
|
|
1443
|
+
(padding the row on the left)
|
|
1444
|
+
- When set to ``"LEFT_LEFT"`` , the alignment of both superdiagonals and subdiagonals will be towards
|
|
1445
|
+
the left side(padding the row on the right).
|
|
1446
|
+
- When set to ``"RIGHT_RIGHT"`` , the alignment of both superdiagonals and subdiagonals will be towards
|
|
1447
|
+
the right side(padding the row on the left).
|
|
1486
1448
|
|
|
1487
1449
|
Inputs:
|
|
1488
1450
|
- **x** (Tensor) - Rank r, where r >= 2.
|
|
@@ -1721,7 +1683,7 @@ class Fill(PrimitiveWithCheck):
|
|
|
1721
1683
|
if isinstance(x, Tensor):
|
|
1722
1684
|
x = x.asnumpy()
|
|
1723
1685
|
ret = np.full(dims, x, x_nptype)
|
|
1724
|
-
return Tensor(ret)
|
|
1686
|
+
return Tensor(ret, dtype=dtype)
|
|
1725
1687
|
|
|
1726
1688
|
def infer_value(self, dtype, dims, x):
|
|
1727
1689
|
x_nptype = mstype.dtype_to_nptype(dtype)
|
|
@@ -1731,7 +1693,7 @@ class Fill(PrimitiveWithCheck):
|
|
|
1731
1693
|
if isinstance(x, Tensor):
|
|
1732
1694
|
x = x.asnumpy()
|
|
1733
1695
|
ret = np.full(dims, x, x_nptype)
|
|
1734
|
-
return Tensor(ret)
|
|
1696
|
+
return Tensor(ret, dtype=dtype)
|
|
1735
1697
|
return None
|
|
1736
1698
|
|
|
1737
1699
|
|
|
@@ -1800,15 +1762,19 @@ class FillV2(PrimitiveWithCheck):
|
|
|
1800
1762
|
"""Initialize FillV2"""
|
|
1801
1763
|
self.init_prim_io_names(inputs=['shape', 'value'], outputs=['y'])
|
|
1802
1764
|
|
|
1765
|
+
def check_elim(self, dims, x):
|
|
1766
|
+
if x is None or (not isinstance(x, (Tensor, Tensor_))) or (x.shape != ()) or\
|
|
1767
|
+
dims is None or (isinstance(dims, (tuple, list)) and dims) or\
|
|
1768
|
+
isinstance(dims, (Tensor, Tensor_)):
|
|
1769
|
+
return (False, None)
|
|
1770
|
+
return (True, x)
|
|
1771
|
+
|
|
1803
1772
|
def infer_value(self, dims, x):
|
|
1804
|
-
if
|
|
1805
|
-
dims
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
ret = np.full(dims, x)
|
|
1810
|
-
return Tensor(ret)
|
|
1811
|
-
return None
|
|
1773
|
+
if x is None or dims is None or\
|
|
1774
|
+
(isinstance(dims, (tuple, list)) and dims) or\
|
|
1775
|
+
isinstance(dims, (Tensor, Tensor_)):
|
|
1776
|
+
return None
|
|
1777
|
+
return x
|
|
1812
1778
|
|
|
1813
1779
|
|
|
1814
1780
|
class Ones(Primitive):
|
|
@@ -1997,7 +1963,8 @@ class TupleToArray(PrimitiveWithInfer):
|
|
|
1997
1963
|
ret = np.array(x, np.float32)
|
|
1998
1964
|
return Tensor(ret)
|
|
1999
1965
|
|
|
2000
|
-
def __call__(self,
|
|
1966
|
+
def __call__(self, *args):
|
|
1967
|
+
x, = args
|
|
2001
1968
|
args = list()
|
|
2002
1969
|
if isinstance(x, range):
|
|
2003
1970
|
args.append(tuple(x))
|
|
@@ -2006,24 +1973,6 @@ class TupleToArray(PrimitiveWithInfer):
|
|
|
2006
1973
|
return _run_op(self, self.name, args)
|
|
2007
1974
|
|
|
2008
1975
|
|
|
2009
|
-
class ScalarToArray(PrimitiveWithInfer):
|
|
2010
|
-
"""
|
|
2011
|
-
The `ScalarToArray` primitive is deprecated. Please use the :class:`mindspore.ops.ScalarToTensor` instead.
|
|
2012
|
-
"""
|
|
2013
|
-
@deprecated("2.0", "ops.scalar_to_tensor", False)
|
|
2014
|
-
@prim_attr_register
|
|
2015
|
-
def __init__(self):
|
|
2016
|
-
pass
|
|
2017
|
-
|
|
2018
|
-
def infer_value(self, x):
|
|
2019
|
-
validator.check_value_type("x", x, [int, float], self.name)
|
|
2020
|
-
if isinstance(x, int):
|
|
2021
|
-
ret = np.array(x, np.int32)
|
|
2022
|
-
else:
|
|
2023
|
-
ret = np.array(x, np.float32)
|
|
2024
|
-
return Tensor(ret)
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
1976
|
class ScalarToTensor(PrimitiveWithInfer):
|
|
2028
1977
|
"""
|
|
2029
1978
|
Converts a scalar to a `Tensor`, and converts the data type to the specified type.
|
|
@@ -2059,7 +2008,7 @@ class ScalarToTensor(PrimitiveWithInfer):
|
|
|
2059
2008
|
validator.check_value_type("x", x, [bool, int, float], self.name)
|
|
2060
2009
|
validator.check_subclass("dtype", dtype, mstype.number, self.name)
|
|
2061
2010
|
data_type = mstype.dtype_to_nptype(dtype)
|
|
2062
|
-
return Tensor(np.array(x, data_type))
|
|
2011
|
+
return Tensor(np.array(x, data_type), dtype=dtype)
|
|
2063
2012
|
|
|
2064
2013
|
|
|
2065
2014
|
class InvertPermutation(PrimitiveWithInfer):
|
|
@@ -2479,7 +2428,10 @@ class Tile(PrimitiveWithInfer):
|
|
|
2479
2428
|
"""Initialize Tile"""
|
|
2480
2429
|
self.init_prim_io_names(inputs=['x', 'multiples'], outputs=['output'])
|
|
2481
2430
|
|
|
2482
|
-
def check_elim(self,
|
|
2431
|
+
def check_elim(self, *args):
|
|
2432
|
+
base_tensor, multiplier = args
|
|
2433
|
+
if PackFunc.is_tracing() and not PackFunc.current.is_pynative_mode:
|
|
2434
|
+
return (False, None)
|
|
2483
2435
|
if not isinstance(base_tensor, Tensor):
|
|
2484
2436
|
raise TypeError(f"For '{self.name}', the type of 'input_x' must be Tensor, "
|
|
2485
2437
|
f"but got {type(base_tensor).__name__}.")
|
|
@@ -2999,7 +2951,7 @@ def _get_stack_shape(value, x_shape, x_type, axis, prim_name):
|
|
|
2999
2951
|
out_n = len(x_shape)
|
|
3000
2952
|
for i in range(1, out_n):
|
|
3001
2953
|
if x_type[i] != x_type[i-1]:
|
|
3002
|
-
raise TypeError("For
|
|
2954
|
+
raise TypeError(f"For {prim_name}, all types should be same, but got {x_type}")
|
|
3003
2955
|
|
|
3004
2956
|
new_x_shape = []
|
|
3005
2957
|
for i, shp in enumerate(x_shape):
|
|
@@ -3021,8 +2973,8 @@ def _get_stack_shape(value, x_shape, x_type, axis, prim_name):
|
|
|
3021
2973
|
for j in range(0, rank_base):
|
|
3022
2974
|
if new_x_shape[i]["shape"][j] != new_x_shape[0]["shape"][j] and \
|
|
3023
2975
|
new_x_shape[i]["shape"][j] != -1 and new_x_shape[0]["shape"][j] != -1:
|
|
3024
|
-
raise ValueError("For
|
|
3025
|
-
|
|
2976
|
+
raise ValueError(f"For {prim_name} element {new_x_shape[i]['id']} shape"
|
|
2977
|
+
f"in input can not pack with first element")
|
|
3026
2978
|
|
|
3027
2979
|
validator.check_int_range(axis, -rank_base - 1, rank_base, validator.INC_BOTH, 'axis', prim_name)
|
|
3028
2980
|
if axis < 0:
|
|
@@ -3038,30 +2990,6 @@ def _get_stack_shape(value, x_shape, x_type, axis, prim_name):
|
|
|
3038
2990
|
return out_shape
|
|
3039
2991
|
|
|
3040
2992
|
|
|
3041
|
-
class Pack(PrimitiveWithInfer):
|
|
3042
|
-
"""
|
|
3043
|
-
Same as operator Stack. Pack will be deprecated in the future.
|
|
3044
|
-
Please use Stack instead.
|
|
3045
|
-
"""
|
|
3046
|
-
|
|
3047
|
-
@deprecated("1.1", "Stack", True)
|
|
3048
|
-
@prim_attr_register
|
|
3049
|
-
def __init__(self, axis=0):
|
|
3050
|
-
"""Initialize Pack"""
|
|
3051
|
-
validator.check_value_type("axis", axis, [int], self.name)
|
|
3052
|
-
self.axis = axis
|
|
3053
|
-
|
|
3054
|
-
def __infer__(self, value):
|
|
3055
|
-
x_shape = value['shape']
|
|
3056
|
-
x_type = value['dtype']
|
|
3057
|
-
self.add_prim_attr('num', len(x_shape))
|
|
3058
|
-
all_shape = _get_stack_shape(value, x_shape, x_type, self.axis, self.name)
|
|
3059
|
-
out = {'shape': all_shape,
|
|
3060
|
-
'dtype': x_type[0],
|
|
3061
|
-
'value': None}
|
|
3062
|
-
return out
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
2993
|
class Stack(PrimitiveWithInfer):
|
|
3066
2994
|
r"""
|
|
3067
2995
|
Stacks a list of tensors in specified axis.
|
|
@@ -3138,47 +3066,6 @@ class Stack(PrimitiveWithInfer):
|
|
|
3138
3066
|
return out
|
|
3139
3067
|
|
|
3140
3068
|
|
|
3141
|
-
class Unpack(PrimitiveWithInfer):
|
|
3142
|
-
"""
|
|
3143
|
-
Same as operator Unstack. Unpack will be deprecated in the future.
|
|
3144
|
-
Please use Unstack instead.
|
|
3145
|
-
"""
|
|
3146
|
-
|
|
3147
|
-
@deprecated("1.1", "Unstack", True)
|
|
3148
|
-
@prim_attr_register
|
|
3149
|
-
def __init__(self, axis=0):
|
|
3150
|
-
"""Initialize Unpack"""
|
|
3151
|
-
validator.check_value_type("axis", axis, [int], self.name)
|
|
3152
|
-
self.axis = axis
|
|
3153
|
-
|
|
3154
|
-
def __infer__(self, x):
|
|
3155
|
-
validator.check_subclass("x", x['dtype'], mstype.tensor_type, self.name)
|
|
3156
|
-
x_shape = list(x['shape'])
|
|
3157
|
-
dim = len(x_shape)
|
|
3158
|
-
validator.check_int_range(self.axis, -dim, dim, validator.INC_LEFT, 'axis value', self.name)
|
|
3159
|
-
if self.axis < 0:
|
|
3160
|
-
self.axis = self.axis + dim
|
|
3161
|
-
output_num = x_shape[self.axis]
|
|
3162
|
-
validator.check_value_type("num", output_num, [int], self.name)
|
|
3163
|
-
validator.check_positive_int(output_num, "output_num", self.name)
|
|
3164
|
-
self.add_prim_attr('num', output_num)
|
|
3165
|
-
output_valid_check = x_shape[self.axis] - output_num
|
|
3166
|
-
validator.check_int(output_valid_check, 0, validator.EQ,
|
|
3167
|
-
"The dimension which to unstack divides output_num", self.name)
|
|
3168
|
-
out_shapes = []
|
|
3169
|
-
out_dtypes = []
|
|
3170
|
-
out_shape = x_shape[:self.axis] + x_shape[self.axis + 1:]
|
|
3171
|
-
for _ in range(output_num):
|
|
3172
|
-
out_shapes.append(tuple(out_shape))
|
|
3173
|
-
out_dtypes.append(x['dtype'])
|
|
3174
|
-
out_shapes = tuple(out_shapes)
|
|
3175
|
-
out_dtypes = tuple(out_dtypes)
|
|
3176
|
-
out = {'shape': out_shapes,
|
|
3177
|
-
'dtype': out_dtypes,
|
|
3178
|
-
'value': None}
|
|
3179
|
-
return out
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
3069
|
class Unstack(Primitive):
|
|
3183
3070
|
r"""
|
|
3184
3071
|
Unstacks tensor in specified axis, this is the opposite of ops.Stack.
|
|
@@ -3377,6 +3264,9 @@ class ReverseV2(Primitive):
|
|
|
3377
3264
|
for i, each in enumerate(axis):
|
|
3378
3265
|
validator.check_value_type(f'axis[{i}]', each, [int], self.name)
|
|
3379
3266
|
self.axis = axis
|
|
3267
|
+
if isinstance(axis, list):
|
|
3268
|
+
self.axis = tuple(axis)
|
|
3269
|
+
self.add_prim_attr('axis', self.axis)
|
|
3380
3270
|
self.init_prim_io_names(inputs=['x'], outputs=['output'])
|
|
3381
3271
|
|
|
3382
3272
|
|
|
@@ -3538,9 +3428,7 @@ class StridedSlice(PrimitiveWithInfer):
|
|
|
3538
3428
|
Inputs:
|
|
3539
3429
|
- **input_x** (Tensor) - The input Tensor to be extracted from.
|
|
3540
3430
|
- **begin** (tuple[int]) - A tuple which represents the location where to start.
|
|
3541
|
-
Only non-negative int is allowed.
|
|
3542
3431
|
- **end** (tuple[int]) - A tuple or which represents the maximum location where to end.
|
|
3543
|
-
Only non-negative int is allowed.
|
|
3544
3432
|
- **strides** (tuple[int]) - A tuple which represents the strides is continuously added
|
|
3545
3433
|
before reaching the maximum location. Only int is allowed, it can be negative
|
|
3546
3434
|
which results in reversed slicing.
|
|
@@ -3655,10 +3543,10 @@ class StridedSlice(PrimitiveWithInfer):
|
|
|
3655
3543
|
end_v, end_len = self._check_and_get_value(end, 'end')
|
|
3656
3544
|
strides_v, strides_len = self._check_and_get_value(strides, 'strides')
|
|
3657
3545
|
|
|
3658
|
-
is_dynamic_tuple = (self._is_none_in_tuple(begin_v
|
|
3659
|
-
or self._is_none_in_tuple(end_v
|
|
3660
|
-
or self._is_none_in_tuple(strides_v
|
|
3661
|
-
is_dynamic = None in (begin_v
|
|
3546
|
+
is_dynamic_tuple = (self._is_none_in_tuple(begin_v.get('value'))
|
|
3547
|
+
or self._is_none_in_tuple(end_v.get('value'))
|
|
3548
|
+
or self._is_none_in_tuple(strides_v.get('value')))
|
|
3549
|
+
is_dynamic = None in (begin_v.get('value'), end_v.get('value'), strides_v.get('value'))
|
|
3662
3550
|
|
|
3663
3551
|
if not is_dynamic and (begin_len != strides_len or end_len != strides_len):
|
|
3664
3552
|
raise ValueError(
|
|
@@ -4047,7 +3935,7 @@ class DiagPart(PrimitiveWithCheck):
|
|
|
4047
3935
|
|
|
4048
3936
|
If the `input_x` is a Tensor of shape :math:`[D_1,..., D_k, D_1,..., D_k]`, then the
|
|
4049
3937
|
output will be a Tensor of rank k of shape :math:`[D_1,..., D_k]` where:
|
|
4050
|
-
:math:`output[i_1,..., i_k] =
|
|
3938
|
+
:math:`output[i_1,..., i_k] = input\_x[i_1,..., i_k, i_1,..., i_k]`.
|
|
4051
3939
|
|
|
4052
3940
|
Inputs:
|
|
4053
3941
|
- **input_x** (Tensor) - The rank of input tensor is 2k(k > 0).
|
|
@@ -5626,67 +5514,6 @@ class ScatterNdMin(_ScatterNdOp):
|
|
|
5626
5514
|
super().__init__(use_locking)
|
|
5627
5515
|
|
|
5628
5516
|
|
|
5629
|
-
class ScatterNonAliasingAdd(Primitive):
|
|
5630
|
-
"""
|
|
5631
|
-
The ScatterNonAliasingAdd Interface is deprecated from version 2.1.
|
|
5632
|
-
Please use :class:`mindspore.ops.TensorScatterAdd` instead.
|
|
5633
|
-
This interface may has precision error on Ascend and will be removed in a future version.
|
|
5634
|
-
|
|
5635
|
-
Applies sparse addition to the input using individual values or slices.
|
|
5636
|
-
|
|
5637
|
-
Using given values to update tensor value through the add operation, along with the input indices.
|
|
5638
|
-
This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
|
|
5639
|
-
|
|
5640
|
-
Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
|
|
5641
|
-
If they have different data types, the lower priority data type will be converted to
|
|
5642
|
-
the relatively highest priority data type.
|
|
5643
|
-
|
|
5644
|
-
Inputs:
|
|
5645
|
-
- **input_x** (Parameter) - The target parameter. The data type must be float16, float32 or int32.
|
|
5646
|
-
- **indices** (Tensor) - The index to perform the addition operation whose data type must be mindspore.int32.
|
|
5647
|
-
- **updates** (Tensor) - The tensor that performs the addition operation with `input_x`,
|
|
5648
|
-
the data type is the same as `input_x`, the shape is `indices.shape[:-1] + x.shape[indices.shape[-1]:]`.
|
|
5649
|
-
|
|
5650
|
-
Outputs:
|
|
5651
|
-
Parameter, the updated `input_x`.
|
|
5652
|
-
|
|
5653
|
-
Raises:
|
|
5654
|
-
TypeError: If dtype of `indices` is not int32.
|
|
5655
|
-
TypeError: If dtype of `input_x` is not one of float16, float32, int32.
|
|
5656
|
-
ValueError: If the shape of `updates` is not equal to `indices.shape[:-1] + x.shape[indices.shape[-1]:]`.
|
|
5657
|
-
RuntimeError: If the data type of `input_x` and `updates` conversion of Parameter
|
|
5658
|
-
is required when data type conversion of Parameter is not supported.
|
|
5659
|
-
|
|
5660
|
-
Supported Platforms:
|
|
5661
|
-
Deprecated
|
|
5662
|
-
|
|
5663
|
-
Examples:
|
|
5664
|
-
>>> import mindspore
|
|
5665
|
-
>>> import numpy as np
|
|
5666
|
-
>>> from mindspore import Tensor, ops, Parameter
|
|
5667
|
-
>>> input_x = Parameter(Tensor(np.array([1, 2, 3, 4, 5, 6, 7, 8]), mindspore.float32), name="x")
|
|
5668
|
-
>>> indices = Tensor(np.array([[2], [4], [1], [7]]), mindspore.int32)
|
|
5669
|
-
>>> updates = Tensor(np.array([6, 7, 8, 9]), mindspore.float32)
|
|
5670
|
-
>>> scatter_non_aliasing_add = ops.ScatterNonAliasingAdd()
|
|
5671
|
-
>>> output = scatter_non_aliasing_add(input_x, indices, updates)
|
|
5672
|
-
>>> print(output)
|
|
5673
|
-
[ 1. 10. 9. 4. 12. 6. 7. 17.]
|
|
5674
|
-
"""
|
|
5675
|
-
|
|
5676
|
-
__mindspore_signature__ = (
|
|
5677
|
-
sig.make_sig('input_x', sig.sig_rw.RW_WRITE, dtype=sig.sig_dtype.T),
|
|
5678
|
-
sig.make_sig('indices', dtype=sig.sig_dtype.T1),
|
|
5679
|
-
sig.make_sig('updates', dtype=sig.sig_dtype.T)
|
|
5680
|
-
)
|
|
5681
|
-
|
|
5682
|
-
@deprecated("2.1", "ops.ScatterNonAliasingAdd", False)
|
|
5683
|
-
@prim_attr_register
|
|
5684
|
-
def __init__(self):
|
|
5685
|
-
"""Initialize ScatterNonAliasingAdd"""
|
|
5686
|
-
self.init_prim_io_names(inputs=['input_x', 'indices', 'updates'], outputs=['y'])
|
|
5687
|
-
self.add_prim_attr('side_effect_mem', True)
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
5517
|
class SpaceToDepth(Primitive):
|
|
5691
5518
|
r"""
|
|
5692
5519
|
Rearrange blocks of spatial data into depth.
|
|
@@ -6049,54 +5876,6 @@ class SpaceToBatchND(Primitive):
|
|
|
6049
5876
|
self.paddings = paddings
|
|
6050
5877
|
|
|
6051
5878
|
|
|
6052
|
-
class BatchToSpaceND(Primitive):
|
|
6053
|
-
r"""
|
|
6054
|
-
:class:`mindspore.ops.BatchToSpaceND` is deprecated from version 2.0 and will be removed in a future version,
|
|
6055
|
-
use :func:`mindspore.ops.batch_to_space_nd` instead.
|
|
6056
|
-
|
|
6057
|
-
Supported Platforms:
|
|
6058
|
-
``Ascend`` ``GPU`` ``CPU``
|
|
6059
|
-
|
|
6060
|
-
Examples:
|
|
6061
|
-
>>> import mindspore
|
|
6062
|
-
>>> import numpy as np
|
|
6063
|
-
>>> from mindspore import Tensor, ops
|
|
6064
|
-
>>> block_size = 2
|
|
6065
|
-
>>> crops = [[0, 0], [0, 0]]
|
|
6066
|
-
>>> batch_to_space = ops.BatchToSpaceND(block_size, crops)
|
|
6067
|
-
>>> input_x = Tensor(np.array([[[[1]]], [[[2]]], [[[3]]], [[[4]]]]), mindspore.float32)
|
|
6068
|
-
>>> output = batch_to_space(input_x)
|
|
6069
|
-
>>> print(output)
|
|
6070
|
-
[[[[1. 2.]
|
|
6071
|
-
[3. 4.]]]]
|
|
6072
|
-
"""
|
|
6073
|
-
|
|
6074
|
-
@deprecated("2.0", "ops.batch_to_space_nd", False)
|
|
6075
|
-
@prim_attr_register
|
|
6076
|
-
def __init__(self, block_shape, crops):
|
|
6077
|
-
"""Initialize BatchToSpaceND"""
|
|
6078
|
-
if isinstance(block_shape, int):
|
|
6079
|
-
block_shape = (block_shape,) * np.array(crops).shape[0]
|
|
6080
|
-
self.add_prim_attr("block_shape", block_shape)
|
|
6081
|
-
validator.check_value_type('block_shape type', block_shape, [list, tuple], self.name)
|
|
6082
|
-
validator.check('block_shape shape', len(np.array(block_shape).shape), '', 1, validator.EQ, self.name)
|
|
6083
|
-
block_rank = len(block_shape)
|
|
6084
|
-
if context.get_context("device_target") == "Ascend":
|
|
6085
|
-
validator.check('block_shape length', block_rank, '', 2, validator.EQ, self.name)
|
|
6086
|
-
for elem in block_shape:
|
|
6087
|
-
validator.check('block_shape element', elem, '', 1, validator.GE, self.name)
|
|
6088
|
-
validator.check_value_type('block_shape element', elem, [int], self.name)
|
|
6089
|
-
self.block_shape = block_shape
|
|
6090
|
-
|
|
6091
|
-
validator.check_value_type('crops type', crops, [list, tuple], self.name)
|
|
6092
|
-
validator.check('crops length', len(crops), '', 1, validator.GE, self.name)
|
|
6093
|
-
validator.check('crops shape', np.array(crops).shape, '', (block_rank, 2), validator.EQ, self.name)
|
|
6094
|
-
for elem in itertools.chain(*crops):
|
|
6095
|
-
validator.check_non_negative_int(elem, 'crops element', self.name)
|
|
6096
|
-
validator.check_value_type('crops element', elem, [int], self.name)
|
|
6097
|
-
self.crops = crops
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
5879
|
class BatchToSpaceNDV2(Primitive):
|
|
6101
5880
|
r"""
|
|
6102
5881
|
Divides batch dimension with blocks and interleaves these blocks back into spatial dimensions.
|
|
@@ -6300,7 +6079,7 @@ class Meshgrid(PrimitiveWithInfer):
|
|
|
6300
6079
|
|
|
6301
6080
|
|
|
6302
6081
|
class ReverseSequence(PrimitiveWithInfer):
|
|
6303
|
-
"""
|
|
6082
|
+
r"""
|
|
6304
6083
|
Reverses variable length slices.
|
|
6305
6084
|
|
|
6306
6085
|
Args:
|
|
@@ -6316,7 +6095,12 @@ class ReverseSequence(PrimitiveWithInfer):
|
|
|
6316
6095
|
|
|
6317
6096
|
Raises:
|
|
6318
6097
|
TypeError: If `seq_dim` or `batch_dim` is not an int.
|
|
6319
|
-
ValueError: If
|
|
6098
|
+
ValueError: If :math:`len(seq\_lengths) != x.shape[batch\_dim]`.
|
|
6099
|
+
ValueError: If :math:`batch\_dim == seq\_dim`.
|
|
6100
|
+
ValueError: If :math:`seq\_dim < 0` or :math:`seq\_dim >= len(x.shape)`.
|
|
6101
|
+
ValueError: If :math:`batch\_dim < 0` or :math:`batch\_dim >= len(x.shape)`.
|
|
6102
|
+
RuntimeError: If any value of `seq_lengths` is less than 0.
|
|
6103
|
+
RuntimeError: If any value of `seq_lengths` is larger than `x.shape[seq_dim]`.
|
|
6320
6104
|
|
|
6321
6105
|
Supported Platforms:
|
|
6322
6106
|
``Ascend`` ``GPU`` ``CPU``
|