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
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"""Defines sparse operators with functional form."""
|
|
17
17
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
|
+
from typing import Tuple
|
|
19
20
|
from mindspore.ops.operations.sparse_ops import (
|
|
20
21
|
DenseToCSRSparseMatrix,
|
|
21
22
|
CSRSparseMatrixToSparseTensor,
|
|
@@ -23,14 +24,18 @@ from mindspore.ops.operations.sparse_ops import (
|
|
|
23
24
|
SparseAdd,
|
|
24
25
|
SparseMatrixAdd,
|
|
25
26
|
SparseMatrixSoftmax,
|
|
27
|
+
SparseMatrixSparseMatMul,
|
|
26
28
|
CSRSparseMatrixToDense
|
|
27
29
|
)
|
|
30
|
+
from mindspore import ops
|
|
31
|
+
from mindspore.common import dtype as mstype
|
|
28
32
|
from mindspore.ops.primitive import constexpr, Primitive
|
|
29
33
|
from mindspore.ops.operations.array_ops import GatherNd, Coalesce
|
|
30
34
|
from mindspore.ops.operations import _csr_ops
|
|
35
|
+
from mindspore.ops import functional as F
|
|
31
36
|
from mindspore.common import CSRTensor, COOTensor, Tensor
|
|
32
|
-
from mindspore.
|
|
33
|
-
|
|
37
|
+
from mindspore.ops.composite.multitype_ops._constexpr_utils import raise_value_error, raise_type_error, make_tensor,\
|
|
38
|
+
promote_binary_dtype
|
|
34
39
|
|
|
35
40
|
# utility functions and values
|
|
36
41
|
gather_nd = GatherNd()
|
|
@@ -53,6 +58,20 @@ def _make_tensor(data):
|
|
|
53
58
|
return Tensor(data)
|
|
54
59
|
|
|
55
60
|
|
|
61
|
+
@constexpr
|
|
62
|
+
def _make_tensor_with_dtype(data, dtype):
|
|
63
|
+
"""Make Tensor with specific datatype"""
|
|
64
|
+
return Tensor(data, dtype=dtype)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _convert_shape(shape):
|
|
68
|
+
"""Temporary solution to get shape value, will be removed when shape op is supported."""
|
|
69
|
+
if F.is_sequence_shape_unknown(shape):
|
|
70
|
+
return (-2,)
|
|
71
|
+
shape = [-1 if not F.isconstant(i) else i for i in shape]
|
|
72
|
+
return tuple(shape)
|
|
73
|
+
|
|
74
|
+
|
|
56
75
|
def is_scalar(tensor):
|
|
57
76
|
"""Determine whether tensor input is a scalar tensor."""
|
|
58
77
|
if tensor.size != 1:
|
|
@@ -60,7 +79,32 @@ def is_scalar(tensor):
|
|
|
60
79
|
return len(tensor.shape) <= 2
|
|
61
80
|
|
|
62
81
|
|
|
63
|
-
def
|
|
82
|
+
def promote_tensor(tensor_1, tensor_2):
|
|
83
|
+
"""promote Tensor"""
|
|
84
|
+
dtype = promote_binary_dtype(tensor_1.dtype, tensor_2.dtype)
|
|
85
|
+
return tensor_1.astype(dtype), tensor_2.astype(dtype)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def promote_csr(csr_tensor_1, csr_tensor_2):
|
|
89
|
+
"""Type promotion for CSR tensor."""
|
|
90
|
+
indptr_1, indptr_2 = promote_tensor(csr_tensor_1.indptr, csr_tensor_2.indptr)
|
|
91
|
+
indices_1, indices_2 = promote_tensor(csr_tensor_1.indices, csr_tensor_2.indices)
|
|
92
|
+
values_1, values_2 = promote_tensor(csr_tensor_1.values, csr_tensor_2.values)
|
|
93
|
+
csr_tensor_1 = CSRTensor(indptr_1, indices_1, values_1, csr_tensor_1.shape)
|
|
94
|
+
csr_tensor_2 = CSRTensor(indptr_2, indices_2, values_2, csr_tensor_2.shape)
|
|
95
|
+
return csr_tensor_1, csr_tensor_2
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def promote_coo(coo_tensor_1, coo_tensor_2):
|
|
99
|
+
"""promote COO-Tensor"""
|
|
100
|
+
indices_1, indices_2 = promote_tensor(coo_tensor_1.indices, coo_tensor_2.indices)
|
|
101
|
+
values_1, values_2 = promote_tensor(coo_tensor_1.values, coo_tensor_2.values)
|
|
102
|
+
coo_tensor_1 = COOTensor(indices_1, values_1, coo_tensor_1.shape)
|
|
103
|
+
coo_tensor_2 = COOTensor(indices_2, values_2, coo_tensor_2.shape)
|
|
104
|
+
return coo_tensor_1, coo_tensor_2
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def coalesce(x_indices: Tensor, x_values: Tensor, x_shape: Tensor) -> Tuple[Tensor, Tensor, Tensor]:
|
|
64
108
|
"""
|
|
65
109
|
Returns the coalesced sparse tensor of the input.
|
|
66
110
|
|
|
@@ -92,7 +136,7 @@ def coalesce(x_indices, x_values, x_shape):
|
|
|
92
136
|
ValueError: If any of the values of elements of `x_indices` exceed the limit set by `x_shape`.
|
|
93
137
|
|
|
94
138
|
Supported Platforms:
|
|
95
|
-
``GPU``
|
|
139
|
+
``GPU`` ``CPU``
|
|
96
140
|
|
|
97
141
|
Examples:
|
|
98
142
|
>>> import mindspore
|
|
@@ -101,7 +145,7 @@ def coalesce(x_indices, x_values, x_shape):
|
|
|
101
145
|
>>> x_indices = Tensor([[0, 0, 1], [1, 1, 2]], dtype=ms.int64)
|
|
102
146
|
>>> x_values = Tensor([1, 5, 4], dtype=ms.float32)
|
|
103
147
|
>>> x_shape = Tensor([3, 3], dtype=ms.int64)
|
|
104
|
-
>>> y_indices, y_values, y_shape = ops.
|
|
148
|
+
>>> y_indices, y_values, y_shape = ops.Coalesce()(x_indices, x_values, x_shape)
|
|
105
149
|
>>> print(y_indices)
|
|
106
150
|
[[0 1]
|
|
107
151
|
[1 2]]
|
|
@@ -122,7 +166,7 @@ coo_tensor_get_indices = Primitive('COOTensorGetIndices')
|
|
|
122
166
|
coo_tensor_get_values = Primitive('COOTensorGetValues')
|
|
123
167
|
|
|
124
168
|
|
|
125
|
-
def csr_div(x, y):
|
|
169
|
+
def csr_div(x: CSRTensor, y: Tensor) -> Tensor:
|
|
126
170
|
"""
|
|
127
171
|
Returns x / y where x is CSRTensor and y is Tensor.
|
|
128
172
|
|
|
@@ -148,28 +192,24 @@ def csr_div(x, y):
|
|
|
148
192
|
if y.ndim > x.ndim:
|
|
149
193
|
raise_value_error("dense tensor cannot broadcast to the sparse tensor.")
|
|
150
194
|
return (x.values / y).reshape(x.values.shape)
|
|
151
|
-
|
|
195
|
+
x_values, y = promote_tensor(x.values, y)
|
|
196
|
+
res_values = _csr_ops.CSRDiv()(x.indptr, x.indices, x_values, x.shape, y)
|
|
197
|
+
return CSRTensor(x.indptr, x.indices, res_values, x.shape)
|
|
152
198
|
|
|
153
199
|
|
|
154
200
|
csr_gather = _csr_ops.CSRGather()
|
|
155
201
|
|
|
156
202
|
|
|
157
|
-
def csr_mul(x, y):
|
|
203
|
+
def csr_mul(x: CSRTensor, y: Tensor) -> CSRTensor:
|
|
158
204
|
"""
|
|
159
205
|
Returns x * y where x is CSRTensor and y is Tensor.
|
|
160
206
|
|
|
161
|
-
Note:
|
|
162
|
-
This function returns the results of dense Tensor, represents the non-zero
|
|
163
|
-
values of the CSRTensor. If user expects a CSRTensor as output, please directly
|
|
164
|
-
use `*` operator instead. Only support dense tensor broadcast to sparse tensor
|
|
165
|
-
at the moment.
|
|
166
|
-
|
|
167
207
|
Args:
|
|
168
208
|
x (CSRTensor): Sparse CSR Tensor.
|
|
169
209
|
y (Tensor): Dense Tensor, its shape must be able to broadcast to x.
|
|
170
210
|
|
|
171
211
|
Returns:
|
|
172
|
-
|
|
212
|
+
CSRTensor.
|
|
173
213
|
|
|
174
214
|
Supported Platforms:
|
|
175
215
|
``GPU`` ``CPU``
|
|
@@ -180,10 +220,12 @@ def csr_mul(x, y):
|
|
|
180
220
|
if y.ndim > x.ndim:
|
|
181
221
|
raise_value_error("dense tensor cannot broadcast to the sparse tensor.")
|
|
182
222
|
return (x.values * y).reshape(x.values.shape)
|
|
183
|
-
|
|
223
|
+
x_values, y = promote_tensor(x.values, y)
|
|
224
|
+
res_values = _csr_ops.CSRMul()(x.indptr, x.indices, x_values, x.shape, y)
|
|
225
|
+
return CSRTensor(x.indptr, x.indices, res_values, x.shape)
|
|
184
226
|
|
|
185
227
|
|
|
186
|
-
def csr_mv(csr_tensor, dense):
|
|
228
|
+
def csr_mv(csr_tensor: CSRTensor, dense: Tensor) -> Tensor:
|
|
187
229
|
"""
|
|
188
230
|
Sparse matrix-vector multiplication.
|
|
189
231
|
|
|
@@ -197,10 +239,87 @@ def csr_mv(csr_tensor, dense):
|
|
|
197
239
|
Supported Platforms:
|
|
198
240
|
``GPU`` ``CPU``
|
|
199
241
|
"""
|
|
200
|
-
|
|
242
|
+
csr_tensor_values, dense = promote_tensor(csr_tensor.values, dense)
|
|
243
|
+
return _csr_ops.CSRMV()(csr_tensor.indptr, csr_tensor.indices, csr_tensor_values, csr_tensor.shape, dense)
|
|
201
244
|
|
|
202
245
|
|
|
203
|
-
def
|
|
246
|
+
def csr_mm(a: CSRTensor, b: CSRTensor, trans_a: bool = False, trans_b: bool = False,
|
|
247
|
+
adjoint_a: bool = False, adjoint_b: bool = False):
|
|
248
|
+
"""
|
|
249
|
+
Return the matrix multiplication result of the right-multiply matrix (dense or CSRTensor) of the CSRTensor.
|
|
250
|
+
The CSRTensor with shape `[M, N]` needs to adapt the right matrix with shape `[N, K]`
|
|
251
|
+
to get the dense matrix or CSRTensor with result `[M, K]`.
|
|
252
|
+
|
|
253
|
+
Note:
|
|
254
|
+
Currently supports GPU backend with right matrix is CSRTensor.
|
|
255
|
+
|
|
256
|
+
Args:
|
|
257
|
+
a (CSRTensor): Sparse CSR Tensor, rank should be 2.
|
|
258
|
+
b (CSRTensor): Sparse CSR Tensor, rank should be 2.
|
|
259
|
+
trans_a (bool, optional): whether to transpose CSRTensor a. Default: False.
|
|
260
|
+
trans_b (bool, optional): whether to transpose CSRTensor b. Default: False.
|
|
261
|
+
adjoint_a (bool, optional): whether to adjoint CSRTensor a. Default: False.
|
|
262
|
+
adjoint_b (bool, optional): whether to adjoint CSRTensor b. Default: False.
|
|
263
|
+
|
|
264
|
+
Returns:
|
|
265
|
+
CSRTensor.
|
|
266
|
+
|
|
267
|
+
Supported Platforms:
|
|
268
|
+
``GPU``
|
|
269
|
+
|
|
270
|
+
Examples:
|
|
271
|
+
>>> from mindspore import Tensor, CSRTensor
|
|
272
|
+
>>> from mindspore import dtype as mstype
|
|
273
|
+
>>> import mindspore.ops as ops
|
|
274
|
+
>>> a_shape = (4, 5)
|
|
275
|
+
>>> a_indptr = Tensor([0, 1, 1, 3, 4], dtype=mstype.int32)
|
|
276
|
+
>>> a_indices = Tensor([0, 3, 4, 0],dtype=mstype.int32)
|
|
277
|
+
>>> a_values = Tensor([1.0, 5.0, -1.0, -2.0], dtype=mstype.float32)
|
|
278
|
+
>>> b_shape = (5, 3)
|
|
279
|
+
>>> b_indptr = Tensor([0, 1, 1, 3, 3, 3], dtype=mstype.int32)
|
|
280
|
+
>>> b_indices = Tensor([0, 0, 1],dtype=mstype.int32)
|
|
281
|
+
>>> b_values = Tensor([2.0, 7.0, 8.0], dtype=mstype.float32)
|
|
282
|
+
>>> a = CSRTensor(a_indptr, a_indices, a_values, a_shape)
|
|
283
|
+
>>> b = CSRTensor(b_indptr, b_indices, b_values, b_shape)
|
|
284
|
+
>>> c = ops.csr_mm(a, b)
|
|
285
|
+
>>> print(c.shape)
|
|
286
|
+
(4, 3)
|
|
287
|
+
>>> print(c.values)
|
|
288
|
+
[2. -4.]
|
|
289
|
+
>>> print(c.indptr)
|
|
290
|
+
[0 1 1 1 2]
|
|
291
|
+
>>> print(c.indices)
|
|
292
|
+
[0 0]
|
|
293
|
+
"""
|
|
294
|
+
if not isinstance(a, CSRTensor) or not isinstance(b, CSRTensor):
|
|
295
|
+
raise_type_error("For functional operator csr_mm, inputs a and b must be type of CSRTensor currently.")
|
|
296
|
+
a_batch_pointers = make_tensor([0, a.values.shape[0]], a.indices.dtype)
|
|
297
|
+
b_batch_pointers = make_tensor([0, b.values.shape[0]], b.indices.dtype)
|
|
298
|
+
a_shape = make_tensor(a.shape, a.indices.dtype)
|
|
299
|
+
b_shape = make_tensor(b.shape, b.indices.dtype)
|
|
300
|
+
sparse_matrix_sparse_matmul = SparseMatrixSparseMatMul(transpose_a=trans_a,
|
|
301
|
+
transpose_b=trans_b,
|
|
302
|
+
adjoint_a=adjoint_a,
|
|
303
|
+
adjoint_b=adjoint_b)
|
|
304
|
+
|
|
305
|
+
_, _, c_indptr, c_indices, c_values = sparse_matrix_sparse_matmul(a_shape,
|
|
306
|
+
a_batch_pointers,
|
|
307
|
+
a.indptr,
|
|
308
|
+
a.indices,
|
|
309
|
+
a.values,
|
|
310
|
+
b_shape,
|
|
311
|
+
b_batch_pointers,
|
|
312
|
+
b.indptr,
|
|
313
|
+
b.indices,
|
|
314
|
+
b.values)
|
|
315
|
+
if trans_a or adjoint_a:
|
|
316
|
+
return CSRTensor(c_indptr, c_indices, c_values, (a.shape[1], b.shape[1]))
|
|
317
|
+
if trans_b or adjoint_b:
|
|
318
|
+
return CSRTensor(c_indptr, c_indices, c_values, (a.shape[0], b.shape[0]))
|
|
319
|
+
return CSRTensor(c_indptr, c_indices, c_values, (a.shape[0], b.shape[1]))
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
def csr_reduce_sum(csr_tensor: CSRTensor, axis: int) -> Tensor:
|
|
204
323
|
"""
|
|
205
324
|
Reduces a dimension of a CSRTensor by summing all elements in the dimension.
|
|
206
325
|
|
|
@@ -217,7 +336,7 @@ def csr_reduce_sum(csr_tensor, axis):
|
|
|
217
336
|
return _csr_ops.CSRReduceSum()(csr_tensor.indptr, csr_tensor.indices, csr_tensor.values, csr_tensor.shape, axis)
|
|
218
337
|
|
|
219
338
|
|
|
220
|
-
def csr_to_coo(tensor):
|
|
339
|
+
def csr_to_coo(tensor: CSRTensor) -> COOTensor:
|
|
221
340
|
"""
|
|
222
341
|
Converts a CSRTensor to COOTensor.
|
|
223
342
|
|
|
@@ -251,15 +370,15 @@ def csr_to_coo(tensor):
|
|
|
251
370
|
"""
|
|
252
371
|
if not isinstance(tensor, CSRTensor):
|
|
253
372
|
raise_type_error("For functional operator csr_to_coo, input argument must be a CSRTensor.")
|
|
254
|
-
if len(tensor.shape)
|
|
373
|
+
if len(_convert_shape(tensor.shape)) > 2:
|
|
255
374
|
raise_value_error("Currently only support 2-D CSRTensor when converting to COOTensor.")
|
|
256
375
|
shape = tensor.shape
|
|
257
376
|
indices, values, _ = csr_sparse_matrix_to_sparse_tensor(Tensor(shape, mstype.int32), batch_csr_pointers_empty,
|
|
258
377
|
tensor.indptr, tensor.indices, tensor.values)
|
|
259
|
-
return COOTensor(indices, values, shape)
|
|
378
|
+
return COOTensor(indices, values, _convert_shape(shape))
|
|
260
379
|
|
|
261
380
|
|
|
262
|
-
def csr_to_dense(csr_tensor):
|
|
381
|
+
def csr_to_dense(csr_tensor: CSRTensor) -> Tensor:
|
|
263
382
|
"""
|
|
264
383
|
Converts a CSRTensor to its dense form.
|
|
265
384
|
|
|
@@ -291,11 +410,24 @@ def csr_to_dense(csr_tensor):
|
|
|
291
410
|
"""
|
|
292
411
|
if not isinstance(csr_tensor, CSRTensor):
|
|
293
412
|
raise_type_error("For functional operator csr_to_dense, input argument must be a CSRTensor.")
|
|
294
|
-
if len(csr_tensor.shape)
|
|
413
|
+
if len(csr_tensor.shape) > 2:
|
|
295
414
|
raise_value_error("Currently only support 2-D CSRTensor when converting to COOTensor.")
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
415
|
+
|
|
416
|
+
shape = _convert_shape(csr_tensor.shape)
|
|
417
|
+
dense_shape = Tensor(shape, dtype=mstype.int32)
|
|
418
|
+
batch_pointers = ops.concat((make_tensor([0]), ops.TensorShape()(csr_tensor.values))).astype("int32")
|
|
419
|
+
row_pointers = csr_tensor.indptr
|
|
420
|
+
col_indices = csr_tensor.indices
|
|
421
|
+
values = csr_tensor.values
|
|
422
|
+
|
|
423
|
+
valid_indices_dtype = [mstype.int32, mstype.int64]
|
|
424
|
+
if row_pointers.dtype in valid_indices_dtype and col_indices.dtype in valid_indices_dtype:
|
|
425
|
+
if row_pointers.dtype == mstype.int64 or col_indices.dtype == mstype.int64:
|
|
426
|
+
return csr_sparse_matrix_to_dense(dense_shape.astype(mstype.int64), batch_pointers.astype(mstype.int64),
|
|
427
|
+
row_pointers.astype(mstype.int64), col_indices.astype(mstype.int64),
|
|
428
|
+
values)
|
|
429
|
+
|
|
430
|
+
return csr_sparse_matrix_to_dense(dense_shape, batch_pointers, row_pointers, col_indices, values)
|
|
299
431
|
|
|
300
432
|
|
|
301
433
|
# deprecated, will be removed once `csr_to_coo` supports all backends.
|
|
@@ -310,7 +442,7 @@ csr_tensor_get_indptr = Primitive('CSRTensorGetIndptr')
|
|
|
310
442
|
csr_tensor_get_values = Primitive('CSRTensorGetValues')
|
|
311
443
|
|
|
312
444
|
|
|
313
|
-
def dense_to_sparse_coo(tensor):
|
|
445
|
+
def dense_to_sparse_coo(tensor: Tensor) -> COOTensor:
|
|
314
446
|
"""
|
|
315
447
|
Convert a Tensor to COOTensor.
|
|
316
448
|
|
|
@@ -349,14 +481,14 @@ def dense_to_sparse_coo(tensor):
|
|
|
349
481
|
"""
|
|
350
482
|
if not isinstance(tensor, Tensor):
|
|
351
483
|
raise_type_error("For functional operator dense_to_sparse_coo, input argument must be a Tensor.")
|
|
352
|
-
if len(tensor.shape)
|
|
484
|
+
if len(_convert_shape(tensor.shape)) > 2:
|
|
353
485
|
raise_value_error("Currently only support 2-D Tensor when converting to COOTensor.")
|
|
354
486
|
indices = tensor.nonzero().astype("int32")
|
|
355
487
|
values = gather_nd(tensor, indices)
|
|
356
|
-
return COOTensor(indices, values, tensor.shape)
|
|
488
|
+
return COOTensor(indices, values, _convert_shape(tensor.shape))
|
|
357
489
|
|
|
358
490
|
|
|
359
|
-
def dense_to_sparse_csr(tensor):
|
|
491
|
+
def dense_to_sparse_csr(tensor: Tensor) -> CSRTensor:
|
|
360
492
|
"""
|
|
361
493
|
Convert a Tensor to CSRTensor.
|
|
362
494
|
|
|
@@ -395,11 +527,11 @@ def dense_to_sparse_csr(tensor):
|
|
|
395
527
|
"""
|
|
396
528
|
if not isinstance(tensor, Tensor):
|
|
397
529
|
raise_type_error("For functional operator dense_to_sparse_csr, input argument must be a Tensor.")
|
|
398
|
-
if len(tensor.shape)
|
|
530
|
+
if len(_convert_shape(tensor.shape)) > 2:
|
|
399
531
|
raise_value_error("Currently only support 2-D Tensor when converting to CSRTensor.")
|
|
400
532
|
indices = tensor.nonzero().astype("int32")
|
|
401
533
|
_, _, indptr, indices, values = dense_to_csr(tensor, indices)
|
|
402
|
-
return CSRTensor(indptr, indices, values, tensor.shape)
|
|
534
|
+
return CSRTensor(indptr, indices, values, _convert_shape(tensor.shape))
|
|
403
535
|
|
|
404
536
|
|
|
405
537
|
def make_sparse_tensor(indices, values, dense_shape):
|
|
@@ -409,11 +541,19 @@ def make_sparse_tensor(indices, values, dense_shape):
|
|
|
409
541
|
return make_coo_tensor(indices, values, dense_shape)
|
|
410
542
|
|
|
411
543
|
|
|
544
|
+
def make_row_tensor(indices, values, dense_shape):
|
|
545
|
+
"""Call make_row_tensor_inner in this function."""
|
|
546
|
+
print_info("WARNING: 'RowTensor' is deprecated from version 2.0 and will be removed in a future version.")
|
|
547
|
+
return make_row_tensor_inner(indices, values, dense_shape)
|
|
548
|
+
|
|
549
|
+
|
|
412
550
|
make_coo_tensor = Primitive('MakeCOOTensor')
|
|
413
551
|
|
|
414
552
|
make_csr_tensor = Primitive('MakeCSRTensor')
|
|
415
553
|
|
|
416
|
-
|
|
554
|
+
make_row_tensor_inner = Primitive('MakeRowTensor')
|
|
555
|
+
|
|
556
|
+
make_map_parameter = Primitive('MakeMapParameter')
|
|
417
557
|
|
|
418
558
|
row_tensor_get_values = Primitive('RowTensorGetValues')
|
|
419
559
|
|
|
@@ -426,7 +566,7 @@ row_tensor_add = Primitive('RowTensorAdd')
|
|
|
426
566
|
|
|
427
567
|
@constexpr
|
|
428
568
|
def _calc_out_shape(sp_input, concat_dim):
|
|
429
|
-
"calculating the COOTensor output shape in
|
|
569
|
+
"calculating the COOTensor output shape in coo_concat"
|
|
430
570
|
if isinstance(sp_input[0], tuple):
|
|
431
571
|
out_shape_list = list(sp_input[0][2])
|
|
432
572
|
else:
|
|
@@ -440,10 +580,10 @@ def _calc_out_shape(sp_input, concat_dim):
|
|
|
440
580
|
|
|
441
581
|
|
|
442
582
|
@constexpr
|
|
443
|
-
def
|
|
583
|
+
def _set_coo_concat_input(sp_input):
|
|
444
584
|
"split COOTensor to normal tensor"
|
|
445
585
|
if len(sp_input) < 2:
|
|
446
|
-
raise_value_error("For
|
|
586
|
+
raise_value_error("For coo_concat, not support COOTensor input number < 2.")
|
|
447
587
|
in_indices = []
|
|
448
588
|
in_values = []
|
|
449
589
|
in_shapes = []
|
|
@@ -459,21 +599,21 @@ def _set_sparse_concat_input(sp_input):
|
|
|
459
599
|
return in_indices, in_values, in_shapes
|
|
460
600
|
|
|
461
601
|
|
|
462
|
-
def
|
|
602
|
+
def coo_concat(sp_input, concat_dim=0):
|
|
463
603
|
"""
|
|
464
604
|
concatenates the input SparseTensor(COO format) along the specified dimension.
|
|
465
605
|
|
|
466
|
-
..
|
|
467
|
-
|
|
606
|
+
.. warning::
|
|
607
|
+
This is an experimental API that is subjected to change or deletion. Only supported on CPU now.
|
|
468
608
|
|
|
469
609
|
Args:
|
|
470
|
-
sp_input (Union[list(COOTensor), tuple(COOTensor)) - the list of SparseTensor which need to concatenates.
|
|
610
|
+
sp_input (Union[list(COOTensor), tuple(COOTensor)]) - the list of SparseTensor which need to concatenates.
|
|
471
611
|
for COOTensor input.
|
|
472
612
|
concat_dim (scalar): decide the dimension to concatenation along.
|
|
473
613
|
The value must be in range [-rank, rank), where rank is the number of dimensions in each input
|
|
474
614
|
SparseTensor. Default is 0.
|
|
475
615
|
|
|
476
|
-
|
|
616
|
+
Returns:
|
|
477
617
|
- **output** (COOtensor) - the result of concatenates the input SparseTensor along the
|
|
478
618
|
specified dimension. OutShape: OutShape[non concat_dim] is equal to InShape[non concat_dim] and
|
|
479
619
|
OutShape[concat_dim] is all input concat_dim axis shape accumulate.
|
|
@@ -486,39 +626,42 @@ def sparse_concat(sp_input, concat_dim=0):
|
|
|
486
626
|
``CPU``
|
|
487
627
|
|
|
488
628
|
Examples:
|
|
489
|
-
>>> indices0 = Tensor([[0, 1], [1, 2]], dtype=mstype.
|
|
629
|
+
>>> indices0 = Tensor([[0, 1], [1, 2]], dtype=mstype.int64)
|
|
490
630
|
>>> values0 = Tensor([1, 2], dtype=mstype.int32)
|
|
491
631
|
>>> shape0 = (3, 4)
|
|
492
632
|
>>> input0 = COOTensor(indices0, values0, shape0)
|
|
493
|
-
>>> indices1 = Tensor([[0, 0], [1, 1]], dtype=mstype.
|
|
633
|
+
>>> indices1 = Tensor([[0, 0], [1, 1]], dtype=mstype.int64)
|
|
494
634
|
>>> values1 = Tensor([3, 4], dtype=mstype.int32)
|
|
495
635
|
>>> shape1 = (3, 4)
|
|
496
636
|
>>> input1 = COOTensor(indices1, values1, shape1)
|
|
497
637
|
>>> concat_dim = 1
|
|
498
|
-
>>> out =
|
|
638
|
+
>>> out = ops.coo_concat((input0, input1), concat_dim)
|
|
499
639
|
>>> print(out)
|
|
500
|
-
COOTensor(shape=[3, 8], dtype=Int32, indices=Tensor(shape=[4, 2], dtype=
|
|
640
|
+
COOTensor(shape=[3, 8], dtype=Int32, indices=Tensor(shape=[4, 2], dtype=Int64, value=
|
|
501
641
|
[[0 1]
|
|
502
642
|
[0 4]
|
|
503
643
|
[1 2]
|
|
504
644
|
[1 5]]), values=Tensor(shape=[4], dtype=Int32, value=[1 3 2 4]))
|
|
505
645
|
"""
|
|
506
|
-
|
|
507
|
-
in_indices, in_values, in_shapes =
|
|
508
|
-
indices, values, _ =
|
|
646
|
+
coo_concat_op = SparseConcat(concat_dim)
|
|
647
|
+
in_indices, in_values, in_shapes = _set_coo_concat_input(sp_input)
|
|
648
|
+
indices, values, _ = coo_concat_op(in_indices, in_values, in_shapes)
|
|
509
649
|
out_shape = _calc_out_shape(sp_input, concat_dim)
|
|
510
650
|
return COOTensor(indices, values, out_shape)
|
|
511
651
|
|
|
512
652
|
|
|
513
|
-
def
|
|
653
|
+
def coo_add(x1: COOTensor, x2: COOTensor, thresh: Tensor) -> COOTensor:
|
|
514
654
|
"""
|
|
515
|
-
Computes the sum of x1(COOTensor) and x2(COOTensor)
|
|
655
|
+
Computes the sum of x1(COOTensor) and x2(COOTensor), and return a new COOTensor
|
|
656
|
+
based on the computed result and `thresh`.
|
|
516
657
|
|
|
517
658
|
Args:
|
|
518
659
|
x1 (COOTensor): the first COOTensor to sum.
|
|
519
660
|
x2 (COOTensor): the second COOTensor to sum.
|
|
520
661
|
thresh (Tensor): A 0-D Tensor, represents the magnitude threshold that determines
|
|
521
|
-
if an output value/index pair
|
|
662
|
+
if an output value/index pair take place. Its dtype
|
|
663
|
+
should match that of the values if they are real. If output's
|
|
664
|
+
value is less than the `thresh`, it will vanish.
|
|
522
665
|
|
|
523
666
|
Returns:
|
|
524
667
|
A COOTensor, the result of sum.
|
|
@@ -542,7 +685,7 @@ def sparse_add(x1, x2, thresh):
|
|
|
542
685
|
TypeError: If (x1/x2)'s value's type is not matched with thresh's type.
|
|
543
686
|
|
|
544
687
|
Supported Platforms:
|
|
545
|
-
``
|
|
688
|
+
``GPU`` ``CPU``
|
|
546
689
|
|
|
547
690
|
Examples:
|
|
548
691
|
>>> from mindspore import Tensor, COOTensor
|
|
@@ -558,12 +701,16 @@ def sparse_add(x1, x2, thresh):
|
|
|
558
701
|
>>> shape1 = (3, 4)
|
|
559
702
|
>>> input1 = COOTensor(indics1, values1, shape1)
|
|
560
703
|
>>> thres = Tensor(0, dtype=mstype.int32)
|
|
561
|
-
>>> out = ops.
|
|
704
|
+
>>> out = ops.coo_add(input0, input1, thres)
|
|
562
705
|
>>> print(out)
|
|
563
|
-
COOTensor(shape
|
|
564
|
-
|
|
565
|
-
|
|
706
|
+
COOTensor(shape=[3, 4], dtype=Int32, indices=Tensor(shape=[4, 2], dtype=Int64, value=
|
|
707
|
+
[[0 0]
|
|
708
|
+
[0 1]
|
|
709
|
+
[1 1]
|
|
710
|
+
[1 2]]), values=Tensor(shape=[4], dtype=Int32, value=[3 1 4 2]))
|
|
566
711
|
"""
|
|
712
|
+
x1, x2 = promote_coo(x1, x2)
|
|
713
|
+
thresh = thresh.astype(x1.dtype)
|
|
567
714
|
x1_indices = x1.indices
|
|
568
715
|
x1_values = x1.values
|
|
569
716
|
x2_indices = x2.indices
|
|
@@ -574,36 +721,36 @@ def sparse_add(x1, x2, thresh):
|
|
|
574
721
|
return COOTensor(indices, values, x1.shape)
|
|
575
722
|
|
|
576
723
|
|
|
577
|
-
def csr_softmax(logits, dtype):
|
|
724
|
+
def csr_softmax(logits: CSRTensor, dtype: mstype):
|
|
578
725
|
"""
|
|
579
726
|
Calculates the softmax of a CSRTensorMatrix.
|
|
580
727
|
|
|
581
728
|
Args:
|
|
582
|
-
logits (CSRTensor):
|
|
583
|
-
dtype (dtype):
|
|
729
|
+
logits (CSRTensor): Input sparse CSRTensor.
|
|
730
|
+
dtype (dtype): Input data type.
|
|
584
731
|
|
|
585
732
|
Returns:
|
|
586
|
-
CSRTensor, a
|
|
733
|
+
CSRTensor, a CSRTensor containing
|
|
587
734
|
|
|
588
|
-
- **indptr** -
|
|
589
|
-
- **indices** -
|
|
590
|
-
- **values** -
|
|
591
|
-
- **shape** -
|
|
735
|
+
- **indptr** - Indicates the start and end point for non-zero values in each row.
|
|
736
|
+
- **indices** - The column positions of all non-zero values of the input.
|
|
737
|
+
- **values** - The non-zero values of the dense tensor.
|
|
738
|
+
- **shape** - The shape of the CSRTensor.
|
|
592
739
|
|
|
593
740
|
Supported Platforms:
|
|
594
741
|
``GPU`` ``CPU``
|
|
595
742
|
|
|
596
743
|
Examples:
|
|
597
744
|
>>> import mindspore as ms
|
|
745
|
+
>>> import mindspore.ops as ops
|
|
598
746
|
>>> import mindspore.common.dtype as mstype
|
|
599
747
|
>>> from mindspore import Tensor, CSRTensor
|
|
600
|
-
>>> from mindspore.ops.function import csr_softmax
|
|
601
748
|
>>> logits_indptr = Tensor([0, 4, 6], dtype=mstype.int32)
|
|
602
749
|
>>> logits_indices = Tensor([0, 2, 3, 4, 3, 4], dtype=mstype.int32)
|
|
603
750
|
>>> logits_values = Tensor([1, 2, 3, 4, 1, 2], dtype=mstype.float32)
|
|
604
751
|
>>> shape = (2, 6)
|
|
605
752
|
>>> logits = CSRTensor(logits_indptr, logits_indices, logits_values, shape)
|
|
606
|
-
>>> out = csr_softmax(logits, dtype=mstype.float32)
|
|
753
|
+
>>> out = ops.csr_softmax(logits, dtype=mstype.float32)
|
|
607
754
|
>>> print(out)
|
|
608
755
|
CSRTensor(shape=[2, 6], dtype=Float32, indptr=Tensor(shape=[3], dtype=Int32, value=[0 4 6]),
|
|
609
756
|
indices=Tensor(shape=[6], dtype=Int32, value=[0 2 3 4 3 4]),
|
|
@@ -621,23 +768,35 @@ def csr_softmax(logits, dtype):
|
|
|
621
768
|
return CSRTensor(indptr=indptr, indices=indices, values=values, shape=output_shape)
|
|
622
769
|
|
|
623
770
|
|
|
624
|
-
def csr_add(a, b, alpha, beta):
|
|
771
|
+
def csr_add(a: CSRTensor, b: CSRTensor, alpha: Tensor, beta: Tensor) -> CSRTensor:
|
|
625
772
|
"""
|
|
626
|
-
|
|
773
|
+
Computes the linear combination of two input CSRTensors a and b.
|
|
774
|
+
|
|
775
|
+
.. math::
|
|
776
|
+
|
|
777
|
+
out = alpha * a + beta * b
|
|
778
|
+
|
|
779
|
+
where both :math:`a` and :math:`b` are CSRTensor, :math:`alpha` and :math:`beta` are both Tensor
|
|
780
|
+
|
|
781
|
+
Note:
|
|
782
|
+
The user need to ensure that the input sparse matrix is legal.
|
|
783
|
+
Otherwise, the behavior of the operator is undefined.
|
|
784
|
+
For example, when there are multiple elements in the same position, the
|
|
785
|
+
operator may return an error of fail execute.
|
|
627
786
|
|
|
628
787
|
Args:
|
|
629
|
-
a (CSRTensor):
|
|
630
|
-
b (CSRTensor):
|
|
788
|
+
a (CSRTensor): Input sparse CSRTensor.
|
|
789
|
+
b (CSRTensor): Input sparse CSRTensor.
|
|
631
790
|
alpha(Tensor): Dense Tensor, its shape must be able to broadcast to a.
|
|
632
791
|
beta(Tensor): Dense Tensor, its shape must be able to broadcast to b.
|
|
633
792
|
|
|
634
793
|
Returns:
|
|
635
|
-
CSRTensor, a
|
|
794
|
+
CSRTensor, a CSRTensor containing the following parts.
|
|
636
795
|
|
|
637
|
-
- **indptr** -
|
|
638
|
-
- **indices** -
|
|
639
|
-
- **values** -
|
|
640
|
-
- **shape** -
|
|
796
|
+
- **indptr** - Indicates the start and end point for non-zero values in each row.
|
|
797
|
+
- **indices** - The column positions of all non-zero values of the input.
|
|
798
|
+
- **values** - The non-zero values of the dense tensor.
|
|
799
|
+
- **shape** - The shape of the CSRTensor.
|
|
641
800
|
|
|
642
801
|
Supported Platforms:
|
|
643
802
|
``GPU`` ``CPU``
|
|
@@ -645,7 +804,7 @@ def csr_add(a, b, alpha, beta):
|
|
|
645
804
|
Examples:
|
|
646
805
|
>>> import mindspore.common.dtype as mstype
|
|
647
806
|
>>> from mindspore import Tensor, CSRTensor
|
|
648
|
-
>>>
|
|
807
|
+
>>> import mindspore.ops as ops
|
|
649
808
|
>>> a_indptr = Tensor([0, 1, 2], dtype=mstype.int32)
|
|
650
809
|
>>> a_indices = Tensor([0, 1], dtype=mstype.int32)
|
|
651
810
|
>>> a_values = Tensor([1, 2], dtype=mstype.float32)
|
|
@@ -657,7 +816,7 @@ def csr_add(a, b, alpha, beta):
|
|
|
657
816
|
>>> beta = Tensor(1, mstype.float32)
|
|
658
817
|
>>> csra = CSRTensor(a_indptr, a_indices, a_values, shape)
|
|
659
818
|
>>> csrb = CSRTensor(b_indptr, b_indices, b_values, shape)
|
|
660
|
-
>>> out = csr_add(csra, csrb, alpha, beta)
|
|
819
|
+
>>> out = ops.csr_add(csra, csrb, alpha, beta)
|
|
661
820
|
>>> print(out)
|
|
662
821
|
CSRTensor(shape=[2,6], dtype=Float32,
|
|
663
822
|
indptr=Tensor(shape=[3], dtype=Int32, value = [0, 1, 2]),
|
|
@@ -669,10 +828,13 @@ def csr_add(a, b, alpha, beta):
|
|
|
669
828
|
if not isinstance(alpha, Tensor) or not isinstance(beta, Tensor):
|
|
670
829
|
raise_type_error("For functional operator csr_add, both inputs alpha and beta must be Tensor.")
|
|
671
830
|
csr_add_op = SparseMatrixAdd()
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
831
|
+
a, b = promote_csr(a, b)
|
|
832
|
+
alpha = alpha.astype(a.dtype)
|
|
833
|
+
beta = beta.astype(a.dtype)
|
|
834
|
+
a_batch_pointers = ops.concat((make_tensor([0]), ops.TensorShape()(a.values))).astype(a.indptr.dtype)
|
|
835
|
+
b_batch_pointers = ops.concat((make_tensor([0]), ops.TensorShape()(b.values))).astype(b.indptr.dtype)
|
|
836
|
+
a_shape = make_tensor(a.shape, a.indptr.dtype)
|
|
837
|
+
b_shape = make_tensor(b.shape, b.indptr.dtype)
|
|
676
838
|
_, _, indptr, indices, values = csr_add_op(a_shape, a_batch_pointers, a.indptr, a.indices, a.values,
|
|
677
839
|
b_shape, b_batch_pointers, b.indptr, b.indices, b.values,
|
|
678
840
|
alpha, beta)
|
|
@@ -687,6 +849,7 @@ __all__ = [
|
|
|
687
849
|
'coo_tensor_get_values',
|
|
688
850
|
'csr_div',
|
|
689
851
|
'csr_gather',
|
|
852
|
+
'csr_mm',
|
|
690
853
|
'csr_mul',
|
|
691
854
|
'csr_mv',
|
|
692
855
|
'csr_reduce_sum',
|
|
@@ -702,12 +865,14 @@ __all__ = [
|
|
|
702
865
|
'make_coo_tensor',
|
|
703
866
|
'make_csr_tensor',
|
|
704
867
|
'make_row_tensor',
|
|
868
|
+
'make_row_tensor_inner',
|
|
869
|
+
'make_map_parameter',
|
|
705
870
|
'row_tensor_get_values',
|
|
706
871
|
'row_tensor_get_indices',
|
|
707
872
|
'row_tensor_get_dense_shape',
|
|
708
873
|
'row_tensor_add',
|
|
709
|
-
'
|
|
710
|
-
'
|
|
874
|
+
'coo_add',
|
|
875
|
+
'coo_concat',
|
|
711
876
|
'csr_add',
|
|
712
877
|
'csr_softmax',
|
|
713
878
|
'csr_to_dense'
|