mindspore 2.0.0rc1__cp38-cp38-manylinux1_x86_64.whl → 2.2.0__cp38-cp38-manylinux1_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/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-x86_64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +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-x86_64-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/gpu/libcuda_ops.so.10 +0 -0
- mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
- mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
- mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu10.1/libnvidia_collective.so +0 -0
- mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
- mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu11.1/libnvidia_collective.so +0 -0
- mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
- mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu11.6/libnvidia_collective.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
- mindspore/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 +647 -818
- {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
|
@@ -113,7 +113,8 @@ class BoostTrainOneStepCell(TrainOneStepCell):
|
|
|
113
113
|
Args:
|
|
114
114
|
network (Cell): The training network. The network only supports single output.
|
|
115
115
|
optimizer (Union[Cell]): Optimizer for updating the weights.
|
|
116
|
-
sens (numbers.Number): The scaling number to be filled as the input of backpropagation.
|
|
116
|
+
sens (numbers.Number): The scaling number to be filled as the input of backpropagation.
|
|
117
|
+
Default: ``None`` , which is ``1.0`` .
|
|
117
118
|
|
|
118
119
|
Inputs:
|
|
119
120
|
- **\*inputs** (Tuple(Tensor)) - Tuple of input tensors with shape :math:`(N, \ldots)`.
|
|
@@ -133,7 +134,10 @@ class BoostTrainOneStepCell(TrainOneStepCell):
|
|
|
133
134
|
|
|
134
135
|
Examples:
|
|
135
136
|
>>> from mindspore import boost
|
|
136
|
-
>>>
|
|
137
|
+
>>> from mindspore import nn
|
|
138
|
+
>>> # Define the network structure of LeNet5. Refer to
|
|
139
|
+
>>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/lenet.py
|
|
140
|
+
>>> net = LeNet5()
|
|
137
141
|
>>> loss_fn = nn.SoftmaxCrossEntropyWithLogits()
|
|
138
142
|
>>> optim = nn.Momentum(net.trainable_params(), learning_rate=0.1, momentum=0.9)
|
|
139
143
|
>>> #1) Using the WithLossCell existing provide
|
|
@@ -141,7 +145,7 @@ class BoostTrainOneStepCell(TrainOneStepCell):
|
|
|
141
145
|
>>> train_net = boost.BoostTrainOneStepCell(loss_net, optim)
|
|
142
146
|
>>>
|
|
143
147
|
>>> #2) Using user-defined WithLossCell
|
|
144
|
-
>>> class MyWithLossCell(Cell):
|
|
148
|
+
>>> class MyWithLossCell(nn.Cell):
|
|
145
149
|
... def __init__(self, backbone, loss_fn):
|
|
146
150
|
... super(MyWithLossCell, self).__init__(auto_prefix=False)
|
|
147
151
|
... self._backbone = backbone
|
|
@@ -159,7 +163,7 @@ class BoostTrainOneStepCell(TrainOneStepCell):
|
|
|
159
163
|
>>> train_net = boost.BoostTrainOneStepCell(loss_net, optim)
|
|
160
164
|
"""
|
|
161
165
|
|
|
162
|
-
def __init__(self, network, optimizer, sens=
|
|
166
|
+
def __init__(self, network, optimizer, sens=None):
|
|
163
167
|
super(BoostTrainOneStepCell, self).__init__(network, optimizer, sens)
|
|
164
168
|
self.hyper_map = C.HyperMap()
|
|
165
169
|
self.freeze = isinstance(optimizer, FreezeOpt)
|
|
@@ -208,6 +212,8 @@ class BoostTrainOneStepCell(TrainOneStepCell):
|
|
|
208
212
|
if self.freeze:
|
|
209
213
|
loss = self.gradient_freeze_process(*inputs)
|
|
210
214
|
else:
|
|
215
|
+
if not self.sense_flag:
|
|
216
|
+
return self._no_sens_impl(*inputs)
|
|
211
217
|
loss = self.network(*inputs)
|
|
212
218
|
sens = F.fill(loss.dtype, loss.shape, self.sens)
|
|
213
219
|
grads = self.grad(self.network, self.weights)(*inputs, sens)
|
|
@@ -333,6 +339,22 @@ class BoostTrainOneStepCell(TrainOneStepCell):
|
|
|
333
339
|
return False
|
|
334
340
|
return True
|
|
335
341
|
|
|
342
|
+
def _no_sens_impl(self, *inputs):
|
|
343
|
+
"""construct implementation when the 'sens' parameter is passed in."""
|
|
344
|
+
loss = self.network(*inputs)
|
|
345
|
+
sens = F.fill(loss.dtype, loss.shape, self.sens)
|
|
346
|
+
grads = self.grad_no_sens(self.network, self.weights)(*inputs)
|
|
347
|
+
grads = self.grad_reducer(grads)
|
|
348
|
+
if self.use_grad_accumulation:
|
|
349
|
+
loss = self.gradient_accumulation_process(loss, grads, sens, *inputs)
|
|
350
|
+
else:
|
|
351
|
+
if self.enable_dim_reduce:
|
|
352
|
+
loss = F.depend(loss, self.dim_reduce(loss, grads, sens, self.weights, self.weights_clone, *inputs))
|
|
353
|
+
elif self.enable_adasum:
|
|
354
|
+
loss = F.depend(loss, self.adasum_process(loss, grads))
|
|
355
|
+
else:
|
|
356
|
+
loss = F.depend(loss, self.optimizer(grads))
|
|
357
|
+
|
|
336
358
|
def __init_dim_reduce(self):
|
|
337
359
|
"""dim reduce algorithm init method."""
|
|
338
360
|
local_pca_mat_path = self.auto_boost.local_pca_mat_path
|
|
@@ -390,7 +412,8 @@ class BoostTrainOneStepWithLossScaleCell(BoostTrainOneStepCell):
|
|
|
390
412
|
network (Cell): The training network. The network only supports single output.
|
|
391
413
|
optimizer (Cell): Optimizer for updating the weights.
|
|
392
414
|
scale_sense (Union[Tensor, Cell]): If this value is Cell type, the loss scaling update logic cell.If this value
|
|
393
|
-
|
|
415
|
+
is Tensor type, :func:`mindspore.nn.TrainOneStepWithLossScaleCell.set_sense_scale` can be called to update
|
|
416
|
+
loss scale factor, Tensor with shape :math:`()` or :math:`(1,)`.
|
|
394
417
|
|
|
395
418
|
Inputs:
|
|
396
419
|
- **\*inputs** (Tuple(Tensor)) - Tuple of input tensors with shape :math:`(N, \ldots)`.
|
|
@@ -404,7 +427,7 @@ class BoostTrainOneStepWithLossScaleCell(BoostTrainOneStepCell):
|
|
|
404
427
|
|
|
405
428
|
Raises:
|
|
406
429
|
TypeError: If `scale_sense` is neither Cell nor Tensor.
|
|
407
|
-
ValueError: If shape of `scale_sense` is neither (1,) nor ()
|
|
430
|
+
ValueError: If shape of `scale_sense` is neither :math:`(1,)` nor :math:`()`.
|
|
408
431
|
|
|
409
432
|
Supported Platforms:
|
|
410
433
|
``Ascend`` ``GPU``
|
|
@@ -463,9 +486,8 @@ class BoostTrainOneStepWithLossScaleCell(BoostTrainOneStepCell):
|
|
|
463
486
|
self.loss_scaling_manager = None
|
|
464
487
|
self.base0 = Tensor(0, mstype.int32)
|
|
465
488
|
self.reduce_all = P.ReduceAll(keep_dims=False)
|
|
466
|
-
self.
|
|
489
|
+
self.logic_not = P.LogicalNot()
|
|
467
490
|
self.equal = P.Equal()
|
|
468
|
-
self.not_equal = P.NotEqual()
|
|
469
491
|
|
|
470
492
|
if self.auto_boost.boost_config.get("loss_scale_group", False):
|
|
471
493
|
self.enable_enhanced_amp = True
|
|
@@ -544,9 +566,9 @@ class BoostTrainOneStepWithLossScaleCell(BoostTrainOneStepCell):
|
|
|
544
566
|
flag_sum = self.equal(self.base0, param)
|
|
545
567
|
if self.reducer_flag:
|
|
546
568
|
flag_reduce = self.allreduce(flag_sum)
|
|
547
|
-
overflow =
|
|
569
|
+
overflow = self.logic_not(self.reduce_all(flag_reduce))
|
|
548
570
|
else:
|
|
549
|
-
overflow =
|
|
571
|
+
overflow = self.logic_not(self.reduce_all(flag_sum))
|
|
550
572
|
|
|
551
573
|
if overflow:
|
|
552
574
|
update_ratio = self.reduce_ratio
|
|
@@ -647,17 +669,19 @@ class BoostTrainOneStepWithLossScaleCell(BoostTrainOneStepCell):
|
|
|
647
669
|
# sum overflow flag over devices
|
|
648
670
|
flag_reduce = self.allreduce(get_status)
|
|
649
671
|
# get_status not equal to [0]*8 means overflow
|
|
650
|
-
flag = self.
|
|
672
|
+
flag = self.equal(self.base0, flag_reduce)
|
|
651
673
|
status = F.depend(status, flag)
|
|
652
674
|
# distributed needs to skip allreduce to avoid its overflow affecting the next step
|
|
653
675
|
clear_status = NPUClearFloatStatusV2()(status)
|
|
654
676
|
flag = F.depend(flag, clear_status)
|
|
677
|
+
overall_finite = self.reduce_all(flag)
|
|
655
678
|
else:
|
|
656
679
|
status = F.depend(status, get_status)
|
|
657
680
|
clear_status = NPUClearFloatStatusV2()(status)
|
|
658
681
|
get_status = F.depend(get_status, clear_status)
|
|
659
|
-
flag = self.
|
|
660
|
-
|
|
682
|
+
flag = self.equal(self.base0, get_status)
|
|
683
|
+
overall_finite = self.reduce_all(flag)
|
|
684
|
+
overflow = self.logic_not(overall_finite)
|
|
661
685
|
else:
|
|
662
686
|
flag_sum = self.hyper_map(F.partial(_grad_overflow), compute_output)
|
|
663
687
|
flag_sum = P.AddN()(flag_sum)
|
|
@@ -71,7 +71,7 @@ class GradientAccumulation(Cell):
|
|
|
71
71
|
|
|
72
72
|
if self._accumulation_step >= self._max_accumulation_step:
|
|
73
73
|
loss = F.depend(loss, self.optimizer(self._grad_accumulation))
|
|
74
|
-
self._accumulation_step
|
|
74
|
+
F.assign(self._accumulation_step, 0)
|
|
75
75
|
|
|
76
76
|
if self._accumulation_step == 0:
|
|
77
77
|
loss = F.depend(loss, self.hyper_map(F.partial(gradient_clear_op), self._grad_accumulation))
|
mindspore/boost/grad_freeze.py
CHANGED
|
@@ -17,6 +17,7 @@ from __future__ import absolute_import
|
|
|
17
17
|
from __future__ import division
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
|
+
from mindspore import nn
|
|
20
21
|
from mindspore.nn.cell import Cell
|
|
21
22
|
from mindspore.nn.optim import Optimizer
|
|
22
23
|
from mindspore.common import Tensor
|
|
@@ -42,7 +43,9 @@ class FreezeOpt(Cell):
|
|
|
42
43
|
Args:
|
|
43
44
|
opt (Cell): non-freezing optimizer instance, such as 'Momentum', 'SGD'.
|
|
44
45
|
train_parameter_groups (Union[tuple, list]): Groups of parameters for gradients freezing training.
|
|
46
|
+
Default: ``None`` .
|
|
45
47
|
train_strategy (Union[tuple(int), list(int), Tensor]): Strategy for gradients freezing training.
|
|
48
|
+
Default: ``None`` .
|
|
46
49
|
|
|
47
50
|
Supported Platforms:
|
|
48
51
|
``Ascend``
|
|
@@ -201,15 +204,40 @@ class GradientFreeze:
|
|
|
201
204
|
total_steps (int): Steps of the whole training.
|
|
202
205
|
|
|
203
206
|
Examples:
|
|
207
|
+
>>> import numpy as np
|
|
208
|
+
>>> from mindspore import Tensor, Parameter, nn
|
|
209
|
+
>>> import mindspore.ops as ops
|
|
210
|
+
>>> from mindspore.nn import WithLossCell
|
|
211
|
+
>>> from mindspore import dtype as mstype
|
|
212
|
+
>>> from mindspore import boost
|
|
213
|
+
>>>
|
|
214
|
+
>>> class Net(nn.Cell):
|
|
215
|
+
... def __init__(self, in_features, out_features):
|
|
216
|
+
... super(Net, self).__init__()
|
|
217
|
+
... self.weight = Parameter(Tensor(np.ones([in_features, out_features]).astype(np.float32)),
|
|
218
|
+
... name='weight')
|
|
219
|
+
... self.matmul = ops.MatMul()
|
|
220
|
+
...
|
|
221
|
+
... def construct(self, x):
|
|
222
|
+
... output = self.matmul(x, self.weight)
|
|
223
|
+
... return output
|
|
224
|
+
>>> size, in_features, out_features = 16, 16, 10
|
|
225
|
+
>>> net = Net(in_features, out_features)
|
|
226
|
+
>>> loss = nn.MSELoss()
|
|
227
|
+
>>> optimizer = nn.Momentum(net.trainable_params(), learning_rate=0.1, momentum=0.9)
|
|
228
|
+
>>> net_with_loss = WithLossCell(net, loss)
|
|
204
229
|
>>> gradient_freeze_class = boost.GradientFreeze(10, 1, 0.5, 2000)
|
|
205
|
-
>>> network, optimizer = gradient_freeze_class.freeze_generate(
|
|
230
|
+
>>> network, optimizer = gradient_freeze_class.freeze_generate(net_with_loss, optimizer)
|
|
231
|
+
>>> inputs = Tensor(np.ones([size, in_features]).astype(np.float32))
|
|
232
|
+
>>> label = Tensor(np.zeros([size, out_features]).astype(np.float32))
|
|
233
|
+
>>> output = network(inputs, label)
|
|
206
234
|
"""
|
|
207
235
|
def __init__(self, param_groups, freeze_type, freeze_p, total_steps):
|
|
208
236
|
self._param_groups = param_groups
|
|
209
237
|
self._freeze_type = freeze_type
|
|
210
238
|
self._freeze_p = freeze_p
|
|
211
239
|
self._total_steps = total_steps
|
|
212
|
-
self.grad_reducer =
|
|
240
|
+
self.grad_reducer = nn.Identity()
|
|
213
241
|
|
|
214
242
|
def split_parameters_groups(self, net, freeze_para_groups_number):
|
|
215
243
|
r"""
|
|
@@ -312,9 +340,9 @@ def freeze_cell(reducer_flag, network, optimizer, sens, grad, use_grad_accumulat
|
|
|
312
340
|
sens (numbers.Number): The scaling number.
|
|
313
341
|
grad (tuple(Tensor)): Tuple of gradient tensors.
|
|
314
342
|
use_grad_accumulation (bool): Use gradient accumulation flag.
|
|
315
|
-
mean (bool): Gradients mean flag.
|
|
316
|
-
degree (int): Device number.
|
|
317
|
-
max_accumulation_step (int): Max accumulation steps.
|
|
343
|
+
mean (bool): Gradients mean flag. Default: ``None`` .
|
|
344
|
+
degree (int): Device number. Default: ``None`` .
|
|
345
|
+
max_accumulation_step (int): Max accumulation steps. Default: ``1`` .
|
|
318
346
|
|
|
319
347
|
Examples:
|
|
320
348
|
>>> import numpy as np
|
|
@@ -348,7 +376,7 @@ def freeze_cell(reducer_flag, network, optimizer, sens, grad, use_grad_accumulat
|
|
|
348
376
|
use_grad_accumulation, opt, max_accumulation_step)
|
|
349
377
|
for reducer, opt in zip(grad_reducers, optimizer.opts))
|
|
350
378
|
else:
|
|
351
|
-
freeze_nets = tuple(_TrainFreezeCell(network, sens, grad,
|
|
379
|
+
freeze_nets = tuple(_TrainFreezeCell(network, sens, grad, nn.Identity(),
|
|
352
380
|
use_grad_accumulation, opt, max_accumulation_step)
|
|
353
381
|
for opt in optimizer.opts)
|
|
354
382
|
return freeze_nets
|
|
@@ -27,7 +27,7 @@ __all__ = ["GroupLossScaleManager"]
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
class GroupLossScaleManager(Cell):
|
|
30
|
-
"""
|
|
30
|
+
r"""
|
|
31
31
|
Enhanced hybrid precision algorithm supports multi-layer application of different loss scales and
|
|
32
32
|
dynamic updating of loss scales.
|
|
33
33
|
|
|
@@ -41,7 +41,8 @@ class GroupLossScaleManager(Cell):
|
|
|
41
41
|
- **layer2** (Int) - Last network layer value.
|
|
42
42
|
|
|
43
43
|
Outputs:
|
|
44
|
-
- **
|
|
44
|
+
- **out** (Tensor) - A tensor with a group of loss scale tags that marks
|
|
45
|
+
the loss scale group number of the current tensor.
|
|
45
46
|
|
|
46
47
|
Supported Platforms:
|
|
47
48
|
``Ascend``
|
|
@@ -80,21 +81,21 @@ class GroupLossScaleManager(Cell):
|
|
|
80
81
|
>>> param_group1 = []
|
|
81
82
|
>>> param_group2 = []
|
|
82
83
|
>>> for param in net.trainable_params():
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
... if 'conv' in param.name:
|
|
85
|
+
... param_group1.append(param)
|
|
86
|
+
... else:
|
|
87
|
+
... param_group2.append(param)
|
|
87
88
|
>>> loss_scale_manager.loss_scale_groups = [param_group1, param_group2]
|
|
88
89
|
>>> loss = nn.SoftmaxCrossEntropyWithLogits()
|
|
89
90
|
>>> optim = nn.Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9)
|
|
90
|
-
>>> boost_config_dict = {"boost": {"mode": "manual", "less_bn": False, "grad_freeze": False, "adasum": False,
|
|
91
|
-
|
|
92
|
-
>>> model = ms.Model(net, loss_fn=loss, optimizer=optim, metrics=None,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
>>> #
|
|
96
|
-
>>> # https://
|
|
97
|
-
>>> dataset =
|
|
91
|
+
>>> boost_config_dict = {"boost": {"mode": "manual", "less_bn": False, "grad_freeze": False, "adasum": False,
|
|
92
|
+
... "grad_accumulation": False, "dim_reduce": False, "loss_scale_group": True}}
|
|
93
|
+
>>> model = ms.train.Model(net, loss_fn=loss, optimizer=optim, metrics=None,
|
|
94
|
+
... loss_scale_manager=loss_scale_manager,
|
|
95
|
+
... boost_level="O1", boost_config_dict=boost_config_dict)
|
|
96
|
+
>>> # Create the dataset taking MNIST as an example. Refer to
|
|
97
|
+
>>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/mnist.py
|
|
98
|
+
>>> dataset = create_dataset()
|
|
98
99
|
>>> model.train(2, dataset)
|
|
99
100
|
"""
|
|
100
101
|
def __init__(self, init_loss_scale, loss_scale_groups):
|
|
@@ -45,7 +45,7 @@ class CommonHeadLastFN(Cell):
|
|
|
45
45
|
is same as input x. The values of str refer to the function `initializer`. Default: 'normal'.
|
|
46
46
|
bias_init (Union[Tensor, str, Initializer, numbers.Number]): The trainable bias_init parameter. The dtype is
|
|
47
47
|
same as input x. The values of str refer to the function `initializer`. Default: 'zeros'.
|
|
48
|
-
has_bias (bool): Specifies whether the layer uses a bias vector. Default: True
|
|
48
|
+
has_bias (bool): Specifies whether the layer uses a bias vector. Default: ``True``.
|
|
49
49
|
|
|
50
50
|
Supported Platforms:
|
|
51
51
|
``Ascend`` ``GPU`` ``CPU``
|
|
@@ -91,10 +91,35 @@ class LessBN(Cell):
|
|
|
91
91
|
|
|
92
92
|
Args:
|
|
93
93
|
network (Cell): Network to be modified.
|
|
94
|
-
fn_flag (bool): Replace FC with FN.
|
|
94
|
+
fn_flag (bool): Replace FC with FN. Default: ``False`` .
|
|
95
95
|
|
|
96
96
|
Examples:
|
|
97
|
-
>>>
|
|
97
|
+
>>> import numpy as np
|
|
98
|
+
>>> from mindspore import Tensor, Parameter, nn
|
|
99
|
+
>>> import mindspore.ops as ops
|
|
100
|
+
>>> from mindspore.nn import WithLossCell
|
|
101
|
+
>>> from mindspore import dtype as mstype
|
|
102
|
+
>>> from mindspore import boost
|
|
103
|
+
>>>
|
|
104
|
+
>>> class Net(nn.Cell):
|
|
105
|
+
... def __init__(self, in_features, out_features):
|
|
106
|
+
... super(Net, self).__init__()
|
|
107
|
+
... self.weight = Parameter(Tensor(np.ones([in_features, out_features]).astype(np.float32)),
|
|
108
|
+
... name='weight')
|
|
109
|
+
... self.matmul = ops.MatMul()
|
|
110
|
+
...
|
|
111
|
+
... def construct(self, x):
|
|
112
|
+
... output = self.matmul(x, self.weight)
|
|
113
|
+
... return output
|
|
114
|
+
>>> size, in_features, out_features = 16, 16, 10
|
|
115
|
+
>>> net = Net(in_features, out_features)
|
|
116
|
+
>>> loss = nn.MSELoss()
|
|
117
|
+
>>> optimizer = nn.Momentum(net.trainable_params(), learning_rate=0.1, momentum=0.9)
|
|
118
|
+
>>> net_with_loss = WithLossCell(net, loss)
|
|
119
|
+
>>> inputs = Tensor(np.ones([size, in_features]).astype(np.float32))
|
|
120
|
+
>>> label = Tensor(np.zeros([size, out_features]).astype(np.float32))
|
|
121
|
+
>>> train_network = boost.LessBN(net_with_loss)
|
|
122
|
+
>>> output = train_network(inputs, label)
|
|
98
123
|
"""
|
|
99
124
|
|
|
100
125
|
def __init__(self, network, fn_flag=False):
|
mindspore/common/__init__.py
CHANGED
|
@@ -15,20 +15,22 @@
|
|
|
15
15
|
"""Top-level reference to dtype of common module."""
|
|
16
16
|
from __future__ import absolute_import
|
|
17
17
|
from mindspore.common import dtype
|
|
18
|
-
from mindspore.common.api import ms_function, ms_memory_recycle, ms_class, jit, jit_class
|
|
18
|
+
from mindspore.common.api import ms_function, ms_memory_recycle, ms_class, jit, jit_class, _no_grad
|
|
19
19
|
from mindspore.common.dtype import Type, int8, byte, int16, short, int32, intc, int64, intp, \
|
|
20
20
|
uint8, ubyte, uint16, ushort, uint32, uintc, uint64, uintp, float16, half, \
|
|
21
|
-
float32, single, float64, double, bool_, float_, list_, tuple_, int_, \
|
|
22
|
-
uint, number,
|
|
23
|
-
complex64, complex128, dtype_to_nptype, _null,
|
|
21
|
+
float32, single, float64, bfloat16, double, bool_, float_, list_, tuple_, int_, \
|
|
22
|
+
uint, number, tensor_type, string, type_none, TensorType, Int, \
|
|
23
|
+
complex64, complex128, dtype_to_nptype, _null, _NullType, \
|
|
24
24
|
dtype_to_pytype, pytype_to_dtype, get_py_obj_dtype, QuantDtype
|
|
25
25
|
from mindspore.common.dump import set_dump
|
|
26
26
|
from mindspore.common.parameter import Parameter, ParameterTuple
|
|
27
27
|
from mindspore.common.seed import set_seed, get_seed
|
|
28
|
-
from mindspore.common.tensor import Tensor
|
|
28
|
+
from mindspore.common.tensor import Tensor, tensor
|
|
29
29
|
from mindspore.common.sparse_tensor import RowTensor, RowTensorInner, SparseTensor, COOTensor, CSRTensor
|
|
30
30
|
from mindspore.common.mutable import mutable
|
|
31
31
|
from mindspore.common.jit_config import JitConfig
|
|
32
|
+
from mindspore.common.lazy_inline import lazy_inline
|
|
33
|
+
from mindspore.common.mindir_util import load_mindir, save_mindir
|
|
32
34
|
|
|
33
35
|
# symbols from dtype
|
|
34
36
|
__all__ = [
|
|
@@ -46,24 +48,26 @@ __all__ = [
|
|
|
46
48
|
"bool_", "float_",
|
|
47
49
|
"list_", "tuple_",
|
|
48
50
|
"int_", "uint",
|
|
49
|
-
"number", "
|
|
51
|
+
"number", "tensor_type",
|
|
50
52
|
"string", "type_none",
|
|
51
53
|
"_null",
|
|
52
|
-
"
|
|
53
|
-
"Type", "Int", "
|
|
54
|
+
"TensorType", "QuantDtype",
|
|
55
|
+
"Type", "Int", "_NullType",
|
|
54
56
|
"complex64", "complex128",
|
|
55
57
|
# __method__ from dtype
|
|
56
58
|
"dtype_to_nptype", "dtype_to_pytype",
|
|
57
|
-
"pytype_to_dtype", "get_py_obj_dtype"
|
|
59
|
+
"pytype_to_dtype", "get_py_obj_dtype",
|
|
60
|
+
"bfloat16",
|
|
58
61
|
]
|
|
59
62
|
|
|
60
63
|
__all__.extend([
|
|
61
|
-
"Tensor", "RowTensor", "SparseTensor", "COOTensor", "CSRTensor", # tensor
|
|
62
|
-
"ms_function", "ms_class", 'jit', 'jit_class', # api
|
|
64
|
+
"tensor", "Tensor", "RowTensor", "SparseTensor", "COOTensor", "CSRTensor", # tensor
|
|
65
|
+
"ms_function", "ms_class", 'jit', 'jit_class', '_no_grad', # api
|
|
63
66
|
"Parameter", "ParameterTuple", # parameter
|
|
64
67
|
"dtype",
|
|
65
68
|
"set_seed", "get_seed", # random seed
|
|
66
69
|
"set_dump",
|
|
67
70
|
"ms_memory_recycle",
|
|
68
71
|
"mutable", "JitConfig",
|
|
72
|
+
"lazy_inline", "load_mindir", "save_mindir"
|
|
69
73
|
])
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2023 Huawei Technologies Co., Ltd
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
# ============================================================================
|
|
17
|
+
"""convert inputs to dynamic shape automatically at the first round. Method in this file is only used for test."""
|
|
18
|
+
import os
|
|
19
|
+
from mindspore.common.parameter import Parameter
|
|
20
|
+
from mindspore.common.tensor import Tensor
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def is_auto_dynamic_shape():
|
|
24
|
+
"""this is used only for test"""
|
|
25
|
+
return os.getenv("MS_DEV_AUTO_DYNAMIC_SHAPE") == "on"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def is_auto_dynamic_rank():
|
|
29
|
+
"""this is used only for test"""
|
|
30
|
+
return os.getenv("MS_DEV_AUTO_DYNAMIC_RANK") == "on"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def is_auto_dynamic():
|
|
34
|
+
"""this is used only for test"""
|
|
35
|
+
return is_auto_dynamic_shape() or is_auto_dynamic_rank()
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def convert_inputs_to_dynamic(*inputs):
|
|
39
|
+
"""this is used only for test"""
|
|
40
|
+
dyn_inputs = list(inputs)
|
|
41
|
+
if not dyn_inputs:
|
|
42
|
+
return None
|
|
43
|
+
for idx, net_input in enumerate(inputs):
|
|
44
|
+
if isinstance(net_input, Tensor) and not isinstance(net_input, Parameter):
|
|
45
|
+
shp = net_input.shape
|
|
46
|
+
if not shp:
|
|
47
|
+
dyn_inputs[idx] = net_input
|
|
48
|
+
continue
|
|
49
|
+
if is_auto_dynamic_rank():
|
|
50
|
+
dyn_tensor = Tensor(shape=None, dtype=net_input.dtype)
|
|
51
|
+
else:
|
|
52
|
+
dyn_shape = [None for _ in net_input.shape]
|
|
53
|
+
dyn_tensor = Tensor(shape=dyn_shape, dtype=net_input.dtype)
|
|
54
|
+
dyn_inputs[idx] = dyn_tensor
|
|
55
|
+
|
|
56
|
+
return tuple(dyn_inputs)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def convert_new_shapes(dataset_shapes):
|
|
60
|
+
"""this is used only for test"""
|
|
61
|
+
new_shapes = []
|
|
62
|
+
for shape in dataset_shapes:
|
|
63
|
+
if is_auto_dynamic_rank():
|
|
64
|
+
new_shape = [-2]
|
|
65
|
+
else:
|
|
66
|
+
new_shape = [-1 for _ in shape]
|
|
67
|
+
new_shapes.append(new_shape)
|
|
68
|
+
return new_shapes
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2023 Huawei Technologies Co., Ltd
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
# ============================================================================
|
|
17
|
+
"""common _jit_fallback_utils."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
_local_value_nodes = {}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def generate_list(key_name, list_value):
|
|
24
|
+
"Generate list object."
|
|
25
|
+
list_obj = get_local_variable(key_name)
|
|
26
|
+
# Need to clear current object, in case the same make_list is called multiple times.
|
|
27
|
+
list_obj.clear()
|
|
28
|
+
list_obj.extend(list_value)
|
|
29
|
+
return list_obj
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def get_local_variable(name):
|
|
33
|
+
"""Get the local variable according name."""
|
|
34
|
+
return _local_value_nodes.get(name)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def set_local_variable(name, value):
|
|
38
|
+
"""Set the local variable with name and value."""
|
|
39
|
+
_local_value_nodes[name] = value
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def dict_setitem(dic, key, val):
|
|
43
|
+
"""Set an element to dict."""
|
|
44
|
+
dic.__setitem__(key, val)
|
|
45
|
+
return dic
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def list_inplace_append(list_obj, target_obj):
|
|
49
|
+
"""Inplace append target_obj to list_obj for jit fallback."""
|
|
50
|
+
# When input list is empty list, it will be converted to tuple.
|
|
51
|
+
# This will be removed after empty list problem is solved.
|
|
52
|
+
if isinstance(list_obj, tuple) and not list_obj == 0:
|
|
53
|
+
list_obj = []
|
|
54
|
+
list_obj.append(target_obj)
|
|
55
|
+
return list_obj
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def list_inplace_extend(list_obj, target_obj):
|
|
59
|
+
"""Inplace extend target_obj to list_obj for jit fallback."""
|
|
60
|
+
# When input list is empty list, it will be converted to tuple.
|
|
61
|
+
# This will be removed after empty list problem is solved.
|
|
62
|
+
if isinstance(list_obj, tuple) and not list_obj == 0:
|
|
63
|
+
list_obj = []
|
|
64
|
+
list_obj.extend(target_obj)
|
|
65
|
+
return list_obj
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def list_inplace_insert(list_obj, index, target_obj):
|
|
69
|
+
"""Inplace insert target_obj to list_obj at position index for jit fallback."""
|
|
70
|
+
# When input list is empty list, it will be converted to tuple.
|
|
71
|
+
# This will be removed after empty list problem is solved.
|
|
72
|
+
if isinstance(list_obj, tuple) and not list_obj == 0:
|
|
73
|
+
list_obj = []
|
|
74
|
+
list_obj.insert(index, target_obj)
|
|
75
|
+
return list_obj
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def list_inplace_pop(list_obj, index):
|
|
79
|
+
"""Inplace pop list_obj element at position index for jit fallback."""
|
|
80
|
+
# When input list is empty list, it will be converted to tuple.
|
|
81
|
+
# This will be removed after empty list problem is solved.
|
|
82
|
+
if isinstance(list_obj, tuple) and not list_obj == 0:
|
|
83
|
+
list_obj = []
|
|
84
|
+
list_obj.pop(index)
|
|
85
|
+
return list_obj
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def list_inplace_reverse(list_obj):
|
|
89
|
+
"""Inplace reverse list_obj for jit fallback."""
|
|
90
|
+
# When input list is empty list, it will be converted to tuple.
|
|
91
|
+
# This will be removed after empty list problem is solved.
|
|
92
|
+
if isinstance(list_obj, tuple) and not list_obj == 0:
|
|
93
|
+
list_obj = []
|
|
94
|
+
list_obj.reverse()
|
|
95
|
+
return list_obj
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def list_inplace_clear(list_obj):
|
|
99
|
+
"""Inplace clear list_obj for jit fallback."""
|
|
100
|
+
# When input list is empty list, it will be converted to tuple.
|
|
101
|
+
# This will be removed after empty list problem is solved.
|
|
102
|
+
if isinstance(list_obj, tuple) and not list_obj == 0:
|
|
103
|
+
list_obj = []
|
|
104
|
+
list_obj.clear()
|
|
105
|
+
return list_obj
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def dict_inplace_setitem(dict_obj, key, target):
|
|
109
|
+
"""Inplace dictionary setitem operation for dict_obj."""
|
|
110
|
+
dict_obj[key] = target
|
|
111
|
+
return dict_obj
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2022 Huawei Technologies Co., Ltd
|
|
1
|
+
# Copyright 2022-2023 Huawei Technologies Co., Ltd
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
|
|
16
16
|
"""Registry MSAdapter config."""
|
|
17
17
|
|
|
18
|
-
from mindspore.common.tensor import Tensor
|
|
19
|
-
|
|
20
18
|
|
|
21
19
|
class Registry:
|
|
22
20
|
"""Registry class for ms adapter."""
|
|
23
21
|
|
|
24
22
|
def __init__(self):
|
|
23
|
+
self.is_registered = False
|
|
25
24
|
self._tensor = None
|
|
25
|
+
self._parameter = None
|
|
26
26
|
self._convert_map = {}
|
|
27
27
|
|
|
28
28
|
@property
|
|
@@ -32,6 +32,13 @@ class Registry:
|
|
|
32
32
|
raise ValueError("Before using Tensor in MSAdapter, please call 'set_adapter_config'.")
|
|
33
33
|
return self._tensor
|
|
34
34
|
|
|
35
|
+
@property
|
|
36
|
+
def parameter(self):
|
|
37
|
+
"""Return the registered parrameter."""
|
|
38
|
+
if self._parameter is None:
|
|
39
|
+
raise ValueError("Before using Parameter in MSAdapter, please call 'set_adapter_config'.")
|
|
40
|
+
return self._parameter
|
|
41
|
+
|
|
35
42
|
@property
|
|
36
43
|
def convert_map(self):
|
|
37
44
|
"""Return the registered convert map."""
|
|
@@ -41,9 +48,14 @@ class Registry:
|
|
|
41
48
|
"""Register the tensor of ms adapter."""
|
|
42
49
|
if self._tensor is not None:
|
|
43
50
|
raise ValueError("Repeated registration of tensor in ms adapter config.")
|
|
44
|
-
if not issubclass(value, Tensor):
|
|
45
|
-
raise ValueError(f"The tensor definition here should be a subclass of ms.Tensor, but got {value}.")
|
|
46
51
|
self._tensor = value
|
|
52
|
+
self.is_registered = True
|
|
53
|
+
|
|
54
|
+
def register_parameter(self, value):
|
|
55
|
+
"""Register the parameter of ms adapter."""
|
|
56
|
+
if self._parameter is not None:
|
|
57
|
+
raise ValueError("Repeated registration of Parameter in ms adapter config.")
|
|
58
|
+
self._parameter = value
|
|
47
59
|
|
|
48
60
|
def register_convert_map(self, value):
|
|
49
61
|
"""Register the convert map of ms adapter."""
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
19
|
from collections import UserDict
|
|
20
|
-
from mindspore import
|
|
20
|
+
from mindspore._c_expression import Tensor as Tensor_
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class Registry(UserDict):
|
|
@@ -31,7 +31,7 @@ class Registry(UserDict):
|
|
|
31
31
|
"""Get the value by str."""
|
|
32
32
|
if not isinstance(obj_str, str):
|
|
33
33
|
raise TypeError("key for tensor registry must be string.")
|
|
34
|
-
if
|
|
34
|
+
if Tensor_._is_test_stub() is True: # pylint: disable=W0212
|
|
35
35
|
def wrap(*args):
|
|
36
36
|
new_args = list(args)
|
|
37
37
|
new_args.append(obj_str)
|