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
|
@@ -14,21 +14,18 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
"""constexpr util"""
|
|
16
16
|
|
|
17
|
-
from itertools import compress, zip_longest
|
|
18
|
-
from functools import partial
|
|
19
|
-
from collections import deque
|
|
20
17
|
import operator
|
|
18
|
+
from functools import partial
|
|
19
|
+
from itertools import compress
|
|
21
20
|
|
|
22
21
|
import numpy as np
|
|
23
|
-
|
|
24
|
-
from mindspore.ops.primitive import constexpr
|
|
25
|
-
from mindspore import log as logger
|
|
22
|
+
from mindspore import _checkparam as validator
|
|
26
23
|
from mindspore.common import dtype as mstype
|
|
27
|
-
from mindspore.common.tensor import Tensor
|
|
28
24
|
from mindspore.common._register_for_tensor import tensor_operator_registry
|
|
29
|
-
from mindspore.
|
|
30
|
-
from mindspore._checkparam import Validator as validator
|
|
25
|
+
from mindspore.common.tensor import Tensor
|
|
31
26
|
from mindspore.ops import operations as P
|
|
27
|
+
from mindspore.ops.primitive import constexpr, _primexpr
|
|
28
|
+
from mindspore import log as logger
|
|
32
29
|
from mindspore import context
|
|
33
30
|
|
|
34
31
|
ALL_TENSOR = 0
|
|
@@ -49,6 +46,30 @@ SET_ITEM_BY_ONE_TENSOR = 0
|
|
|
49
46
|
SET_ITEM_BY_TUPLE_OF_TENSOR = 1
|
|
50
47
|
SET_ITEM_BY_NON_TENSOR = 2
|
|
51
48
|
|
|
49
|
+
type_priority_map = {
|
|
50
|
+
mstype.bool_: 0,
|
|
51
|
+
mstype.uint8: 1,
|
|
52
|
+
mstype.int8: 2,
|
|
53
|
+
mstype.uint16: 3,
|
|
54
|
+
mstype.int16: 4,
|
|
55
|
+
mstype.uint32: 5,
|
|
56
|
+
mstype.int32: 6,
|
|
57
|
+
mstype.uint64: 7,
|
|
58
|
+
mstype.int64: 8,
|
|
59
|
+
mstype.float16: 9,
|
|
60
|
+
mstype.float32: 10,
|
|
61
|
+
mstype.float64: 11
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
complex_priority_map = {
|
|
65
|
+
mstype.float32: 0,
|
|
66
|
+
mstype.float64: 1,
|
|
67
|
+
mstype.complex64: 2,
|
|
68
|
+
mstype.complex128: 4
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
complex_types = [mstype.complex64, mstype.complex128]
|
|
72
|
+
|
|
52
73
|
|
|
53
74
|
@constexpr
|
|
54
75
|
def raise_value_error(msg):
|
|
@@ -75,6 +96,7 @@ def raise_unimplemented_error(msg):
|
|
|
75
96
|
|
|
76
97
|
@constexpr
|
|
77
98
|
def log_warning(msg):
|
|
99
|
+
"""Adds warning to logger."""
|
|
78
100
|
logger.warning(msg)
|
|
79
101
|
|
|
80
102
|
|
|
@@ -93,9 +115,9 @@ def make_empty_slice():
|
|
|
93
115
|
|
|
94
116
|
|
|
95
117
|
@constexpr
|
|
96
|
-
def _deep_list(array_like, dim_size
|
|
118
|
+
def _deep_list(array_like, dim_size=None):
|
|
97
119
|
"""convert nested tuple/list mixtures to pure nested list"""
|
|
98
|
-
if dim_size
|
|
120
|
+
if dim_size is not None:
|
|
99
121
|
array_like = check_range(array_like, dim_size)
|
|
100
122
|
if isinstance(array_like, (list, tuple)):
|
|
101
123
|
return list(map(lambda x: _deep_list(x, dim_size), array_like))
|
|
@@ -136,7 +158,7 @@ def _deep_tensor_to_nparray(array_like):
|
|
|
136
158
|
|
|
137
159
|
@constexpr
|
|
138
160
|
def check_range(x, dim_size):
|
|
139
|
-
if dim_size
|
|
161
|
+
if dim_size is None:
|
|
140
162
|
return x
|
|
141
163
|
if isinstance(x, int) and not isinstance(x, bool):
|
|
142
164
|
if x >= dim_size or x < -dim_size:
|
|
@@ -146,7 +168,7 @@ def check_range(x, dim_size):
|
|
|
146
168
|
|
|
147
169
|
|
|
148
170
|
@constexpr
|
|
149
|
-
def make_tensor(a, dtype=mstype.int64, data_shape=None, dim_size
|
|
171
|
+
def make_tensor(a, dtype=mstype.int64, data_shape=None, dim_size=None):
|
|
150
172
|
"""
|
|
151
173
|
Converts the input to tensor.
|
|
152
174
|
|
|
@@ -168,9 +190,9 @@ def make_tensor(a, dtype=mstype.int64, data_shape=None, dim_size=-1):
|
|
|
168
190
|
return Tensor(np.zeros(data_shape), dtype)
|
|
169
191
|
|
|
170
192
|
if not isinstance(a, (list, tuple, int, float, bool)):
|
|
171
|
-
raise TypeError("
|
|
193
|
+
raise TypeError(f"Input data must be `int`, `float`, `bool`, `list` or `tuple`, but got {a}")
|
|
172
194
|
|
|
173
|
-
if dim_size
|
|
195
|
+
if dim_size is not None:
|
|
174
196
|
a = check_range(a, dim_size)
|
|
175
197
|
|
|
176
198
|
if isinstance(a, (list, tuple)):
|
|
@@ -191,7 +213,6 @@ def make_tensor(a, dtype=mstype.int64, data_shape=None, dim_size=-1):
|
|
|
191
213
|
tensor_operator_registry.register('make_tensor', make_tensor)
|
|
192
214
|
|
|
193
215
|
|
|
194
|
-
@constexpr
|
|
195
216
|
def judge_data_dim(data_dim, min_data_dim=0, max_data_dim=8):
|
|
196
217
|
"""Judges whether the data dim is valid."""
|
|
197
218
|
if data_dim < min_data_dim or data_dim > max_data_dim:
|
|
@@ -199,21 +220,11 @@ def judge_data_dim(data_dim, min_data_dim=0, max_data_dim=8):
|
|
|
199
220
|
f"{max_data_dim}], but got '{data_dim}'.")
|
|
200
221
|
|
|
201
222
|
|
|
202
|
-
@constexpr
|
|
203
223
|
def get_source_shape(data_shape, value_shape):
|
|
204
224
|
"""Returns the shape of value that will be used to broadcast against data."""
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
if j not in (1, i):
|
|
209
|
-
cannot_broadcast = True
|
|
210
|
-
for i in range(len(value_shape) - len(data_shape)):
|
|
211
|
-
source_shape = data_shape
|
|
212
|
-
if value_shape[i] != 1:
|
|
213
|
-
cannot_broadcast = True
|
|
214
|
-
if cannot_broadcast:
|
|
215
|
-
raise ValueError(f'could not broadcast input array from shape {value_shape} to {data_shape}')
|
|
216
|
-
return source_shape
|
|
225
|
+
if len(value_shape) > len(data_shape):
|
|
226
|
+
return data_shape
|
|
227
|
+
return value_shape
|
|
217
228
|
|
|
218
229
|
|
|
219
230
|
@constexpr
|
|
@@ -383,10 +394,21 @@ def slice2indices(input_slice, shape):
|
|
|
383
394
|
start, stop, step = normalize_slice(input_slice, shape[0])
|
|
384
395
|
if check_slice_empty(start, stop, step):
|
|
385
396
|
return False
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
397
|
+
ndim = len(shape)
|
|
398
|
+
mesh = list()
|
|
399
|
+
grids = [P.Range()(P.Fill()(mstype.int64, (), start), P.Fill()(
|
|
400
|
+
mstype.int64, (), stop), P.Fill()(mstype.int64, (), step))]
|
|
401
|
+
grids += [P.Range()(Tensor(0, mstype.int64), P.Fill()(mstype.int64, (), dim_size),
|
|
402
|
+
Tensor(1, mstype.int64)) for dim_size in shape[1:]]
|
|
403
|
+
for j, grid in enumerate(grids):
|
|
404
|
+
mesh.append(P.Reshape()(grid, tuple(
|
|
405
|
+
[grid.size if j == t else 1 for t in range(ndim)])))
|
|
406
|
+
shapes = map(P.Shape(), mesh)
|
|
407
|
+
out_shape = infer_out_shape(*shapes)
|
|
408
|
+
mesh_arrays = list()
|
|
409
|
+
for arr in mesh:
|
|
410
|
+
mesh_arrays.append(P.BroadcastTo(out_shape)(arr))
|
|
411
|
+
return P.Stack(-1)(mesh_arrays)
|
|
390
412
|
|
|
391
413
|
|
|
392
414
|
@constexpr
|
|
@@ -398,7 +420,7 @@ def check_indices(indices_size, index):
|
|
|
398
420
|
return indices_size
|
|
399
421
|
|
|
400
422
|
|
|
401
|
-
@
|
|
423
|
+
@_primexpr
|
|
402
424
|
def check_indices_value_size(indices_size, value_size):
|
|
403
425
|
"""Checks if the sizes are already matched."""
|
|
404
426
|
if value_size < 1:
|
|
@@ -455,35 +477,61 @@ def check_tensors_dtype_same(data_dtype, value_dtype, op_name):
|
|
|
455
477
|
f"is not consistent with assigned tensor data type {data_dtype}.")
|
|
456
478
|
|
|
457
479
|
|
|
480
|
+
@constexpr
|
|
481
|
+
def get_broadcast_shape(x_shape, y_shape, prim_name):
|
|
482
|
+
"""Get broadcast shape from input shapes."""
|
|
483
|
+
if x_shape is None or y_shape is None:
|
|
484
|
+
raise ValueError("get_broadcast_shape has dynamic rank input")
|
|
485
|
+
if None in x_shape or None in y_shape:
|
|
486
|
+
raise ValueError("get_broadcast_shape has dynamic shape input")
|
|
487
|
+
if x_shape == y_shape:
|
|
488
|
+
return x_shape
|
|
489
|
+
x_len = len(x_shape)
|
|
490
|
+
y_len = len(y_shape)
|
|
491
|
+
length = x_len if x_len < y_len else y_len
|
|
492
|
+
broadcast_shape_back = []
|
|
493
|
+
|
|
494
|
+
for i in range(-length, 0):
|
|
495
|
+
if x_shape[i] == 1:
|
|
496
|
+
broadcast_shape_back.append(y_shape[i])
|
|
497
|
+
elif y_shape[i] == 1:
|
|
498
|
+
broadcast_shape_back.append(x_shape[i])
|
|
499
|
+
elif x_shape[i] == y_shape[i]:
|
|
500
|
+
broadcast_shape_back.append(x_shape[i])
|
|
501
|
+
else:
|
|
502
|
+
raise ValueError(f"For '{prim_name}', x.shape and y.shape need to "
|
|
503
|
+
f"broadcast. The value of x.shape[{i}] or y.shape[{i}]"
|
|
504
|
+
f" must be 1 or -1 when they are not the same, "
|
|
505
|
+
f"but got x.shape = {x_shape} "
|
|
506
|
+
f"and y.shape = {y_shape}.")
|
|
507
|
+
|
|
508
|
+
broadcast_shape_front = y_shape[0: y_len - length] if length == x_len else x_shape[0: x_len - length]
|
|
509
|
+
broadcast_shape = list(broadcast_shape_front) + broadcast_shape_back
|
|
510
|
+
return broadcast_shape
|
|
511
|
+
|
|
512
|
+
|
|
458
513
|
@constexpr
|
|
459
514
|
def generate_broadcast_shape(shapes, op_name):
|
|
460
515
|
"""Generate broadcast shape for a tuple of shape."""
|
|
461
516
|
if not shapes:
|
|
462
517
|
return ()
|
|
463
518
|
broadcast_shape = shapes[0]
|
|
464
|
-
for
|
|
465
|
-
|
|
466
|
-
try:
|
|
467
|
-
broadcast_shape = op_utils.get_broadcast_shape(
|
|
468
|
-
broadcast_shape, shape, op_name)
|
|
469
|
-
except ValueError as ex:
|
|
470
|
-
raise IndexError(ex)
|
|
519
|
+
for shape in shapes:
|
|
520
|
+
broadcast_shape = get_broadcast_shape(tuple(broadcast_shape), shape, op_name)
|
|
471
521
|
return tuple(broadcast_shape)
|
|
472
522
|
|
|
473
523
|
|
|
474
|
-
@
|
|
524
|
+
@_primexpr
|
|
475
525
|
def check_two_shapes_need_broadcast(shape_x, shape_y):
|
|
476
526
|
"""Check shape_y needs to be broadcast to shape_x."""
|
|
477
|
-
if any(j not in (i, 1) for i, j in zip(reversed(shape_x), reversed(shape_y))):
|
|
478
|
-
raise ValueError(f"{shape_y} could not broadcast with {shape_x}.")
|
|
479
527
|
return shape_y != shape_x
|
|
480
528
|
|
|
481
529
|
|
|
482
|
-
@
|
|
530
|
+
@_primexpr
|
|
483
531
|
def compute_multiples(origin_shape, broadcast_shape):
|
|
484
532
|
"""Compute multiples between origin shape with broadcast shape."""
|
|
485
533
|
len_gap = len(broadcast_shape) - len(origin_shape)
|
|
486
|
-
return broadcast_shape[0:len_gap] + tuple(map(lambda x, y: x // y, broadcast_shape[len_gap:], origin_shape))
|
|
534
|
+
return broadcast_shape[0:len_gap] + tuple(map(lambda x, y: x // y, broadcast_shape[len_gap:], tuple(origin_shape)))
|
|
487
535
|
|
|
488
536
|
|
|
489
537
|
@constexpr
|
|
@@ -493,7 +541,7 @@ def convert_scalar_to_tensor(data_shape, data_dtype, indices_shape, value, op_ty
|
|
|
493
541
|
updates_shape = indices_shape + data_shape[1:]
|
|
494
542
|
else:
|
|
495
543
|
updates_shape = indices_shape[:-1] + data_shape[indices_shape[-1]:]
|
|
496
|
-
return
|
|
544
|
+
return P.Fill()(data_dtype, updates_shape, value)
|
|
497
545
|
|
|
498
546
|
|
|
499
547
|
def generate_updates_shape(data_shape, index_shape, op_type, is_dynamic):
|
|
@@ -554,12 +602,6 @@ def _judge_order_continuous(order_sequence):
|
|
|
554
602
|
@constexpr
|
|
555
603
|
def scalar_in_sequence(x, y):
|
|
556
604
|
"""Determine whether the scalar in the sequence."""
|
|
557
|
-
if x is None:
|
|
558
|
-
raise ValueError("Judge scalar in tuple or list require scalar and sequence must be constant, "
|
|
559
|
-
"but the scalar is not.")
|
|
560
|
-
if y is None:
|
|
561
|
-
raise ValueError("Judge scalar in tuple or list require scalar and sequence must be constant, "
|
|
562
|
-
"but the sequence is not.")
|
|
563
605
|
return x in y
|
|
564
606
|
|
|
565
607
|
|
|
@@ -582,7 +624,7 @@ def check_number_index_type(number):
|
|
|
582
624
|
.format(number, type(number)))
|
|
583
625
|
|
|
584
626
|
|
|
585
|
-
@
|
|
627
|
+
@_primexpr
|
|
586
628
|
def get_stride_info_from_slice(data_shape, slice_index):
|
|
587
629
|
"""Get stride info from a python slice"""
|
|
588
630
|
begin, end, step = get_slice_stride(slice_index, data_shape[0])
|
|
@@ -683,7 +725,7 @@ def unpack(x):
|
|
|
683
725
|
return x
|
|
684
726
|
|
|
685
727
|
|
|
686
|
-
@
|
|
728
|
+
@_primexpr
|
|
687
729
|
def normalize_start(start, dim_size):
|
|
688
730
|
"""
|
|
689
731
|
Normalize `start` according to the number of dimensions (`dim_size`).
|
|
@@ -691,24 +733,24 @@ def normalize_start(start, dim_size):
|
|
|
691
733
|
"""
|
|
692
734
|
if start is None:
|
|
693
735
|
return 0
|
|
694
|
-
if dim_size
|
|
736
|
+
if dim_size is None:
|
|
695
737
|
return start
|
|
696
738
|
if start < 0:
|
|
697
739
|
return 0 if start < -dim_size else start % dim_size
|
|
698
740
|
return start if start < dim_size else dim_size
|
|
699
741
|
|
|
700
742
|
|
|
701
|
-
@
|
|
743
|
+
@_primexpr
|
|
702
744
|
def normalize_stop(stop, dim_size):
|
|
703
745
|
"""
|
|
704
746
|
Normalize `stop` according to the number of dimensions (`dim_size`).
|
|
705
747
|
If the number of dimensions is not given, return the original input directly.
|
|
706
748
|
"""
|
|
707
|
-
if stop is None and dim_size
|
|
749
|
+
if stop is None and dim_size is None:
|
|
708
750
|
raise IndexError("Not Support stop is None when dim is dynamic")
|
|
709
751
|
if stop is None:
|
|
710
752
|
return dim_size
|
|
711
|
-
if dim_size
|
|
753
|
+
if dim_size is None:
|
|
712
754
|
return stop
|
|
713
755
|
if stop < 0:
|
|
714
756
|
return 0 if stop < -dim_size else stop % dim_size
|
|
@@ -724,11 +766,9 @@ def get_step_from_slice(input_slice):
|
|
|
724
766
|
return step
|
|
725
767
|
|
|
726
768
|
|
|
727
|
-
@
|
|
769
|
+
@_primexpr
|
|
728
770
|
def normalize_slice(input_slice, dim_size):
|
|
729
771
|
"""Normalizes start, stop, step in a slice."""
|
|
730
|
-
start = normalize_start(input_slice.start, dim_size)
|
|
731
|
-
stop = normalize_stop(input_slice.stop, dim_size)
|
|
732
772
|
step = input_slice.step
|
|
733
773
|
if step is None:
|
|
734
774
|
step = 1
|
|
@@ -747,7 +787,6 @@ def tuple_slice(tup, start, end):
|
|
|
747
787
|
return tup[start:end]
|
|
748
788
|
|
|
749
789
|
|
|
750
|
-
@constexpr
|
|
751
790
|
def expanded_shape(shape, expand_size):
|
|
752
791
|
return (1,)*expand_size + shape
|
|
753
792
|
|
|
@@ -780,12 +819,20 @@ def is_slice(x):
|
|
|
780
819
|
return isinstance(x, slice)
|
|
781
820
|
|
|
782
821
|
|
|
783
|
-
@
|
|
822
|
+
@_primexpr
|
|
784
823
|
def filter_expanded_dims(shape, not_expanded_dim):
|
|
824
|
+
"""filter_expanded_dims"""
|
|
825
|
+
def _check(diff, shape):
|
|
826
|
+
if diff < 0:
|
|
827
|
+
raise ValueError(f'unable to broadcast {shape}')
|
|
828
|
+
|
|
785
829
|
diff = len(not_expanded_dim) - len(shape)
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
830
|
+
_check(diff, shape)
|
|
831
|
+
res = list()
|
|
832
|
+
for i, flag in zip(shape, not_expanded_dim[diff:]):
|
|
833
|
+
if flag:
|
|
834
|
+
res.append(i)
|
|
835
|
+
return tuple(res)
|
|
789
836
|
|
|
790
837
|
|
|
791
838
|
@constexpr
|
|
@@ -794,7 +841,7 @@ def sequence_to_index(sequence, dim_size):
|
|
|
794
841
|
if not sequence:
|
|
795
842
|
return False
|
|
796
843
|
if all(isinstance(i, bool) for i in sequence):
|
|
797
|
-
if dim_size
|
|
844
|
+
if dim_size is None:
|
|
798
845
|
raise IndexError("Not supported to take the subscript of dynamic shape tensor using Boolean type")
|
|
799
846
|
seq_size = len(sequence)
|
|
800
847
|
if seq_size != dim_size:
|
|
@@ -805,19 +852,30 @@ def sequence_to_index(sequence, dim_size):
|
|
|
805
852
|
return make_tensor(sequence, mstype.int64, None, dim_size)
|
|
806
853
|
|
|
807
854
|
|
|
808
|
-
@
|
|
855
|
+
@_primexpr
|
|
809
856
|
def int_to_index(i, shape):
|
|
810
857
|
"""Converts integer to tensor indices."""
|
|
858
|
+
def _check(i, dim_size):
|
|
859
|
+
if i < -dim_size or i >= dim_size:
|
|
860
|
+
raise IndexError(f'index {i} is out of bounds for axis 0 with size {dim_size}')
|
|
861
|
+
|
|
811
862
|
dim_size = shape[0]
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
i = i % dim_size
|
|
863
|
+
_check(i, dim_size)
|
|
864
|
+
i = (i + dim_size) % dim_size
|
|
815
865
|
if len(shape) == 1:
|
|
816
|
-
return
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
866
|
+
return P.Fill()(mstype.int64, (1, 1), i)
|
|
867
|
+
mesh = list()
|
|
868
|
+
ndim = len(shape) - 1
|
|
869
|
+
for j, size in enumerate(shape[1:]):
|
|
870
|
+
grid = P.Range()(Tensor(0, mstype.int64), P.Fill()(mstype.int64, (), size), Tensor(1, mstype.int64))
|
|
871
|
+
mesh.append(P.Reshape()(grid, tuple([size if j == t else 1 for t in range(ndim)])))
|
|
872
|
+
shapes = map(P.Shape(), mesh)
|
|
873
|
+
out_shape = infer_out_shape(*shapes)
|
|
874
|
+
mesh_arrays = list()
|
|
875
|
+
for arr in mesh:
|
|
876
|
+
mesh_arrays.append(P.BroadcastTo(out_shape)(arr))
|
|
877
|
+
index = P.Stack(-1)(mesh_arrays)
|
|
878
|
+
return P.Concat(-1)((P.Fill()(mstype.int64, P.Shape()(index)[:-1] + (1,), i), index))
|
|
821
879
|
|
|
822
880
|
|
|
823
881
|
@constexpr
|
|
@@ -839,12 +897,12 @@ def rem_not_expanded_dims(idx_advanced, expand_true, tensor_index_ndim, rem_ndim
|
|
|
839
897
|
return not_expanded_dim, idx_advanced
|
|
840
898
|
|
|
841
899
|
|
|
842
|
-
@
|
|
900
|
+
@_primexpr
|
|
843
901
|
def check_slice_empty(start, stop, step):
|
|
844
902
|
return (start - stop)*step >= 0
|
|
845
903
|
|
|
846
904
|
|
|
847
|
-
@
|
|
905
|
+
@_primexpr
|
|
848
906
|
def real_axes(ndim_orig, ndim_out, axes_orig):
|
|
849
907
|
"""Returns the real axes to be reduced after performing broadcast"""
|
|
850
908
|
_diff = ndim_out - ndim_orig
|
|
@@ -856,7 +914,7 @@ def real_axes(ndim_orig, ndim_out, axes_orig):
|
|
|
856
914
|
check_axis_valid_const = constexpr(validator.check_axis_valid)
|
|
857
915
|
|
|
858
916
|
|
|
859
|
-
@
|
|
917
|
+
@_primexpr
|
|
860
918
|
def compute_slice_shape(slice_shape, broadcast_shape_len, slice_cnt, fancy_position):
|
|
861
919
|
"""Computes slice tensor shapes"""
|
|
862
920
|
shape = [1] * len(slice_shape)
|
|
@@ -865,18 +923,19 @@ def compute_slice_shape(slice_shape, broadcast_shape_len, slice_cnt, fancy_posit
|
|
|
865
923
|
return shape
|
|
866
924
|
|
|
867
925
|
|
|
868
|
-
@
|
|
926
|
+
@_primexpr
|
|
869
927
|
def infer_out_shape(*shapes):
|
|
870
928
|
"""
|
|
871
929
|
Returns shape of output after broadcasting. Raises ValueError if shapes cannot be broadcast.
|
|
872
930
|
"""
|
|
873
|
-
shape_out =
|
|
874
|
-
|
|
875
|
-
|
|
931
|
+
shape_out = list()
|
|
932
|
+
max_len = max([len(it) for it in shapes])
|
|
933
|
+
|
|
934
|
+
for i in range(max_len):
|
|
935
|
+
items = [it[i-max_len+len(it)] if i-max_len +
|
|
936
|
+
len(it) >= 0 else 1 for it in shapes]
|
|
876
937
|
max_size = 0 if 0 in items else max(items)
|
|
877
|
-
|
|
878
|
-
raise ValueError(f'operands could not be broadcast together with shapes {*shapes,}')
|
|
879
|
-
shape_out.appendleft(max_size)
|
|
938
|
+
shape_out.append(max_size)
|
|
880
939
|
return tuple(shape_out)
|
|
881
940
|
|
|
882
941
|
|
|
@@ -891,9 +950,51 @@ def use_copy_slice(tuple_index):
|
|
|
891
950
|
|
|
892
951
|
@constexpr
|
|
893
952
|
def is_ascend():
|
|
953
|
+
"""Device target is Ascend or not"""
|
|
894
954
|
return context.get_context('device_target') == "Ascend"
|
|
895
955
|
|
|
896
956
|
|
|
897
957
|
@constexpr
|
|
898
958
|
def gen_exception_msg(msg_format, *args):
|
|
899
959
|
return msg_format.format(*args)
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
@constexpr
|
|
963
|
+
def get_output_dtype(dtype_1, dtype_2, use_complex=False):
|
|
964
|
+
"""Returns output dtype after type promotion."""
|
|
965
|
+
if use_complex:
|
|
966
|
+
priority_map = complex_priority_map
|
|
967
|
+
type_str = "Complex binary"
|
|
968
|
+
else:
|
|
969
|
+
priority_map = type_priority_map
|
|
970
|
+
type_str = "Binary"
|
|
971
|
+
priority_1 = priority_map.get(dtype_1, None)
|
|
972
|
+
priority_2 = priority_map.get(dtype_2, None)
|
|
973
|
+
if not priority_1 or not priority_2:
|
|
974
|
+
raise ValueError(f"{type_str} op type promotion not supported for {dtype_1} and {dtype_2}")
|
|
975
|
+
if priority_1 > priority_2:
|
|
976
|
+
return dtype_1
|
|
977
|
+
return dtype_2
|
|
978
|
+
|
|
979
|
+
|
|
980
|
+
@constexpr
|
|
981
|
+
def promote_binary_dtype(dtype_1, dtype_2):
|
|
982
|
+
"""
|
|
983
|
+
promote binary types
|
|
984
|
+
"""
|
|
985
|
+
if dtype_1 == dtype_2:
|
|
986
|
+
return dtype_1
|
|
987
|
+
if dtype_1 in complex_types or dtype_2 in complex_types:
|
|
988
|
+
return get_output_dtype(dtype_1, dtype_2, True)
|
|
989
|
+
return get_output_dtype(dtype_1, dtype_2, False)
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
@_primexpr
|
|
993
|
+
def generate_padding_shape(shape, length):
|
|
994
|
+
"""
|
|
995
|
+
pad the `shape` to `length` with 1.
|
|
996
|
+
"""
|
|
997
|
+
if len(shape) > length:
|
|
998
|
+
raise ValueError(f"Can not pad {shape} to length {length}.")
|
|
999
|
+
|
|
1000
|
+
return shape + (1,) * (length - len(shape))
|
|
@@ -14,12 +14,14 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""Implementation for internal polymorphism `add` operations."""
|
|
17
|
+
from __future__ import absolute_import
|
|
17
18
|
|
|
18
19
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
19
20
|
from mindspore.ops.composite import base
|
|
20
21
|
from mindspore.ops import functional as F
|
|
21
22
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import make_tensor, check_equal
|
|
22
23
|
from mindspore.common import CSRTensor, COOTensor
|
|
24
|
+
from ...operations._sequence_ops import SequenceAdd
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
add = base.MultitypeFuncGraph('add', True)
|
|
@@ -194,6 +196,8 @@ def _list_add_list(x, y):
|
|
|
194
196
|
Returns:
|
|
195
197
|
list, has the same dtype as x.
|
|
196
198
|
"""
|
|
199
|
+
if F.is_sequence_shape_unknown(x) or F.is_sequence_shape_unknown(y):
|
|
200
|
+
return SequenceAdd()(x, y)
|
|
197
201
|
for i in y:
|
|
198
202
|
x.append(i)
|
|
199
203
|
return x
|
|
@@ -271,6 +275,8 @@ def _add_tuple(x, y):
|
|
|
271
275
|
Returns:
|
|
272
276
|
Tuple, consists of elements of x and elements of y.
|
|
273
277
|
"""
|
|
278
|
+
if F.is_sequence_shape_unknown(x) or F.is_sequence_shape_unknown(y):
|
|
279
|
+
return SequenceAdd()(x, y)
|
|
274
280
|
return _tuple_add(x, y)
|
|
275
281
|
|
|
276
282
|
|
|
@@ -303,7 +309,7 @@ def _add_cootensor(x, y):
|
|
|
303
309
|
COOTensor, consists of elements of x and elements of y.
|
|
304
310
|
"""
|
|
305
311
|
check_equal(x.shape, y.shape, "input1 (shape={}) and input2(shape={}) should be the same shape.")
|
|
306
|
-
return F.
|
|
312
|
+
return F.coo_add(x, y, make_tensor(0, x.values.dtype))
|
|
307
313
|
|
|
308
314
|
|
|
309
315
|
@add.register("COOTensor", "Tensor")
|
|
@@ -513,4 +519,20 @@ def _add_tuple_cootensor(x, y):
|
|
|
513
519
|
x = COOTensor(x[0], x[1], y.shape)
|
|
514
520
|
return _add_cootensor_cootensor(x, y)
|
|
515
521
|
|
|
522
|
+
|
|
523
|
+
@_add_backward.register("MapTensor", "MapTensor")
|
|
524
|
+
def _map_tensor_add_backward(x, y):
|
|
525
|
+
"""
|
|
526
|
+
Adds MapTensors for backward.
|
|
527
|
+
|
|
528
|
+
Args:
|
|
529
|
+
x (MapTensor): x
|
|
530
|
+
y (MapTensor): y
|
|
531
|
+
|
|
532
|
+
Returns:
|
|
533
|
+
MapTensor.
|
|
534
|
+
"""
|
|
535
|
+
return x
|
|
536
|
+
|
|
537
|
+
|
|
516
538
|
hyper_add = base.HyperMap(_add_backward)
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""Implementation for internal polymorphism `div` operations."""
|
|
17
|
+
from __future__ import division
|
|
17
18
|
|
|
18
19
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
19
20
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import log_warning, check_equal
|
|
20
21
|
from mindspore.ops.composite import base
|
|
21
22
|
from mindspore.ops import functional as F
|
|
22
|
-
from mindspore.common import
|
|
23
|
+
from mindspore.common import COOTensor
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
div = base.MultitypeFuncGraph("div", True)
|
|
@@ -38,8 +39,7 @@ def _csrtensor_div_tensor(x, y):
|
|
|
38
39
|
CSRTensor, equal to x / y.
|
|
39
40
|
"""
|
|
40
41
|
log_warning("For CSR divide, zero values in the dense tensor are ignored.")
|
|
41
|
-
|
|
42
|
-
return CSRTensor(x.indptr, x.indices, data, x.shape)
|
|
42
|
+
return F.csr_div(x, y)
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
@div.register("COOTensor", "Tensor")
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""Implementation for internal polymorphism `equal` operations."""
|
|
17
|
+
from __future__ import absolute_import
|
|
17
18
|
from mindspore.ops.composite.multitype_ops import _constexpr_utils as const_utils
|
|
18
19
|
from mindspore.ops.composite import base
|
|
19
20
|
from mindspore.ops import functional as F
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""Implementation for internal polymorphism `floordiv` operations."""
|
|
17
|
-
|
|
17
|
+
from __future__ import absolute_import
|
|
18
18
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
19
19
|
from mindspore.ops.composite import base
|
|
20
20
|
from mindspore.ops import functional as F
|