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
|
@@ -23,16 +23,17 @@ from mindspore.common._stub_tensor import StubTensor
|
|
|
23
23
|
from mindspore.ops import composite as C
|
|
24
24
|
from mindspore.ops.operations.array_ops import Cast
|
|
25
25
|
from mindspore.ops.operations._scalar_ops import bit_or, bit_and
|
|
26
|
+
from mindspore.ops.operations.comm_ops import ReduceOp
|
|
26
27
|
from mindspore.ops import signature as sig
|
|
27
28
|
from mindspore.ops.operations.math_ops import _infer_shape_reduce
|
|
28
|
-
from mindspore.ops.primitive import PrimitiveWithCheck, PrimitiveWithInfer, prim_attr_register, Primitive
|
|
29
|
-
|
|
29
|
+
from mindspore.ops.primitive import PrimitiveWithCheck, PrimitiveWithInfer, prim_attr_register, Primitive,\
|
|
30
|
+
_run_op, _check_contains_variable
|
|
30
31
|
from mindspore._c_expression import Tensor as Tensor_
|
|
31
32
|
from mindspore._c_expression import typing
|
|
32
33
|
from mindspore import _checkparam as validator
|
|
33
34
|
from mindspore.common import dtype as mstype
|
|
34
35
|
from mindspore.common.parameter import Parameter
|
|
35
|
-
from mindspore.communication.management import GlobalComm
|
|
36
|
+
from mindspore.communication.management import GlobalComm, get_rank
|
|
36
37
|
from mindspore.common.api import _pynative_executor
|
|
37
38
|
from mindspore.common._register_for_adapter import ms_adapter_registry
|
|
38
39
|
from mindspore import ops
|
|
@@ -74,11 +75,11 @@ class ExtractImagePatches(Primitive):
|
|
|
74
75
|
- valid: Means that the taken patch area must be completely covered in the original image.
|
|
75
76
|
|
|
76
77
|
Inputs:
|
|
77
|
-
- **input_x** (Tensor) - A 4-D tensor whose shape is :math:`(
|
|
78
|
+
- **input_x** (Tensor) - A 4-D tensor whose shape is :math:`(in\_batch, in\_depth, in\_row, in\_col)`.
|
|
78
79
|
|
|
79
80
|
Outputs:
|
|
80
81
|
Tensor, a 4-D tensor whose data type is same as 'input_x', and the shape
|
|
81
|
-
is :math:`(
|
|
82
|
+
is :math:`(out\_batch, out\_depth, out\_row, out\_col)`,where the out_batch is the same as the in_batch
|
|
82
83
|
and
|
|
83
84
|
|
|
84
85
|
.. math::
|
|
@@ -121,7 +122,6 @@ class ExtractImagePatches(Primitive):
|
|
|
121
122
|
validator.check_value_type('padding', padding, [str], self.name)
|
|
122
123
|
self.padding = validator.check_string(padding.upper(), ['VALID', 'SAME'], 'padding', self.name)
|
|
123
124
|
self.add_prim_attr("padding", self.padding)
|
|
124
|
-
self.is_ge = context.get_context("enable_ge")
|
|
125
125
|
|
|
126
126
|
|
|
127
127
|
class Quant(PrimitiveWithInfer):
|
|
@@ -502,6 +502,109 @@ class Receive(PrimitiveWithInfer):
|
|
|
502
502
|
return self.get_attr_dict()['dtype']
|
|
503
503
|
|
|
504
504
|
|
|
505
|
+
class Reduce(PrimitiveWithInfer):
|
|
506
|
+
"""
|
|
507
|
+
Reduces tensor across the processes in the specified communication group.
|
|
508
|
+
|
|
509
|
+
Note:
|
|
510
|
+
Only process with destination rank receives the reduced output.
|
|
511
|
+
Other processes only get a tensor with shape [1], which has no mathematical meaning.
|
|
512
|
+
|
|
513
|
+
Args:
|
|
514
|
+
dest_rank (int): Specifies the rank of the process that receives the reduced output.
|
|
515
|
+
op (str, optional): Specifies an operation used for element-wise reductions, like sum, prod, max, and min.
|
|
516
|
+
On the CPU, only 'sum' is supported. Default: ``ReduceOp.SUM`` .
|
|
517
|
+
group (str, optional): The communication group to work on.
|
|
518
|
+
Default: "hccl_world_group" on Ascend, "nccl_world_group" on GPU.
|
|
519
|
+
|
|
520
|
+
Inputs:
|
|
521
|
+
- **input_x** (Tensor) - The shape of tensor is :math:`(x_1, x_2, ..., x_R)`.
|
|
522
|
+
|
|
523
|
+
Examples:
|
|
524
|
+
>>> import mindspore.ops as ops
|
|
525
|
+
>>> import mindspore.nn as nn
|
|
526
|
+
>>> from mindspore.communication import init
|
|
527
|
+
>>> from mindspore import Tensor
|
|
528
|
+
>>> import numpy as np
|
|
529
|
+
>>> # Launch 4 processes.
|
|
530
|
+
>>> init()
|
|
531
|
+
>>> class ReduceNet(nn.Cell):
|
|
532
|
+
>>> def __init__(self):
|
|
533
|
+
>>> super(Net, self).__init__()
|
|
534
|
+
>>> self.reduce = ops.Reduce(dest_rank=1)
|
|
535
|
+
>>>
|
|
536
|
+
>>> def construct(self, x):
|
|
537
|
+
>>> out = self.reduce(x)
|
|
538
|
+
>>> return out
|
|
539
|
+
>>> input = Tensor(np.ones([2, 8]).astype(np.float32))
|
|
540
|
+
>>> net = ReduceNet()
|
|
541
|
+
>>> output = net(input)
|
|
542
|
+
>>> print(output)
|
|
543
|
+
Process with rank 1: [[4. 4. 4. 4. 4. 4. 4. 4.]
|
|
544
|
+
[4. 4. 4. 4. 4. 4. 4. 4.]],
|
|
545
|
+
Other proesses: [0.].
|
|
546
|
+
"""
|
|
547
|
+
|
|
548
|
+
@prim_attr_register
|
|
549
|
+
def __init__(self, dest_rank, op=ReduceOp.SUM, group=GlobalComm.WORLD_COMM_GROUP):
|
|
550
|
+
self.dest_rank = dest_rank
|
|
551
|
+
self.op = op
|
|
552
|
+
self.group = group
|
|
553
|
+
|
|
554
|
+
def infer_shape(self, x_shape):
|
|
555
|
+
# The process with dest_rank returns the reduced output.
|
|
556
|
+
# Other processes only gets a tensor with shape [1], which has no mathematical meaning.
|
|
557
|
+
if self.dest_rank == get_rank():
|
|
558
|
+
return x_shape
|
|
559
|
+
return [1]
|
|
560
|
+
|
|
561
|
+
def infer_dtype(self, x_dtype):
|
|
562
|
+
return x_dtype
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
class Barrier(PrimitiveWithInfer):
|
|
566
|
+
"""
|
|
567
|
+
Synchronizes all processes in the specified group.
|
|
568
|
+
|
|
569
|
+
Note:
|
|
570
|
+
After calling this collective operator,
|
|
571
|
+
this process will be blocked until all other processes in the group call this operator.
|
|
572
|
+
|
|
573
|
+
Args:
|
|
574
|
+
group (str, optional): The communication group to work on.
|
|
575
|
+
Default: "hccl_world_group" on Ascend, "nccl_world_group" on GPU.
|
|
576
|
+
|
|
577
|
+
Examples:
|
|
578
|
+
>>> import mindspore.ops as ops
|
|
579
|
+
>>> import mindspore.nn as nn
|
|
580
|
+
>>> from mindspore.communication import init
|
|
581
|
+
>>> from mindspore import Tensor
|
|
582
|
+
>>> import numpy as np
|
|
583
|
+
>>> # Launch 4 processes.
|
|
584
|
+
>>> init()
|
|
585
|
+
>>> class BarrierNet(nn.Cell):
|
|
586
|
+
>>> def __init__(self):
|
|
587
|
+
>>> super(Net, self).__init__()
|
|
588
|
+
>>> self.barrier = ops.Barrier()
|
|
589
|
+
>>>
|
|
590
|
+
>>> def construct(self):
|
|
591
|
+
>>> self.barrier()
|
|
592
|
+
>>> net = BarrierNet()
|
|
593
|
+
>>> net()
|
|
594
|
+
"""
|
|
595
|
+
|
|
596
|
+
@prim_attr_register
|
|
597
|
+
def __init__(self, group=GlobalComm.WORLD_COMM_GROUP):
|
|
598
|
+
self.group = group
|
|
599
|
+
self.add_prim_attr("side_effect_mem", True)
|
|
600
|
+
|
|
601
|
+
def infer_shape(self):
|
|
602
|
+
return [1]
|
|
603
|
+
|
|
604
|
+
def infer_dtype(self):
|
|
605
|
+
return mstype.float32
|
|
606
|
+
|
|
607
|
+
|
|
505
608
|
class MatrixSetDiag(PrimitiveWithInfer):
|
|
506
609
|
r"""
|
|
507
610
|
Modifies the batched diagonal part of a batched tensor.
|
|
@@ -1843,16 +1946,32 @@ class Format(PrimitiveWithInfer):
|
|
|
1843
1946
|
def __init__(self):
|
|
1844
1947
|
self.init_prim_io_names(inputs=['string', 'args'], outputs=['string'])
|
|
1845
1948
|
|
|
1949
|
+
|
|
1846
1950
|
def __infer__(self, str_, *var):
|
|
1847
|
-
|
|
1951
|
+
def check_variable(str_, var):
|
|
1952
|
+
if _check_contains_variable(str_['dtype'], str_['value']):
|
|
1953
|
+
return True
|
|
1954
|
+
|
|
1955
|
+
for item in var:
|
|
1956
|
+
if _check_contains_variable(item['dtype'], item['value']):
|
|
1957
|
+
return True
|
|
1958
|
+
return False
|
|
1959
|
+
|
|
1960
|
+
|
|
1961
|
+
if check_variable(str_, var):
|
|
1962
|
+
return {'dtype': mstype.string, 'shape': [], 'value': None}
|
|
1963
|
+
|
|
1964
|
+
|
|
1965
|
+
str_value = str_['value']
|
|
1966
|
+
kwargs = dict()
|
|
1848
1967
|
var_value = list()
|
|
1849
|
-
|
|
1850
|
-
raise ValueError("str.format not support to input a variable.")
|
|
1968
|
+
|
|
1851
1969
|
for item in var:
|
|
1852
|
-
if item["
|
|
1853
|
-
|
|
1970
|
+
if isinstance(item["dtype"], typing.Keyword):
|
|
1971
|
+
kwargs.update(item["value"])
|
|
1854
1972
|
var_value.append(item["value"])
|
|
1855
|
-
|
|
1973
|
+
|
|
1974
|
+
value = str_value.format(*var_value, **kwargs)
|
|
1856
1975
|
return {'dtype': mstype.string, 'shape': [], 'value': value}
|
|
1857
1976
|
|
|
1858
1977
|
|
|
@@ -2588,3 +2707,85 @@ class IsConstant(Primitive):
|
|
|
2588
2707
|
|
|
2589
2708
|
def __call__(self, x):
|
|
2590
2709
|
return True
|
|
2710
|
+
|
|
2711
|
+
|
|
2712
|
+
class SelectView(Primitive):
|
|
2713
|
+
r"""
|
|
2714
|
+
Select tensor of view
|
|
2715
|
+
"""
|
|
2716
|
+
|
|
2717
|
+
@prim_attr_register
|
|
2718
|
+
def __init__(self):
|
|
2719
|
+
self.init_prim_io_names(inputs=['input_tensor', 'input_indices', 'axis'], outputs=['output'])
|
|
2720
|
+
|
|
2721
|
+
|
|
2722
|
+
class CopyWithSlice(Primitive):
|
|
2723
|
+
r"""
|
|
2724
|
+
Copy data to discontinuous tensor
|
|
2725
|
+
"""
|
|
2726
|
+
@prim_attr_register
|
|
2727
|
+
def __init__(self):
|
|
2728
|
+
self.add_prim_attr('side_effect_mem', True)
|
|
2729
|
+
self.init_prim_io_names(inputs=['x', 'y'], outputs=['x'])
|
|
2730
|
+
|
|
2731
|
+
|
|
2732
|
+
class MoeFFN(Primitive):
|
|
2733
|
+
r"""
|
|
2734
|
+
The MoeFFN computation is similar to Feed-Forward Network, it contains matmul + gelu + matmul.
|
|
2735
|
+
|
|
2736
|
+
Args:
|
|
2737
|
+
activation (string): The activation type, set to 'fastgelu' or 'gelu'.
|
|
2738
|
+
Only support 'fastgelu' for now. Default: "fastgelu".
|
|
2739
|
+
|
|
2740
|
+
Inputs:
|
|
2741
|
+
- **x** (Tensor) - The input tensor with data type of int8, float16.
|
|
2742
|
+
Input tensor of shape :math:`(batch\_size * seq\_length, hidden\_size)`.
|
|
2743
|
+
- **expert_tokens** (Tensor]) - The expert tokens tensor with data type of int64.
|
|
2744
|
+
Expert tokens tensor of shape :math:`(16,)`. For example, `(2, 1, 0, .., 9)`
|
|
2745
|
+
indicate that the 0th expert deals with 2 tokens, the 1th expert deals with 1 tokens,
|
|
2746
|
+
the 2th expert do noting and so on.
|
|
2747
|
+
- **weight1** (Tensor) - The weight1 tensor with data type of float16.
|
|
2748
|
+
Weight1 tensor of shape :math:`(expert\_num, hidden\_size, ffn\_hidden\_size)`.
|
|
2749
|
+
- **bias1** (Tensor) - The bias1 tensor with data type of float16.
|
|
2750
|
+
Bias1 tensor of shape :math:`(expert\_num, ffn\_hidden\_size)`.
|
|
2751
|
+
- **weight2** (Tensor) - The weight2 tensor with data type of float16.
|
|
2752
|
+
Weight2 tensor of shape :math:`(expert\_num, ffn\_hidden\_size, hidden\_size)`.
|
|
2753
|
+
- **bias2** (Tensor) - The bias2 tensor with data type of float16.
|
|
2754
|
+
Bias2 tensor of shape :math:`(expert\_num, hidden\_size)`.
|
|
2755
|
+
- **scale** (Tensor) - The scale tensor with data type of float16. Not enable now.
|
|
2756
|
+
- **offset** (Tensor) - The offset tensor with data type of float16. Not enable now.
|
|
2757
|
+
- **deq_scale1** (Tensor) - The deq_scale1 tensor with data type of float16. Not enable now.
|
|
2758
|
+
- **deq_scale2** (Tensor) - The deq_scale2 tensor with data type of float16. Not enable now.
|
|
2759
|
+
|
|
2760
|
+
Outputs:
|
|
2761
|
+
Tensor of shape :math:`(batch\_size * seq\_length, hidden\_size)`. With data type of float16.
|
|
2762
|
+
|
|
2763
|
+
Supported Platforms:
|
|
2764
|
+
``Ascend``
|
|
2765
|
+
|
|
2766
|
+
Examples:
|
|
2767
|
+
>>> from mindspore.ops.operations import _inner_ops
|
|
2768
|
+
>>> b = 4
|
|
2769
|
+
>>> s = 128
|
|
2770
|
+
>>> h = 1024
|
|
2771
|
+
>>> h_f = 4 * h
|
|
2772
|
+
>>> e = 16
|
|
2773
|
+
>>> x = Tensor(np.random.randn(b * s, h).astype(np.float16))
|
|
2774
|
+
>>> expert_tokens = Tensor(np.random.randn(e).astype(np.int64))
|
|
2775
|
+
>>> w1 = Tensor(np.random.randn(e, h, h_f).astype(np.float16))
|
|
2776
|
+
>>> bias1 = Tensor(np.random.randn(e, h_f).astype(np.float16))
|
|
2777
|
+
>>> w2 = Tensor(np.random.randn(e, h_f, h).astype(np.float16))
|
|
2778
|
+
>>> bias2 = Tensor(np.random.randn(e, h).astype(np.float16))
|
|
2779
|
+
>>> moe_ffn = _inner_ops.MoeFFN("fastgelu")
|
|
2780
|
+
>>> output = moe_ffn(x, w1, bias1, w2, bias2)
|
|
2781
|
+
>>> print(output)
|
|
2782
|
+
"""
|
|
2783
|
+
|
|
2784
|
+
@prim_attr_register
|
|
2785
|
+
def __init__(self, activation):
|
|
2786
|
+
"""Initialize MoeFFN."""
|
|
2787
|
+
self.init_prim_io_names(inputs=["x", "expert_tokens", "weight1", "bias1",
|
|
2788
|
+
"weight2", "bias2", "scale", "offset", "deq_scale1"
|
|
2789
|
+
"deq_scale2"],
|
|
2790
|
+
outputs=["y"])
|
|
2791
|
+
self.activation = activation
|
|
@@ -269,7 +269,7 @@ class FakeLearnedScaleQuantPerLayer(PrimitiveWithInfer):
|
|
|
269
269
|
- **quant_max** (Tensor) : Value of the quantization range.
|
|
270
270
|
|
|
271
271
|
Outputs:
|
|
272
|
-
- Tensor: Simulates quantize tensor of `input_x
|
|
272
|
+
- Tensor: Simulates quantize tensor of `input_x`, with the same type and shape as the `input_x`.
|
|
273
273
|
|
|
274
274
|
Examples:
|
|
275
275
|
>>> input_tensor = Tensor(np.random.rand(3, 16, 5, 5), mstype.float32)
|
|
@@ -419,7 +419,7 @@ class FakeLearnedScaleQuantPerChannel(PrimitiveWithInfer):
|
|
|
419
419
|
- **quant_max** (Tensor) : Value of the quantization range.
|
|
420
420
|
|
|
421
421
|
Outputs:
|
|
422
|
-
- Tensor: Simulates quantize tensor of `input_x
|
|
422
|
+
- Tensor: Simulates quantize tensor of `input_x`, with the same type and shape as the `input_x`.
|
|
423
423
|
|
|
424
424
|
Examples:
|
|
425
425
|
>>> input_tensor = Tensor(np.random.rand(3, 16, 5, 5), mstype.float32)
|
|
@@ -975,7 +975,7 @@ class FakeQuantPerChannel(PrimitiveWithInfer):
|
|
|
975
975
|
>>> result = fake_quant(input_x, _min, _max)
|
|
976
976
|
"""
|
|
977
977
|
support_quant_bit = [4, 7, 8]
|
|
978
|
-
ascend_support_x_rank = [2, 4]
|
|
978
|
+
ascend_support_x_rank = [2, 3, 4]
|
|
979
979
|
|
|
980
980
|
@prim_attr_register
|
|
981
981
|
def __init__(self,
|
|
@@ -1008,11 +1008,7 @@ class FakeQuantPerChannel(PrimitiveWithInfer):
|
|
|
1008
1008
|
self.ema_decay = validator.check_float_range(ema_decay, 0, 1, validator.INC_BOTH, 'ema_decay', self.name)
|
|
1009
1009
|
self.num_bits = validator.check_positive_int(num_bits, 'num_bits', self.name)
|
|
1010
1010
|
self.quant_delay = validator.check_non_negative_int(quant_delay, 'quant_delay', self.name)
|
|
1011
|
-
|
|
1012
|
-
self.channel_axis = validator.check_int_range(channel_axis, 0, 1, validator.INC_BOTH,
|
|
1013
|
-
'channel_axis', self.name)
|
|
1014
|
-
else:
|
|
1015
|
-
self.channel_axis = validator.check_non_negative_int(channel_axis, 'channel_axis', self.name)
|
|
1011
|
+
self.channel_axis = validator.check_non_negative_int(channel_axis, 'channel_axis', self.name)
|
|
1016
1012
|
self.init_prim_io_names(inputs=['x', 'min', 'max'], outputs=['out'])
|
|
1017
1013
|
|
|
1018
1014
|
def infer_shape(self, x_shape, min_shape, max_shape):
|
|
@@ -196,6 +196,9 @@ class SequenceSlice(Primitive):
|
|
|
196
196
|
"""Initialize SequenceSlice"""
|
|
197
197
|
self.init_prim_io_names(inputs=['seq', 'start', 'stop', 'step'], outputs=['output_data'])
|
|
198
198
|
|
|
199
|
+
def __call__(self, sequence, start, stop, step):
|
|
200
|
+
return sequence[start:stop:step]
|
|
201
|
+
|
|
199
202
|
|
|
200
203
|
class InSequence(Primitive):
|
|
201
204
|
r"""
|
|
@@ -223,6 +226,9 @@ class InSequence(Primitive):
|
|
|
223
226
|
"""Initialize ListAppend"""
|
|
224
227
|
self.init_prim_io_names(inputs=['element', 'input_data'], outputs=['output_data'])
|
|
225
228
|
|
|
229
|
+
def __call__(self, target, sequence):
|
|
230
|
+
return target in sequence
|
|
231
|
+
|
|
226
232
|
|
|
227
233
|
class SequenceSliceSetItem(Primitive):
|
|
228
234
|
r"""
|
|
@@ -291,6 +297,9 @@ class SequenceAdd(Primitive):
|
|
|
291
297
|
"""Initialize SequenceAdd"""
|
|
292
298
|
self.init_prim_io_names(inputs=['input_1', 'input_2'], outputs=['output_data'])
|
|
293
299
|
|
|
300
|
+
def __call__(self, x, y):
|
|
301
|
+
return x + y
|
|
302
|
+
|
|
294
303
|
|
|
295
304
|
class SequenceAddOffset(Primitive):
|
|
296
305
|
r"""
|
|
@@ -536,6 +545,9 @@ class SequenceCount(Primitive):
|
|
|
536
545
|
"""Initialize SequenceCount"""
|
|
537
546
|
self.init_prim_io_names(inputs=['sequence', 'target'], outputs=['output_data'])
|
|
538
547
|
|
|
548
|
+
def __call__(self, sequence, target):
|
|
549
|
+
return sequence.count(target)
|
|
550
|
+
|
|
539
551
|
|
|
540
552
|
class SequenceIndex(Primitive):
|
|
541
553
|
r"""
|
|
@@ -566,6 +578,9 @@ class SequenceIndex(Primitive):
|
|
|
566
578
|
"""Initialize SequenceIndex"""
|
|
567
579
|
self.init_prim_io_names(inputs=['sequence', 'target', 'start', 'end'], outputs=['output_data'])
|
|
568
580
|
|
|
581
|
+
def __call__(self, sequence, target, start=None, end=None):
|
|
582
|
+
return sequence.index(target, start, end)
|
|
583
|
+
|
|
569
584
|
|
|
570
585
|
class SequenceMul(Primitive):
|
|
571
586
|
r"""
|
|
@@ -594,6 +609,9 @@ class SequenceMul(Primitive):
|
|
|
594
609
|
"""Initialize SequenceMul"""
|
|
595
610
|
self.init_prim_io_names(inputs=['sequence', 'scalar'], outputs=['output_data'])
|
|
596
611
|
|
|
612
|
+
def __call__(self, sequence, scalar):
|
|
613
|
+
return sequence * scalar
|
|
614
|
+
|
|
597
615
|
|
|
598
616
|
class SequenceZerosLike(Primitive):
|
|
599
617
|
r"""
|
|
@@ -946,6 +964,9 @@ class tuple_greater_than(Primitive):
|
|
|
946
964
|
self.init_prim_io_names(
|
|
947
965
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
948
966
|
|
|
967
|
+
def __call__(self, x, y):
|
|
968
|
+
return x > y
|
|
969
|
+
|
|
949
970
|
|
|
950
971
|
class tuple_greater_equal(Primitive):
|
|
951
972
|
r"""
|
|
@@ -974,6 +995,9 @@ class tuple_greater_equal(Primitive):
|
|
|
974
995
|
self.init_prim_io_names(
|
|
975
996
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
976
997
|
|
|
998
|
+
def __call__(self, x, y):
|
|
999
|
+
return x >= y
|
|
1000
|
+
|
|
977
1001
|
|
|
978
1002
|
class list_greater_than(Primitive):
|
|
979
1003
|
r"""
|
|
@@ -1002,6 +1026,9 @@ class list_greater_than(Primitive):
|
|
|
1002
1026
|
self.init_prim_io_names(
|
|
1003
1027
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
1004
1028
|
|
|
1029
|
+
def __call__(self, x, y):
|
|
1030
|
+
return x > y
|
|
1031
|
+
|
|
1005
1032
|
|
|
1006
1033
|
class list_greater_equal(Primitive):
|
|
1007
1034
|
r"""
|
|
@@ -1030,6 +1057,9 @@ class list_greater_equal(Primitive):
|
|
|
1030
1057
|
self.init_prim_io_names(
|
|
1031
1058
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
1032
1059
|
|
|
1060
|
+
def __call__(self, x, y):
|
|
1061
|
+
return x >= y
|
|
1062
|
+
|
|
1033
1063
|
|
|
1034
1064
|
class tuple_lt(Primitive):
|
|
1035
1065
|
r"""
|
|
@@ -1058,6 +1088,9 @@ class tuple_lt(Primitive):
|
|
|
1058
1088
|
self.init_prim_io_names(
|
|
1059
1089
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
1060
1090
|
|
|
1091
|
+
def __call__(self, x, y):
|
|
1092
|
+
return x < y
|
|
1093
|
+
|
|
1061
1094
|
|
|
1062
1095
|
class list_lt(Primitive):
|
|
1063
1096
|
r"""
|
|
@@ -1086,6 +1119,9 @@ class list_lt(Primitive):
|
|
|
1086
1119
|
self.init_prim_io_names(
|
|
1087
1120
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
1088
1121
|
|
|
1122
|
+
def __call__(self, x, y):
|
|
1123
|
+
return x < y
|
|
1124
|
+
|
|
1089
1125
|
|
|
1090
1126
|
class tuple_le(Primitive):
|
|
1091
1127
|
r"""
|
|
@@ -1114,6 +1150,9 @@ class tuple_le(Primitive):
|
|
|
1114
1150
|
self.init_prim_io_names(
|
|
1115
1151
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
1116
1152
|
|
|
1153
|
+
def __call__(self, x, y):
|
|
1154
|
+
return x <= y
|
|
1155
|
+
|
|
1117
1156
|
|
|
1118
1157
|
class list_le(Primitive):
|
|
1119
1158
|
r"""
|
|
@@ -1141,3 +1180,6 @@ class list_le(Primitive):
|
|
|
1141
1180
|
"""Initialize list_le"""
|
|
1142
1181
|
self.init_prim_io_names(
|
|
1143
1182
|
inputs=['input_0', 'input_1'], outputs=['output_data'])
|
|
1183
|
+
|
|
1184
|
+
def __call__(self, x, y):
|
|
1185
|
+
return x <= y
|