mindspore 2.1.0__cp39-cp39-win_amd64.whl → 2.2.10__cp39-cp39-win_amd64.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/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +4 -1
- mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -1
- mindspore/_checkparam.py +23 -29
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
- mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
- mindspore/_extends/graph_kernel/splitter.py +4 -11
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
- mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
- mindspore/_extends/parse/__init__.py +12 -15
- mindspore/_extends/parse/namespace.py +7 -33
- mindspore/_extends/parse/parser.py +61 -71
- mindspore/_extends/parse/resources.py +1 -1
- mindspore/_extends/parse/standard_method.py +74 -104
- mindspore/_extends/parse/trope.py +1 -1
- mindspore/_extends/remote/kernel_build_server.py +25 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/amp.py +47 -11
- mindspore/atlprov.dll +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/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +5 -3
- mindspore/common/_jit_fallback_utils.py +6 -0
- mindspore/common/_register_for_adapter.py +2 -0
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +13 -0
- mindspore/common/_utils.py +13 -0
- mindspore/common/api.py +174 -259
- mindspore/common/auto_dynamic_shape.py +494 -0
- mindspore/common/dtype.py +18 -11
- mindspore/common/dump.py +6 -4
- mindspore/common/initializer.py +14 -14
- mindspore/common/jit_config.py +33 -15
- mindspore/common/lazy_inline.py +126 -7
- mindspore/common/mindir_util.py +101 -0
- mindspore/common/parameter.py +51 -41
- mindspore/common/seed.py +4 -4
- mindspore/common/sparse_tensor.py +13 -14
- mindspore/common/tensor.py +243 -165
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +83 -4
- mindspore/communication/management.py +152 -84
- mindspore/config/op_info.config +14 -3
- mindspore/context.py +152 -61
- mindspore/dataset/__init__.py +5 -5
- mindspore/dataset/audio/__init__.py +2 -2
- mindspore/dataset/audio/transforms.py +52 -52
- mindspore/dataset/callback/ds_callback.py +16 -2
- mindspore/dataset/core/config.py +68 -51
- mindspore/dataset/engine/cache_client.py +28 -5
- mindspore/dataset/engine/datasets.py +250 -112
- mindspore/dataset/engine/datasets_audio.py +43 -211
- mindspore/dataset/engine/datasets_standard_format.py +16 -35
- mindspore/dataset/engine/datasets_text.py +43 -67
- mindspore/dataset/engine/datasets_user_defined.py +86 -100
- mindspore/dataset/engine/datasets_vision.py +219 -1029
- mindspore/dataset/engine/iterators.py +11 -4
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
- mindspore/dataset/engine/obs/util.py +3 -0
- mindspore/dataset/engine/samplers.py +1 -1
- mindspore/dataset/engine/validators.py +19 -5
- mindspore/dataset/text/__init__.py +3 -3
- mindspore/dataset/text/transforms.py +101 -127
- mindspore/dataset/text/utils.py +205 -138
- mindspore/dataset/transforms/__init__.py +1 -1
- mindspore/dataset/transforms/py_transforms_util.py +40 -12
- mindspore/dataset/transforms/transforms.py +95 -40
- mindspore/dataset/utils/browse_dataset.py +8 -2
- mindspore/dataset/utils/line_reader.py +17 -19
- mindspore/dataset/vision/__init__.py +3 -3
- mindspore/dataset/vision/c_transforms.py +6 -3
- mindspore/dataset/vision/transforms.py +409 -287
- mindspore/dataset/vision/utils.py +13 -14
- mindspore/dataset/vision/validators.py +11 -1
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/map_parameter.py +14 -0
- mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
- mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
- mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
- mindspore/experimental/optim/lr_scheduler.py +1427 -0
- mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
- mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
- mindspore/gen_ops.py +273 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/data_type.h +2 -1
- mindspore/include/api/graph.h +0 -15
- mindspore/include/api/kernel.h +2 -0
- mindspore/include/api/kernel_api.h +37 -12
- mindspore/include/api/model.h +17 -14
- mindspore/include/api/status.h +8 -3
- mindspore/include/api/types.h +37 -4
- mindspore/include/c_api/ms/abstract.h +67 -0
- mindspore/include/c_api/ms/attribute.h +197 -0
- mindspore/include/c_api/ms/base/handle_types.h +43 -0
- mindspore/include/c_api/ms/base/macros.h +32 -0
- mindspore/include/c_api/ms/base/status.h +33 -0
- mindspore/include/c_api/ms/base/types.h +282 -0
- mindspore/include/c_api/ms/context.h +102 -0
- mindspore/include/c_api/ms/graph.h +160 -0
- mindspore/include/c_api/ms/node.h +606 -0
- mindspore/include/c_api/ms/tensor.h +161 -0
- mindspore/include/c_api/ms/value.h +84 -0
- mindspore/include/dataset/constants.h +6 -5
- mindspore/include/dataset/execute.h +23 -13
- mindspore/include/dataset/text.h +26 -26
- mindspore/include/dataset/transforms.h +13 -13
- mindspore/include/dataset/vision.h +60 -60
- mindspore/include/dataset/vision_ascend.h +5 -6
- mindspore/include/dataset/vision_lite.h +17 -17
- mindspore/jpeg62.dll +0 -0
- mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
- mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
- mindspore/mindspore_backend.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_shared_lib.dll +0 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/__init__.py +0 -2
- mindspore/nn/cell.py +313 -74
- mindspore/nn/dynamic_lr.py +21 -21
- mindspore/nn/layer/activation.py +22 -30
- mindspore/nn/layer/basic.py +15 -13
- mindspore/nn/layer/channel_shuffle.py +1 -1
- mindspore/nn/layer/container.py +271 -9
- mindspore/nn/layer/conv.py +323 -204
- mindspore/nn/layer/dense.py +8 -5
- mindspore/nn/layer/embedding.py +33 -27
- mindspore/nn/layer/flash_attention.py +141 -88
- mindspore/nn/layer/image.py +8 -6
- mindspore/nn/layer/math.py +16 -25
- mindspore/nn/layer/normalization.py +107 -66
- mindspore/nn/layer/padding.py +1 -1
- mindspore/nn/layer/pooling.py +131 -109
- mindspore/nn/layer/rnn_cells.py +27 -22
- mindspore/nn/layer/rnns.py +13 -16
- mindspore/nn/layer/thor_layer.py +1 -1
- mindspore/nn/layer/transformer.py +221 -154
- mindspore/nn/learning_rate_schedule.py +9 -1
- mindspore/nn/loss/loss.py +235 -174
- mindspore/nn/optim/ada_grad.py +2 -1
- mindspore/nn/optim/adadelta.py +1 -0
- mindspore/nn/optim/adafactor.py +2 -1
- mindspore/nn/optim/adam.py +7 -4
- mindspore/nn/optim/adamax.py +3 -2
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/asgd.py +2 -3
- mindspore/nn/optim/ftrl.py +6 -5
- mindspore/nn/optim/lamb.py +7 -4
- mindspore/nn/optim/lars.py +1 -1
- mindspore/nn/optim/lazyadam.py +5 -3
- mindspore/nn/optim/momentum.py +2 -1
- mindspore/nn/optim/optimizer.py +53 -4
- mindspore/nn/optim/proximal_ada_grad.py +3 -4
- mindspore/nn/optim/rmsprop.py +4 -3
- mindspore/nn/optim/rprop.py +23 -12
- mindspore/nn/optim/sgd.py +26 -11
- mindspore/nn/optim/thor.py +9 -7
- mindspore/nn/probability/bijector/bijector.py +5 -5
- mindspore/nn/probability/bijector/power_transform.py +27 -27
- mindspore/nn/probability/bijector/softplus.py +3 -3
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
- mindspore/nn/probability/distribution/bernoulli.py +5 -5
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +7 -7
- mindspore/nn/probability/distribution/cauchy.py +0 -1
- mindspore/nn/probability/distribution/distribution.py +3 -3
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +4 -4
- mindspore/nn/probability/distribution/gumbel.py +4 -4
- mindspore/nn/probability/distribution/log_normal.py +2 -2
- mindspore/nn/probability/distribution/logistic.py +2 -2
- mindspore/nn/probability/distribution/poisson.py +4 -4
- mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
- mindspore/nn/probability/distribution/uniform.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +84 -34
- mindspore/nn/wrap/grad_reducer.py +8 -5
- mindspore/nn/wrap/loss_scale.py +105 -42
- mindspore/numpy/array_creations.py +1 -2
- mindspore/numpy/array_ops.py +3 -2
- mindspore/numpy/utils_const.py +5 -5
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/_grad_experimental/__init__.py +0 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
- mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
- mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
- mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
- mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
- mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
- mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
- mindspore/ops/_op_impl/aicpu/add.py +3 -3
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/aicpu/eps.py +32 -0
- mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
- mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
- mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
- mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
- mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
- mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
- mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
- mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
- mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
- mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
- mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
- mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
- mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
- mindspore/ops/_op_impl/tbe/__init__.py +4 -4
- mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +1 -1
- mindspore/ops/_tracefunc.py +45 -13
- mindspore/ops/_utils/utils.py +6 -1
- mindspore/ops/_vmap/vmap_array_ops.py +3 -3
- mindspore/ops/_vmap/vmap_base.py +3 -3
- mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
- mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
- mindspore/ops/_vmap/vmap_math_ops.py +5 -2
- mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
- mindspore/ops/arg_dtype_cast.py +54 -0
- mindspore/ops/composite/base.py +37 -10
- mindspore/ops/composite/math_ops.py +5 -4
- mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
- mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
- mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
- mindspore/ops/deprecated.py +304 -0
- mindspore/ops/function/__init__.py +4 -1
- mindspore/ops/function/array_func.py +174 -193
- mindspore/ops/function/clip_func.py +81 -13
- mindspore/ops/function/debug_func.py +1 -1
- mindspore/ops/function/grad/grad_func.py +18 -9
- mindspore/ops/function/image_func.py +10 -4
- mindspore/ops/function/linalg_func.py +5 -5
- mindspore/ops/function/math_func.py +575 -386
- mindspore/ops/function/nn_func.py +568 -260
- mindspore/ops/function/random_func.py +88 -57
- mindspore/ops/function/sparse_func.py +1 -1
- mindspore/ops/function/sparse_unary_func.py +14 -12
- mindspore/ops/function/vmap_func.py +6 -5
- mindspore/ops/functional.py +15 -10
- mindspore/ops/op_info_register.py +244 -25
- mindspore/ops/operations/__init__.py +28 -19
- mindspore/ops/operations/_grad_ops.py +72 -7
- mindspore/ops/operations/_inner_ops.py +350 -17
- mindspore/ops/operations/_quant_ops.py +4 -8
- mindspore/ops/operations/_sequence_ops.py +42 -0
- mindspore/ops/operations/array_ops.py +68 -282
- mindspore/ops/operations/comm_ops.py +107 -59
- mindspore/ops/operations/custom_ops.py +94 -70
- mindspore/ops/operations/debug_ops.py +8 -4
- mindspore/ops/operations/image_ops.py +18 -12
- mindspore/ops/operations/inner_ops.py +26 -3
- mindspore/ops/operations/math_ops.py +189 -141
- mindspore/ops/operations/nn_ops.py +794 -489
- mindspore/ops/operations/other_ops.py +0 -22
- mindspore/ops/operations/random_ops.py +53 -111
- mindspore/ops/operations/sparse_ops.py +3 -1
- mindspore/ops/primitive.py +24 -18
- mindspore/parallel/_auto_parallel_context.py +68 -8
- mindspore/parallel/_cost_model_context.py +2 -2
- mindspore/parallel/_offload_context.py +17 -3
- mindspore/parallel/_parallel_serialization.py +12 -5
- mindspore/parallel/_ps_context.py +12 -0
- mindspore/parallel/_tensor.py +18 -13
- mindspore/parallel/_transformer/layers.py +5 -3
- mindspore/parallel/_transformer/loss.py +1 -0
- mindspore/parallel/_transformer/moe.py +2 -2
- mindspore/parallel/_transformer/op_parallel_config.py +12 -1
- mindspore/parallel/_transformer/transformer.py +23 -3
- mindspore/parallel/_utils.py +11 -7
- mindspore/parallel/algo_parameter_config.py +85 -5
- mindspore/parallel/checkpoint_transform.py +19 -12
- mindspore/parallel/shard.py +21 -14
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +4 -2
- mindspore/profiler/envprofiling.py +1 -1
- mindspore/profiler/parser/aicpu_data_parser.py +5 -3
- mindspore/profiler/parser/ascend_flops_generator.py +2 -2
- mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
- mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
- mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
- mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
- mindspore/profiler/parser/ascend_op_generator.py +6 -6
- mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
- mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
- mindspore/profiler/parser/base_timeline_generator.py +10 -8
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +38 -22
- mindspore/profiler/parser/hccl_parser.py +16 -12
- mindspore/profiler/parser/integrator.py +22 -11
- mindspore/profiler/parser/memory_usage_parser.py +2 -2
- mindspore/profiler/parser/minddata_analyzer.py +12 -14
- mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
- mindspore/profiler/parser/msadvisor_parser.py +8 -4
- mindspore/profiler/parser/op_intermediate_parser.py +5 -2
- mindspore/profiler/parser/optime_parser.py +1 -1
- mindspore/profiler/parser/profiler_info.py +21 -2
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +179 -89
- mindspore/rewrite/api/node.py +102 -19
- mindspore/rewrite/api/node_type.py +5 -1
- mindspore/rewrite/api/pattern_engine.py +1 -1
- mindspore/rewrite/api/scoped_value.py +9 -17
- mindspore/rewrite/api/symbol_tree.py +131 -47
- mindspore/rewrite/ast_helpers/__init__.py +2 -1
- mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
- mindspore/rewrite/common/rewrite_elog.py +5 -1
- mindspore/rewrite/namer.py +33 -24
- mindspore/rewrite/namespace.py +14 -5
- mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
- mindspore/rewrite/node/call_function.py +79 -0
- mindspore/rewrite/node/cell_container.py +135 -0
- mindspore/rewrite/node/control_flow.py +88 -0
- mindspore/rewrite/{node.py → node/node.py} +273 -234
- mindspore/rewrite/node/node_manager.py +254 -0
- mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
- mindspore/rewrite/parsers/arguments_parser.py +22 -21
- mindspore/rewrite/parsers/assign_parser.py +216 -221
- mindspore/rewrite/parsers/attribute_parser.py +9 -7
- mindspore/rewrite/parsers/class_def_parser.py +174 -113
- mindspore/rewrite/parsers/constant_parser.py +9 -6
- mindspore/rewrite/parsers/container_parser.py +9 -7
- mindspore/rewrite/parsers/for_parser.py +36 -15
- mindspore/rewrite/parsers/function_def_parser.py +24 -16
- mindspore/rewrite/parsers/if_parser.py +28 -24
- mindspore/rewrite/parsers/module_parser.py +196 -25
- mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
- mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
- mindspore/rewrite/parsers/return_parser.py +6 -6
- mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
- mindspore/rewrite/sparsify/utils.py +1 -1
- mindspore/rewrite/symbol_tree.py +523 -578
- mindspore/rewrite/symbol_tree_builder.py +9 -193
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +6 -4
- mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
- mindspore/safeguard/rewrite_obfuscation.py +541 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/_utils.py +7 -3
- mindspore/train/amp.py +323 -123
- mindspore/train/anf_ir_pb2.py +14 -2
- mindspore/train/callback/_backup_and_restore.py +2 -12
- mindspore/train/callback/_callback.py +29 -4
- mindspore/train/callback/_checkpoint.py +23 -8
- mindspore/train/callback/_early_stop.py +2 -2
- mindspore/train/callback/_landscape.py +4 -4
- mindspore/train/callback/_loss_monitor.py +2 -2
- mindspore/train/callback/_on_request_exit.py +2 -2
- mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
- mindspore/train/callback/_summary_collector.py +15 -8
- mindspore/train/callback/_time_monitor.py +58 -5
- mindspore/train/data_sink.py +5 -11
- mindspore/train/dataset_helper.py +84 -57
- mindspore/train/loss_scale_manager.py +2 -2
- mindspore/train/metrics/__init__.py +3 -3
- mindspore/train/metrics/cosine_similarity.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +3 -2
- mindspore/train/metrics/mean_surface_distance.py +3 -2
- mindspore/train/metrics/metric.py +39 -19
- mindspore/train/metrics/roc.py +2 -2
- mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
- mindspore/train/mind_ir_pb2.py +85 -36
- mindspore/train/model.py +187 -47
- mindspore/train/serialization.py +487 -161
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/_writer_pool.py +3 -2
- mindspore/train/summary/summary_record.py +37 -17
- mindspore/train/train_thor/convert_utils.py +3 -3
- mindspore/train/train_thor/dataset_helper.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/METADATA +5 -3
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/RECORD +433 -479
- mindspore/_extends/graph_kernel/expander.py +0 -80
- mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
- mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
- mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
- mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
- mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
- mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
- mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
- mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
- mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
- mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
- mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
- mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
- mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
- mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
- mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
- mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
- mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
- mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
- mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
- mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
- mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
- mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
- mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
- mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
- mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
- mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
- mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
- mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
- mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
- mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
- mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
- mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
- mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
- mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
- mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
- mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
- mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
- mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
- mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
- mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
- mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
- mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
- mindspore/dataset/datapreprocess/__init__.py +0 -20
- mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
- mindspore/include/api/net.h +0 -142
- mindspore/nn/lr_scheduler.py +0 -262
- mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
- mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
- mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
- mindspore/rewrite/node_visitor.py +0 -44
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/WHEEL +0 -0
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/entry_points.txt +0 -0
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/top_level.txt +0 -0
|
@@ -21,14 +21,225 @@ import inspect
|
|
|
21
21
|
import json
|
|
22
22
|
import os
|
|
23
23
|
import functools
|
|
24
|
+
import platform
|
|
25
|
+
import hashlib
|
|
26
|
+
import shutil
|
|
24
27
|
|
|
25
28
|
from mindspore._c_expression import Oplib
|
|
26
29
|
from mindspore import _checkparam as validator
|
|
30
|
+
from mindspore import log as logger
|
|
31
|
+
|
|
32
|
+
if platform.system() == "Linux":
|
|
33
|
+
import fcntl
|
|
27
34
|
|
|
28
35
|
# path of built-in op info register.
|
|
29
36
|
BUILT_IN_OPS_REGISTER_PATH = "mindspore/ops/_op_impl"
|
|
30
37
|
BUILT_IN_CUSTOM_OPS_REGISTER_PATH = "mindspore/ops/_op_impl/_custom_op"
|
|
31
38
|
|
|
39
|
+
KEY_NAME = "name"
|
|
40
|
+
ASCEND_CUSTOM_OPP_PATH = "ASCEND_CUSTOM_OPP_PATH"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def _get_reg_info_attr(op_info, attr_name, default_value=None):
|
|
44
|
+
"""get attr value"""
|
|
45
|
+
for _, item in enumerate(op_info.get("attr", [])):
|
|
46
|
+
if item.get(KEY_NAME) == attr_name:
|
|
47
|
+
return item.get("defaultValue")
|
|
48
|
+
return default_value
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class _CustomInstaller:
|
|
52
|
+
"""save custom op registration information to a json file which will be used by GE"""
|
|
53
|
+
reg_info_hash = [] # used to avoid writing the same reg info to file multiple times
|
|
54
|
+
copied_paths = [] # used to avoid copying the same file multiple times
|
|
55
|
+
|
|
56
|
+
def __init__(self, op_info, func=None):
|
|
57
|
+
self.op_info = op_info
|
|
58
|
+
self.func = func
|
|
59
|
+
self.op_type = op_info.get("op_name") if not func else func.__name__
|
|
60
|
+
vendor_name = "ms"
|
|
61
|
+
custom_dir = os.path.join(os.path.realpath("./"), "vendors", vendor_name)
|
|
62
|
+
self._set_env(custom_dir)
|
|
63
|
+
op_impl_dir = os.path.join(custom_dir, "op_impl")
|
|
64
|
+
self.ai_core_config_dir = os.path.join(op_impl_dir, "ai_core", "tbe", "config")
|
|
65
|
+
self.ai_core_impl_dir = os.path.join(op_impl_dir, "ai_core", "tbe", vendor_name + "_impl")
|
|
66
|
+
self.ai_cpu_config_dir = os.path.join(op_impl_dir, "cpu", "config")
|
|
67
|
+
self.ai_cpu_impl_dir = os.path.join(op_impl_dir, "cpu", "aicpu_kernel", "impl")
|
|
68
|
+
|
|
69
|
+
@staticmethod
|
|
70
|
+
def _set_env(custom_opp_path):
|
|
71
|
+
"""set custom file path to env"""
|
|
72
|
+
if not os.environ.get(ASCEND_CUSTOM_OPP_PATH):
|
|
73
|
+
os.environ[ASCEND_CUSTOM_OPP_PATH] = custom_opp_path
|
|
74
|
+
else:
|
|
75
|
+
paths = os.environ[ASCEND_CUSTOM_OPP_PATH].split(':')
|
|
76
|
+
if custom_opp_path not in paths:
|
|
77
|
+
os.environ[ASCEND_CUSTOM_OPP_PATH] = custom_opp_path + ':' + os.environ[ASCEND_CUSTOM_OPP_PATH]
|
|
78
|
+
|
|
79
|
+
@staticmethod
|
|
80
|
+
def _create_dir(*dir_names):
|
|
81
|
+
"""create directory"""
|
|
82
|
+
for dir_name in dir_names:
|
|
83
|
+
if not os.path.isdir(dir_name):
|
|
84
|
+
try:
|
|
85
|
+
os.makedirs(dir_name, exist_ok=True)
|
|
86
|
+
except OSError as err:
|
|
87
|
+
if err.errno == 17: # File exists
|
|
88
|
+
pass
|
|
89
|
+
else:
|
|
90
|
+
raise err
|
|
91
|
+
|
|
92
|
+
@staticmethod
|
|
93
|
+
def _copy_file(src_path, dst_dir):
|
|
94
|
+
"""copy file"""
|
|
95
|
+
if not os.path.exists(src_path) or src_path in _CustomInstaller.copied_paths:
|
|
96
|
+
return
|
|
97
|
+
_CustomInstaller.copied_paths.append(src_path)
|
|
98
|
+
if os.path.isfile(src_path):
|
|
99
|
+
lock_file = os.path.join(dst_dir, "file.lock")
|
|
100
|
+
with os.fdopen(os.open(lock_file, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as f:
|
|
101
|
+
fcntl.flock(f.fileno(), fcntl.LOCK_EX)
|
|
102
|
+
shutil.copy(src_path, dst_dir)
|
|
103
|
+
|
|
104
|
+
def check(self):
|
|
105
|
+
"""check if the reg info need written"""
|
|
106
|
+
if platform.system() != "Linux":
|
|
107
|
+
return False
|
|
108
|
+
if not os.environ.get("MS_DEV_CUSTOM_OPP_PATH"):
|
|
109
|
+
# only process the first time import the mindspore module
|
|
110
|
+
return False
|
|
111
|
+
if self.op_info.get("target") in ["GPU", "CPU"]:
|
|
112
|
+
return False
|
|
113
|
+
sha256 = hashlib.sha256()
|
|
114
|
+
value = json.dumps(self.op_info, sort_keys=True).encode()
|
|
115
|
+
sha256.update(value)
|
|
116
|
+
hash_value = sha256.hexdigest()
|
|
117
|
+
if hash_value in _CustomInstaller.reg_info_hash:
|
|
118
|
+
return False
|
|
119
|
+
_CustomInstaller.reg_info_hash.append(hash_value)
|
|
120
|
+
return True
|
|
121
|
+
|
|
122
|
+
def _find_ai_cpu_so_path(self, so_file):
|
|
123
|
+
"""find the absolute path of so"""
|
|
124
|
+
current_path = os.path.dirname(os.path.abspath(__file__))
|
|
125
|
+
search_paths = [current_path + "/../lib", current_path + "/../lib/plugin/ascend"]
|
|
126
|
+
for path in search_paths:
|
|
127
|
+
so_path = os.path.join(path, so_file)
|
|
128
|
+
if os.path.exists(so_path):
|
|
129
|
+
return so_path
|
|
130
|
+
logger.warning("For Custom op '{}', can not find the aicpu so file '{}' in the following directories:\n{}"
|
|
131
|
+
.format(self.op_type, so_file, "\n".join(search_paths)))
|
|
132
|
+
return ""
|
|
133
|
+
|
|
134
|
+
def _gen_ai_core_reg_info(self, imply_path, func_name):
|
|
135
|
+
"""generate reg info"""
|
|
136
|
+
|
|
137
|
+
def _get_dtype_format(idx):
|
|
138
|
+
data_type = []
|
|
139
|
+
data_format = []
|
|
140
|
+
for _, dtype_format in enumerate(self.op_info.get("dtype_format", [])):
|
|
141
|
+
if not dtype_format[idx][0]:
|
|
142
|
+
data_type = None
|
|
143
|
+
else:
|
|
144
|
+
data_type.append(dtype_format[idx][0])
|
|
145
|
+
if not dtype_format[idx][1]:
|
|
146
|
+
data_format = None
|
|
147
|
+
else:
|
|
148
|
+
if dtype_format[idx][1] == "DefaultFormat":
|
|
149
|
+
data_format.append("ND")
|
|
150
|
+
else:
|
|
151
|
+
data_format.append(dtype_format[idx][1])
|
|
152
|
+
return data_type, data_format
|
|
153
|
+
|
|
154
|
+
op_info = {"opFile": {"value": os.path.splitext(os.path.basename(imply_path))[0]},
|
|
155
|
+
"opInterface": {"value": func_name}}
|
|
156
|
+
# attr
|
|
157
|
+
attrs_name = []
|
|
158
|
+
for _, item in enumerate(self.op_info.get("attr", [])):
|
|
159
|
+
attr_name = item.get(KEY_NAME)
|
|
160
|
+
attrs_name.append(attr_name)
|
|
161
|
+
key = "attr_" + attr_name
|
|
162
|
+
op_info[key] = {}
|
|
163
|
+
for k, v in item.items():
|
|
164
|
+
if k != KEY_NAME:
|
|
165
|
+
op_info[key][k] = v
|
|
166
|
+
if attrs_name:
|
|
167
|
+
op_info["attr"] = {"list": ",".join(attrs_name)}
|
|
168
|
+
# input and output
|
|
169
|
+
inputs = self.op_info.get("inputs", [])
|
|
170
|
+
outputs = self.op_info.get("outputs", [])
|
|
171
|
+
input_num = len(inputs)
|
|
172
|
+
output_num = len(outputs)
|
|
173
|
+
for i in range(input_num + output_num):
|
|
174
|
+
item = inputs[i] if i < input_num else outputs[i - input_num]
|
|
175
|
+
key = "input" if i < input_num else "output"
|
|
176
|
+
key += str(item.get("index"))
|
|
177
|
+
op_info[key] = {KEY_NAME: item.get(KEY_NAME),
|
|
178
|
+
"paramType": item.get("paramType", "required"),
|
|
179
|
+
"shape": item.get("shape", "all")}
|
|
180
|
+
dtype, formats = _get_dtype_format(i)
|
|
181
|
+
if dtype:
|
|
182
|
+
op_info[key]["dtype"] = ",".join(dtype)
|
|
183
|
+
if formats:
|
|
184
|
+
op_info[key]["format"] = ",".join(formats)
|
|
185
|
+
return op_info
|
|
186
|
+
|
|
187
|
+
@staticmethod
|
|
188
|
+
def _gen_ai_cpu_reg_info(so_file):
|
|
189
|
+
"""generate reg info"""
|
|
190
|
+
op_info = {"opInfo": {"computeCost": "100",
|
|
191
|
+
"engine": "DNN_VM_AICPU",
|
|
192
|
+
"flagAsync": "False",
|
|
193
|
+
"flagPartial": "False",
|
|
194
|
+
"functionName": "RunCpuKernel",
|
|
195
|
+
"kernelSo": so_file,
|
|
196
|
+
"opKernelLib": "CUSTAICPUKernel",
|
|
197
|
+
"userDefined": "True"}}
|
|
198
|
+
return op_info
|
|
199
|
+
|
|
200
|
+
def _save_op_info(self, dst_dir, file_name, op_info):
|
|
201
|
+
"""save op info file"""
|
|
202
|
+
repo = {}
|
|
203
|
+
save_path = os.path.join(dst_dir, file_name)
|
|
204
|
+
lock_file = os.path.join(dst_dir, "file.lock")
|
|
205
|
+
with os.fdopen(os.open(lock_file, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as f:
|
|
206
|
+
fcntl.flock(f.fileno(), fcntl.LOCK_EX)
|
|
207
|
+
if os.path.isfile(save_path):
|
|
208
|
+
with open(save_path, 'r') as fr:
|
|
209
|
+
json_str = fr.read()
|
|
210
|
+
json_str = "{}" if json_str == "" else json_str
|
|
211
|
+
repo = json.loads(json_str)
|
|
212
|
+
repo.update({self.op_type: op_info})
|
|
213
|
+
with os.fdopen(os.open(save_path, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as fw:
|
|
214
|
+
json.dump(repo, fw, sort_keys=True, indent=4, separators=(',', ':'))
|
|
215
|
+
|
|
216
|
+
def run(self):
|
|
217
|
+
"""save reg info to file"""
|
|
218
|
+
if not self.check():
|
|
219
|
+
return
|
|
220
|
+
so_name = _get_reg_info_attr(self.op_info, "cust_aicpu")
|
|
221
|
+
if so_name:
|
|
222
|
+
_CustomInstaller._create_dir(self.ai_cpu_config_dir, self.ai_cpu_impl_dir)
|
|
223
|
+
# copy so file
|
|
224
|
+
so_file = "lib" + so_name + ".so"
|
|
225
|
+
imply_path = self._find_ai_cpu_so_path(so_file)
|
|
226
|
+
self._copy_file(imply_path, self.ai_cpu_impl_dir)
|
|
227
|
+
# generate and copy reg info file
|
|
228
|
+
op_info = self._gen_ai_cpu_reg_info(so_file)
|
|
229
|
+
self._save_op_info(self.ai_cpu_config_dir, "cust_aicpu_kernel.json", op_info)
|
|
230
|
+
else:
|
|
231
|
+
_CustomInstaller._create_dir(self.ai_core_config_dir, self.ai_core_impl_dir)
|
|
232
|
+
# copy dsl file
|
|
233
|
+
imply_path = os.path.realpath(inspect.getfile(self.func))
|
|
234
|
+
self._copy_file(imply_path, self.ai_core_impl_dir)
|
|
235
|
+
# generate and copy reg info file
|
|
236
|
+
op_info = self._gen_ai_core_reg_info(imply_path, self.func.__name__)
|
|
237
|
+
self._copy_file(imply_path, self.ai_core_impl_dir)
|
|
238
|
+
for arc_name in ["ascend910", "ascend910b"]:
|
|
239
|
+
arc_dir = os.path.join(self.ai_core_config_dir, arc_name)
|
|
240
|
+
_CustomInstaller._create_dir(arc_dir)
|
|
241
|
+
self._save_op_info(arc_dir, "aic-{}-ops-info.json".format(arc_name), op_info)
|
|
242
|
+
|
|
32
243
|
|
|
33
244
|
def op_info_register(op_info):
|
|
34
245
|
r"""
|
|
@@ -125,6 +336,12 @@ def custom_info_register(*reg_info):
|
|
|
125
336
|
|
|
126
337
|
def decorator(func):
|
|
127
338
|
setattr(func, "reg_info", reg_info)
|
|
339
|
+
if reg_info:
|
|
340
|
+
used_reg_info = reg_info[0]
|
|
341
|
+
if isinstance(used_reg_info, dict):
|
|
342
|
+
# ai_cpu should be parsed inside CustomRegOp, skip it here
|
|
343
|
+
if not _get_reg_info_attr(used_reg_info, "cust_aicpu"):
|
|
344
|
+
_CustomInstaller(used_reg_info, func).run()
|
|
128
345
|
|
|
129
346
|
@functools.wraps(func)
|
|
130
347
|
def wrapper(*args, **kwargs):
|
|
@@ -140,7 +357,7 @@ class RegOp:
|
|
|
140
357
|
Base class for op info register.
|
|
141
358
|
|
|
142
359
|
Args:
|
|
143
|
-
op_name (str): Name of
|
|
360
|
+
op_name (str): Name of operator.
|
|
144
361
|
"""
|
|
145
362
|
|
|
146
363
|
def __init__(self, op_name=""):
|
|
@@ -167,7 +384,6 @@ class RegOp:
|
|
|
167
384
|
"""
|
|
168
385
|
if not isinstance(value, str):
|
|
169
386
|
raise TypeError("%s value must be str" % str(value))
|
|
170
|
-
return True
|
|
171
387
|
|
|
172
388
|
def _is_int(self, value):
|
|
173
389
|
"""
|
|
@@ -181,7 +397,6 @@ class RegOp:
|
|
|
181
397
|
"""
|
|
182
398
|
if not isinstance(value, int):
|
|
183
399
|
raise TypeError("%s value must be int" % str(value))
|
|
184
|
-
return True
|
|
185
400
|
|
|
186
401
|
def _is_bool(self, value):
|
|
187
402
|
"""
|
|
@@ -195,7 +410,6 @@ class RegOp:
|
|
|
195
410
|
"""
|
|
196
411
|
if not isinstance(value, bool):
|
|
197
412
|
raise TypeError("%s value must be bool" % str(value))
|
|
198
|
-
return True
|
|
199
413
|
|
|
200
414
|
@staticmethod
|
|
201
415
|
def _is_list(value):
|
|
@@ -210,7 +424,6 @@ class RegOp:
|
|
|
210
424
|
"""
|
|
211
425
|
if not isinstance(value, list):
|
|
212
426
|
raise TypeError("%s value must be list" % str(value))
|
|
213
|
-
return True
|
|
214
427
|
|
|
215
428
|
def _check_param(self, param_list, key_list, fn_list, kwargs):
|
|
216
429
|
"""
|
|
@@ -278,7 +491,9 @@ class RegOp:
|
|
|
278
491
|
self._is_string(arg[1])
|
|
279
492
|
if len(arg) == 3:
|
|
280
493
|
self._is_string(arg[2])
|
|
281
|
-
|
|
494
|
+
dtype_format.append(arg)
|
|
495
|
+
else:
|
|
496
|
+
dtype_format.append(arg)
|
|
282
497
|
self.dtype_format_.append(tuple(dtype_format))
|
|
283
498
|
return self
|
|
284
499
|
|
|
@@ -446,10 +661,10 @@ class AkgCpuRegOp(AkgRegOp):
|
|
|
446
661
|
|
|
447
662
|
class AiCPURegOp(CpuRegOp):
|
|
448
663
|
r"""
|
|
449
|
-
Class for AiCPU operator information
|
|
664
|
+
Class for AiCPU operator information registration.
|
|
450
665
|
|
|
451
666
|
Args:
|
|
452
|
-
op_name (str):
|
|
667
|
+
op_name (str): Name of operator.
|
|
453
668
|
|
|
454
669
|
Examples:
|
|
455
670
|
>>> from mindspore.ops import AiCPURegOp, DataType
|
|
@@ -481,14 +696,15 @@ class AiCPURegOp(CpuRegOp):
|
|
|
481
696
|
|
|
482
697
|
class TBERegOp(RegOp):
|
|
483
698
|
r"""
|
|
484
|
-
Class for TBE operator information
|
|
699
|
+
Class for TBE operator information registration. TBE (Tensor Boost Engine) is the Ascend operator development
|
|
700
|
+
tool, which is extended on the basis of the TVM framework to develop custom operators.
|
|
485
701
|
|
|
486
702
|
Args:
|
|
487
|
-
op_name (str):
|
|
703
|
+
op_name (str): Name of operator.
|
|
488
704
|
|
|
489
705
|
Examples:
|
|
490
|
-
>>>
|
|
491
|
-
>>> op_name_op_info =
|
|
706
|
+
>>> from mindspore.ops import TBERegOp, DataType
|
|
707
|
+
>>> op_name_op_info = TBERegOp("OpName") \
|
|
492
708
|
... .fusion_type("ELEMWISE") \
|
|
493
709
|
... .async_flag(False) \
|
|
494
710
|
... .binfile_name("op_name.so") \
|
|
@@ -505,14 +721,14 @@ class TBERegOp(RegOp):
|
|
|
505
721
|
... .input(0, "x2", None, "required", None) \
|
|
506
722
|
... .input(1, "axis", None, "required", None) \
|
|
507
723
|
... .output(0, "y", True, "required", "all") \
|
|
508
|
-
... .real_input_index([1, 0])
|
|
509
|
-
... .input_to_attr_index([2])
|
|
510
|
-
... .unknown_shape_formats(["ND", "ND", "ND", "ND"])
|
|
724
|
+
... .real_input_index([1, 0]) \
|
|
725
|
+
... .input_to_attr_index([2]) \
|
|
726
|
+
... .unknown_shape_formats(["ND", "ND", "ND", "ND"]) \
|
|
511
727
|
... .reshape_type("NC") \
|
|
512
728
|
... .is_dynamic_format(True) \
|
|
513
|
-
... .dtype_format(DataType.F16_None, DataType.F16_None) \
|
|
514
|
-
... .dtype_format(DataType.F32_None, DataType.F32_None) \
|
|
515
|
-
... .dtype_format(DataType.I32_None, DataType.I32_None) \
|
|
729
|
+
... .dtype_format(DataType.F16_None, DataType.F16_None, DataType.F16_None, DataType.F16_None) \
|
|
730
|
+
... .dtype_format(DataType.F32_None, DataType.F32_None, DataType.F32_None, DataType.F32_None) \
|
|
731
|
+
... .dtype_format(DataType.I32_None, DataType.I32_None, DataType.I32_None, DataType.I32_None) \
|
|
516
732
|
... .get_op_info()
|
|
517
733
|
>>>
|
|
518
734
|
"""
|
|
@@ -706,7 +922,8 @@ class TBERegOp(RegOp):
|
|
|
706
922
|
Args:
|
|
707
923
|
pattern (str): Value of op pattern, e.g. "broadcast", "reduce". Default: ``None`` .
|
|
708
924
|
"""
|
|
709
|
-
if pattern is not None
|
|
925
|
+
if pattern is not None:
|
|
926
|
+
self._is_string(pattern)
|
|
710
927
|
self.op_pattern_ = pattern
|
|
711
928
|
return self
|
|
712
929
|
|
|
@@ -830,7 +1047,7 @@ class CustomRegOp(RegOp):
|
|
|
830
1047
|
|
|
831
1048
|
Tutorial Examples:
|
|
832
1049
|
- `Custom Operators (Custom-based) - Defining Custom Operator of aicpu Type
|
|
833
|
-
<https://mindspore.cn/tutorials/experts/en/r2.
|
|
1050
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html#
|
|
834
1051
|
defining-custom-operator-of-aicpu-type>`_
|
|
835
1052
|
"""
|
|
836
1053
|
param_list = [index, name, param_type]
|
|
@@ -870,7 +1087,7 @@ class CustomRegOp(RegOp):
|
|
|
870
1087
|
|
|
871
1088
|
Tutorial Examples:
|
|
872
1089
|
- `Custom Operators (Custom-based) - Defining Custom Operator of aicpu Type
|
|
873
|
-
<https://mindspore.cn/tutorials/experts/en/r2.
|
|
1090
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html#
|
|
874
1091
|
defining-custom-operator-of-aicpu-type>`_
|
|
875
1092
|
"""
|
|
876
1093
|
param_list = [index, name, param_type]
|
|
@@ -898,7 +1115,7 @@ class CustomRegOp(RegOp):
|
|
|
898
1115
|
|
|
899
1116
|
Tutorial Examples:
|
|
900
1117
|
- `Custom Operators (Custom-based) - Defining Custom Operator of aicpu Type
|
|
901
|
-
<https://mindspore.cn/tutorials/experts/en/r2.
|
|
1118
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html#
|
|
902
1119
|
defining-custom-operator-of-aicpu-type>`_
|
|
903
1120
|
"""
|
|
904
1121
|
io_nums = len(self.inputs) + len(self.outputs)
|
|
@@ -955,7 +1172,7 @@ class CustomRegOp(RegOp):
|
|
|
955
1172
|
|
|
956
1173
|
Tutorial Examples:
|
|
957
1174
|
- `Custom Operators (Custom-based) - Defining Custom Operator of aicpu Type
|
|
958
|
-
<https://mindspore.cn/tutorials/experts/en/r2.
|
|
1175
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html#
|
|
959
1176
|
defining-custom-operator-of-aicpu-type>`_
|
|
960
1177
|
"""
|
|
961
1178
|
param_list = [name, param_type, value_type, default_value]
|
|
@@ -981,7 +1198,7 @@ class CustomRegOp(RegOp):
|
|
|
981
1198
|
|
|
982
1199
|
Tutorial Examples:
|
|
983
1200
|
- `Custom Operators (Custom-based) - Defining Custom Operator of aicpu Type
|
|
984
|
-
<https://mindspore.cn/tutorials/experts/en/r2.
|
|
1201
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html#
|
|
985
1202
|
defining-custom-operator-of-aicpu-type>`_
|
|
986
1203
|
"""
|
|
987
1204
|
if target is not None:
|
|
@@ -996,7 +1213,7 @@ class CustomRegOp(RegOp):
|
|
|
996
1213
|
|
|
997
1214
|
Tutorial Examples:
|
|
998
1215
|
- `Custom Operators (Custom-based) - Defining Custom Operator of aicpu Type
|
|
999
|
-
<https://mindspore.cn/tutorials/experts/en/r2.
|
|
1216
|
+
<https://mindspore.cn/tutorials/experts/en/r2.2/operation/op_custom.html#
|
|
1000
1217
|
defining-custom-operator-of-aicpu-type>`_
|
|
1001
1218
|
"""
|
|
1002
1219
|
op_info = {}
|
|
@@ -1004,6 +1221,8 @@ class CustomRegOp(RegOp):
|
|
|
1004
1221
|
if isinstance(k, str) and k.endswith('_'):
|
|
1005
1222
|
k = k.rstrip('_')
|
|
1006
1223
|
op_info[k] = v
|
|
1224
|
+
if _get_reg_info_attr(op_info, "cust_aicpu"):
|
|
1225
|
+
_CustomInstaller(op_info).run()
|
|
1007
1226
|
return op_info
|
|
1008
1227
|
|
|
1009
1228
|
|
|
@@ -21,7 +21,7 @@ A collection of operators to build neural networks or to compute functions.
|
|
|
21
21
|
|
|
22
22
|
from ._embedding_cache_ops import (CacheSwapTable, UpdateCache, MapCacheIdx, SubAndFilter,
|
|
23
23
|
MapUniform, DynamicAssign, PadAndShift)
|
|
24
|
-
from ._inner_ops import (MatmulDDS, DSDMatmul, Cummin, ExtractImagePatches)
|
|
24
|
+
from ._inner_ops import (MatmulDDS, DSDMatmul, Cummin, ExtractImagePatches, SelectView, CopyWithSlice)
|
|
25
25
|
from ._quant_ops import *
|
|
26
26
|
from ._thor_ops import (CusBatchMatMul, CusCholeskyTrsm, CusFusedAbsMax1, CusImg2Col, CusMatMulCubeDenseLeft,
|
|
27
27
|
CusMatMulCubeFraczRightMul, CusMatMulCube, CusMatrixCombine, CusTranspose02314,
|
|
@@ -29,20 +29,20 @@ from ._thor_ops import (CusBatchMatMul, CusCholeskyTrsm, CusFusedAbsMax1, CusImg
|
|
|
29
29
|
LoadIm2Col, UpdateThorGradient, CholeskyTrsm,
|
|
30
30
|
DetTriangle, ProdForceSeA)
|
|
31
31
|
from ._ms_kernel import (ms_kernel, kernel)
|
|
32
|
-
from .array_ops import (ArgMaxWithValue, ArgMinWithValue, Argmax, Argmin, BatchToSpace,
|
|
32
|
+
from .array_ops import (ArgMaxWithValue, ArgMinWithValue, Argmax, Argmin, BatchToSpace,
|
|
33
33
|
BatchToSpaceNDV2, BroadcastTo, Cast, Coalesce, Concat, Cummax, DType, DepthToSpace, Diag,
|
|
34
|
-
DiagPart,
|
|
35
|
-
Eye, Fill, Gather, GatherD, GatherNd,
|
|
34
|
+
DiagPart, EditDistance, EmbeddingLookup, ExpandDims, ExtractVolumePatches,
|
|
35
|
+
Eye, Fill, Gather, GatherD, GatherNd, Identity, Im2Col, InvertPermutation,
|
|
36
36
|
LowerBound, Lstsq, MaskedFill, MaskedSelect, Meshgrid, Mvlgamma, Ones, OnesLike,
|
|
37
|
-
|
|
38
|
-
ReverseSequence, ReverseV2, Rint,
|
|
37
|
+
Padding, ParallelConcat, PopulationCount, Range, Rank, Reshape, ResizeNearestNeighbor,
|
|
38
|
+
ReverseSequence, ReverseV2, Rint, ScalarToTensor, ScatterAdd,
|
|
39
39
|
ScatterDiv, ScatterMax, ScatterMin, ScatterMul, ScatterNd, ScatterNdAdd, ScatterNdDiv,
|
|
40
|
-
ScatterNdMax, ScatterNdMin, ScatterNdSub, ScatterNdUpdate,
|
|
40
|
+
ScatterNdMax, ScatterNdMin, ScatterNdSub, ScatterNdUpdate, ScatterSub,
|
|
41
41
|
ScatterUpdate, SearchSorted, Select, Shape, Size, Slice, Sort, SpaceToBatch, SpaceToBatchND,
|
|
42
42
|
SpaceToDepth, SparseGatherV2, Split, SplitV, Squeeze, Stack, StridedSlice, TensorScatterAdd,
|
|
43
43
|
TensorScatterDiv, TensorScatterMax, TensorScatterMin, TensorScatterMul, TensorScatterSub,
|
|
44
44
|
TensorScatterUpdate, TensorShape, Tile, TopK, TransShape, Transpose, TupleToArray, Unique,
|
|
45
|
-
UniqueWithPad,
|
|
45
|
+
UniqueWithPad, UnsortedSegmentMax, UnsortedSegmentMin, UnsortedSegmentProd,
|
|
46
46
|
UnsortedSegmentSum, Unstack, UpperBound, Zeros, ZerosLike, AffineGrid, Bincount, CheckNumerics,
|
|
47
47
|
HammingWindow, IdentityN, IndexFill, LeftShift, ListDiff, LogSpace, MatrixBandPart,
|
|
48
48
|
MatrixDiagPartV3, MatrixDiagV3, MatrixSetDiagV3, NonZero, Expand, Col2Im, ConjugateTranspose,
|
|
@@ -69,7 +69,7 @@ from .inner_ops import (ScalarCast, Randperm, NoRepeatNGram, LambApplyOptimizerA
|
|
|
69
69
|
from .linalg_ops import (Svd, Geqrf)
|
|
70
70
|
from .math_ops import (Abs, ACos, Asin, Asinh, AddN, AccumulateNV2, AssignAdd, AssignSub, Atan2, BatchMatMul,
|
|
71
71
|
BitwiseAnd, BitwiseOr, Ger, BitwiseXor, Inv, Invert, ApproximateEqual,
|
|
72
|
-
InplaceAdd, InplaceSub,
|
|
72
|
+
InplaceAdd, InplaceSub, InplaceUpdateV2,
|
|
73
73
|
ReduceMax, ReduceMin, ReduceMean, ReduceSum, ReduceAll, ReduceProd, CumProd, Cdist, ReduceAny,
|
|
74
74
|
Cos, Cross, Div, DivNoNan, Equal, EqualCount, Exp, Expm1, Erf, Erfc, Floor, FloorDiv, FloorMod,
|
|
75
75
|
Ceil, Acosh, Greater, GreaterEqual, Lerp, Less, LessEqual, Log, Log1p, LogicalAnd, Mod,
|
|
@@ -79,7 +79,7 @@ from .math_ops import (Abs, ACos, Asin, Asinh, AddN, AccumulateNV2, AssignAdd, A
|
|
|
79
79
|
NPUGetFloatStatus, Pow, RealDiv, IsNan, IsInf, IsFinite, FloatStatus,
|
|
80
80
|
Reciprocal, CumSum, HistogramFixedWidth, SquaredDifference, Xdivy, Xlogy,
|
|
81
81
|
Sin, Sqrt, Rsqrt, BesselI0e, BesselI1e, TruncateDiv, TruncateMod, Addcdiv,
|
|
82
|
-
Addcmul, Square, Sub,
|
|
82
|
+
Addcmul, Square, Sub, Add, Sign, Round, SquareSumAll, Atan, Atanh, Cosh, Sinh, Eps,
|
|
83
83
|
Tan, MatrixInverse, IndexAdd, Erfinv, Conj, Real, Imag, Complex, Trunc, IsClose, LuSolve,
|
|
84
84
|
CholeskyInverse, BesselJ0, BesselJ1, BesselK0, BesselK0e, BesselK1, BesselK1e, BesselY0,
|
|
85
85
|
BesselY1, Bucketize, Cauchy, Cholesky, CholeskySolve, Betainc,
|
|
@@ -92,14 +92,14 @@ from .math_ops import (Abs, ACos, Asin, Asinh, AddN, AccumulateNV2, AssignAdd, A
|
|
|
92
92
|
from .nn_ops import (LSTM, SGD, Adam, AdamWeightDecay, FusedSparseAdam, FusedSparseLazyAdam, AdamNoUpdateParam,
|
|
93
93
|
ApplyMomentum, BatchNorm, BiasAdd, Conv2D, Conv3D, Conv2DTranspose, Conv3DTranspose,
|
|
94
94
|
DepthwiseConv2dNative,
|
|
95
|
-
|
|
96
|
-
InstanceNorm,
|
|
97
|
-
GeLU,
|
|
95
|
+
Dropout, Dropout2D, Dropout3D, Flatten,
|
|
96
|
+
InstanceNorm,
|
|
97
|
+
GeLU, FastGeLU, Elu, CeLU,
|
|
98
98
|
GetNext, L2Normalize, LayerNorm, L2Loss, CTCLoss, CTCLossV2, CTCLossV2Grad, CTCGreedyDecoder,
|
|
99
99
|
LogSoftmax, MaxPool3D, AvgPool3D,
|
|
100
100
|
MaxPool, DataFormatDimMap,
|
|
101
101
|
AvgPool, Conv2DBackpropInput, ComputeAccidentalHits,
|
|
102
|
-
|
|
102
|
+
MaxPoolWithArgmaxV2, OneHot, Pad, MirrorPad, Mish, PReLU, ReLU, ReLU6, ReLUV2,
|
|
103
103
|
HSwish, HSigmoid,
|
|
104
104
|
ResizeBilinear, Sigmoid, SeLU, HShrink, ApplyKerasMomentum,
|
|
105
105
|
SigmoidCrossEntropyWithLogits, NLLLoss, BCEWithLogitsLoss,
|
|
@@ -115,13 +115,13 @@ from .nn_ops import (LSTM, SGD, Adam, AdamWeightDecay, FusedSparseAdam, FusedSpa
|
|
|
115
115
|
ApplyAdamWithAmsgrad, ApplyAdamWithAmsgradV2, AdaptiveAvgPool3D, AdaptiveMaxPool2D,
|
|
116
116
|
AdaptiveMaxPool3D,
|
|
117
117
|
GridSampler3D, MaxPool3DWithArgmax, MaxUnpool2D, NuclearNorm, NthElement, MultilabelMarginLoss,
|
|
118
|
-
Dilation2D, DataFormatVecPermute, DeformableOffsets, FractionalAvgPool,
|
|
118
|
+
Dilation2D, DataFormatVecPermute, DeformableOffsets, Dense, FractionalAvgPool,
|
|
119
119
|
FractionalMaxPool, FractionalMaxPool3DWithFixedKsize, FractionalMaxPoolWithFixedKsize,
|
|
120
120
|
GridSampler2D, TripletMarginLoss, UpsampleNearest3D, UpsampleTrilinear3D, PadV3, ChannelShuffle,
|
|
121
|
-
GLU, MaxUnpool3D, Pdist)
|
|
121
|
+
GLU, MaxUnpool3D, Pdist, RmsNorm)
|
|
122
122
|
from .other_ops import (Assign, IOU, BoundingBoxDecode, BoundingBoxEncode,
|
|
123
123
|
ConfusionMatrix, UpdateState, Load, StopGradient,
|
|
124
|
-
CheckValid, Partial, Depend,
|
|
124
|
+
CheckValid, Partial, Depend, Push, Pull, PyExecute, PyFunc, _DynamicLossScale,
|
|
125
125
|
SampleDistortedBoundingBoxV2)
|
|
126
126
|
from .random_ops import (RandomChoiceWithMask, StandardNormal, Gamma, RandomGamma, Poisson, UniformInt, UniformReal,
|
|
127
127
|
RandomCategorical, StandardLaplace, Multinomial, UniformCandidateSampler,
|
|
@@ -129,8 +129,13 @@ from .random_ops import (RandomChoiceWithMask, StandardNormal, Gamma, RandomGamm
|
|
|
129
129
|
ParameterizedTruncatedNormal, RandomPoisson, MultinomialWithReplacement, RandomShuffle,
|
|
130
130
|
RandpermV2)
|
|
131
131
|
from .rl_ops import (BufferAppend, BufferGetItem, BufferSample)
|
|
132
|
-
from .sparse_ops import (
|
|
132
|
+
from .sparse_ops import (
|
|
133
|
+
SparseToDense, SparseTensorDenseMatmul, SparseTensorDenseAdd, SparseSlice)
|
|
133
134
|
from .spectral_ops import (BartlettWindow, BlackmanWindow)
|
|
135
|
+
from ..deprecated import (identity, DropoutDoMask, MaxPoolWithArgmax,
|
|
136
|
+
BNTrainingReduce, BNTrainingUpdate, DropoutGenMask, Gelu, FastGelu,
|
|
137
|
+
TensorAdd, InplaceUpdate, ScatterNonAliasingAdd,
|
|
138
|
+
BatchToSpaceND, Unpack, GatherV2, DynamicShape, ScalarToArray, Pack)
|
|
134
139
|
|
|
135
140
|
__all__ = [
|
|
136
141
|
'HSVToRGB',
|
|
@@ -616,7 +621,10 @@ __all__ = [
|
|
|
616
621
|
"CumulativeLogsumexp",
|
|
617
622
|
"DataFormatVecPermute",
|
|
618
623
|
"DeformableOffsets",
|
|
624
|
+
"Dense",
|
|
619
625
|
"ExtractImagePatches",
|
|
626
|
+
"SelectView",
|
|
627
|
+
"CopyWithSlice",
|
|
620
628
|
"FillDiagonal",
|
|
621
629
|
"Fills",
|
|
622
630
|
"Gcd",
|
|
@@ -683,7 +691,8 @@ __all__ = [
|
|
|
683
691
|
"IndexPut",
|
|
684
692
|
"MaskedScatter",
|
|
685
693
|
"Ormqr",
|
|
686
|
-
"RandpermV2"
|
|
694
|
+
"RandpermV2",
|
|
695
|
+
"RmsNorm"
|
|
687
696
|
]
|
|
688
697
|
|
|
689
698
|
__custom__ = [
|