mindspore 1.10.0__cp38-cp38-win_amd64.whl → 2.0.0rc1__cp38-cp38-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/ConcurrencyCheck.dll +0 -0
- mindspore/CppBuildInsights.dll +0 -0
- mindspore/CppCoreCheck.dll +0 -0
- mindspore/EnumIndex.dll +0 -0
- mindspore/EspXEngine.dll +0 -0
- mindspore/HResultCheck.dll +0 -0
- mindspore/KernelTraceControl.dll +0 -0
- mindspore/LocalESPC.dll +0 -0
- mindspore/Microsoft.Diagnostics.Tracing.EventSource.dll +0 -0
- mindspore/Microsoft.VisualStudio.RemoteControl.dll +0 -0
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Microsoft.VisualStudio.Utilities.Internal.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- mindspore/VariantClear.dll +0 -0
- mindspore/__init__.py +9 -4
- mindspore/_c_dataengine.cp38-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp38-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp38-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +102 -0
- mindspore/_checkparam.py +1066 -1001
- mindspore/_extends/builtin_operations.py +32 -4
- mindspore/_extends/graph_kernel/model/graph_split.py +66 -222
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +12 -9
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +119 -26
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -50
- mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -6
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -25
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -27
- mindspore/_extends/parse/__init__.py +5 -3
- mindspore/_extends/parse/namespace.py +17 -2
- mindspore/_extends/parse/parser.py +193 -34
- mindspore/_extends/parse/resources.py +7 -8
- mindspore/_extends/parse/standard_method.py +1780 -435
- mindspore/_extends/parse/trope.py +3 -1
- mindspore/amp.py +53 -58
- mindspore/atlprov.dll +0 -0
- mindspore/boost/adasum.py +3 -2
- mindspore/boost/boost.py +2 -2
- mindspore/boost/boost_cell_wrapper.py +46 -26
- mindspore/boost/dim_reduce.py +6 -5
- mindspore/boost/grad_accumulation.py +2 -1
- mindspore/boost/group_loss_scale_manager.py +1 -1
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/cfgpersist.dll +0 -0
- mindspore/clang_rt.asan_dbg_dynamic-x86_64.dll +0 -0
- mindspore/clang_rt.asan_dynamic-x86_64.dll +0 -0
- mindspore/common/__init__.py +11 -10
- mindspore/common/_decorator.py +2 -0
- mindspore/common/_register_for_adapter.py +55 -0
- mindspore/common/_stub_tensor.py +201 -0
- mindspore/common/_utils.py +57 -0
- mindspore/common/api.py +582 -297
- mindspore/common/dtype.py +66 -18
- mindspore/common/dump.py +2 -2
- mindspore/common/initializer.py +38 -1
- mindspore/common/jit_config.py +25 -13
- mindspore/common/mutable.py +53 -24
- mindspore/common/parameter.py +60 -37
- mindspore/common/seed.py +8 -24
- mindspore/common/sparse_tensor.py +927 -0
- mindspore/common/tensor.py +1627 -3900
- mindspore/communication/__init__.py +10 -5
- mindspore/communication/_comm_helper.py +78 -214
- mindspore/communication/_hccl_management.py +2 -1
- mindspore/communication/management.py +136 -47
- mindspore/config/op_info.config +501 -1008
- mindspore/context.py +291 -56
- mindspore/d3dcompiler_47.dll +0 -0
- mindspore/dataset/__init__.py +12 -8
- mindspore/dataset/audio/__init__.py +9 -9
- mindspore/dataset/audio/transforms.py +1090 -228
- mindspore/dataset/audio/utils.py +87 -39
- mindspore/dataset/audio/validators.py +223 -1
- mindspore/dataset/callback/ds_callback.py +17 -15
- mindspore/dataset/core/config.py +246 -17
- mindspore/dataset/core/py_util_helpers.py +4 -3
- mindspore/dataset/core/validator_helpers.py +10 -10
- mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
- mindspore/dataset/debug/debug_hook.py +65 -0
- mindspore/dataset/debug/pre_defined_hook.py +67 -0
- mindspore/dataset/engine/__init__.py +7 -3
- mindspore/dataset/engine/cache_client.py +9 -9
- mindspore/dataset/engine/datasets.py +648 -477
- mindspore/dataset/engine/datasets_audio.py +165 -167
- mindspore/dataset/engine/datasets_standard_format.py +93 -67
- mindspore/dataset/engine/datasets_text.py +492 -342
- mindspore/dataset/engine/datasets_user_defined.py +85 -50
- mindspore/dataset/engine/datasets_vision.py +1224 -699
- mindspore/dataset/engine/graphdata.py +134 -69
- mindspore/dataset/engine/iterators.py +50 -9
- mindspore/dataset/engine/offload.py +52 -31
- mindspore/dataset/engine/samplers.py +27 -24
- mindspore/dataset/engine/serializer_deserializer.py +14 -15
- mindspore/dataset/engine/validators.py +213 -52
- mindspore/dataset/text/__init__.py +10 -8
- mindspore/dataset/text/transforms.py +152 -57
- mindspore/dataset/text/utils.py +98 -49
- mindspore/dataset/text/validators.py +25 -0
- mindspore/dataset/transforms/__init__.py +4 -2
- mindspore/dataset/transforms/c_transforms.py +11 -13
- mindspore/dataset/transforms/py_transforms.py +2 -2
- mindspore/dataset/transforms/py_transforms_util.py +10 -0
- mindspore/dataset/transforms/transforms.py +13 -15
- mindspore/dataset/transforms/validators.py +7 -7
- mindspore/dataset/utils/__init__.py +2 -1
- mindspore/dataset/utils/browse_dataset.py +13 -13
- mindspore/dataset/utils/line_reader.py +121 -0
- mindspore/dataset/vision/__init__.py +8 -7
- mindspore/dataset/vision/c_transforms.py +125 -126
- mindspore/dataset/vision/py_transforms.py +37 -37
- mindspore/dataset/vision/py_transforms_util.py +23 -20
- mindspore/dataset/vision/transforms.py +316 -315
- mindspore/dataset/vision/utils.py +313 -17
- mindspore/dataset/vision/validators.py +6 -6
- mindspore/default_config.py +0 -1
- mindspore/dpcmi.dll +0 -0
- mindspore/{compression → experimental}/__init__.py +6 -5
- mindspore/experimental/map_parameter.py +275 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/callback/callback.h +9 -13
- mindspore/include/api/callback/ckpt_saver.h +2 -2
- mindspore/include/api/callback/loss_monitor.h +2 -2
- mindspore/include/api/callback/lr_scheduler.h +5 -5
- mindspore/include/api/callback/time_monitor.h +2 -2
- mindspore/include/api/callback/train_accuracy.h +4 -6
- mindspore/include/api/cfg.h +19 -6
- mindspore/include/api/context.h +70 -9
- mindspore/include/api/delegate.h +8 -1
- mindspore/include/api/dual_abi_helper.h +8 -24
- mindspore/include/api/metrics/accuracy.h +2 -2
- mindspore/include/api/metrics/metrics.h +4 -3
- mindspore/include/api/model.h +9 -4
- mindspore/include/api/model_group.h +68 -0
- mindspore/include/api/model_parallel_runner.h +17 -17
- mindspore/include/api/net.h +12 -11
- mindspore/include/api/serialization.h +20 -4
- mindspore/include/api/status.h +7 -1
- mindspore/include/api/types.h +25 -21
- mindspore/include/api/visible.h +4 -0
- mindspore/include/c_api/model_c.h +5 -0
- mindspore/include/c_api/status_c.h +1 -1
- mindspore/include/dataset/config.h +1 -1
- mindspore/include/dataset/constants.h +14 -0
- mindspore/include/dataset/text.h +59 -0
- mindspore/include/dataset/vision.h +56 -117
- mindspore/include/dataset/vision_lite.h +102 -0
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +28 -28
- mindspore/mindrecord/common/exceptions.py +2 -4
- mindspore/mindrecord/filereader.py +19 -1
- mindspore/mindrecord/filewriter.py +250 -88
- mindspore/mindrecord/mindpage.py +13 -13
- mindspore/mindrecord/shardheader.py +15 -15
- mindspore/mindrecord/shardreader.py +9 -0
- mindspore/mindrecord/shardwriter.py +29 -29
- mindspore/mindrecord/tools/cifar100_to_mr.py +9 -9
- mindspore/mindrecord/tools/cifar10_to_mr.py +9 -9
- mindspore/mindrecord/tools/csv_to_mr.py +4 -4
- mindspore/mindrecord/tools/imagenet_to_mr.py +70 -65
- mindspore/mindrecord/tools/mnist_to_mr.py +41 -41
- mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
- mindspore/{libmindspore_backend.dll → mindspore_backend.dll} +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_shared_lib.dll +0 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/__init__.py +1 -5
- mindspore/nn/cell.py +297 -234
- mindspore/nn/dynamic_lr.py +1 -1
- mindspore/nn/grad/cell_grad.py +17 -42
- mindspore/nn/layer/__init__.py +7 -4
- mindspore/nn/layer/activation.py +131 -88
- mindspore/nn/layer/basic.py +313 -613
- mindspore/nn/layer/channel_shuffle.py +103 -0
- mindspore/nn/layer/combined.py +1 -1
- mindspore/nn/layer/container.py +52 -6
- mindspore/nn/layer/conv.py +112 -43
- mindspore/nn/layer/dense.py +10 -9
- mindspore/nn/layer/embedding.py +36 -34
- mindspore/nn/layer/image.py +123 -27
- mindspore/nn/layer/math.py +108 -107
- mindspore/nn/layer/normalization.py +212 -366
- mindspore/nn/layer/padding.py +370 -42
- mindspore/nn/layer/pooling.py +1443 -219
- mindspore/nn/layer/rnn_cells.py +11 -16
- mindspore/nn/layer/rnns.py +38 -39
- mindspore/nn/layer/thor_layer.py +24 -25
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +701 -0
- mindspore/nn/learning_rate_schedule.py +8 -8
- mindspore/nn/loss/__init__.py +9 -6
- mindspore/nn/loss/loss.py +678 -142
- mindspore/nn/metrics.py +53 -0
- mindspore/nn/optim/_dist_optimizer_registry.py +2 -2
- mindspore/nn/optim/ada_grad.py +8 -8
- mindspore/nn/optim/adadelta.py +2 -3
- mindspore/nn/optim/adafactor.py +18 -14
- mindspore/nn/optim/adam.py +429 -87
- mindspore/nn/optim/adamax.py +5 -6
- mindspore/nn/optim/adasum.py +10 -8
- mindspore/nn/optim/asgd.py +7 -7
- mindspore/nn/optim/ftrl.py +81 -11
- mindspore/nn/optim/lamb.py +7 -8
- mindspore/nn/optim/lars.py +4 -4
- mindspore/nn/optim/lazyadam.py +82 -7
- mindspore/nn/optim/momentum.py +8 -7
- mindspore/nn/optim/optimizer.py +19 -10
- mindspore/nn/optim/proximal_ada_grad.py +6 -5
- mindspore/nn/optim/rmsprop.py +3 -3
- mindspore/nn/optim/rprop.py +20 -16
- mindspore/nn/optim/sgd.py +21 -15
- mindspore/nn/optim/thor.py +23 -21
- mindspore/nn/probability/__init__.py +0 -2
- mindspore/nn/probability/bijector/bijector.py +7 -6
- mindspore/nn/probability/bijector/invert.py +4 -2
- mindspore/nn/probability/bijector/softplus.py +2 -2
- mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
- mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
- mindspore/nn/probability/distribution/__init__.py +6 -0
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -2
- mindspore/nn/probability/distribution/_utils/utils.py +11 -17
- mindspore/nn/probability/distribution/bernoulli.py +6 -6
- mindspore/nn/probability/distribution/beta.py +1 -1
- mindspore/nn/probability/distribution/categorical.py +9 -9
- mindspore/nn/probability/distribution/cauchy.py +8 -8
- mindspore/nn/probability/distribution/distribution.py +12 -6
- mindspore/nn/probability/distribution/exponential.py +5 -5
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +6 -5
- mindspore/nn/probability/distribution/gumbel.py +5 -5
- mindspore/nn/probability/distribution/half_normal.py +133 -0
- mindspore/nn/probability/distribution/laplace.py +128 -0
- mindspore/nn/probability/distribution/log_normal.py +0 -1
- mindspore/nn/probability/distribution/logistic.py +4 -5
- mindspore/nn/probability/distribution/normal.py +11 -15
- mindspore/nn/probability/distribution/poisson.py +6 -2
- mindspore/nn/probability/distribution/student_t.py +150 -0
- mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
- mindspore/nn/probability/distribution/uniform.py +5 -5
- mindspore/nn/reinforcement/_tensors_queue.py +3 -3
- mindspore/nn/reinforcement/tensor_array.py +2 -2
- mindspore/nn/sparse/sparse.py +8 -1
- mindspore/nn/wrap/cell_wrapper.py +55 -27
- mindspore/nn/wrap/grad_reducer.py +20 -11
- mindspore/nn/wrap/loss_scale.py +47 -30
- mindspore/numpy/array_creations.py +33 -22
- mindspore/numpy/array_ops.py +46 -42
- mindspore/numpy/logic_ops.py +6 -27
- mindspore/numpy/math_ops.py +26 -19
- mindspore/numpy/utils.py +1 -8
- mindspore/numpy/utils_const.py +112 -62
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +6 -3
- mindspore/ops/_constants.py +0 -6
- mindspore/ops/_grad/__init__.py +2 -1
- mindspore/ops/_grad/grad_array_ops.py +209 -152
- mindspore/ops/_grad/grad_base.py +55 -17
- mindspore/ops/_grad/grad_clip_ops.py +11 -3
- mindspore/ops/_grad/grad_comm_ops.py +58 -47
- mindspore/ops/_grad/grad_implementations.py +21 -61
- mindspore/ops/_grad/grad_inner_ops.py +48 -6
- mindspore/ops/_grad/grad_math_ops.py +306 -161
- mindspore/ops/_grad/grad_nn_ops.py +192 -181
- mindspore/ops/_grad/grad_other_ops.py +1 -1
- mindspore/ops/_grad/grad_quant_ops.py +5 -5
- mindspore/ops/_grad/grad_sequence_ops.py +296 -0
- mindspore/ops/_grad/grad_sparse.py +15 -9
- mindspore/ops/_grad_experimental/__init__.py +1 -0
- mindspore/ops/_grad_experimental/grad_array_ops.py +441 -55
- mindspore/ops/_grad_experimental/grad_image_ops.py +25 -7
- mindspore/ops/_grad_experimental/grad_inner_ops.py +3 -44
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +16 -21
- mindspore/ops/_grad_experimental/grad_math_ops.py +979 -49
- mindspore/ops/_grad_experimental/grad_nn_ops.py +78 -8
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +197 -13
- mindspore/ops/_op_impl/__init__.py +3 -3
- mindspore/ops/_op_impl/_custom_op/__init__.py +0 -1
- mindspore/ops/_op_impl/_custom_op/_basic.py +0 -1
- mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +4 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +5 -5
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
- mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/correction_mul.py +3 -3
- mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +4 -8
- mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
- mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +0 -1
- mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -1
- mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +238 -3
- mindspore/ops/_op_impl/aicpu/abs.py +36 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
- mindspore/ops/_op_impl/aicpu/add.py +43 -0
- mindspore/ops/_op_impl/aicpu/addcdiv.py +0 -32
- mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
- mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
- mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
- mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
- mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
- mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
- mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
- mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
- mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +43 -0
- mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
- mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/cauchy.py} +17 -10
- mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
- mindspore/ops/_op_impl/aicpu/cholesky.py +1 -1
- mindspore/ops/_op_impl/{cpu/bias_add.py → aicpu/choleskygrad.py} +9 -7
- mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
- mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
- mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
- mindspore/ops/_op_impl/aicpu/conj.py +11 -0
- mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
- mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +2 -2
- mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
- mindspore/ops/_op_impl/aicpu/diag.py +36 -0
- mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
- mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
- mindspore/ops/_op_impl/{cpu/bias_add_grad.py → aicpu/digamma.py} +9 -7
- mindspore/ops/_op_impl/aicpu/eig.py +35 -0
- mindspore/ops/_op_impl/aicpu/fft_with_size.py +41 -0
- mindspore/ops/_op_impl/aicpu/flatten.py +1 -0
- mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
- mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +1 -1
- mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
- mindspore/ops/_op_impl/aicpu/glu.py +33 -0
- mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/greater.py +41 -0
- mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
- mindspore/ops/_op_impl/{tbe/scatter_add_ds.py → aicpu/inplace_index_add.py} +17 -21
- mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
- mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
- mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
- mindspore/ops/_op_impl/aicpu/less.py +41 -0
- mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/lgamma.py +32 -0
- mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
- mindspore/ops/_op_impl/aicpu/logit.py +33 -0
- mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
- mindspore/ops/_op_impl/aicpu/masked_scatter.py +39 -0
- mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
- mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
- mindspore/ops/_op_impl/aicpu/matrix_power.py +32 -0
- mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
- mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad.py +2 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
- mindspore/ops/_op_impl/aicpu/mul.py +3 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
- mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
- mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
- mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
- mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
- mindspore/ops/_op_impl/aicpu/ones_like.py +0 -2
- mindspore/ops/_op_impl/aicpu/polar.py +32 -0
- mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
- mindspore/ops/_op_impl/aicpu/qr.py +36 -0
- mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
- mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +3 -0
- mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
- mindspore/ops/_op_impl/aicpu/range.py +36 -0
- mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
- mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
- mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
- mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
- mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
- mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
- mindspore/ops/_op_impl/aicpu/scatter_elements.py +4 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
- mindspore/ops/_op_impl/aicpu/search_sorted.py +12 -6
- mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
- mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/sort.py +39 -0
- mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +0 -24
- mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
- mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
- mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
- mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
- mindspore/ops/_op_impl/{tbe/slice_ds.py → aicpu/sparse_segment_sum.py} +16 -24
- mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
- mindspore/ops/_op_impl/aicpu/squared_difference.py +2 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_v2.py +93 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_v2_grad.py +66 -0
- mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
- mindspore/ops/_op_impl/{tbe/gather_v2.py → aicpu/tile.py} +24 -24
- mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
- mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
- mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
- mindspore/ops/_op_impl/cpu/__init__.py +1 -2
- mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
- mindspore/ops/_op_impl/cpu/maximum_grad.py +2 -0
- mindspore/{compression/common/__init__.py → ops/_op_impl/cpu/pyexecute.py} +13 -8
- mindspore/ops/_op_impl/cpu/reduce_sum.py +8 -0
- mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
- mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
- mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
- mindspore/ops/_op_impl/tbe/__init__.py +27 -608
- mindspore/ops/_op_impl/tbe/addcdiv_ds.py +42 -0
- mindspore/ops/_op_impl/tbe/addcmul_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
- mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -1
- mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +41 -0
- mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +1 -0
- mindspore/ops/_op_impl/tbe/bias_add_grad.py +2 -0
- mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
- mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +40 -0
- mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
- mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
- mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
- mindspore/ops/_op_impl/tbe/cast.py +0 -2
- mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
- mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -2
- mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -2
- mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/deformable_offsets.py +1 -0
- mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +1 -1
- mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
- mindspore/ops/_op_impl/tbe/greater.py +2 -0
- mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
- mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -1
- mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
- mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
- mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -6
- mindspore/ops/_op_impl/tbe/{greater_ds.py → reduce_all_ds.py} +13 -16
- mindspore/ops/_op_impl/tbe/reduce_any_ds.py +39 -0
- mindspore/ops/_op_impl/tbe/roi_align_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/scatter_add.py +2 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_add.py +2 -2
- mindspore/ops/_op_impl/tbe/slice.py +26 -15
- mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
- mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +1 -0
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
- mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +1 -1
- mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +3 -2
- mindspore/ops/_register_for_op.py +11 -0
- mindspore/ops/_utils/__init__.py +1 -1
- mindspore/ops/_utils/utils.py +20 -41
- mindspore/ops/_vmap/__init__.py +2 -2
- mindspore/ops/_vmap/vmap_array_ops.py +170 -78
- mindspore/ops/_vmap/vmap_base.py +24 -10
- mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
- mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +41 -9
- mindspore/ops/_vmap/vmap_image_ops.py +52 -0
- mindspore/ops/_vmap/vmap_math_ops.py +77 -6
- mindspore/ops/_vmap/vmap_nn_ops.py +78 -29
- mindspore/ops/_vmap/vmap_other_ops.py +3 -1
- mindspore/ops/_vmap/vmap_random_ops.py +55 -3
- mindspore/ops/_vmap/vmap_sparse_ops.py +1 -0
- 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 +18 -19
- mindspore/ops/bprop_mindir/Argmax_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/Argmin_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/Assign_bprop.mindir +16 -16
- mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
- mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +28 -0
- mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
- mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +306 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +12 -8
- 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 +240 -0
- mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
- mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
- mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
- mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
- mindspore/ops/bprop_mindir/DType_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +12 -13
- mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
- mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +15 -0
- 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 +22 -24
- mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -14
- mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
- 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 +12 -12
- mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Equal_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Flatten_bprop.mindir +54 -0
- mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +18 -15
- mindspore/ops/bprop_mindir/GatherD_bprop.mindir +26 -0
- mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +57 -0
- mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/Greater_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/IOU_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/IsInf_bprop.mindir +13 -10
- mindspore/ops/bprop_mindir/IsNan_bprop.mindir +14 -11
- mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
- mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
- mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
- mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
- mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/Less_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +22 -19
- mindspore/ops/bprop_mindir/Load_bprop.mindir +12 -13
- mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
- mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
- mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
- mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
- 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 +27 -0
- mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
- 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 +14 -0
- mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/OneHot_bprop.mindir +25 -23
- mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +13 -13
- 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 +29 -0
- mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
- mindspore/ops/bprop_mindir/Range_bprop.mindir +21 -19
- mindspore/ops/bprop_mindir/Rank_bprop.mindir +11 -11
- mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +18 -17
- mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +18 -17
- mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +19 -23
- mindspore/ops/bprop_mindir/Reshape_bprop.mindir +60 -0
- mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +89 -0
- mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +52 -0
- mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/Round_bprop.mindir +14 -13
- 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 +22 -0
- mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +24 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/Select_bprop.mindir +30 -34
- mindspore/ops/bprop_mindir/Shape_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Sign_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/Slice_bprop.mindir +26 -0
- mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
- mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
- mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +28 -0
- mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +23 -0
- 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 +22 -0
- mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +54 -0
- mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +95 -0
- mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +98 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +28 -32
- mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +14 -0
- 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 +23 -0
- mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +18 -15
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +11 -13
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
- mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
- mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/__init__.py +1 -4
- mindspore/ops/bprop_mindir/generate_mindir.py +32 -20
- mindspore/ops/composite/__init__.py +12 -13
- mindspore/ops/composite/base.py +261 -254
- mindspore/ops/composite/env_ops.py +41 -0
- mindspore/ops/composite/math_ops.py +197 -156
- mindspore/ops/composite/multitype_ops/_compile_utils.py +428 -176
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +188 -87
- mindspore/ops/composite/multitype_ops/add_impl.py +23 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +3 -3
- mindspore/ops/composite/multitype_ops/equal_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +52 -5
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/in_impl.py +15 -3
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +33 -2
- mindspore/ops/composite/multitype_ops/less_impl.py +33 -0
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -2
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +21 -7
- mindspore/ops/composite/multitype_ops/not_in_impl.py +15 -3
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
- mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +62 -70
- mindspore/ops/composite/multitype_ops/sub_impl.py +3 -3
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +41 -4
- mindspore/ops/function/__init__.py +323 -8
- mindspore/ops/function/array_func.py +3511 -780
- mindspore/ops/function/clip_func.py +329 -0
- mindspore/ops/function/debug_func.py +6 -6
- mindspore/ops/function/grad/__init__.py +5 -1
- mindspore/ops/function/grad/grad_func.py +736 -65
- mindspore/ops/function/image_func.py +270 -0
- mindspore/ops/function/linalg_func.py +268 -8
- mindspore/ops/function/math_func.py +8032 -3164
- mindspore/ops/function/nn_func.py +5619 -1855
- mindspore/ops/function/other_func.py +115 -0
- mindspore/ops/function/parameter_func.py +11 -10
- mindspore/ops/function/random_func.py +939 -77
- mindspore/ops/function/sparse_func.py +249 -84
- mindspore/ops/function/sparse_unary_func.py +2303 -0
- mindspore/ops/function/spectral_func.py +146 -0
- mindspore/ops/function/vmap_func.py +114 -0
- mindspore/ops/functional.py +182 -254
- mindspore/ops/op_info_register.py +79 -34
- mindspore/ops/operations/__init__.py +210 -118
- mindspore/ops/operations/_csr_ops.py +7 -7
- mindspore/ops/operations/_embedding_cache_ops.py +25 -15
- mindspore/ops/operations/_grad_ops.py +447 -322
- mindspore/ops/operations/_inner_ops.py +547 -176
- mindspore/ops/operations/_map_tensor_ops.py +112 -0
- mindspore/ops/operations/_ms_kernel.py +29 -27
- mindspore/ops/operations/_ocr_ops.py +11 -11
- mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
- mindspore/ops/operations/_quant_ops.py +186 -101
- mindspore/ops/operations/_rl_inner_ops.py +122 -61
- mindspore/ops/operations/_scalar_ops.py +466 -0
- mindspore/ops/operations/_sequence_ops.py +1047 -0
- mindspore/ops/operations/_tensor_array.py +10 -11
- mindspore/ops/operations/_thor_ops.py +4 -4
- mindspore/ops/operations/array_ops.py +1428 -1226
- mindspore/ops/operations/comm_ops.py +180 -117
- mindspore/ops/operations/control_ops.py +4 -2
- mindspore/ops/operations/custom_ops.py +185 -98
- mindspore/ops/operations/debug_ops.py +92 -54
- mindspore/ops/operations/image_ops.py +406 -211
- mindspore/ops/operations/inner_ops.py +42 -53
- mindspore/ops/operations/linalg_ops.py +32 -29
- mindspore/ops/operations/math_ops.py +2076 -897
- mindspore/ops/operations/nn_ops.py +1282 -1252
- mindspore/ops/operations/other_ops.py +124 -278
- mindspore/ops/operations/random_ops.py +345 -178
- mindspore/ops/operations/rl_ops.py +8 -9
- mindspore/ops/operations/sparse_ops.py +502 -157
- mindspore/ops/operations/spectral_ops.py +107 -0
- mindspore/ops/primitive.py +192 -15
- mindspore/ops/vm_impl_registry.py +23 -2
- mindspore/parallel/__init__.py +6 -1
- mindspore/parallel/_auto_parallel_context.py +199 -92
- mindspore/parallel/_cell_wrapper.py +4 -2
- mindspore/parallel/_cost_model_context.py +3 -0
- mindspore/parallel/_dp_allreduce_fusion.py +2 -1
- mindspore/parallel/_offload_context.py +185 -0
- mindspore/parallel/_parallel_serialization.py +167 -28
- mindspore/parallel/_ps_context.py +9 -5
- mindspore/parallel/_recovery_context.py +1 -1
- mindspore/parallel/_tensor.py +9 -1
- mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
- mindspore/{nn/transformer → parallel/_transformer}/layers.py +59 -37
- mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
- mindspore/{nn/transformer → parallel/_transformer}/moe.py +160 -35
- mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
- mindspore/{nn/transformer → parallel/_transformer}/transformer.py +235 -196
- mindspore/parallel/_utils.py +47 -7
- mindspore/parallel/algo_parameter_config.py +5 -1
- mindspore/parallel/checkpoint_transform.py +329 -0
- mindspore/parallel/shard.py +229 -0
- mindspore/perf_msvcbuildinsights.dll +0 -0
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +2 -1
- mindspore/profiler/common/util.py +4 -3
- mindspore/profiler/common/validator/validate_path.py +2 -2
- mindspore/profiler/envprofiling.py +249 -0
- mindspore/profiler/parser/aicpu_data_parser.py +38 -39
- mindspore/profiler/parser/ascend_timeline_generator.py +497 -0
- mindspore/profiler/parser/base_timeline_generator.py +471 -0
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +684 -0
- mindspore/profiler/parser/framework_parser.py +42 -16
- mindspore/profiler/parser/hccl_parser.py +158 -158
- mindspore/profiler/parser/hwts_log_parser.py +7 -6
- mindspore/profiler/parser/integrator.py +18 -1579
- mindspore/profiler/parser/minddata_analyzer.py +8 -8
- mindspore/profiler/parser/msadvisor_analyzer.py +14 -27
- mindspore/profiler/parser/msadvisor_parser.py +2 -4
- mindspore/profiler/parser/optime_parser.py +17 -18
- mindspore/profiler/parser/profiler_info.py +108 -0
- mindspore/profiler/parser/step_trace_parser.py +1 -1
- mindspore/profiler/profiling.py +396 -194
- mindspore/rewrite/__init__.py +6 -2
- mindspore/rewrite/api/node.py +51 -110
- mindspore/rewrite/api/node_type.py +10 -6
- mindspore/rewrite/api/pattern_engine.py +51 -7
- mindspore/rewrite/api/scoped_value.py +64 -53
- mindspore/rewrite/api/symbol_tree.py +108 -61
- mindspore/rewrite/api/tree_node_helper.py +2 -3
- mindspore/{compression/quant/__init__.py → rewrite/ast_creator_register.py} +20 -11
- mindspore/rewrite/ast_helpers/__init__.py +6 -3
- mindspore/rewrite/ast_helpers/ast_creator.py +115 -0
- mindspore/rewrite/ast_helpers/ast_finder.py +99 -1
- mindspore/rewrite/ast_helpers/ast_modifier.py +17 -4
- mindspore/rewrite/ast_helpers/ast_replacer.py +1 -1
- mindspore/rewrite/ast_transformers/__init__.py +0 -1
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +46 -5
- mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +6 -3
- mindspore/rewrite/common/__init__.py +2 -0
- mindspore/rewrite/common/event.py +1 -1
- mindspore/rewrite/common/observable.py +1 -1
- mindspore/rewrite/common/observer.py +1 -1
- mindspore/rewrite/common/rewrite_elog.py +35 -0
- mindspore/rewrite/namer.py +2 -2
- mindspore/rewrite/namespace.py +14 -4
- mindspore/rewrite/node.py +161 -13
- mindspore/rewrite/parser.py +0 -1
- mindspore/rewrite/parser_register.py +0 -1
- mindspore/rewrite/parsers/arguments_parser.py +3 -2
- mindspore/rewrite/parsers/assign_parser.py +267 -67
- mindspore/rewrite/parsers/attribute_parser.py +56 -0
- mindspore/rewrite/parsers/class_def_parser.py +191 -108
- mindspore/rewrite/parsers/constant_parser.py +101 -0
- mindspore/rewrite/parsers/container_parser.py +88 -0
- mindspore/rewrite/parsers/for_parser.py +28 -15
- mindspore/rewrite/parsers/function_def_parser.py +21 -5
- mindspore/rewrite/parsers/if_parser.py +11 -28
- mindspore/rewrite/parsers/module_parser.py +9 -6
- mindspore/rewrite/parsers/return_parser.py +3 -2
- mindspore/rewrite/sparsify/__init__.py +0 -0
- mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
- mindspore/rewrite/sparsify/sparsify.py +109 -0
- mindspore/rewrite/sparsify/utils.py +173 -0
- mindspore/rewrite/symbol_tree.py +322 -109
- mindspore/rewrite/symbol_tree_builder.py +45 -8
- mindspore/rewrite/symbol_tree_dumper.py +0 -1
- mindspore/rewrite/topological_manager.py +1 -2
- mindspore/run_check/_check_version.py +209 -112
- mindspore/run_check/run_check.py +2 -1
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +6 -4
- mindspore/train/_utils.py +28 -5
- mindspore/train/amp.py +321 -50
- mindspore/train/callback/__init__.py +3 -1
- mindspore/train/callback/_backup_and_restore.py +120 -0
- mindspore/train/callback/_callback.py +8 -8
- mindspore/train/callback/_checkpoint.py +12 -9
- mindspore/train/callback/_early_stop.py +13 -7
- mindspore/train/callback/_history.py +8 -8
- mindspore/train/callback/_lambda_callback.py +6 -6
- mindspore/train/callback/_landscape.py +36 -38
- mindspore/train/callback/_loss_monitor.py +12 -6
- mindspore/train/callback/_lr_scheduler_callback.py +2 -4
- mindspore/train/callback/_on_request_exit.py +212 -0
- mindspore/train/callback/_reduce_lr_on_plateau.py +13 -7
- mindspore/train/callback/_summary_collector.py +27 -19
- mindspore/train/callback/_time_monitor.py +13 -7
- mindspore/train/checkpoint_pb2.py +68 -8
- mindspore/train/data_sink.py +122 -33
- mindspore/train/dataset_helper.py +28 -87
- mindspore/train/loss_scale_manager.py +4 -7
- mindspore/{nn → train}/metrics/__init__.py +20 -20
- mindspore/{nn → train}/metrics/accuracy.py +12 -10
- mindspore/{nn → train}/metrics/auc.py +4 -4
- mindspore/{nn → train}/metrics/bleu_score.py +4 -4
- mindspore/{nn → train}/metrics/confusion_matrix.py +10 -8
- mindspore/{nn → train}/metrics/cosine_similarity.py +4 -4
- mindspore/{nn → train}/metrics/dice.py +6 -5
- mindspore/{nn → train}/metrics/error.py +7 -5
- mindspore/{nn → train}/metrics/fbeta.py +9 -7
- mindspore/{nn → train}/metrics/hausdorff_distance.py +8 -6
- mindspore/{nn → train}/metrics/loss.py +4 -3
- mindspore/{nn → train}/metrics/mean_surface_distance.py +6 -5
- mindspore/{nn → train}/metrics/metric.py +6 -5
- mindspore/{nn → train}/metrics/occlusion_sensitivity.py +4 -3
- mindspore/{nn → train}/metrics/perplexity.py +5 -4
- mindspore/{nn → train}/metrics/precision.py +5 -4
- mindspore/{nn → train}/metrics/recall.py +5 -4
- mindspore/{nn → train}/metrics/roc.py +7 -6
- mindspore/{nn → train}/metrics/root_mean_square_surface_distance.py +6 -5
- mindspore/{nn → train}/metrics/topk.py +7 -5
- mindspore/train/mind_ir_pb2.py +339 -32
- mindspore/train/model.py +113 -84
- mindspore/train/serialization.py +547 -167
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/summary_record.py +43 -12
- mindspore/train/train_thor/convert_utils.py +7 -1
- mindspore/train/train_thor/dataset_helper.py +3 -3
- mindspore/train/train_thor/model_thor.py +0 -4
- mindspore/turbojpeg.dll +0 -0
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +4 -3
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +901 -660
- mindspore/compression/common/constant.py +0 -124
- mindspore/compression/export/__init__.py +0 -19
- mindspore/compression/export/quant_export.py +0 -514
- mindspore/compression/quant/qat.py +0 -636
- mindspore/compression/quant/quant_utils.py +0 -462
- mindspore/compression/quant/quantizer.py +0 -68
- mindspore/libatomic-1.dll +0 -0
- mindspore/libgcc_s_seh-1.dll +0 -0
- mindspore/libgfortran-4.dll +0 -0
- mindspore/libgomp-1.dll +0 -0
- mindspore/libjpeg-62.dll +0 -0
- mindspore/libmindspore.dll +0 -0
- mindspore/libmindspore_common.dll +0 -0
- mindspore/libmindspore_core.dll +0 -0
- mindspore/libmindspore_glog.dll +0 -0
- mindspore/libnnacl.dll +0 -0
- mindspore/libopencv_core452.dll +0 -0
- mindspore/libopencv_imgcodecs452.dll +0 -0
- mindspore/libopencv_imgproc452.dll +0 -0
- mindspore/libquadmath-0.dll +0 -0
- mindspore/libsqlite3.dll +0 -0
- mindspore/libssp-0.dll +0 -0
- mindspore/libstdc++-6.dll +0 -0
- mindspore/libtinyxml2.dll +0 -0
- mindspore/libturbojpeg.dll +0 -0
- mindspore/libwinpthread-1.dll +0 -0
- mindspore/nn/layer/quant.py +0 -1868
- mindspore/nn/layer/rnn_utils.py +0 -90
- mindspore/nn/probability/dpn/__init__.py +0 -22
- mindspore/nn/probability/dpn/vae/__init__.py +0 -25
- mindspore/nn/probability/dpn/vae/cvae.py +0 -138
- mindspore/nn/probability/dpn/vae/vae.py +0 -122
- mindspore/nn/probability/infer/__init__.py +0 -22
- mindspore/nn/probability/infer/variational/elbo.py +0 -70
- mindspore/nn/probability/infer/variational/svi.py +0 -84
- mindspore/nn/probability/toolbox/__init__.py +0 -22
- mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
- mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -363
- mindspore/nn/probability/transforms/__init__.py +0 -22
- mindspore/nn/probability/transforms/transform_bnn.py +0 -262
- mindspore/nn/probability/zhusuan/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
- mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
- mindspore/ops/_op_impl/tbe/bias_add_grad_ds.py +0 -52
- mindspore/ops/_op_impl/tbe/scatter_nd_add_ds.py +0 -43
- mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Identity_bprop.mindir +0 -9
- mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -17
- mindspore/ops/bprop_mindir/stop_gradient_bprop.mindir +0 -12
- mindspore/ops/composite/array_ops.py +0 -210
- mindspore/ops/composite/clip_ops.py +0 -238
- mindspore/ops/composite/random_ops.py +0 -426
- mindspore/ops/composite/vmap_ops.py +0 -38
- mindspore/ops/operations/sponge_ops.py +0 -3531
- mindspore/ops/operations/sponge_update_ops.py +0 -2546
- mindspore/parallel/nn/__init__.py +0 -42
- mindspore/parallel/nn/loss.py +0 -22
- mindspore/parallel/nn/moe.py +0 -21
- mindspore/parallel/nn/op_parallel_config.py +0 -22
- mindspore/parallel/nn/transformer.py +0 -31
- mindspore/run_check/_check_deps_version.py +0 -84
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
"""Define the grad rules of neural network related operations."""
|
|
18
|
+
from __future__ import absolute_import
|
|
19
|
+
|
|
18
20
|
from mindspore import Tensor
|
|
21
|
+
import mindspore.numpy as mnp
|
|
19
22
|
from mindspore.ops import matmul
|
|
20
23
|
from mindspore.ops.operations.nn_ops import GridSampler2D
|
|
21
24
|
from mindspore.ops.operations.nn_ops import GridSampler3D
|
|
@@ -35,6 +38,8 @@ from mindspore.ops.operations.nn_ops import FractionalMaxPool3DWithFixedKsize
|
|
|
35
38
|
from mindspore.ops.operations._grad_ops import FractionalMaxPool3DGradWithFixedKsize
|
|
36
39
|
from mindspore.ops.operations.nn_ops import FractionalAvgPool
|
|
37
40
|
from mindspore.ops.operations._grad_ops import FractionalAvgPoolGrad
|
|
41
|
+
from mindspore.ops.operations.nn_ops import InstanceNormV2
|
|
42
|
+
from mindspore.ops.operations._grad_ops import InstanceNormV2Grad
|
|
38
43
|
from mindspore.ops.operations.nn_ops import MultiMarginLoss
|
|
39
44
|
from mindspore.ops.operations.nn_ops import MultilabelMarginLoss
|
|
40
45
|
from mindspore.ops.operations.nn_ops import NthElement
|
|
@@ -56,9 +61,12 @@ from mindspore.ops.operations.nn_ops import ReLUV3
|
|
|
56
61
|
from mindspore.ops.operations._grad_ops import ReluGrad
|
|
57
62
|
from mindspore.ops.operations.image_ops import ResizeLinear1D
|
|
58
63
|
from mindspore.ops.operations.nn_ops import MaxPool3DWithArgmax
|
|
64
|
+
from mindspore.ops.operations.nn_ops import MaxPoolWithArgmaxV2
|
|
59
65
|
from mindspore.ops.operations.nn_ops import FractionalMaxPoolWithFixedKsize
|
|
60
66
|
from mindspore.ops.operations._grad_ops import FractionalMaxPoolGradWithFixedKsize
|
|
61
67
|
from mindspore.ops.operations.nn_ops import AdaptiveAvgPool3D
|
|
68
|
+
from mindspore.ops.operations.nn_ops import GLU
|
|
69
|
+
from mindspore.ops.operations.nn_ops import AdaptiveMaxPool3D
|
|
62
70
|
|
|
63
71
|
|
|
64
72
|
@bprop_getters.register(P.CTCLossV2)
|
|
@@ -73,6 +81,24 @@ def get_bprop_ctc_loss_v2(self):
|
|
|
73
81
|
return bprop
|
|
74
82
|
|
|
75
83
|
|
|
84
|
+
@bprop_getters.register(InstanceNormV2)
|
|
85
|
+
def get_bprop_instance_norm_v2(self):
|
|
86
|
+
"""Grad definition for `InstanceNormV2` operation."""
|
|
87
|
+
grad_ops = InstanceNormV2Grad(self.is_training, self.epsilon)
|
|
88
|
+
|
|
89
|
+
def bprop(x, gamma, beta, mean, variance, out, dout):
|
|
90
|
+
saved_mean = out[1]
|
|
91
|
+
saved_variance = out[2]
|
|
92
|
+
grad_ops_out = grad_ops(dout[0], x, gamma, mean, variance, saved_mean, saved_variance)
|
|
93
|
+
dx = grad_ops_out[0]
|
|
94
|
+
dgamma = grad_ops_out[1]
|
|
95
|
+
dbeta = grad_ops_out[2]
|
|
96
|
+
pd_res = (dx, dgamma, dbeta, zeros_like(mean), zeros_like(variance))
|
|
97
|
+
return pd_res
|
|
98
|
+
|
|
99
|
+
return bprop
|
|
100
|
+
|
|
101
|
+
|
|
76
102
|
@bprop_getters.register(P.SoftMarginLoss)
|
|
77
103
|
def get_bprop_soft_margin_loss(self):
|
|
78
104
|
"""Grad definition for `SoftMarginLoss` operation."""
|
|
@@ -121,7 +147,10 @@ def get_bprop_pad_v3(self):
|
|
|
121
147
|
|
|
122
148
|
def bprop(x, paddings, constant_values, out, dout):
|
|
123
149
|
if mode == 'constant':
|
|
124
|
-
|
|
150
|
+
if isinstance(paddings, (list, tuple)):
|
|
151
|
+
neg_paddings = tuple(-x for x in paddings)
|
|
152
|
+
else:
|
|
153
|
+
neg_paddings = -paddings
|
|
125
154
|
dx = pad_v3_grad(dout, neg_paddings, zeros_like(constant_values))
|
|
126
155
|
else:
|
|
127
156
|
dx = pad_v3_grad(dout, paddings)
|
|
@@ -164,12 +193,10 @@ def get_bprop_celu(self):
|
|
|
164
193
|
"""Grad definition for `CeLU` operation."""
|
|
165
194
|
alpha = self.alpha
|
|
166
195
|
greater_equal = P.GreaterEqual()
|
|
167
|
-
less = P.Less()
|
|
168
196
|
|
|
169
197
|
def bprop(x, out, dout):
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
dx = dout * (greater * 1.0 + lesser * (out / alpha + 1.0))
|
|
198
|
+
condition = greater_equal(x, 0.0)
|
|
199
|
+
dx = dout * mnp.where(condition, 1.0, out / alpha + 1.0)
|
|
173
200
|
return (dx,)
|
|
174
201
|
|
|
175
202
|
return bprop
|
|
@@ -299,10 +326,10 @@ def get_bprop_nth_element(self):
|
|
|
299
326
|
divide = P.Div()
|
|
300
327
|
|
|
301
328
|
def bprop(input_x, n, out, dout):
|
|
302
|
-
indicators = cast(equal(expand_dims(out, -1), input_x),
|
|
329
|
+
indicators = cast(equal(expand_dims(out, -1), input_x), mstype.float32)
|
|
303
330
|
dout = expand_dims(dout, -1)
|
|
304
331
|
num_select = expand_dims(reduce_sum(indicators, -1), -1)
|
|
305
|
-
return divide(indicators, num_select) * dout, None
|
|
332
|
+
return cast(divide(indicators, num_select) * dout, input_x.dtype), None
|
|
306
333
|
|
|
307
334
|
return bprop
|
|
308
335
|
|
|
@@ -354,9 +381,10 @@ def _create_tensor(x_shape):
|
|
|
354
381
|
def get_bprop_fractional_avg_pool(self):
|
|
355
382
|
"""Grad definition for `FractionalAvgPool` operation."""
|
|
356
383
|
fractional_avg_pool_grad = FractionalAvgPoolGrad(overlapping=self.overlapping)
|
|
384
|
+
shape_op = P.Shape()
|
|
357
385
|
|
|
358
386
|
def bprop(x, out, dout):
|
|
359
|
-
dx = fractional_avg_pool_grad(_create_tensor(x
|
|
387
|
+
dx = fractional_avg_pool_grad(_create_tensor(shape_op(x)), dout[0], out[1], out[2])
|
|
360
388
|
return (dx,)
|
|
361
389
|
|
|
362
390
|
return bprop
|
|
@@ -378,6 +406,18 @@ def get_bprop_p_s_r_o_i_pooling(self):
|
|
|
378
406
|
return bprop
|
|
379
407
|
|
|
380
408
|
|
|
409
|
+
@bprop_getters.register(AdaptiveMaxPool3D)
|
|
410
|
+
def get_bprop_adaptive_max_pool_3d(self):
|
|
411
|
+
"""Grad definition for `AdaptiveMaxPool3D` operation."""
|
|
412
|
+
grad = G.AdaptiveMaxPool3DGrad()
|
|
413
|
+
|
|
414
|
+
def bprop(x, output_size, out, dout):
|
|
415
|
+
dx = grad(dout[0], x, out[1])
|
|
416
|
+
return (dx, P.ZerosLike()(output_size))
|
|
417
|
+
|
|
418
|
+
return bprop
|
|
419
|
+
|
|
420
|
+
|
|
381
421
|
@bprop_getters.register(AvgPoolV1)
|
|
382
422
|
def get_bprop_avg_pool_v1_grad(self):
|
|
383
423
|
"""Grad definition for `AvgPoolV1` operation."""
|
|
@@ -457,6 +497,18 @@ def get_bprop_resize_bilinear(self):
|
|
|
457
497
|
return bprop
|
|
458
498
|
|
|
459
499
|
|
|
500
|
+
@bprop_getters.register(GLU)
|
|
501
|
+
def get_bprop_glu(self):
|
|
502
|
+
"""Grad definition for `Glu` operation."""
|
|
503
|
+
input_grad = G.GluGrad(self.axis)
|
|
504
|
+
|
|
505
|
+
def bprop(x, out, dout):
|
|
506
|
+
dx = input_grad(dout, x)
|
|
507
|
+
return (dx,)
|
|
508
|
+
|
|
509
|
+
return bprop
|
|
510
|
+
|
|
511
|
+
|
|
460
512
|
@bprop_getters.register(MaxPool3DWithArgmax)
|
|
461
513
|
def get_bprop_maxpool3dwithargmax(self):
|
|
462
514
|
"""Grad definition for `MaxPool3DWithArgmax` operation."""
|
|
@@ -475,6 +527,24 @@ def get_bprop_maxpool3dwithargmax(self):
|
|
|
475
527
|
return bprop
|
|
476
528
|
|
|
477
529
|
|
|
530
|
+
@bprop_getters.register(MaxPoolWithArgmaxV2)
|
|
531
|
+
def get_bprop_maxpoolwithargmaxv2(self):
|
|
532
|
+
"""Grad definition for `MaxPoolWithArgmaxV2` operation."""
|
|
533
|
+
maxpoolwithargmaxv2_grad = G.MaxPoolGradWithArgmaxV2(
|
|
534
|
+
kernel_size=self.kernel_size,
|
|
535
|
+
strides=self.strides,
|
|
536
|
+
pads=self.pads,
|
|
537
|
+
dilation=self.dilation,
|
|
538
|
+
ceil_mode=self.ceil_mode,
|
|
539
|
+
argmax_type=self.argmax_type)
|
|
540
|
+
|
|
541
|
+
def bprop(x, out, dout):
|
|
542
|
+
dx = maxpoolwithargmaxv2_grad(x, dout[0], out[1])
|
|
543
|
+
return (dx,)
|
|
544
|
+
|
|
545
|
+
return bprop
|
|
546
|
+
|
|
547
|
+
|
|
478
548
|
@bprop_getters.register(FractionalMaxPoolWithFixedKsize)
|
|
479
549
|
def get_bprop_fractional_max_pool_with_fixed_ksize(self):
|
|
480
550
|
"""Grad definition for 'FractionalMaxPoolWithFixedKsize' operation."""
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Copyright 2023 Huawei Technologies Co., Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ============================================================================
|
|
15
|
+
|
|
16
|
+
"""Generate bprop for quantization aware ops"""
|
|
17
|
+
|
|
18
|
+
from mindspore.ops.operations import _scalar_ops
|
|
19
|
+
from mindspore.ops._grad.grad_base import bprop_getters
|
|
20
|
+
from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@bprop_getters.register(_scalar_ops.ScalarAdd)
|
|
24
|
+
def get_bprop_scalar_add(self):
|
|
25
|
+
"""Grad definition for `ScalarAdd` operation."""
|
|
26
|
+
|
|
27
|
+
def bprop(x, y, out, dout):
|
|
28
|
+
return dout, dout
|
|
29
|
+
|
|
30
|
+
return bprop
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@bprop_getters.register(_scalar_ops.ScalarSub)
|
|
34
|
+
def get_bprop_scalar_sub(self):
|
|
35
|
+
"""Grad definition for `ScalarSub` operation."""
|
|
36
|
+
|
|
37
|
+
def bprop(x, y, out, dout):
|
|
38
|
+
return dout, 0 - dout
|
|
39
|
+
|
|
40
|
+
return bprop
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@bprop_getters.register(_scalar_ops.ScalarMul)
|
|
44
|
+
def get_bprop_scalar_mul(self):
|
|
45
|
+
"""Grad definition for `ScalarMul` operation."""
|
|
46
|
+
|
|
47
|
+
def bprop(x, y, out, dout):
|
|
48
|
+
bc_dx = y * dout
|
|
49
|
+
bc_dy = x * dout
|
|
50
|
+
return bc_dx, bc_dy
|
|
51
|
+
|
|
52
|
+
return bprop
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@bprop_getters.register(_scalar_ops.ScalarDiv)
|
|
56
|
+
def get_bprop_scalar_div(self):
|
|
57
|
+
"""Grad definition for `ScalarDiv` operation."""
|
|
58
|
+
|
|
59
|
+
def bprop(x, y, out, dout):
|
|
60
|
+
bc_dx = dout / y
|
|
61
|
+
bc_dy = 0 - bc_dx * out
|
|
62
|
+
return bc_dx, bc_dy
|
|
63
|
+
|
|
64
|
+
return bprop
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@bprop_getters.register(_scalar_ops.ScalarFloordiv)
|
|
68
|
+
def get_bprop_scalar_floordiv(self):
|
|
69
|
+
"""Grad definition for `ScalarFloorDiv` operation."""
|
|
70
|
+
|
|
71
|
+
def bprop(x, y, out, dout):
|
|
72
|
+
return zeros_like(x), zeros_like(y)
|
|
73
|
+
|
|
74
|
+
return bprop
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
@bprop_getters.register(_scalar_ops.ScalarMod)
|
|
78
|
+
def get_bprop_scalar_mod(self):
|
|
79
|
+
"""Grad definition for `ScalarMod` operation."""
|
|
80
|
+
|
|
81
|
+
def bprop(x, y, out, dout):
|
|
82
|
+
bc_dx = dout
|
|
83
|
+
bc_dy = -dout * (x // y)
|
|
84
|
+
return bc_dx, bc_dy
|
|
85
|
+
|
|
86
|
+
return bprop
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@bprop_getters.register(_scalar_ops.scalar_eq)
|
|
90
|
+
@bprop_getters.register(_scalar_ops.scalar_le)
|
|
91
|
+
@bprop_getters.register(_scalar_ops.scalar_lt)
|
|
92
|
+
@bprop_getters.register(_scalar_ops.scalar_ge)
|
|
93
|
+
@bprop_getters.register(_scalar_ops.scalar_gt)
|
|
94
|
+
@bprop_getters.register(_scalar_ops.bit_and)
|
|
95
|
+
@bprop_getters.register(_scalar_ops.bit_or)
|
|
96
|
+
def get_bprop_scalar_logic(self):
|
|
97
|
+
"""Grad definition for `ScalarLogicOps` operation."""
|
|
98
|
+
|
|
99
|
+
def bprop(x, y, out, dout):
|
|
100
|
+
return zeros_like(x), zeros_like(y)
|
|
101
|
+
|
|
102
|
+
return bprop
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@bprop_getters.register(_scalar_ops.ScalarBool)
|
|
106
|
+
def get_bprop_scalar_bool(self):
|
|
107
|
+
"""Grad definition for `ScalarBool` operation."""
|
|
108
|
+
|
|
109
|
+
def bprop(x, out, dout):
|
|
110
|
+
return zeros_like(x)
|
|
111
|
+
|
|
112
|
+
return bprop
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""bprop primitives"""
|
|
17
|
+
from mindspore.ops.operations.sparse_ops import RaggedTensorToSparse
|
|
17
18
|
from mindspore.ops.operations.sparse_ops import CSRSparseMatrixToSparseTensor
|
|
18
19
|
from mindspore.ops.operations.sparse_ops import SparseReorder
|
|
19
20
|
from mindspore.ops.operations.sparse_ops import SparseTensorToCSRSparseMatrix
|
|
@@ -24,7 +25,16 @@ from mindspore.ops.operations.sparse_ops import SparseSegmentSum
|
|
|
24
25
|
from mindspore.ops.operations.sparse_ops import SparseSegmentSumWithNumSegments
|
|
25
26
|
from mindspore.ops.operations.sparse_ops import SparseSegmentSqrtN
|
|
26
27
|
from mindspore.ops.operations.sparse_ops import SparseSegmentSqrtNWithNumSegments
|
|
28
|
+
from mindspore.ops.operations.sparse_ops import SparseFillEmptyRows
|
|
27
29
|
from mindspore.ops.operations.sparse_ops import SparseSegmentMeanWithNumSegments
|
|
30
|
+
from mindspore.ops.operations.sparse_ops import SparseSlice
|
|
31
|
+
from mindspore.ops.operations.sparse_ops import SparseDenseCwiseMul
|
|
32
|
+
from mindspore.ops.operations.sparse_ops import SparseDenseCwiseDiv
|
|
33
|
+
from mindspore.ops.operations.sparse_ops import SparseTensorDenseAdd
|
|
34
|
+
from mindspore.ops.operations.sparse_ops import Sspaddmm
|
|
35
|
+
from mindspore.ops.operations._inner_ops import IsSubClass
|
|
36
|
+
import mindspore as ms
|
|
37
|
+
from mindspore.ops.operations import _map_tensor_ops
|
|
28
38
|
from mindspore.common import dtype as mstype
|
|
29
39
|
from mindspore import Tensor
|
|
30
40
|
from mindspore.ops.primitive import constexpr
|
|
@@ -33,10 +43,77 @@ from mindspore.ops import operations as P
|
|
|
33
43
|
from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
|
|
34
44
|
from mindspore.ops.operations import _grad_ops as G
|
|
35
45
|
from mindspore.ops._grad.grad_base import bprop_getters
|
|
36
|
-
from mindspore
|
|
46
|
+
from mindspore import context
|
|
37
47
|
|
|
38
48
|
# Unused parameters are placeholders.
|
|
39
49
|
dyn_shape_op = P.TensorShape()
|
|
50
|
+
is_sub_class = IsSubClass()
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@bprop_getters.register(SparseDenseCwiseMul)
|
|
54
|
+
def get_bprop_sparse_dense_cwise_mul(self):
|
|
55
|
+
"""Grad definition for 'SparseDenseCwiseMul' operation"""
|
|
56
|
+
|
|
57
|
+
slice_op = P.Slice()
|
|
58
|
+
ones = P.Ones()
|
|
59
|
+
shape = P.Shape()
|
|
60
|
+
cast = P.Cast()
|
|
61
|
+
gather_nd = P.GatherNd()
|
|
62
|
+
size_op = P.Size()
|
|
63
|
+
to_array = P.TupleToArray()
|
|
64
|
+
sparse_tensor_dense_add = SparseTensorDenseAdd()
|
|
65
|
+
|
|
66
|
+
def bprop(x1_indices, x1_values, x1_shape, x2, out, dout):
|
|
67
|
+
x2_shape = cast(to_array(shape(x2)), mstype.int64)
|
|
68
|
+
augmented_x2_shape = P.Concat(0)((ones(size_op(x1_shape) - size_op(x2_shape), mstype.int64), x2_shape))
|
|
69
|
+
scaling = x1_shape // augmented_x2_shape
|
|
70
|
+
scaled_indices = x1_indices // scaling
|
|
71
|
+
scaled_indices = cast(slice_op(scaled_indices, [0, size_op(x1_shape) - size_op(x2_shape)], [-1, -1]),
|
|
72
|
+
mstype.int64)
|
|
73
|
+
dense_vals = gather_nd(x2, scaled_indices)
|
|
74
|
+
dx1 = dout * dense_vals
|
|
75
|
+
dx2_val = dout * x1_values
|
|
76
|
+
dx2 = sparse_tensor_dense_add(scaled_indices, dx2_val, x2_shape, zeros_like(x2))
|
|
77
|
+
d_all = (zeros_like(x1_indices), dx1, zeros_like(x1_shape), dx2)
|
|
78
|
+
return d_all
|
|
79
|
+
|
|
80
|
+
return bprop
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
@bprop_getters.register(SparseDenseCwiseDiv)
|
|
84
|
+
def get_bprop_sparse_dense_cwise_div(self):
|
|
85
|
+
"""Grad definition for 'SparseDenseCwiseDiv' operation"""
|
|
86
|
+
|
|
87
|
+
slice_op = P.Slice()
|
|
88
|
+
ones = P.Ones()
|
|
89
|
+
shape = P.Shape()
|
|
90
|
+
cast = P.Cast()
|
|
91
|
+
gather_nd = P.GatherNd()
|
|
92
|
+
size_op = P.Size()
|
|
93
|
+
to_array = P.TupleToArray()
|
|
94
|
+
sparse_tensor_dense_add = SparseTensorDenseAdd()
|
|
95
|
+
|
|
96
|
+
def bprop(x1_indices, x1_values, x1_shape, x2, out, dout):
|
|
97
|
+
|
|
98
|
+
x2_shape = cast(to_array(shape(x2)), mstype.int64)
|
|
99
|
+
augmented_x2_shape = P.Concat(0)((ones(size_op(x1_shape) - size_op(x2_shape), mstype.int64), x2_shape))
|
|
100
|
+
scaling = x1_shape // augmented_x2_shape
|
|
101
|
+
scaled_indices = x1_indices // scaling
|
|
102
|
+
scaled_indices = cast(slice_op(scaled_indices, [0, size_op(x1_shape) - size_op(x2_shape)],
|
|
103
|
+
[-1, -1]), mstype.int64)
|
|
104
|
+
dense_vals = gather_nd(x2, scaled_indices)
|
|
105
|
+
dx1 = dout / dense_vals
|
|
106
|
+
dense_vals_2 = dense_vals * dense_vals
|
|
107
|
+
w = x1_values / dense_vals_2
|
|
108
|
+
w = (-1) * w
|
|
109
|
+
dx2_val = dout * w
|
|
110
|
+
dx2 = sparse_tensor_dense_add(scaled_indices, dx2_val, x2_shape,
|
|
111
|
+
zeros_like(x2))
|
|
112
|
+
d_all = (zeros_like(x1_indices), dx1, zeros_like(x1_shape), dx2)
|
|
113
|
+
return d_all
|
|
114
|
+
|
|
115
|
+
return bprop
|
|
116
|
+
|
|
40
117
|
|
|
41
118
|
|
|
42
119
|
@constexpr
|
|
@@ -56,7 +133,7 @@ def get_bprop_sparse_softmax(self):
|
|
|
56
133
|
default_values = _create_tensor(0, values.dtype)
|
|
57
134
|
out_dout = mul(out, dout)
|
|
58
135
|
sp_product = sparse_to_dense(indices, shape, out_dout, default_values)
|
|
59
|
-
sum_reduced = -reduce_sum(sp_product, -1)
|
|
136
|
+
sum_reduced = -1 * reduce_sum(sp_product, -1)
|
|
60
137
|
sp_sum = sparse_dense_cwise_add(indices, dout, shape, sum_reduced)
|
|
61
138
|
grad_x = mul(sp_sum, out)
|
|
62
139
|
return zeros_like(indices), grad_x, zeros_like(shape)
|
|
@@ -111,7 +188,7 @@ def get_bprop_sparse_segment_sqrt_n(self):
|
|
|
111
188
|
|
|
112
189
|
def bprop(x, indices, segment_ids, out, dout):
|
|
113
190
|
shape_x = shape(x)
|
|
114
|
-
if
|
|
191
|
+
if F.is_sequence_value_unknown(shape_x):
|
|
115
192
|
shape_x = dyn_shape_op(x)
|
|
116
193
|
output_dim0 = P.Cast()(shape_x[0], mstype.int32)
|
|
117
194
|
indices = F.cast(indices, mstype.int32)
|
|
@@ -131,7 +208,7 @@ def get_bprop_sparse_segment_sqrt_n_with_num_segments(self):
|
|
|
131
208
|
|
|
132
209
|
def bprop(x, indices, segment_ids, num_segments, out, dout):
|
|
133
210
|
shape_x = shape(x)
|
|
134
|
-
if
|
|
211
|
+
if F.is_sequence_value_unknown(shape_x):
|
|
135
212
|
shape_x = dyn_shape_op(x)
|
|
136
213
|
output_dim0 = P.Cast()(shape_x[0], mstype.int32)
|
|
137
214
|
indices = F.cast(indices, mstype.int32)
|
|
@@ -146,12 +223,14 @@ def get_bprop_sparse_segment_sqrt_n_with_num_segments(self):
|
|
|
146
223
|
@bprop_getters.register(SparseSegmentSum)
|
|
147
224
|
def get_bprop_sparse_segment_sum(self):
|
|
148
225
|
"""Grad definition for `SparseSegmentSum` operation."""
|
|
149
|
-
|
|
226
|
+
gather = P.Gather()
|
|
227
|
+
unsorted_segment_sum = P.UnsortedSegmentSum()
|
|
150
228
|
shape = P.Shape()
|
|
151
229
|
|
|
152
|
-
def
|
|
230
|
+
def bprop_gpu(x, indices, segment_ids, out, dout):
|
|
231
|
+
input_grad = G.SparseSegmentSumGrad()
|
|
153
232
|
shape_x = shape(x)
|
|
154
|
-
if
|
|
233
|
+
if F.is_sequence_value_unknown(shape_x):
|
|
155
234
|
shape_x = dyn_shape_op(x)
|
|
156
235
|
output_dim0 = P.Cast()(shape_x[0], mstype.int32)
|
|
157
236
|
indices = F.cast(indices, mstype.int32)
|
|
@@ -160,18 +239,46 @@ def get_bprop_sparse_segment_sum(self):
|
|
|
160
239
|
all_d = (dx, zeros_like(indices), zeros_like(segment_ids))
|
|
161
240
|
return all_d
|
|
162
241
|
|
|
242
|
+
def bprop(x, indices, segment_ids, out, dout):
|
|
243
|
+
shape_x = dyn_shape_op(x)
|
|
244
|
+
output_dim0 = P.Cast()(shape_x[0], mstype.int32)
|
|
245
|
+
segment_ids = F.cast(segment_ids, mstype.int32)
|
|
246
|
+
input0 = gather(dout, segment_ids, 0)
|
|
247
|
+
input0 = F.cast(input0, mstype.float32)
|
|
248
|
+
indices = F.cast(indices, mstype.int32)
|
|
249
|
+
dx = unsorted_segment_sum(input0, indices, output_dim0)
|
|
250
|
+
dx = F.cast(dx, F.dtype(dout))
|
|
251
|
+
return dx, zeros_like(indices), zeros_like(segment_ids)
|
|
252
|
+
|
|
253
|
+
if context.get_context('device_target') == "GPU":
|
|
254
|
+
return bprop_gpu
|
|
255
|
+
|
|
256
|
+
return bprop
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
@bprop_getters.register(SparseFillEmptyRows)
|
|
260
|
+
def get_bprop_sparsefillemptyrows(self):
|
|
261
|
+
"""Grad definition for `SparseFillEmptyRows` operation."""
|
|
262
|
+
op = G.SparseFillEmptyRowsGrad()
|
|
263
|
+
|
|
264
|
+
def bprop(indices, values, dense_shape, default_value, out, dout):
|
|
265
|
+
dx = op(out[3], dout[1])
|
|
266
|
+
dx_all = (zeros_like(indices), dx[0], zeros_like(dense_shape), dx[1])
|
|
267
|
+
return dx_all
|
|
163
268
|
return bprop
|
|
164
269
|
|
|
165
270
|
|
|
166
271
|
@bprop_getters.register(SparseSegmentSumWithNumSegments)
|
|
167
272
|
def get_bprop_sparse_segment_sum_with_num_segments(self):
|
|
168
273
|
"""Grad definition for `SparseSegmentSumWithNumSegments` operation."""
|
|
169
|
-
|
|
274
|
+
gather = P.Gather()
|
|
275
|
+
unsorted_segment_sum = P.UnsortedSegmentSum()
|
|
170
276
|
shape = P.Shape()
|
|
171
277
|
|
|
172
|
-
def
|
|
278
|
+
def bprop_gpu(x, indices, segment_ids, num_segments, out, dout):
|
|
279
|
+
input_grad = G.SparseSegmentSumGrad()
|
|
173
280
|
shape_x = shape(x)
|
|
174
|
-
if
|
|
281
|
+
if F.is_sequence_value_unknown(shape_x):
|
|
175
282
|
shape_x = dyn_shape_op(x)
|
|
176
283
|
output_dim0 = P.Cast()(shape_x[0], mstype.int32)
|
|
177
284
|
indices = F.cast(indices, mstype.int32)
|
|
@@ -180,6 +287,21 @@ def get_bprop_sparse_segment_sum_with_num_segments(self):
|
|
|
180
287
|
all_d = (dx, zeros_like(indices), zeros_like(segment_ids), zeros_like(num_segments))
|
|
181
288
|
return all_d
|
|
182
289
|
|
|
290
|
+
def bprop(x, indices, segment_ids, num_segments, out, dout):
|
|
291
|
+
shape_x = dyn_shape_op(x)
|
|
292
|
+
output_dim0 = P.Cast()(shape_x[0], mstype.int32)
|
|
293
|
+
segment_ids = F.cast(segment_ids, mstype.int32)
|
|
294
|
+
input0 = gather(dout, segment_ids, 0)
|
|
295
|
+
input0 = F.cast(input0, mstype.float32)
|
|
296
|
+
indices = F.cast(indices, mstype.int32)
|
|
297
|
+
dx = unsorted_segment_sum(input0, indices, output_dim0)
|
|
298
|
+
dx = F.cast(dx, F.dtype(dout))
|
|
299
|
+
all_d = (dx, zeros_like(indices), zeros_like(segment_ids), zeros_like(num_segments))
|
|
300
|
+
return all_d
|
|
301
|
+
|
|
302
|
+
if context.get_context('device_target') == "GPU":
|
|
303
|
+
return bprop_gpu
|
|
304
|
+
|
|
183
305
|
return bprop
|
|
184
306
|
|
|
185
307
|
|
|
@@ -191,7 +313,7 @@ def get_bprop_sparse_segment_mean_with_num_segments(self):
|
|
|
191
313
|
|
|
192
314
|
def bprop(x, indices, segment_ids, num_segments, out, dout):
|
|
193
315
|
x_shp = shape(x)
|
|
194
|
-
if
|
|
316
|
+
if F.is_sequence_value_unknown(x_shp):
|
|
195
317
|
x_shp = dyn_shape_op(x)
|
|
196
318
|
output_dim0 = F.cast(x_shp[0], mstype.int32)
|
|
197
319
|
else:
|
|
@@ -205,6 +327,56 @@ def get_bprop_sparse_segment_mean_with_num_segments(self):
|
|
|
205
327
|
return bprop
|
|
206
328
|
|
|
207
329
|
|
|
330
|
+
@bprop_getters.register(SparseSlice)
|
|
331
|
+
def get_bprop_sparse_slice(self):
|
|
332
|
+
"""Grad definition for `SparseSlice` operation."""
|
|
333
|
+
sparse_slice_grad = G.SparseSliceGrad()
|
|
334
|
+
|
|
335
|
+
def bprop(indices, values, shape, start, size, out, dout):
|
|
336
|
+
grad_op = sparse_slice_grad(dout[1], indices, start, out[0])
|
|
337
|
+
result_all = (zeros_like(indices), grad_op, zeros_like(shape), zeros_like(start), zeros_like(size))
|
|
338
|
+
return result_all
|
|
339
|
+
|
|
340
|
+
return bprop
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
@bprop_getters.register(Sspaddmm)
|
|
344
|
+
def get_bprop_sspaddmm(self):
|
|
345
|
+
"""Grad definition for `Sspaddmm` operation."""
|
|
346
|
+
def bprop(x1_indices, x1_values, x1_shape, x2_indices, x2_values, x2_shape, x3_dense, alpha, beta, out, dout):
|
|
347
|
+
dx_all = (zeros_like(x1_indices), zeros_like(x1_values), zeros_like(x1_shape),
|
|
348
|
+
zeros_like(x2_indices), zeros_like(x2_values), zeros_like(x2_shape),
|
|
349
|
+
zeros_like(x3_dense), zeros_like(alpha), zeros_like(beta))
|
|
350
|
+
return dx_all
|
|
351
|
+
|
|
352
|
+
return bprop
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
@bprop_getters.register(RaggedTensorToSparse)
|
|
356
|
+
def get_bprop_ragged_tensor_to_sparse(self):
|
|
357
|
+
"""Grad definition for `RaggedTensorToSparse` operation."""
|
|
358
|
+
shape = P.Shape()
|
|
359
|
+
reshape = P.Reshape()
|
|
360
|
+
|
|
361
|
+
def bprop(rt_nested_splits, rt_dense_values, out, dout):
|
|
362
|
+
ragged_values_shape = shape(rt_dense_values)
|
|
363
|
+
ragged_values_grad = reshape(dout[1], ragged_values_shape)
|
|
364
|
+
|
|
365
|
+
if is_sub_class(F.typeof(rt_nested_splits), ms.list_):
|
|
366
|
+
split = []
|
|
367
|
+
for i in enumerate(rt_nested_splits):
|
|
368
|
+
split.append(zeros_like(i))
|
|
369
|
+
all_d = (split, ragged_values_grad)
|
|
370
|
+
return all_d
|
|
371
|
+
split = ()
|
|
372
|
+
for i in enumerate(rt_nested_splits):
|
|
373
|
+
split = split + (zeros_like(i),)
|
|
374
|
+
all_d = (split, ragged_values_grad)
|
|
375
|
+
return all_d
|
|
376
|
+
|
|
377
|
+
return bprop
|
|
378
|
+
|
|
379
|
+
|
|
208
380
|
@bprop_getters.register(SparseReorder)
|
|
209
381
|
def get_bprop_sparse_reorder(self):
|
|
210
382
|
"""Grad definition for `SparseReorder` operation."""
|
|
@@ -215,11 +387,23 @@ def get_bprop_sparse_reorder(self):
|
|
|
215
387
|
def bprop(indices, values, shape, out, dout):
|
|
216
388
|
num_entries = F.shape(indices)[0]
|
|
217
389
|
start = Tensor(0, dtype=mstype.int32)
|
|
218
|
-
limit =
|
|
390
|
+
limit = P.Cast()(num_entries, mstype.int32)
|
|
219
391
|
delta = Tensor(1, dtype=mstype.int32)
|
|
220
392
|
entry_indices = range_op(start, limit, delta)
|
|
221
393
|
output = sparse_reorder_op(indices, entry_indices, shape)
|
|
222
394
|
inverted_permutation = F.sort(output[1].astype(mstype.float32))[1]
|
|
223
395
|
axis = 0
|
|
224
|
-
return
|
|
396
|
+
return zeros_like(indices), gather_op(dout[1], inverted_permutation, axis), zeros_like(shape)
|
|
397
|
+
|
|
398
|
+
return bprop
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
@bprop_getters.register(_map_tensor_ops.MapTensorGet)
|
|
402
|
+
def get_bprop_map_tensor_get(self):
|
|
403
|
+
"""Grad definition for `MapTensorGet` operation."""
|
|
404
|
+
grad_op = G.MapTensorGetGrad()
|
|
405
|
+
|
|
406
|
+
def bprop(map_tensor, key_tensor, out, dout):
|
|
407
|
+
grad_map_tensor = grad_op(map_tensor, key_tensor, dout)
|
|
408
|
+
return grad_map_tensor, zeros_like(key_tensor)
|
|
225
409
|
return bprop
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"""Operators info register."""
|
|
16
16
|
|
|
17
17
|
import platform
|
|
18
|
-
from .aicpu import *
|
|
19
|
-
from .cpu import *
|
|
18
|
+
from mindspore.ops._op_impl.aicpu import *
|
|
19
|
+
from mindspore.ops._op_impl.cpu import *
|
|
20
20
|
if "Windows" not in platform.system():
|
|
21
|
+
from mindspore.ops._op_impl.akg import *
|
|
21
22
|
from mindspore.ops._op_impl.tbe import *
|
|
22
|
-
from .akg import *
|
|
23
23
|
|
|
24
24
|
__all__ = []
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""custom ops"""
|
|
17
|
-
from __future__ import absolute_import
|
|
18
17
|
from mindspore.ops._op_impl._custom_op.dsd_impl import dsd_matmul
|
|
19
18
|
from mindspore.ops._op_impl._custom_op.dsd_back_impl import dsdbpropimpl
|
|
20
19
|
from .batchnorm_fold import _batchnorm_fold_tbe
|
|
@@ -46,7 +46,6 @@ def _check_mn_shape(m_shape, n_shape, km_shape, kn_shape):
|
|
|
46
46
|
raise RuntimeError("input shape M and N can't both be 1")
|
|
47
47
|
|
|
48
48
|
if km_shape != kn_shape:
|
|
49
|
-
print(km_shape, kn_shape)
|
|
50
49
|
raise RuntimeError("reduce axis not same")
|
|
51
50
|
|
|
52
51
|
if m_shape % cce.BLOCK_IN != 0 and m_shape != 1:
|
|
@@ -18,8 +18,8 @@ from __future__ import absolute_import
|
|
|
18
18
|
|
|
19
19
|
import te
|
|
20
20
|
from te import tvm
|
|
21
|
-
from topi import generic
|
|
22
|
-
from topi.cce import util
|
|
21
|
+
from tbe.tvm.topi import generic
|
|
22
|
+
from tbe.tvm.topi.cce import util
|
|
23
23
|
from mindspore.ops.op_info_register import op_info_register, TBERegOp, DataType
|
|
24
24
|
|
|
25
25
|
batch_norm_op_info = TBERegOp("BatchNormFoldD") \
|
|
@@ -62,6 +62,8 @@ def _batchnorm_fold_compute(x_input, x_sum, x_square_sum, mean, variance, moment
|
|
|
62
62
|
"""_batchnorm_fold_compute"""
|
|
63
63
|
shape_x = te.lang.cce.util.shape_to_list(x_input.shape)
|
|
64
64
|
num = shape_x[0] * shape_x[2] * shape_x[3]
|
|
65
|
+
if num == 0.0:
|
|
66
|
+
raise ValueError('`num` is zero, which leads to divide zero error.')
|
|
65
67
|
num_rec = 1.0 / num
|
|
66
68
|
|
|
67
69
|
# compute the mean of x
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
import te.lang.cce
|
|
18
18
|
from te import tvm
|
|
19
19
|
from te.platform.fusion_manager import fusion_manager
|
|
20
|
-
from topi import generic
|
|
21
|
-
from topi.cce import util
|
|
20
|
+
from tbe.tvm.topi import generic
|
|
21
|
+
from tbe.tvm.topi.cce import util
|
|
22
22
|
from mindspore.ops.op_info_register import op_info_register, TBERegOp, DataType
|
|
23
23
|
|
|
24
24
|
SHAPE_SIZE_LIMIT = 2147483648
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
import te.lang.cce
|
|
18
18
|
from te import tvm
|
|
19
19
|
from te.platform.fusion_manager import fusion_manager
|
|
20
|
-
from topi import generic
|
|
21
|
-
from topi.cce import util
|
|
20
|
+
from tbe.tvm.topi import generic
|
|
21
|
+
from tbe.tvm.topi.cce import util
|
|
22
22
|
from mindspore.ops.op_info_register import op_info_register, TBERegOp, DataType
|
|
23
23
|
|
|
24
24
|
SHAPE_SIZE_LIMIT = 2147483648
|