mindspore 2.0.0rc1__cp38-none-any.whl → 2.2.0__cp38-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Third_Party_Open_Source_Software_Notice +2 -2
- mindspore/__init__.py +5 -2
- 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/config/repository.json +195 -0
- mindspore/_akg/akg/global_configs.py +5 -1
- 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/op_dsl.py +17 -1
- mindspore/_akg/akg/utils/result_analysis.py +4 -24
- mindspore/_akg/akg/utils/tbe_codegen_utils.py +198 -0
- mindspore/_c_dataengine.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +5 -1
- mindspore/_checkparam.py +79 -62
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/graph_split.py +2 -0
- 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 +128 -21
- 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 +18 -13
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +13 -9
- 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 +19 -17
- mindspore/_extends/parse/namespace.py +7 -36
- mindspore/_extends/parse/parser.py +375 -189
- mindspore/_extends/parse/resources.py +36 -41
- mindspore/_extends/parse/standard_method.py +350 -245
- mindspore/_extends/parse/trope.py +2 -12
- mindspore/_extends/remote/kernel_build_server.py +24 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_mindspore_offline_debug.cpython-38-aarch64-linux-gnu.so +0 -0
- mindspore/amp.py +85 -19
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/base.py +2 -2
- mindspore/boost/boost.py +27 -32
- mindspore/boost/boost_cell_wrapper.py +37 -13
- mindspore/boost/grad_accumulation.py +1 -1
- mindspore/boost/grad_freeze.py +34 -6
- mindspore/boost/group_loss_scale_manager.py +15 -14
- mindspore/boost/less_batch_normalization.py +28 -3
- mindspore/common/__init__.py +15 -11
- mindspore/common/_auto_dynamic.py +68 -0
- mindspore/common/_jit_fallback_utils.py +111 -0
- mindspore/common/_register_for_adapter.py +17 -5
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +18 -15
- mindspore/common/_utils.py +31 -7
- mindspore/common/api.py +269 -101
- mindspore/common/auto_dynamic_shape.py +498 -0
- mindspore/common/dtype.py +61 -21
- mindspore/common/dump.py +9 -7
- mindspore/common/initializer.py +106 -76
- mindspore/common/jit_config.py +35 -14
- mindspore/common/lazy_inline.py +187 -0
- mindspore/common/mindir_util.py +101 -0
- mindspore/common/mutable.py +10 -13
- mindspore/common/parameter.py +246 -55
- mindspore/common/seed.py +13 -7
- mindspore/common/sparse_tensor.py +29 -33
- mindspore/common/tensor.py +907 -251
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +84 -4
- mindspore/communication/management.py +160 -88
- mindspore/config/op_info.config +99 -75
- mindspore/config/super_bar_config.json +36 -4
- mindspore/context.py +526 -219
- mindspore/dataset/__init__.py +9 -46
- mindspore/dataset/audio/__init__.py +4 -19
- mindspore/dataset/audio/transforms.py +545 -233
- mindspore/dataset/audio/utils.py +21 -18
- mindspore/dataset/callback/ds_callback.py +42 -13
- mindspore/dataset/core/config.py +158 -100
- mindspore/dataset/core/validator_helpers.py +1 -63
- mindspore/dataset/debug/debug_hook.py +45 -13
- mindspore/dataset/debug/pre_defined_hook.py +5 -5
- mindspore/dataset/engine/__init__.py +0 -5
- mindspore/dataset/engine/cache_client.py +38 -15
- mindspore/dataset/engine/datasets.py +615 -278
- mindspore/dataset/engine/datasets_audio.py +154 -283
- mindspore/dataset/engine/datasets_standard_format.py +104 -116
- mindspore/dataset/engine/datasets_text.py +443 -326
- mindspore/dataset/engine/datasets_user_defined.py +251 -164
- mindspore/dataset/engine/datasets_vision.py +839 -1443
- mindspore/dataset/engine/iterators.py +11 -4
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +7 -3
- mindspore/dataset/engine/obs/util.py +3 -0
- mindspore/dataset/engine/offload.py +6 -6
- mindspore/dataset/engine/queue.py +15 -14
- mindspore/dataset/engine/samplers.py +39 -23
- mindspore/dataset/engine/serializer_deserializer.py +22 -6
- mindspore/dataset/engine/validators.py +21 -331
- mindspore/dataset/text/__init__.py +5 -33
- mindspore/dataset/text/transforms.py +334 -165
- mindspore/dataset/text/utils.py +215 -145
- mindspore/dataset/transforms/__init__.py +1 -1
- mindspore/dataset/transforms/c_transforms.py +3 -2
- mindspore/dataset/transforms/py_transforms_util.py +40 -12
- mindspore/dataset/transforms/transforms.py +174 -71
- mindspore/dataset/utils/browse_dataset.py +25 -17
- mindspore/dataset/utils/line_reader.py +24 -21
- mindspore/dataset/vision/__init__.py +5 -26
- mindspore/dataset/vision/c_transforms.py +177 -165
- mindspore/dataset/vision/py_transforms.py +114 -119
- mindspore/dataset/vision/py_transforms_util.py +54 -51
- mindspore/dataset/vision/transforms.py +1127 -381
- mindspore/dataset/vision/utils.py +54 -38
- mindspore/dataset/vision/validators.py +12 -2
- mindspore/experimental/map_parameter.py +38 -4
- mindspore/{dataset/datapreprocess → experimental/optim}/__init__.py +14 -4
- mindspore/experimental/optim/adam.py +192 -0
- mindspore/experimental/optim/adamw.py +181 -0
- mindspore/experimental/optim/lr_scheduler.py +1427 -0
- mindspore/experimental/optim/optimizer.py +252 -0
- mindspore/experimental/optim/sgd.py +147 -0
- mindspore/gen_ops.py +273 -0
- mindspore/include/OWNERS +1 -2
- mindspore/include/api/context.h +21 -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 +29 -42
- mindspore/include/api/model_group.h +14 -3
- mindspore/include/api/model_parallel_runner.h +18 -2
- mindspore/include/api/serialization.h +26 -0
- mindspore/include/api/status.h +1 -0
- mindspore/include/api/types.h +38 -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/c_api/status_c.h +3 -0
- mindspore/include/dataset/constants.h +6 -12
- mindspore/include/dataset/execute.h +23 -13
- mindspore/include/dataset/text.h +26 -26
- mindspore/include/dataset/transforms.h +25 -31
- 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/format.h +0 -1
- mindspore/include/mindapi/base/type_id.h +2 -1
- mindspore/include/mindapi/base/types.h +5 -1
- 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/libmpi_adapter.so +0 -0
- mindspore/lib/libnnacl.so +0 -0
- mindspore/lib/libopencv_core.so.4.5 +0 -0
- mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
- mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
- mindspore/lib/libps_cache.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +9000 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
- mindspore/lib/plugin/ascend/libakg.so +0 -0
- mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
- mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
- mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
- mindspore/lib/plugin/cpu/libakg.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/log.py +9 -6
- mindspore/mindrecord/filereader.py +33 -4
- mindspore/mindrecord/filewriter.py +70 -35
- mindspore/mindrecord/mindpage.py +40 -34
- mindspore/mindrecord/shardreader.py +1 -1
- mindspore/mindrecord/shardsegment.py +1 -1
- mindspore/mindrecord/tools/cifar100_to_mr.py +25 -18
- mindspore/mindrecord/tools/cifar10_to_mr.py +25 -18
- mindspore/mindrecord/tools/csv_to_mr.py +29 -13
- mindspore/mindrecord/tools/imagenet_to_mr.py +24 -10
- mindspore/mindrecord/tools/mnist_to_mr.py +24 -11
- mindspore/mindrecord/tools/tfrecord_to_mr.py +31 -26
- mindspore/nn/cell.py +463 -169
- mindspore/nn/dynamic_lr.py +47 -43
- mindspore/nn/layer/activation.py +225 -82
- mindspore/nn/layer/basic.py +121 -79
- mindspore/nn/layer/channel_shuffle.py +21 -21
- mindspore/nn/layer/combined.py +33 -26
- mindspore/nn/layer/container.py +277 -22
- mindspore/nn/layer/conv.py +441 -304
- mindspore/nn/layer/dense.py +19 -13
- mindspore/nn/layer/embedding.py +62 -49
- mindspore/nn/layer/flash_attention.py +264 -0
- mindspore/nn/layer/image.py +50 -39
- mindspore/nn/layer/math.py +62 -51
- mindspore/nn/layer/normalization.py +219 -167
- mindspore/nn/layer/padding.py +58 -70
- mindspore/nn/layer/pooling.py +334 -287
- mindspore/nn/layer/rnn_cells.py +53 -38
- mindspore/nn/layer/rnns.py +59 -56
- mindspore/nn/layer/thor_layer.py +52 -44
- mindspore/nn/layer/timedistributed.py +6 -4
- mindspore/nn/layer/transformer.py +284 -164
- mindspore/nn/learning_rate_schedule.py +34 -25
- mindspore/nn/loss/__init__.py +3 -2
- mindspore/nn/loss/loss.py +554 -311
- mindspore/nn/optim/ada_grad.py +12 -9
- mindspore/nn/optim/adadelta.py +14 -11
- mindspore/nn/optim/adafactor.py +19 -16
- mindspore/nn/optim/adam.py +62 -47
- mindspore/nn/optim/adamax.py +13 -10
- mindspore/nn/optim/adasum.py +12 -8
- mindspore/nn/optim/asgd.py +10 -9
- mindspore/nn/optim/ftrl.py +20 -17
- mindspore/nn/optim/lamb.py +16 -12
- mindspore/nn/optim/lars.py +8 -6
- mindspore/nn/optim/lazyadam.py +25 -20
- mindspore/nn/optim/momentum.py +10 -7
- mindspore/nn/optim/optimizer.py +61 -9
- mindspore/nn/optim/proximal_ada_grad.py +14 -13
- mindspore/nn/optim/rmsprop.py +17 -13
- mindspore/nn/optim/rprop.py +30 -17
- mindspore/nn/optim/sgd.py +40 -23
- mindspore/nn/optim/thor.py +24 -26
- mindspore/nn/probability/bijector/bijector.py +11 -11
- mindspore/nn/probability/bijector/exp.py +1 -1
- mindspore/nn/probability/bijector/gumbel_cdf.py +3 -3
- mindspore/nn/probability/bijector/invert.py +1 -1
- mindspore/nn/probability/bijector/power_transform.py +29 -29
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +5 -5
- mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +4 -2
- mindspore/nn/probability/bnn_layers/conv_variational.py +13 -13
- mindspore/nn/probability/bnn_layers/dense_variational.py +12 -12
- mindspore/nn/probability/bnn_layers/layer_distribution.py +9 -8
- mindspore/nn/probability/distribution/_utils/custom_ops.py +19 -3
- mindspore/nn/probability/distribution/_utils/utils.py +1 -1
- mindspore/nn/probability/distribution/bernoulli.py +9 -9
- mindspore/nn/probability/distribution/beta.py +8 -8
- mindspore/nn/probability/distribution/categorical.py +23 -15
- mindspore/nn/probability/distribution/cauchy.py +5 -6
- mindspore/nn/probability/distribution/distribution.py +3 -3
- mindspore/nn/probability/distribution/exponential.py +4 -4
- mindspore/nn/probability/distribution/gamma.py +10 -10
- mindspore/nn/probability/distribution/geometric.py +8 -8
- mindspore/nn/probability/distribution/gumbel.py +8 -9
- mindspore/nn/probability/distribution/half_normal.py +5 -5
- mindspore/nn/probability/distribution/laplace.py +5 -5
- mindspore/nn/probability/distribution/log_normal.py +12 -11
- mindspore/nn/probability/distribution/logistic.py +8 -8
- mindspore/nn/probability/distribution/normal.py +6 -5
- mindspore/nn/probability/distribution/poisson.py +10 -11
- mindspore/nn/probability/distribution/student_t.py +8 -9
- mindspore/nn/probability/distribution/transformed_distribution.py +5 -5
- mindspore/nn/probability/distribution/uniform.py +11 -11
- mindspore/nn/reinforcement/tensor_array.py +2 -2
- mindspore/nn/sparse/sparse.py +9 -9
- mindspore/nn/wrap/cell_wrapper.py +188 -63
- mindspore/nn/wrap/grad_reducer.py +21 -12
- mindspore/nn/wrap/loss_scale.py +136 -49
- mindspore/numpy/__init__.py +4 -4
- mindspore/numpy/array_creations.py +55 -56
- mindspore/numpy/array_ops.py +134 -35
- mindspore/numpy/logic_ops.py +66 -20
- mindspore/numpy/math_ops.py +142 -139
- mindspore/numpy/utils_const.py +2 -2
- mindspore/offline_debug/convert_async.py +2 -2
- mindspore/ops/_grad_experimental/__init__.py +7 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +231 -348
- mindspore/ops/{_grad → _grad_experimental}/grad_base.py +1 -33
- mindspore/ops/{_grad → _grad_experimental}/grad_comm_ops.py +25 -13
- mindspore/ops/{_grad/__init__.py → _grad_experimental/grad_debug_ops.py} +15 -7
- mindspore/ops/{_grad → _grad_experimental}/grad_implementations.py +17 -11
- mindspore/ops/_grad_experimental/grad_inner_ops.py +33 -52
- mindspore/ops/_grad_experimental/grad_math_ops.py +151 -1224
- mindspore/ops/_grad_experimental/grad_nn_ops.py +141 -414
- mindspore/ops/{_grad → _grad_experimental}/grad_quant_ops.py +10 -6
- mindspore/ops/_grad_experimental/grad_sparse.py +317 -2
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -13
- mindspore/ops/{_grad → _grad_experimental}/taylor_rule.py +1 -1
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/flash_attention/__init__.py +0 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +406 -0
- mindspore/{_extends/graph_kernel/expanders/complex/__init__.py → ops/_op_impl/_custom_op/flash_attention/constants.py} +27 -8
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +467 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +563 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +193 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +435 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +45 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +67 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +62 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
- mindspore/ops/_op_impl/aicpu/__init__.py +41 -1
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/cast.py +52 -0
- mindspore/ops/_op_impl/aicpu/coalesce.py +2 -0
- mindspore/ops/_op_impl/aicpu/col2im.py +3 -1
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/aicpu/dropout_genmask.py +6 -0
- mindspore/ops/_op_impl/aicpu/eps.py +32 -0
- mindspore/ops/_op_impl/aicpu/eye.py +4 -4
- mindspore/ops/_op_impl/aicpu/fft_with_size.py +6 -0
- mindspore/ops/_op_impl/aicpu/fill_diagonal.py +5 -0
- mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
- mindspore/ops/_op_impl/aicpu/im2col.py +3 -5
- mindspore/ops/_op_impl/aicpu/lgamma.py +1 -0
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
- mindspore/ops/_op_impl/aicpu/lu.py +39 -0
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/masked_scatter.py +1 -0
- mindspore/ops/_op_impl/aicpu/masked_select_grad.py +3 -0
- mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
- mindspore/ops/_op_impl/aicpu/matrix_power.py +6 -1
- mindspore/ops/_op_impl/aicpu/median.py +1 -0
- mindspore/ops/_op_impl/aicpu/multinomial.py +9 -9
- mindspore/ops/_op_impl/aicpu/not_equal.py +0 -5
- mindspore/ops/_op_impl/aicpu/pad_v3.py +3 -1
- mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +2 -0
- 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/resize_bilinear_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +0 -6
- mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +0 -7
- mindspore/ops/_op_impl/aicpu/scatter_nd.py +2 -0
- mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
- mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
- 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 -4
- mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -4
- 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/aicpu/upsample_nearest_3d.py +14 -6
- mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +22 -8
- mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +11 -6
- mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +21 -10
- mindspore/ops/_op_impl/tbe/__init__.py +6 -4
- mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/avg_pool.py +2 -2
- mindspore/ops/_op_impl/tbe/avg_pool_3d.py +3 -3
- mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +4 -4
- mindspore/ops/_op_impl/tbe/avg_pool_ds.py +2 -2
- mindspore/ops/_op_impl/tbe/avg_pool_grad.py +3 -3
- mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +3 -3
- mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +2 -2
- mindspore/ops/_op_impl/tbe/bn_infer.py +2 -2
- mindspore/ops/_op_impl/tbe/bn_infer_ds.py +3 -2
- mindspore/ops/_op_impl/tbe/broadcast_to.py +1 -1
- mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +3 -3
- mindspore/ops/_op_impl/tbe/expand_dims.py +1 -1
- mindspore/ops/_op_impl/tbe/gather_v2.py +56 -0
- mindspore/ops/_op_impl/tbe/im2col.py +4 -4
- mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
- mindspore/ops/_op_impl/tbe/mem_set.py +38 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_add.py +3 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_d.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +2 -2
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +1 -1
- mindspore/ops/_tracefunc.py +241 -0
- mindspore/ops/_utils/utils.py +10 -2
- mindspore/ops/_vmap/vmap_array_ops.py +5 -3
- mindspore/ops/_vmap/vmap_base.py +5 -4
- mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
- mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +11 -6
- mindspore/ops/_vmap/vmap_math_ops.py +5 -2
- mindspore/ops/_vmap/vmap_nn_ops.py +135 -11
- mindspore/ops/arg_dtype_cast.py +54 -0
- mindspore/ops/composite/__init__.py +7 -5
- mindspore/ops/composite/base.py +78 -34
- mindspore/ops/composite/math_ops.py +5 -695
- mindspore/ops/composite/multitype_ops/_compile_utils.py +403 -97
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +28 -22
- mindspore/ops/composite/multitype_ops/add_impl.py +69 -7
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/div_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/getitem_impl.py +48 -10
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/greater_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/less_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +2 -2
- mindspore/ops/composite/multitype_ops/mod_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/mul_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/negative_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/not_in_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +10 -7
- mindspore/ops/composite/multitype_ops/sub_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/uadd_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
- mindspore/ops/deprecated.py +304 -0
- mindspore/ops/function/__init__.py +41 -4
- mindspore/ops/function/array_func.py +1108 -467
- mindspore/ops/function/clip_func.py +94 -27
- mindspore/ops/function/debug_func.py +3 -1
- mindspore/ops/function/grad/grad_func.py +82 -73
- mindspore/ops/function/image_func.py +28 -12
- mindspore/ops/function/linalg_func.py +135 -39
- mindspore/ops/function/math_func.py +3779 -894
- mindspore/ops/function/nn_func.py +1584 -657
- mindspore/ops/function/parameter_func.py +13 -3
- mindspore/ops/function/random_func.py +247 -153
- mindspore/ops/function/sparse_func.py +14 -11
- mindspore/ops/function/sparse_unary_func.py +173 -47
- mindspore/ops/function/spectral_func.py +8 -4
- mindspore/ops/function/vmap_func.py +8 -7
- mindspore/ops/functional.py +47 -16
- mindspore/ops/op_info_register.py +346 -86
- mindspore/ops/operations/__init__.py +38 -22
- mindspore/ops/operations/_grad_ops.py +145 -149
- mindspore/ops/operations/_inner_ops.py +298 -56
- mindspore/ops/operations/_ms_kernel.py +3 -3
- mindspore/ops/operations/_quant_ops.py +24 -28
- mindspore/ops/operations/_rl_inner_ops.py +9 -7
- mindspore/ops/operations/_scalar_ops.py +115 -0
- mindspore/ops/operations/_sequence_ops.py +148 -10
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/_thor_ops.py +2 -2
- mindspore/ops/operations/array_ops.py +1239 -561
- mindspore/ops/operations/comm_ops.py +166 -90
- mindspore/ops/operations/control_ops.py +3 -3
- mindspore/ops/operations/custom_ops.py +124 -102
- mindspore/ops/operations/debug_ops.py +24 -11
- mindspore/ops/operations/image_ops.py +86 -71
- mindspore/ops/operations/inner_ops.py +18 -13
- mindspore/ops/operations/linalg_ops.py +30 -11
- mindspore/ops/operations/math_ops.py +1730 -435
- mindspore/ops/operations/nn_ops.py +1953 -943
- mindspore/ops/operations/other_ops.py +65 -43
- mindspore/ops/operations/random_ops.py +258 -98
- mindspore/ops/operations/rl_ops.py +4 -36
- mindspore/ops/operations/sparse_ops.py +38 -33
- mindspore/ops/operations/spectral_ops.py +8 -4
- mindspore/ops/primitive.py +66 -44
- mindspore/ops/signature.py +5 -5
- mindspore/parallel/_auto_parallel_context.py +80 -19
- mindspore/parallel/_cost_model_context.py +42 -0
- mindspore/parallel/_offload_context.py +162 -72
- mindspore/parallel/_parallel_serialization.py +2 -2
- mindspore/parallel/_ps_context.py +16 -4
- mindspore/parallel/_recovery_context.py +2 -1
- mindspore/parallel/_tensor.py +15 -13
- mindspore/parallel/_transformer/layers.py +8 -6
- mindspore/parallel/_transformer/loss.py +1 -0
- mindspore/parallel/_transformer/moe.py +7 -7
- mindspore/parallel/_transformer/op_parallel_config.py +12 -1
- mindspore/parallel/_transformer/transformer.py +34 -14
- mindspore/parallel/_utils.py +36 -14
- mindspore/parallel/algo_parameter_config.py +114 -20
- mindspore/parallel/checkpoint_transform.py +16 -18
- mindspore/parallel/shard.py +16 -13
- mindspore/profiler/__init__.py +1 -1
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +3 -2
- mindspore/profiler/envprofiling.py +11 -4
- mindspore/profiler/parser/aicpu_data_parser.py +5 -3
- mindspore/profiler/parser/ascend_flops_generator.py +94 -0
- mindspore/profiler/parser/ascend_fpbp_generator.py +76 -0
- mindspore/profiler/parser/ascend_hccl_generator.py +288 -0
- mindspore/profiler/parser/ascend_msprof_exporter.py +213 -0
- mindspore/profiler/parser/ascend_msprof_generator.py +199 -0
- mindspore/profiler/parser/ascend_op_generator.py +276 -0
- mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
- mindspore/profiler/parser/ascend_timeline_generator.py +110 -54
- mindspore/profiler/parser/base_timeline_generator.py +11 -7
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +45 -46
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +92 -73
- mindspore/profiler/parser/hccl_parser.py +16 -12
- mindspore/profiler/parser/integrator.py +22 -11
- mindspore/profiler/parser/memory_usage_parser.py +36 -11
- 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 +4 -5
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +678 -377
- mindspore/rewrite/api/node.py +211 -54
- mindspore/rewrite/api/node_type.py +5 -0
- mindspore/rewrite/api/pattern_engine.py +22 -23
- mindspore/rewrite/api/scoped_value.py +20 -17
- mindspore/rewrite/api/symbol_tree.py +252 -106
- mindspore/rewrite/api/tree_node_helper.py +3 -0
- 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 +97 -46
- mindspore/rewrite/common/rewrite_elog.py +5 -1
- mindspore/rewrite/namer.py +51 -51
- mindspore/rewrite/namespace.py +14 -5
- mindspore/{ops/bprop_mindir → rewrite/node}/__init__.py +9 -4
- 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} +313 -247
- mindspore/rewrite/node/node_manager.py +254 -0
- mindspore/rewrite/node/node_topological_manager.py +243 -0
- mindspore/rewrite/parsers/arguments_parser.py +22 -21
- mindspore/rewrite/parsers/assign_parser.py +225 -239
- mindspore/rewrite/parsers/attribute_parser.py +9 -7
- mindspore/rewrite/parsers/class_def_parser.py +179 -218
- 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 +23 -20
- mindspore/rewrite/parsers/if_parser.py +28 -24
- mindspore/rewrite/parsers/module_parser.py +202 -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/sparsify.py +4 -1
- mindspore/rewrite/sparsify/utils.py +11 -5
- mindspore/rewrite/symbol_tree.py +577 -732
- mindspore/rewrite/symbol_tree_builder.py +9 -175
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +46 -39
- mindspore/run_check/run_check.py +3 -2
- mindspore/{scipy/sparse → safeguard}/__init__.py +4 -5
- mindspore/safeguard/rewrite_obfuscation.py +517 -0
- mindspore/scipy/__init__.py +1 -1
- mindspore/scipy/linalg.py +67 -61
- mindspore/scipy/ops.py +5 -41
- mindspore/scipy/ops_grad.py +3 -2
- mindspore/scipy/ops_wrapper.py +5 -5
- mindspore/scipy/optimize/line_search.py +8 -8
- mindspore/scipy/optimize/linear_sum_assignment.py +4 -4
- mindspore/scipy/optimize/minimize.py +16 -12
- mindspore/scipy/utils.py +1 -52
- mindspore/scipy/utils_const.py +4 -4
- mindspore/train/__init__.py +4 -4
- mindspore/train/_utils.py +13 -5
- mindspore/train/amp.py +410 -148
- mindspore/train/anf_ir_pb2.py +16 -4
- mindspore/train/callback/_backup_and_restore.py +8 -11
- mindspore/train/callback/_callback.py +80 -3
- mindspore/train/callback/_checkpoint.py +82 -51
- mindspore/train/callback/_early_stop.py +12 -15
- mindspore/train/callback/_history.py +1 -1
- mindspore/train/callback/_lambda_callback.py +13 -13
- mindspore/train/callback/_landscape.py +21 -17
- mindspore/train/callback/_loss_monitor.py +9 -10
- mindspore/train/callback/_on_request_exit.py +16 -33
- mindspore/train/callback/_reduce_lr_on_plateau.py +21 -24
- mindspore/train/callback/_summary_collector.py +44 -30
- mindspore/train/callback/_time_monitor.py +62 -12
- mindspore/train/data_sink.py +10 -16
- mindspore/train/dataset_helper.py +154 -86
- mindspore/train/loss_scale_manager.py +14 -9
- mindspore/train/metrics/__init__.py +10 -2
- mindspore/train/metrics/accuracy.py +1 -1
- mindspore/train/metrics/auc.py +1 -1
- mindspore/train/metrics/bleu_score.py +2 -2
- mindspore/train/metrics/confusion_matrix.py +14 -14
- mindspore/train/metrics/cosine_similarity.py +3 -3
- mindspore/train/metrics/dice.py +1 -1
- mindspore/train/metrics/fbeta.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +8 -6
- mindspore/train/metrics/mean_surface_distance.py +5 -4
- mindspore/train/metrics/metric.py +49 -17
- mindspore/train/metrics/occlusion_sensitivity.py +4 -4
- mindspore/train/metrics/perplexity.py +1 -1
- mindspore/train/metrics/precision.py +2 -2
- mindspore/train/metrics/recall.py +2 -3
- mindspore/train/metrics/roc.py +7 -7
- mindspore/train/metrics/root_mean_square_surface_distance.py +5 -4
- mindspore/train/metrics/topk.py +7 -4
- mindspore/train/mind_ir_pb2.py +193 -48
- mindspore/train/model.py +377 -133
- mindspore/train/serialization.py +697 -245
- mindspore/train/summary/_summary_adapter.py +5 -2
- mindspore/train/summary/_writer_pool.py +4 -3
- mindspore/train/summary/summary_record.py +25 -23
- mindspore/train/train_thor/convert_utils.py +39 -23
- mindspore/train/train_thor/dataset_helper.py +4 -3
- mindspore/train/train_thor/model_thor.py +8 -8
- mindspore/version.py +1 -1
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/METADATA +7 -8
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/RECORD +633 -804
- {mindspore-2.0.0rc1.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 -57
- 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/bias_add_grad.py +0 -49
- 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/gather.py +0 -43
- 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/expanders/tile.py +0 -54
- mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
- mindspore/_extends/parse/jit_fallback_modules.py +0 -51
- mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
- mindspore/dataset/engine/graphdata.py +0 -1586
- mindspore/include/api/net.h +0 -142
- mindspore/ops/_grad/grad_array_ops.py +0 -1347
- mindspore/ops/_grad/grad_clip_ops.py +0 -84
- mindspore/ops/_grad/grad_debug_ops.py +0 -68
- mindspore/ops/_grad/grad_inner_ops.py +0 -235
- mindspore/ops/_grad/grad_math_ops.py +0 -1684
- mindspore/ops/_grad/grad_nn_ops.py +0 -1529
- mindspore/ops/_grad/grad_other_ops.py +0 -89
- mindspore/ops/_grad/grad_sequence_ops.py +0 -296
- mindspore/ops/_grad/grad_sparse.py +0 -323
- mindspore/ops/_grad_experimental/grad_image_ops.py +0 -249
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -195
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
- mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ApproximateEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Argmax_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/Argmin_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Assign_bprop.mindir +0 -17
- mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +0 -150
- mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +0 -66
- mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +0 -28
- mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +0 -33
- mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +0 -306
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -13
- mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Concat_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +0 -240
- mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +0 -247
- mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +0 -247
- mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +0 -315
- mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +0 -278
- mindspore/ops/bprop_mindir/DType_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +0 -58
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -13
- mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
- mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +0 -25
- mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +0 -18
- mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +0 -27
- mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicShape_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/Elu_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Equal_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +0 -58
- mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Flatten_bprop.mindir +0 -54
- mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/GatherD_bprop.mindir +0 -26
- mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +0 -57
- mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Greater_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/HSwish_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/IOU_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/IsInf_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/IsNan_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +0 -126
- mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +0 -30
- mindspore/ops/bprop_mindir/LRN_bprop.mindir +0 -43
- mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Less_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -13
- mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +0 -21
- mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +0 -74
- mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +0 -74
- mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +0 -75
- mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +0 -65
- mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Maximum_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Minimum_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +0 -27
- mindspore/ops/bprop_mindir/Mish_bprop.mindir +0 -35
- mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/NonZero_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/OneHot_bprop.mindir +0 -26
- mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +0 -82
- mindspore/ops/bprop_mindir/Range_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/Rank_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Reshape_bprop.mindir +0 -60
- mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +0 -89
- mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +0 -52
- mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/Round_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/ScatterMax_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterMin_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNdUpdate_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +0 -24
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SeLU_bprop.mindir +0 -21
- mindspore/ops/bprop_mindir/Select_bprop.mindir +0 -31
- mindspore/ops/bprop_mindir/Shape_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +0 -21
- mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Sign_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/Slice_bprop.mindir +0 -26
- mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +0 -36
- mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Softplus_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Softsign_bprop.mindir +0 -33
- mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +0 -28
- mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Split_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +0 -54
- mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +0 -95
- mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +0 -98
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Tanh_bprop.mindir +0 -66
- mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +0 -32
- mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +0 -38
- mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
- mindspore/rewrite/node_visitor.py +0 -44
- mindspore/rewrite/topological_manager.py +0 -203
- mindspore/scipy/sparse/linalg.py +0 -192
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/WHEEL +0 -0
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -94,9 +94,13 @@ def is_jit_forbidden_module(obj_module):
|
|
|
94
94
|
def is_invalid_or_jit_forbidden_method(obj, obj_type, attr):
|
|
95
95
|
"""Check obj has attribute or method."""
|
|
96
96
|
if not hasattr(obj, attr):
|
|
97
|
-
raise AttributeError(f"{obj_type} object has no attribute
|
|
97
|
+
raise AttributeError(f"'{obj_type}' object has no attribute '{attr}'")
|
|
98
98
|
method = getattr(obj, attr)
|
|
99
|
+
if not hasattr(method, "__module__") or method.__module__ is None:
|
|
100
|
+
return False
|
|
99
101
|
method_info = method.__module__ + '.' + method.__qualname__
|
|
100
102
|
return method_info in _jit_forbidden_method
|
|
101
103
|
|
|
102
104
|
add_jit_forbidden_module("mindspore.common.initializer")
|
|
105
|
+
add_jit_forbidden_module("mindspore.context")
|
|
106
|
+
add_jit_forbidden_module("mindspore.log")
|
mindspore/_checkparam.py
CHANGED
|
@@ -84,21 +84,21 @@ def _check_inc_rel(val, lower, upper, rel):
|
|
|
84
84
|
def _format_str_one_value(value, rel):
|
|
85
85
|
"""format string"""
|
|
86
86
|
if rel == EQ:
|
|
87
|
-
return "= {}"
|
|
87
|
+
return f"= {value}"
|
|
88
88
|
if rel == NE:
|
|
89
|
-
return "!= {}"
|
|
89
|
+
return f"!= {value}"
|
|
90
90
|
if rel == LT:
|
|
91
|
-
return "< {}"
|
|
91
|
+
return f"< {value}"
|
|
92
92
|
if rel == LE:
|
|
93
|
-
return "<= {}"
|
|
93
|
+
return f"<= {value}"
|
|
94
94
|
if rel == GT:
|
|
95
|
-
return "> {}"
|
|
95
|
+
return f"> {value}"
|
|
96
96
|
if rel == GE:
|
|
97
|
-
return ">= {}"
|
|
97
|
+
return f">= {value}"
|
|
98
98
|
if rel == IN:
|
|
99
|
-
return "in {}"
|
|
99
|
+
return f"in {value}"
|
|
100
100
|
if rel == NOT_IN:
|
|
101
|
-
return "not in {}"
|
|
101
|
+
return f"not in {value}"
|
|
102
102
|
|
|
103
103
|
return ""
|
|
104
104
|
|
|
@@ -106,13 +106,13 @@ def _format_str_one_value(value, rel):
|
|
|
106
106
|
def _format_str_two_value(val1, val2, rel):
|
|
107
107
|
"""format string"""
|
|
108
108
|
if rel == INC_NEITHER:
|
|
109
|
-
return "({}, {})"
|
|
109
|
+
return f"({val1}, {val2})"
|
|
110
110
|
if rel == INC_LEFT:
|
|
111
|
-
return "[{}, {})"
|
|
111
|
+
return f"[{val1}, {val2})"
|
|
112
112
|
if rel == INC_RIGHT:
|
|
113
|
-
return "({}, {}]"
|
|
113
|
+
return f"({val1}, {val2}]"
|
|
114
114
|
if rel == INC_BOTH:
|
|
115
|
-
return "[{}, {}]"
|
|
115
|
+
return f"[{val1}, {val2}]"
|
|
116
116
|
|
|
117
117
|
return ""
|
|
118
118
|
|
|
@@ -125,14 +125,13 @@ def _check_3d_int_or_tuple(arg_name, arg_value, prim_name, allow_five=False, ret
|
|
|
125
125
|
|
|
126
126
|
def _raise_message(third_one_flag=False, three_input_flag=False):
|
|
127
127
|
if third_one_flag:
|
|
128
|
-
raise ValueError("For '{}', the depth of parameter '{}' must be 1,
|
|
129
|
-
|
|
128
|
+
raise ValueError(f"For '{prim_name}', the depth of parameter '{arg_name}' must be 1, " \
|
|
129
|
+
f"but got {ret_value[-3]}.")
|
|
130
130
|
if three_input_flag:
|
|
131
|
-
raise ValueError("For '{}', the parameter '{}' must be an positive integer " \
|
|
132
|
-
|
|
133
|
-
raise ValueError("For '{}', the parameter '{}' must be an positive integer " \
|
|
134
|
-
|
|
135
|
-
.format(prim_name, arg_name, 'or five ' if allow_five else '', arg_value))
|
|
131
|
+
raise ValueError(f"For '{prim_name}', the parameter '{arg_name}' must be an positive integer " \
|
|
132
|
+
f"or a tuple of three positive integer, but got {arg_value}.")
|
|
133
|
+
raise ValueError(f"For '{prim_name}', the parameter '{arg_name}' must be an positive integer or " \
|
|
134
|
+
f"a tuple of three {'or five ' if allow_five else ''}positive integer, but got {arg_value}")
|
|
136
135
|
|
|
137
136
|
def _get_return_value():
|
|
138
137
|
def _check():
|
|
@@ -238,8 +237,8 @@ def check_is_number(arg_value, arg_type, arg_name=None, prim_name=None):
|
|
|
238
237
|
if math.isinf(arg_value) or math.isnan(arg_value) or np.isinf(arg_value) or np.isnan(arg_value):
|
|
239
238
|
raise ValueError(f"{prim_name} {arg_name} must be a legal float, but got '{arg_value}'.")
|
|
240
239
|
else:
|
|
241
|
-
raise TypeError("{} type of {} must be {},
|
|
242
|
-
|
|
240
|
+
raise TypeError(f"{prim_name} type of {arg_name} must be '{arg_type.__name__}', " \
|
|
241
|
+
f"but got '{type(arg_value).__name__}'.")
|
|
243
242
|
_check_param()
|
|
244
243
|
return arg_value
|
|
245
244
|
|
|
@@ -258,21 +257,17 @@ def check_number_range(arg_value, lower_limit, upper_limit, rel, value_type, arg
|
|
|
258
257
|
def _check_param():
|
|
259
258
|
type_mismatch = not isinstance(arg_value, (np.ndarray, np.generic, value_type)) or isinstance(arg_value, bool)
|
|
260
259
|
if type_mismatch:
|
|
261
|
-
raise TypeError("{} {} must be '{}',
|
|
262
|
-
|
|
260
|
+
raise TypeError(f"{prim_name} {arg_name} must be '{value_type.__name__}', " \
|
|
261
|
+
f"but got '{type(arg_value).__name__}'.")
|
|
263
262
|
|
|
264
263
|
if not _check_inc_rel(arg_value, lower_limit, upper_limit, rel):
|
|
265
264
|
rel_str = _format_str_two_value(lower_limit, upper_limit, rel)
|
|
266
|
-
raise ValueError("{} {} must be in range of {},
|
|
267
|
-
|
|
265
|
+
raise ValueError(f"{prim_name} {arg_name} must be in range of {rel_str}, " \
|
|
266
|
+
f"but got {arg_value} with type '{type(arg_value).__name__}'.")
|
|
268
267
|
_check_param()
|
|
269
268
|
return arg_value
|
|
270
269
|
|
|
271
270
|
|
|
272
|
-
def is_stub_tensor(tensor):
|
|
273
|
-
return hasattr(tensor, "stub")
|
|
274
|
-
|
|
275
|
-
|
|
276
271
|
def check(arg_name, arg_value, value_name, value, rel=EQ, prim_name=None, excp_cls=ValueError):
|
|
277
272
|
"""
|
|
278
273
|
Method for judging relation between two int values or list/tuple made up of ints.
|
|
@@ -284,6 +279,7 @@ def check(arg_name, arg_value, value_name, value, rel=EQ, prim_name=None, excp_c
|
|
|
284
279
|
msg_prefix = f'For \'{prim_name}\', the' if prim_name else "The"
|
|
285
280
|
msg_subject = f"{msg_prefix} \'{arg_name}\'" if " " not in arg_name else f"{msg_prefix} {arg_name}"
|
|
286
281
|
raise excp_cls(f'{msg_subject} should be {rel_str}, but got {arg_value}.')
|
|
282
|
+
|
|
287
283
|
_check()
|
|
288
284
|
return arg_value
|
|
289
285
|
|
|
@@ -315,7 +311,7 @@ def check_equal_int(arg_value, value, arg_name=None, prim_name=None):
|
|
|
315
311
|
Checks input integer value `arg_value` compare to `value`.
|
|
316
312
|
|
|
317
313
|
Usage:
|
|
318
|
-
- number =
|
|
314
|
+
- number = check_equal_int(number, 0, "number", None) # number == 0
|
|
319
315
|
"""
|
|
320
316
|
return _check_number(arg_value, value, EQ, int, arg_name, prim_name)
|
|
321
317
|
|
|
@@ -339,8 +335,9 @@ def check_positive_int_sequence(sequence, arg_name=None, prim_name=None):
|
|
|
339
335
|
- sequence = check_positive_int_sequence(sequence)
|
|
340
336
|
- sequence = check_positive_int_sequence(sequence, "dims")
|
|
341
337
|
"""
|
|
342
|
-
for idx
|
|
343
|
-
|
|
338
|
+
for idx in range(len(sequence)):
|
|
339
|
+
element = sequence[idx]
|
|
340
|
+
arg_idx = f"{arg_name if arg_name else 'arg_name'}[{idx}]"
|
|
344
341
|
_check_number(element, 0, GT, int, arg_idx, prim_name)
|
|
345
342
|
return sequence
|
|
346
343
|
|
|
@@ -386,8 +383,9 @@ def check_non_negative_int_sequence(sequence, arg_name=None, prim_name=None):
|
|
|
386
383
|
- sequence = check_non_negative_int_sequence(sequence)
|
|
387
384
|
- sequence = check_non_negative_int_sequence(sequence, "dims")
|
|
388
385
|
"""
|
|
389
|
-
for idx
|
|
390
|
-
|
|
386
|
+
for idx in range(len(sequence)):
|
|
387
|
+
element = sequence[idx]
|
|
388
|
+
arg_idx = f"{arg_name if arg_name else 'arg_name'}[{idx}]"
|
|
391
389
|
_check_number(element, 0, GE, int, arg_idx, prim_name)
|
|
392
390
|
return sequence
|
|
393
391
|
|
|
@@ -434,8 +432,9 @@ def check_positive_float_sequence(sequence, arg_name=None, prim_name=None):
|
|
|
434
432
|
- sequence = check_positive_float_sequence(sequence)
|
|
435
433
|
- sequence = check_positive_float_sequence(sequence, "dims")
|
|
436
434
|
"""
|
|
437
|
-
for idx
|
|
438
|
-
|
|
435
|
+
for idx in range(len(sequence)):
|
|
436
|
+
element = sequence[idx]
|
|
437
|
+
arg_idx = f"{arg_name if arg_name else 'arg_name'}[{idx}]"
|
|
439
438
|
_check_number(element, 0, GT, float, arg_idx, prim_name)
|
|
440
439
|
return sequence
|
|
441
440
|
|
|
@@ -557,8 +556,18 @@ def check_str_by_regular(target, reg=None, flag=re.ASCII, prim_name=None):
|
|
|
557
556
|
reg = r"^\w+[0-9a-zA-Z\_\.]*$"
|
|
558
557
|
if re.match(reg, target, flag) is None:
|
|
559
558
|
prim_name = f"For '{prim_name}', the" if prim_name else "The"
|
|
560
|
-
raise ValueError("{} '{}' is illegal, it must be match regular'{}' by flags'{}.'"
|
|
561
|
-
|
|
559
|
+
raise ValueError(f"{prim_name} '{target}' is illegal, it must be match regular'{reg}' by flags'{flag}.'")
|
|
560
|
+
return True
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
# pylint: disable=missing-docstring
|
|
564
|
+
def check_str_and_none_by_regular(target, reg=None, flag=re.ASCII, prim_name=None):
|
|
565
|
+
if reg is None:
|
|
566
|
+
# Named string regular expression
|
|
567
|
+
reg = r"^\w*[0-9a-zA-Z\_\.\-]*$"
|
|
568
|
+
if re.match(reg, target, flag) is None:
|
|
569
|
+
prim_name = f"For '{prim_name}', the" if prim_name else "The"
|
|
570
|
+
raise ValueError(f"{prim_name} '{target}' is illegal, it must be match regular'{reg}' by flags'{flag}.'")
|
|
562
571
|
return True
|
|
563
572
|
|
|
564
573
|
|
|
@@ -566,7 +575,7 @@ def check_file_name_by_regular(target, reg=None, prim_name=None):
|
|
|
566
575
|
"""Check whether file name is legitimate."""
|
|
567
576
|
if not isinstance(target, str):
|
|
568
577
|
prim_name = f"For '{prim_name}', the" if prim_name else "The"
|
|
569
|
-
raise TypeError("{} '{}' must be string, but got {
|
|
578
|
+
raise TypeError(f"{prim_name} '{target}' must be string, but got {type(target)}.")
|
|
570
579
|
if target.endswith("\\") or target.endswith("/"):
|
|
571
580
|
prim_name = f"For '{prim_name}', the" if prim_name else "The"
|
|
572
581
|
raise ValueError(f"{prim_name} '{target}' cannot be a directory path.")
|
|
@@ -574,8 +583,7 @@ def check_file_name_by_regular(target, reg=None, prim_name=None):
|
|
|
574
583
|
reg = r"^[0-9a-zA-Z@\_\-\.\:\/\\]+$"
|
|
575
584
|
if re.match(reg, target) is None:
|
|
576
585
|
prim_name = f"For '{prim_name}', the" if prim_name else "The"
|
|
577
|
-
raise ValueError("{} '{}' is illegal, it must be match regular '{}'."
|
|
578
|
-
prim_name, target, reg))
|
|
586
|
+
raise ValueError(f"{prim_name} '{target}' is illegal, it must be match regular '{reg}'.")
|
|
579
587
|
|
|
580
588
|
return True
|
|
581
589
|
|
|
@@ -650,14 +658,14 @@ def check_types_same_and_valid(args, valid_values, prim_name):
|
|
|
650
658
|
def check_tensors_dtypes_same_and_valid(args, valid_dtypes, prim_name):
|
|
651
659
|
"""Checks whether the element types of input tensors are the same and valid."""
|
|
652
660
|
valid_dtypes = valid_dtypes if isinstance(valid_dtypes, Iterable) else [valid_dtypes]
|
|
653
|
-
tensor_types = [mstype.
|
|
661
|
+
tensor_types = [mstype.TensorType(t) for t in valid_dtypes]
|
|
654
662
|
check_types_same_and_valid(args, tensor_types, prim_name)
|
|
655
663
|
|
|
656
664
|
|
|
657
665
|
def check_tensor_dtype_valid(arg_name, arg_type, valid_dtypes, prim_name):
|
|
658
666
|
"""Checks whether the element types of input tensors are valid."""
|
|
659
667
|
valid_dtypes = valid_dtypes if isinstance(valid_dtypes, Iterable) else [valid_dtypes]
|
|
660
|
-
tensor_types = [mstype.
|
|
668
|
+
tensor_types = [mstype.TensorType(t) for t in valid_dtypes]
|
|
661
669
|
check_subclass(arg_name, arg_type, tensor_types, prim_name)
|
|
662
670
|
|
|
663
671
|
|
|
@@ -669,7 +677,7 @@ def check_scalar_or_tensor_types_same(args, valid_values, prim_name, allow_mix=F
|
|
|
669
677
|
|
|
670
678
|
def _check_argument_type(arg):
|
|
671
679
|
arg_key, arg_val = arg
|
|
672
|
-
if isinstance(arg_val, type(mstype.
|
|
680
|
+
if isinstance(arg_val, type(mstype.tensor_type)):
|
|
673
681
|
arg_val = arg_val.element_type()
|
|
674
682
|
if arg_val not in valid_values:
|
|
675
683
|
raise TypeError(f'For \'{prim_name}\', the type of \'{arg_key}\' must be in {valid_values},' \
|
|
@@ -680,14 +688,14 @@ def check_scalar_or_tensor_types_same(args, valid_values, prim_name, allow_mix=F
|
|
|
680
688
|
arg1_name, arg1_type = arg1
|
|
681
689
|
arg2_name, arg2_type = arg2
|
|
682
690
|
except_flag = False
|
|
683
|
-
if isinstance(arg1_type, type(mstype.
|
|
691
|
+
if isinstance(arg1_type, type(mstype.tensor_type)) and isinstance(arg2_type, type(mstype.tensor_type)):
|
|
684
692
|
arg1_type = arg1_type.element_type()
|
|
685
693
|
arg2_type = arg2_type.element_type()
|
|
686
|
-
elif not (isinstance(arg1_type, type(mstype.
|
|
694
|
+
elif not (isinstance(arg1_type, type(mstype.tensor_type)) or isinstance(arg2_type, type(mstype.tensor_type))):
|
|
687
695
|
pass
|
|
688
696
|
elif allow_mix:
|
|
689
|
-
arg1_type = arg1_type.element_type() if isinstance(arg1_type, type(mstype.
|
|
690
|
-
arg2_type = arg2_type.element_type() if isinstance(arg2_type, type(mstype.
|
|
697
|
+
arg1_type = arg1_type.element_type() if isinstance(arg1_type, type(mstype.tensor_type)) else arg1_type
|
|
698
|
+
arg2_type = arg2_type.element_type() if isinstance(arg2_type, type(mstype.tensor_type)) else arg2_type
|
|
691
699
|
else:
|
|
692
700
|
except_flag = True
|
|
693
701
|
|
|
@@ -712,9 +720,9 @@ def check_value_type(arg_name, arg_value, valid_types, prim_name=None):
|
|
|
712
720
|
type_names = [t.__name__ if hasattr(t, '__name__') else str(t) for t in valid_types]
|
|
713
721
|
num_types = len(valid_types)
|
|
714
722
|
msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
723
|
+
type_name_msg = f'{type_names if num_types > 1 else type_names[0]}'
|
|
724
|
+
msg = f'type of \'{arg_name}\' should be{"one of " if num_types > 1 else ""} \'{type_name_msg}\''
|
|
725
|
+
raise TypeError(f'{msg_prefix} {msg}, but got type \'{type(arg_value).__name__}\'.')
|
|
718
726
|
|
|
719
727
|
# Notice: bool is subclass of int, so `check_value_type('x', True, [int])` will check fail, and
|
|
720
728
|
# `check_value_type('x', True, [bool, int])` will check pass
|
|
@@ -742,7 +750,7 @@ def check_type_name(arg_name, arg_type, valid_types, prim_name):
|
|
|
742
750
|
f"{type_names if num_types > 1 else type_names[0]}, " \
|
|
743
751
|
f"but got '{arg_type.__name__ if hasattr(arg_type, '__name__') else repr(arg_type)}'.")
|
|
744
752
|
|
|
745
|
-
if isinstance(arg_type, type(mstype.
|
|
753
|
+
if isinstance(arg_type, type(mstype.tensor_type)):
|
|
746
754
|
arg_type = arg_type.element_type()
|
|
747
755
|
cond = arg_type not in valid_types
|
|
748
756
|
raise_error_msg(cond, arg_type)
|
|
@@ -791,6 +799,9 @@ def check_transpose_axis(axes, ndim):
|
|
|
791
799
|
# if only one argument provided, it must be tuple or list
|
|
792
800
|
if isinstance(perm, list):
|
|
793
801
|
perm = tuple(perm)
|
|
802
|
+
elif isinstance(perm, int):
|
|
803
|
+
perm = (perm,)
|
|
804
|
+
_check_dim()
|
|
794
805
|
else:
|
|
795
806
|
if not isinstance(perm, tuple):
|
|
796
807
|
raise TypeError(f"For Tensor.transpose, the parameter 'axes' must be a tuple/list, " \
|
|
@@ -863,8 +874,8 @@ def prepare_shape_for_squeeze(shape, axes):
|
|
|
863
874
|
|
|
864
875
|
def _check(axes, ndim):
|
|
865
876
|
if axes >= ndim or axes < -ndim:
|
|
866
|
-
raise ValueError("For Tensor.squeeze, the 'axis' must be in the range of [-{
|
|
867
|
-
|
|
877
|
+
raise ValueError(f"For Tensor.squeeze, the 'axis' must be in the range of [-{ndim}, {ndim}), " \
|
|
878
|
+
f"but got {axes}.")
|
|
868
879
|
|
|
869
880
|
def _check_for(axes, ndim):
|
|
870
881
|
for axis in axes:
|
|
@@ -881,15 +892,16 @@ def prepare_shape_for_squeeze(shape, axes):
|
|
|
881
892
|
new_axes += (item,)
|
|
882
893
|
axes = new_axes
|
|
883
894
|
else:
|
|
884
|
-
raise TypeError("For Tensor.squeeze, the parameter 'axes' must be one of [int, tuple, list],
|
|
885
|
-
|
|
895
|
+
raise TypeError(f"For Tensor.squeeze, the parameter 'axes' must be one of [int, tuple, list], " \
|
|
896
|
+
f"but got {type(axes)}")
|
|
886
897
|
|
|
887
898
|
def _check_axis(s, idx, axes, ndim):
|
|
888
899
|
# if an axis is selected with shape entry greater than one, an error is raised.
|
|
889
900
|
if s != 1 and ((idx in axes) or (idx - ndim in axes)):
|
|
890
901
|
raise ValueError(f"For Tensor.squeeze, the shape of parameter 'axis' {axes} must be 1, but got {s}.")
|
|
891
902
|
|
|
892
|
-
for idx
|
|
903
|
+
for idx in range(ndim):
|
|
904
|
+
s = shape[idx]
|
|
893
905
|
_check_axis(s, idx, axes, ndim)
|
|
894
906
|
if s != 1 or (idx not in axes) and (idx - ndim not in axes):
|
|
895
907
|
new_shape = new_shape + (s,)
|
|
@@ -934,13 +946,19 @@ def check_axis_valid(axes, ndim):
|
|
|
934
946
|
|
|
935
947
|
|
|
936
948
|
def max_(*args):
|
|
949
|
+
"""Return the maximum value of the input parameter."""
|
|
937
950
|
return max(*args)
|
|
938
951
|
|
|
939
952
|
|
|
940
953
|
def min_(*args):
|
|
954
|
+
"""Return the minimum value of the input parameter."""
|
|
941
955
|
return min(*args)
|
|
942
956
|
|
|
943
957
|
|
|
958
|
+
def is_stub_tensor(tensor):
|
|
959
|
+
return hasattr(tensor, "stub")
|
|
960
|
+
|
|
961
|
+
|
|
944
962
|
def expanded_shape(ndim, axis_size, axis):
|
|
945
963
|
"""
|
|
946
964
|
Returns a shape with size = 1 for all dimensions
|
|
@@ -961,8 +979,8 @@ def infer_out_shape(*shapes):
|
|
|
961
979
|
def _check(items, max_size, shapes):
|
|
962
980
|
for item in items:
|
|
963
981
|
if item not in (1, max_size):
|
|
964
|
-
raise ValueError(f'For Tensor, the dimension on each axis must be 1 or the max on the axis' \
|
|
965
|
-
f'to support
|
|
982
|
+
raise ValueError(f'For Tensor, the dimension on each axis must be 1 or the max value on the axis' \
|
|
983
|
+
f'to support broadcasting, but got shapes {shapes,}')
|
|
966
984
|
shape_out = ()
|
|
967
985
|
max_len = max([len(it) for it in shapes])
|
|
968
986
|
for i in range(max_len):
|
|
@@ -1246,7 +1264,7 @@ def check_input_data(*data, data_class):
|
|
|
1246
1264
|
if not ret:
|
|
1247
1265
|
data_class_str = tuple(i.__name__ if hasattr(i, '__name__') else i for i in data_class) if isinstance(
|
|
1248
1266
|
data_class, (tuple, list)) else (data_class if data_class is None else data_class.__name__)
|
|
1249
|
-
raise TypeError(f'The
|
|
1267
|
+
raise TypeError(f'The types of input data must be in the Union({data_class_str}, ' \
|
|
1250
1268
|
f'tuple[{data_class_str}], list[{data_class_str}], dict[{data_class_str}]), ' \
|
|
1251
1269
|
f'but got type {item if item is None else type(item).__name__}.')
|
|
1252
1270
|
|
|
@@ -1291,8 +1309,7 @@ def args_type_check(*type_args, **type_kwargs):
|
|
|
1291
1309
|
for name, value in argument_dict.items():
|
|
1292
1310
|
if name in bound_types:
|
|
1293
1311
|
if value is not None and not isinstance(value, bound_types[name]):
|
|
1294
|
-
raise TypeError("The parameter '{}' must be {}, but got {}"
|
|
1295
|
-
.format(name, bound_types[name], type(value)))
|
|
1312
|
+
raise TypeError(f"The parameter '{name}' must be {bound_types[name]}, but got {type(value)}")
|
|
1296
1313
|
return func(*args, **kwargs)
|
|
1297
1314
|
|
|
1298
1315
|
return wrapper
|
|
@@ -14,5 +14,4 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
"""init"""
|
|
16
16
|
from .splitter import split_with_json
|
|
17
|
-
from .expander import get_op_expander, get_expander_op_list
|
|
18
17
|
from .parallel_estimate import estimate_calculation_amount, estimate_ops
|
|
@@ -924,6 +924,8 @@ class GraphSplitGpu(GraphSplitByPattern):
|
|
|
924
924
|
if op.prim == "MatMul":
|
|
925
925
|
return self.Area.MODE_COMPOSITE if op.inputs[0].dtype == "float16" and op.attrs['Akg'] else \
|
|
926
926
|
self.Area.MODE_BASIC
|
|
927
|
+
if op.prim == "Assign":
|
|
928
|
+
return self.Area.MODE_BASIC
|
|
927
929
|
pattern = PrimLib.iter_type(op)
|
|
928
930
|
return self.Area.MODE_BASIC if pattern == PrimLib.RESHAPE else self.Area.MODE_COMPOSITE
|
|
929
931
|
|
|
@@ -13,9 +13,6 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ===========================================================================
|
|
15
15
|
"""GraphKernel model builder"""
|
|
16
|
-
|
|
17
|
-
import copy
|
|
18
|
-
from . import op_infer
|
|
19
16
|
from .model import Tensor, Value, Operator, Graph, AlignShape
|
|
20
17
|
|
|
21
18
|
|
|
@@ -95,18 +92,6 @@ class GraphBuilder:
|
|
|
95
92
|
node.all_inputs = inputs
|
|
96
93
|
self.current.graph.add(node)
|
|
97
94
|
|
|
98
|
-
def emit(self, prim, inputs, name=None, attrs=None):
|
|
99
|
-
"""Emit a new operation"""
|
|
100
|
-
if attrs is None:
|
|
101
|
-
attrs = {}
|
|
102
|
-
if isinstance(inputs, (Tensor, Value)):
|
|
103
|
-
inputs = [inputs]
|
|
104
|
-
tensor_inputs = [t for t in inputs if isinstance(t, (Tensor, Value))]
|
|
105
|
-
out_shape, out_dtype, out_format = op_infer.infer(prim, tensor_inputs, attrs)
|
|
106
|
-
output = self.tensor(out_shape, out_dtype, out_format, name)
|
|
107
|
-
self.op(prim, output, inputs, attrs)
|
|
108
|
-
return output
|
|
109
|
-
|
|
110
95
|
def get(self):
|
|
111
96
|
"""Get graphs"""
|
|
112
97
|
return self.graphs
|
|
@@ -169,15 +154,18 @@ class CompositeGraph:
|
|
|
169
154
|
for op in desc['op_desc']:
|
|
170
155
|
inputs = [self.tensors.get(d['tensor_name'], None) for x in op['input_desc']
|
|
171
156
|
for d in x if 'value' not in d]
|
|
157
|
+
if op['name'] in ('ReduceSum', 'ReduceMax', 'ReduceMin'):
|
|
158
|
+
axis = op['input_desc'][1][0]['value']
|
|
159
|
+
if isinstance(axis, int):
|
|
160
|
+
axis = [axis]
|
|
161
|
+
if not op['attr']:
|
|
162
|
+
attr = [{'name': 'axis', 'dtype': 'listInt', 'value': axis}]
|
|
163
|
+
op['attr'] = attr
|
|
164
|
+
else:
|
|
165
|
+
op['attr'].append({'name': 'axis', 'dtype': 'listInt', 'value': axis})
|
|
172
166
|
out_desc = op['output_desc']
|
|
173
167
|
name, shape, dtype, data_format = out_desc[0]['tensor_name'], out_desc[
|
|
174
168
|
0]['shape'], out_desc[0]['data_type'], out_desc[0]['format']
|
|
175
|
-
if op['name'] == 'InplaceAssign':
|
|
176
|
-
inputs[0].add_buddy(inputs[1])
|
|
177
|
-
inputs[1].para_type = Tensor.PARA_OUTPUT
|
|
178
|
-
output = inputs[2]
|
|
179
|
-
self.tensors[name] = output
|
|
180
|
-
continue
|
|
181
169
|
output = self.tensors.get(name, None)
|
|
182
170
|
if not output:
|
|
183
171
|
output = builder.tensor(shape, dtype, data_format, name=name)
|
|
@@ -186,46 +174,17 @@ class CompositeGraph:
|
|
|
186
174
|
self.graph = builder.get()[0]
|
|
187
175
|
self.desc = desc
|
|
188
176
|
|
|
189
|
-
def _pre_dump(self, outputs):
|
|
190
|
-
"""restore name to before load"""
|
|
191
|
-
inplace_assign = {} # y_name, output_name
|
|
192
|
-
inplace_assign_z = None
|
|
193
|
-
for op in self.desc['op_desc']:
|
|
194
|
-
if op['name'] == 'InplaceAssign':
|
|
195
|
-
inplace_assign[op['input_desc'][1][0]['tensor_name']] = op['output_desc'][0]['tensor_name']
|
|
196
|
-
if inplace_assign:
|
|
197
|
-
for t in outputs:
|
|
198
|
-
if t.name not in inplace_assign:
|
|
199
|
-
inplace_assign_z = t
|
|
200
|
-
return inplace_assign, inplace_assign_z
|
|
201
177
|
|
|
202
178
|
def dump(self, subgraph):
|
|
203
179
|
"""Dump Graph to json"""
|
|
204
180
|
desc = {}
|
|
205
181
|
inputs, outputs = subgraph.deduce_parameters()
|
|
206
182
|
graph_ops = set(subgraph.ops)
|
|
207
|
-
inplace_assign, inplace_assign_z = self._pre_dump(outputs)
|
|
208
183
|
|
|
209
184
|
def dump_output(t):
|
|
210
|
-
if t.name in inplace_assign:
|
|
211
|
-
z = inplace_assign_z if inplace_assign_z is not None else self.tensors.get(t.name, None)
|
|
212
|
-
return {'data_type': z.dtype, 'shape': z.shape, 'tensor_name': inplace_assign.get(t.name)}
|
|
213
185
|
return {'data_type': t.dtype, 'shape': t.shape, 'tensor_name': t.name}
|
|
214
186
|
|
|
215
187
|
def dump_op_desc(d):
|
|
216
|
-
if d['name'] == 'InplaceAssign':
|
|
217
|
-
y = d['input_desc'][1][0]['tensor_name']
|
|
218
|
-
if self.tensors[y].op in graph_ops:
|
|
219
|
-
z, fake = (inplace_assign_z, False) if inplace_assign_z is not None else (self.tensors.get(y), True)
|
|
220
|
-
inplace_desc = copy.deepcopy(d)
|
|
221
|
-
inplace_desc['attr'] = {'name': 'fake_output', 'value': fake}
|
|
222
|
-
z_desc, out_desc = inplace_desc['input_desc'][2][0], inplace_desc['output_desc'][0]
|
|
223
|
-
z_desc['shape'] = z.shape
|
|
224
|
-
z_desc['data_type'] = z.dtype
|
|
225
|
-
z_desc['tensor_name'] = z.name
|
|
226
|
-
out_desc['shape'] = z.shape
|
|
227
|
-
out_desc['data_type'] = z.dtype
|
|
228
|
-
return inplace_desc
|
|
229
188
|
op = self.tensors[d['output_desc'][0]['tensor_name']].op
|
|
230
189
|
if op in graph_ops or op in subgraph.recompute_ops:
|
|
231
190
|
return d
|
|
@@ -36,7 +36,6 @@ def split_with_json(json_str, flags_str):
|
|
|
36
36
|
subgraphs, graph_mode = model.split(comp.graph, target, flags)
|
|
37
37
|
is_multi_graph = len(subgraphs) > 1
|
|
38
38
|
graph_list = list(map(comp.dump, subgraphs))
|
|
39
|
-
_reset_graphmode_for_inplaceassign(graph_list, graph_mode)
|
|
40
39
|
result = {"multi_graph": is_multi_graph,
|
|
41
40
|
"graph_desc": graph_list,
|
|
42
41
|
"graph_mode": graph_mode}
|
|
@@ -114,19 +113,12 @@ def _load_repository(graph, flags):
|
|
|
114
113
|
return result
|
|
115
114
|
|
|
116
115
|
|
|
117
|
-
def _reset_graphmode_for_inplaceassign(graph_list, graph_mode):
|
|
118
|
-
"""Operator with InplaceAssign should always be composite op"""
|
|
119
|
-
for i, g in enumerate(graph_list):
|
|
120
|
-
if any((op['name'] == 'InplaceAssign' for op in g['op_desc'])):
|
|
121
|
-
graph_mode[i] = 'composite'
|
|
122
|
-
|
|
123
|
-
|
|
124
116
|
def _dump_split_info(use_repo, graph_str, graph, subgraphs, graph_mode, graph_list):
|
|
125
117
|
"""Dump split info as text"""
|
|
126
118
|
graph_kernel_dump_path = "graph_kernel_dump"
|
|
127
119
|
utils.create_dir(graph_kernel_dump_path)
|
|
128
120
|
filename = os.path.join(graph_kernel_dump_path, "graph_kernel_split_mode.%d.txt" % os.getpid())
|
|
129
|
-
with os.fdopen(os.open(filename, os.O_WRONLY | os.O_CREAT), "a+") as f:
|
|
121
|
+
with os.fdopen(os.open(filename, os.O_WRONLY | os.O_CREAT, 0o600), "a+") as f:
|
|
130
122
|
f.write("********** main graph: {} **********\n".format(graph.name))
|
|
131
123
|
f.write("input json:\n{}\n".format(graph_str))
|
|
132
124
|
f.write("graph desc:\n{}\n".format(str(graph)))
|