mindspore 2.0.0a0__cp37-none-any.whl → 2.0.0rc1__cp37-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Third_Party_Open_Source_Software_Notice +9064 -0
- mindspore/__init__.py +4 -2
- mindspore/_akg/akg/composite/build_module.py +11 -0
- mindspore/_akg/akg/config/repository_cuda.json +11 -0
- mindspore/_akg/akg/tvm/contrib/nvcc.py +4 -3
- mindspore/_c_dataengine.cpython-37m-aarch64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-37m-aarch64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-37m-aarch64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +102 -0
- mindspore/_checkparam.py +1066 -1001
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +4 -3
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -48
- mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -4
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -4
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
- mindspore/_extends/parse/__init__.py +5 -3
- mindspore/_extends/parse/namespace.py +16 -1
- mindspore/_extends/parse/parser.py +107 -22
- mindspore/_extends/parse/resources.py +0 -7
- mindspore/_extends/parse/standard_method.py +885 -413
- mindspore/_mindspore_offline_debug.cpython-37m-aarch64-linux-gnu.so +0 -0
- mindspore/amp.py +52 -57
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/boost.py +2 -2
- mindspore/boost/boost_cell_wrapper.py +38 -20
- mindspore/boost/dim_reduce.py +3 -3
- mindspore/boost/group_loss_scale_manager.py +1 -1
- mindspore/common/__init__.py +4 -6
- 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 +41 -7
- mindspore/common/api.py +215 -141
- mindspore/common/dtype.py +8 -1
- mindspore/common/dump.py +2 -2
- mindspore/common/initializer.py +4 -2
- mindspore/common/jit_config.py +17 -13
- mindspore/common/mutable.py +33 -13
- mindspore/common/parameter.py +23 -21
- mindspore/common/seed.py +8 -24
- mindspore/common/sparse_tensor.py +62 -41
- mindspore/common/tensor.py +852 -1154
- mindspore/communication/__init__.py +2 -2
- mindspore/communication/_comm_helper.py +11 -4
- mindspore/communication/management.py +22 -21
- mindspore/config/op_info.config +501 -1008
- mindspore/config/super_bar_config.json +512 -0
- mindspore/context.py +201 -23
- mindspore/dataset/__init__.py +6 -6
- mindspore/dataset/audio/__init__.py +7 -7
- mindspore/dataset/audio/transforms.py +670 -30
- mindspore/dataset/audio/utils.py +47 -4
- mindspore/dataset/audio/validators.py +223 -1
- mindspore/dataset/callback/ds_callback.py +2 -2
- mindspore/dataset/core/config.py +210 -14
- mindspore/dataset/core/validator_helpers.py +2 -2
- 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 +1 -1
- mindspore/dataset/engine/datasets.py +322 -66
- mindspore/dataset/engine/datasets_audio.py +80 -76
- mindspore/dataset/engine/datasets_standard_format.py +51 -38
- mindspore/dataset/engine/datasets_text.py +232 -118
- mindspore/dataset/engine/datasets_user_defined.py +41 -17
- mindspore/dataset/engine/datasets_vision.py +746 -225
- mindspore/dataset/engine/graphdata.py +75 -10
- mindspore/dataset/engine/iterators.py +45 -5
- mindspore/dataset/engine/offload.py +48 -28
- mindspore/dataset/engine/validators.py +117 -8
- mindspore/dataset/text/__init__.py +6 -5
- mindspore/dataset/text/transforms.py +86 -3
- mindspore/dataset/text/utils.py +6 -4
- mindspore/dataset/text/validators.py +25 -0
- mindspore/dataset/transforms/__init__.py +3 -2
- mindspore/dataset/transforms/c_transforms.py +1 -1
- mindspore/dataset/transforms/transforms.py +2 -2
- mindspore/dataset/utils/__init__.py +2 -1
- mindspore/dataset/utils/line_reader.py +121 -0
- mindspore/dataset/vision/__init__.py +2 -3
- mindspore/dataset/vision/c_transforms.py +9 -9
- mindspore/dataset/vision/py_transforms.py +5 -5
- mindspore/dataset/vision/py_transforms_util.py +2 -0
- mindspore/dataset/vision/transforms.py +160 -161
- mindspore/dataset/vision/utils.py +3 -3
- mindspore/experimental/map_parameter.py +38 -26
- 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 +44 -9
- mindspore/include/api/delegate.h +1 -1
- 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_parallel_runner.h +2 -2
- mindspore/include/api/net.h +12 -11
- mindspore/include/api/serialization.h +19 -3
- mindspore/include/api/types.h +3 -3
- mindspore/include/dataset/constants.h +7 -0
- mindspore/include/dataset/text.h +59 -0
- mindspore/include/mindapi/base/type_id.h +1 -0
- mindspore/lib/libdnnl.so.2 +0 -0
- mindspore/lib/libicudata.so.69 +0 -0
- mindspore/lib/libicui18n.so.69 +0 -0
- mindspore/lib/libicuuc.so.69 +0 -0
- mindspore/lib/libmindspore.so +0 -0
- mindspore/lib/libmindspore_backend.so +0 -0
- mindspore/lib/libmindspore_common.so +0 -0
- mindspore/lib/libmindspore_core.so +0 -0
- mindspore/lib/libmindspore_glog.so.0 +0 -0
- mindspore/lib/libmindspore_gpr.so.15 +0 -0
- mindspore/lib/libmindspore_grpc++.so.1 +0 -0
- mindspore/lib/libmindspore_grpc.so.15 +0 -0
- mindspore/lib/libmindspore_shared_lib.so +0 -0
- mindspore/lib/libmpi_adapter.so +0 -0
- mindspore/lib/libmpi_collective.so +0 -0
- mindspore/lib/libnnacl.so +0 -0
- mindspore/lib/libopencv_core.so.4.5 +0 -0
- mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
- mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
- mindspore/lib/libps_cache.so +0 -0
- mindspore/lib/plugin/ascend/libakg.so +0 -0
- mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
- mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
- mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
- mindspore/lib/plugin/cpu/libakg.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/{libmindspore_ascend.so → libmindspore_ascend.so.2} +0 -0
- mindspore/log.py +1 -1
- mindspore/mindrecord/filereader.py +18 -0
- mindspore/mindrecord/filewriter.py +197 -34
- mindspore/mindrecord/shardreader.py +9 -0
- mindspore/mindrecord/shardwriter.py +1 -1
- mindspore/mindrecord/tools/cifar100_to_mr.py +3 -3
- mindspore/mindrecord/tools/cifar10_to_mr.py +3 -3
- mindspore/mindrecord/tools/csv_to_mr.py +3 -3
- mindspore/mindrecord/tools/imagenet_to_mr.py +16 -11
- mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
- mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
- mindspore/nn/__init__.py +0 -4
- mindspore/nn/cell.py +204 -132
- mindspore/nn/dynamic_lr.py +1 -1
- mindspore/nn/grad/cell_grad.py +7 -6
- mindspore/nn/layer/__init__.py +5 -4
- mindspore/nn/layer/activation.py +40 -89
- mindspore/nn/layer/basic.py +255 -624
- mindspore/nn/layer/channel_shuffle.py +7 -6
- mindspore/nn/layer/combined.py +1 -1
- mindspore/nn/layer/container.py +41 -4
- mindspore/nn/layer/conv.py +64 -28
- mindspore/nn/layer/dense.py +9 -8
- mindspore/nn/layer/embedding.py +27 -25
- mindspore/nn/layer/image.py +53 -46
- mindspore/nn/layer/math.py +97 -105
- mindspore/nn/layer/normalization.py +117 -86
- mindspore/nn/layer/padding.py +185 -95
- mindspore/nn/layer/pooling.py +817 -414
- mindspore/nn/layer/rnn_cells.py +10 -15
- mindspore/nn/layer/rnns.py +37 -38
- mindspore/nn/layer/thor_layer.py +11 -12
- 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 +5 -4
- mindspore/nn/loss/loss.py +334 -199
- mindspore/nn/optim/ada_grad.py +6 -6
- mindspore/nn/optim/adadelta.py +2 -3
- mindspore/nn/optim/adafactor.py +4 -5
- mindspore/nn/optim/adam.py +126 -62
- mindspore/nn/optim/adamax.py +3 -4
- mindspore/nn/optim/adasum.py +6 -6
- mindspore/nn/optim/asgd.py +2 -2
- mindspore/nn/optim/ftrl.py +67 -38
- mindspore/nn/optim/lamb.py +4 -5
- mindspore/nn/optim/lars.py +2 -2
- mindspore/nn/optim/lazyadam.py +43 -4
- mindspore/nn/optim/momentum.py +6 -5
- mindspore/nn/optim/optimizer.py +3 -1
- mindspore/nn/optim/proximal_ada_grad.py +2 -2
- mindspore/nn/optim/rmsprop.py +1 -1
- mindspore/nn/optim/rprop.py +8 -9
- mindspore/nn/optim/sgd.py +19 -13
- mindspore/nn/optim/thor.py +10 -15
- mindspore/nn/probability/__init__.py +0 -2
- mindspore/nn/probability/bijector/bijector.py +4 -4
- mindspore/nn/probability/bijector/invert.py +1 -1
- 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/_utils/utils.py +9 -15
- mindspore/nn/probability/distribution/bernoulli.py +3 -3
- mindspore/nn/probability/distribution/beta.py +1 -1
- mindspore/nn/probability/distribution/categorical.py +5 -7
- mindspore/nn/probability/distribution/cauchy.py +3 -3
- mindspore/nn/probability/distribution/distribution.py +2 -2
- mindspore/nn/probability/distribution/exponential.py +2 -2
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +1 -1
- mindspore/nn/probability/distribution/gumbel.py +3 -3
- mindspore/nn/probability/distribution/half_normal.py +15 -11
- mindspore/nn/probability/distribution/laplace.py +16 -13
- mindspore/nn/probability/distribution/logistic.py +2 -2
- mindspore/nn/probability/distribution/normal.py +1 -1
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/student_t.py +20 -15
- mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
- mindspore/nn/probability/distribution/uniform.py +2 -2
- mindspore/nn/reinforcement/_tensors_queue.py +3 -3
- mindspore/nn/reinforcement/tensor_array.py +2 -2
- mindspore/nn/sparse/sparse.py +2 -2
- mindspore/nn/wrap/cell_wrapper.py +27 -10
- mindspore/nn/wrap/grad_reducer.py +2 -2
- mindspore/nn/wrap/loss_scale.py +40 -24
- mindspore/numpy/array_creations.py +33 -22
- mindspore/numpy/array_ops.py +35 -30
- mindspore/numpy/logic_ops.py +6 -27
- mindspore/numpy/math_ops.py +22 -19
- mindspore/numpy/utils.py +1 -1
- mindspore/numpy/utils_const.py +108 -58
- mindspore/ops/_constants.py +0 -6
- mindspore/ops/_grad/__init__.py +2 -1
- mindspore/ops/_grad/grad_array_ops.py +86 -117
- mindspore/ops/_grad/grad_base.py +23 -1
- mindspore/ops/_grad/grad_clip_ops.py +2 -3
- mindspore/ops/_grad/grad_comm_ops.py +34 -24
- mindspore/ops/_grad/grad_implementations.py +9 -45
- mindspore/ops/_grad/grad_inner_ops.py +47 -4
- mindspore/ops/_grad/grad_math_ops.py +142 -117
- mindspore/ops/_grad/grad_nn_ops.py +71 -165
- mindspore/ops/_grad/grad_sequence_ops.py +296 -0
- mindspore/ops/_grad/grad_sparse.py +7 -6
- mindspore/ops/_grad_experimental/__init__.py +1 -0
- mindspore/ops/_grad_experimental/grad_array_ops.py +150 -15
- mindspore/ops/_grad_experimental/grad_image_ops.py +16 -7
- mindspore/ops/_grad_experimental/grad_inner_ops.py +1 -22
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +4 -11
- mindspore/ops/_grad_experimental/grad_math_ops.py +210 -89
- mindspore/ops/_grad_experimental/grad_nn_ops.py +26 -22
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +49 -8
- mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +2 -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 +4 -4
- 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 +2 -2
- mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -5
- 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_impl.py +0 -4
- 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 +236 -4
- mindspore/ops/_op_impl/aicpu/abs.py +36 -0
- mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_v1.py → adaptive_avg_pool_2d.py} +6 -5
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -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/batch_matmul.py +43 -43
- mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
- mindspore/{compression/common/__init__.py → ops/_op_impl/aicpu/bessel_i0.py} +15 -8
- mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
- mindspore/ops/_op_impl/aicpu/conj.py +11 -0
- mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +0 -3
- mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
- mindspore/ops/_op_impl/aicpu/{adaptive_avg_pool_2d_grad_v1.py → digamma.py} +7 -9
- 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/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/aicpu/less.py +41 -0
- mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/lgamma.py} +16 -10
- mindspore/ops/_op_impl/aicpu/mirror_pad.py +0 -4
- 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/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/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/randperm_v2.py +41 -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/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/smooth_l1_loss.py +35 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -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_slice.py +4 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +6 -0
- mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
- mindspore/ops/_op_impl/aicpu/trans_data.py +1 -0
- mindspore/ops/_op_impl/aicpu/tril_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/dynamic_shape.py +5 -1
- mindspore/ops/_op_impl/cpu/sparse_slice.py +4 -0
- mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +6 -0
- mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
- mindspore/ops/_op_impl/tbe/__init__.py +27 -611
- 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/batch_matmul_ds.py +1 -0
- 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/bn_infer_grad.py +4 -2
- 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/data_format_dim_map_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +2 -2
- 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/{index_add.py → inplace_index_add.py} +3 -6
- mindspore/ops/_op_impl/tbe/matmul_ds.py +2 -0
- 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/scatter_mul.py +2 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -2
- 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/trans_data_ds.py +15 -5
- mindspore/ops/_register_for_op.py +1 -0
- mindspore/ops/_utils/__init__.py +1 -2
- mindspore/ops/_utils/utils.py +19 -40
- mindspore/ops/_vmap/vmap_array_ops.py +116 -38
- mindspore/ops/_vmap/vmap_base.py +16 -9
- 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 +7 -5
- mindspore/ops/_vmap/vmap_image_ops.py +12 -5
- mindspore/ops/_vmap/vmap_math_ops.py +46 -5
- mindspore/ops/_vmap/vmap_nn_ops.py +15 -21
- mindspore/ops/_vmap/vmap_random_ops.py +1 -1
- mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
- 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/BatchNormGrad_bprop.mindir +0 -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 +220 -106
- mindspore/ops/bprop_mindir/CTCLoss_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/DeformableOffsets_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -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 -23
- mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -17
- 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/Elu_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +39 -41
- mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Flatten_bprop.mindir +41 -43
- mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +51 -57
- mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
- 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/LogSoftmax_bprop.mindir +23 -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/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/OneHot_bprop.mindir +24 -25
- 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/ReLU6_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/Reshape_bprop.mindir +53 -53
- mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +77 -85
- mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
- 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/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/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +37 -39
- mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +70 -72
- mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +17 -17
- mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
- mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
- mindspore/ops/bprop_mindir/generate_mindir.py +2 -0
- mindspore/ops/composite/__init__.py +7 -8
- mindspore/ops/composite/base.py +101 -47
- mindspore/ops/composite/math_ops.py +188 -158
- mindspore/ops/composite/multitype_ops/_compile_utils.py +415 -170
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +142 -87
- mindspore/ops/composite/multitype_ops/add_impl.py +6 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +2 -3
- mindspore/ops/composite/multitype_ops/getitem_impl.py +31 -3
- 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 +9 -0
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/less_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/mul_impl.py +21 -5
- mindspore/ops/composite/multitype_ops/not_in_impl.py +9 -0
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
- mindspore/ops/composite/multitype_ops/setitem_impl.py +21 -3
- mindspore/ops/composite/multitype_ops/sub_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +35 -4
- mindspore/ops/function/__init__.py +152 -8
- mindspore/ops/function/array_func.py +2555 -674
- mindspore/ops/function/clip_func.py +209 -13
- mindspore/ops/function/debug_func.py +2 -2
- mindspore/ops/function/grad/__init__.py +2 -1
- mindspore/ops/function/grad/grad_func.py +147 -62
- mindspore/ops/function/image_func.py +54 -38
- mindspore/ops/function/linalg_func.py +167 -16
- mindspore/ops/function/math_func.py +4849 -1492
- mindspore/ops/function/nn_func.py +2573 -988
- mindspore/ops/function/other_func.py +115 -0
- mindspore/ops/function/parameter_func.py +3 -3
- mindspore/ops/function/random_func.py +790 -73
- mindspore/ops/function/sparse_func.py +98 -78
- mindspore/ops/function/sparse_unary_func.py +54 -53
- mindspore/ops/function/spectral_func.py +27 -24
- mindspore/ops/function/vmap_func.py +22 -2
- mindspore/ops/functional.py +97 -37
- mindspore/ops/op_info_register.py +70 -28
- mindspore/ops/operations/__init__.py +47 -14
- mindspore/ops/operations/_csr_ops.py +7 -7
- mindspore/ops/operations/_embedding_cache_ops.py +5 -5
- mindspore/ops/operations/_grad_ops.py +276 -187
- mindspore/ops/operations/_inner_ops.py +319 -113
- mindspore/ops/operations/_ms_kernel.py +10 -8
- mindspore/ops/operations/_ocr_ops.py +9 -9
- mindspore/ops/operations/_opaque_predicate_registry.py +4 -0
- mindspore/ops/operations/_quant_ops.py +137 -102
- mindspore/ops/operations/_rl_inner_ops.py +121 -60
- mindspore/ops/operations/_scalar_ops.py +466 -0
- mindspore/ops/operations/_sequence_ops.py +1004 -2
- mindspore/ops/operations/_tensor_array.py +10 -11
- mindspore/ops/operations/_thor_ops.py +1 -1
- mindspore/ops/operations/array_ops.py +801 -466
- mindspore/ops/operations/comm_ops.py +51 -49
- mindspore/ops/operations/control_ops.py +2 -2
- mindspore/ops/operations/custom_ops.py +123 -44
- mindspore/ops/operations/debug_ops.py +24 -24
- mindspore/ops/operations/image_ops.py +240 -153
- mindspore/ops/operations/inner_ops.py +34 -50
- mindspore/ops/operations/linalg_ops.py +31 -9
- mindspore/ops/operations/math_ops.py +988 -757
- mindspore/ops/operations/nn_ops.py +965 -819
- mindspore/ops/operations/other_ops.py +51 -40
- mindspore/ops/operations/random_ops.py +204 -122
- mindspore/ops/operations/rl_ops.py +8 -9
- mindspore/ops/operations/sparse_ops.py +254 -93
- mindspore/ops/operations/spectral_ops.py +35 -3
- mindspore/ops/primitive.py +111 -9
- mindspore/parallel/_auto_parallel_context.py +189 -83
- mindspore/parallel/_offload_context.py +185 -0
- mindspore/parallel/_parallel_serialization.py +99 -7
- mindspore/parallel/_ps_context.py +9 -5
- mindspore/parallel/_recovery_context.py +1 -1
- mindspore/parallel/_tensor.py +7 -1
- mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
- mindspore/{nn/transformer → parallel/_transformer}/layers.py +6 -37
- mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
- mindspore/{nn/transformer → parallel/_transformer}/moe.py +20 -16
- mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
- mindspore/{nn/transformer → parallel/_transformer}/transformer.py +48 -111
- mindspore/parallel/_utils.py +1 -2
- mindspore/parallel/algo_parameter_config.py +1 -1
- mindspore/parallel/checkpoint_transform.py +37 -34
- mindspore/parallel/shard.py +17 -18
- mindspore/profiler/common/validator/validate_path.py +2 -2
- mindspore/profiler/envprofiling.py +69 -47
- mindspore/profiler/parser/ascend_timeline_generator.py +49 -42
- mindspore/profiler/parser/base_timeline_generator.py +49 -56
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +98 -78
- mindspore/profiler/parser/hwts_log_parser.py +1 -1
- mindspore/profiler/parser/integrator.py +15 -14
- mindspore/profiler/parser/minddata_analyzer.py +2 -2
- mindspore/profiler/parser/msadvisor_analyzer.py +12 -25
- mindspore/profiler/parser/msadvisor_parser.py +2 -4
- mindspore/profiler/parser/optime_parser.py +17 -18
- mindspore/profiler/parser/profiler_info.py +2 -1
- mindspore/profiler/profiling.py +218 -186
- mindspore/rewrite/__init__.py +3 -1
- mindspore/rewrite/api/node.py +1 -114
- mindspore/rewrite/api/node_type.py +3 -0
- mindspore/rewrite/api/pattern_engine.py +31 -1
- mindspore/rewrite/api/scoped_value.py +4 -4
- mindspore/rewrite/api/symbol_tree.py +3 -78
- mindspore/rewrite/api/tree_node_helper.py +1 -1
- mindspore/rewrite/ast_creator_register.py +1 -0
- mindspore/rewrite/ast_helpers/__init__.py +2 -2
- mindspore/rewrite/ast_helpers/ast_creator.py +1 -2
- mindspore/rewrite/ast_helpers/ast_finder.py +65 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +11 -3
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +18 -2
- mindspore/rewrite/namespace.py +0 -2
- mindspore/rewrite/node.py +157 -11
- mindspore/rewrite/parsers/assign_parser.py +231 -53
- mindspore/rewrite/parsers/class_def_parser.py +187 -109
- mindspore/rewrite/parsers/for_parser.py +24 -14
- mindspore/rewrite/parsers/function_def_parser.py +21 -4
- mindspore/rewrite/parsers/if_parser.py +6 -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 +256 -133
- mindspore/rewrite/symbol_tree_builder.py +38 -1
- mindspore/run_check/_check_version.py +69 -63
- mindspore/run_check/run_check.py +2 -1
- mindspore/scipy/linalg.py +10 -114
- mindspore/scipy/ops.py +2 -2
- mindspore/scipy/ops_wrapper.py +1 -1
- mindspore/scipy/optimize/_bfgs.py +1 -1
- mindspore/scipy/optimize/_lagrange.py +200 -0
- mindspore/scipy/optimize/line_search.py +3 -2
- mindspore/scipy/optimize/minimize.py +41 -2
- mindspore/scipy/sparse/__init__.py +2 -2
- mindspore/scipy/sparse/linalg.py +4 -464
- mindspore/scipy/utils.py +1 -1
- mindspore/scipy/utils_const.py +7 -1
- mindspore/train/__init__.py +1 -1
- mindspore/train/_utils.py +28 -5
- mindspore/train/amp.py +273 -102
- mindspore/train/callback/_backup_and_restore.py +5 -5
- mindspore/train/callback/_callback.py +2 -2
- mindspore/train/callback/_checkpoint.py +3 -3
- mindspore/train/callback/_early_stop.py +3 -3
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +29 -31
- mindspore/train/callback/_loss_monitor.py +3 -3
- mindspore/train/callback/_on_request_exit.py +3 -3
- mindspore/train/callback/_reduce_lr_on_plateau.py +4 -4
- mindspore/train/callback/_summary_collector.py +23 -16
- mindspore/train/callback/_time_monitor.py +3 -3
- mindspore/train/checkpoint_pb2.py +68 -8
- mindspore/train/data_sink.py +15 -3
- mindspore/train/dataset_helper.py +10 -15
- mindspore/train/loss_scale_manager.py +8 -11
- mindspore/train/metrics/__init__.py +1 -1
- mindspore/train/metrics/bleu_score.py +1 -1
- mindspore/train/metrics/confusion_matrix.py +1 -1
- mindspore/train/metrics/cosine_similarity.py +1 -1
- mindspore/train/metrics/dice.py +2 -2
- mindspore/train/metrics/fbeta.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +4 -3
- mindspore/train/metrics/mean_surface_distance.py +2 -2
- mindspore/train/metrics/occlusion_sensitivity.py +1 -1
- mindspore/train/metrics/perplexity.py +1 -1
- mindspore/train/metrics/precision.py +1 -1
- mindspore/train/metrics/recall.py +1 -1
- mindspore/train/metrics/roc.py +2 -2
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +116 -37
- mindspore/train/model.py +45 -28
- mindspore/train/serialization.py +295 -188
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/summary_record.py +43 -13
- mindspore/train/train_thor/convert_utils.py +2 -2
- mindspore/train/train_thor/dataset_helper.py +3 -3
- mindspore/version.py +1 -1
- {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +3 -2
- {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +648 -574
- mindspore/compression/__init__.py +0 -19
- mindspore/compression/common/constant.py +0 -124
- mindspore/compression/export/__init__.py +0 -19
- mindspore/compression/export/quant_export.py +0 -515
- mindspore/compression/quant/__init__.py +0 -28
- mindspore/compression/quant/qat.py +0 -634
- mindspore/compression/quant/quant_utils.py +0 -462
- mindspore/compression/quant/quantizer.py +0 -68
- 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 -140
- mindspore/nn/probability/dpn/vae/vae.py +0 -124
- 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 -364
- 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/aicpu/parallel_concat.py +0 -42
- mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
- mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Cast_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/MatMul_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -17
- mindspore/ops/bprop_mindir/Transpose_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -15
- mindspore/ops/composite/array_ops.py +0 -241
- mindspore/ops/composite/clip_ops.py +0 -134
- mindspore/ops/composite/random_ops.py +0 -426
- mindspore/ops/composite/vmap_ops.py +0 -38
- 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-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.0.0a0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -32,6 +32,7 @@ from mindspore.common import dtype as mstype
|
|
|
32
32
|
from mindspore.ops.primitive import constexpr, Primitive
|
|
33
33
|
from mindspore.ops.operations.array_ops import GatherNd, Coalesce
|
|
34
34
|
from mindspore.ops.operations import _csr_ops
|
|
35
|
+
from mindspore.ops import functional as F
|
|
35
36
|
from mindspore.common import CSRTensor, COOTensor, Tensor
|
|
36
37
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import raise_value_error, raise_type_error, make_tensor,\
|
|
37
38
|
promote_binary_dtype
|
|
@@ -57,6 +58,20 @@ def _make_tensor(data):
|
|
|
57
58
|
return Tensor(data)
|
|
58
59
|
|
|
59
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
|
+
|
|
60
75
|
def is_scalar(tensor):
|
|
61
76
|
"""Determine whether tensor input is a scalar tensor."""
|
|
62
77
|
if tensor.size != 1:
|
|
@@ -65,11 +80,13 @@ def is_scalar(tensor):
|
|
|
65
80
|
|
|
66
81
|
|
|
67
82
|
def promote_tensor(tensor_1, tensor_2):
|
|
83
|
+
"""promote Tensor"""
|
|
68
84
|
dtype = promote_binary_dtype(tensor_1.dtype, tensor_2.dtype)
|
|
69
85
|
return tensor_1.astype(dtype), tensor_2.astype(dtype)
|
|
70
86
|
|
|
71
87
|
|
|
72
88
|
def promote_csr(csr_tensor_1, csr_tensor_2):
|
|
89
|
+
"""Type promotion for CSR tensor."""
|
|
73
90
|
indptr_1, indptr_2 = promote_tensor(csr_tensor_1.indptr, csr_tensor_2.indptr)
|
|
74
91
|
indices_1, indices_2 = promote_tensor(csr_tensor_1.indices, csr_tensor_2.indices)
|
|
75
92
|
values_1, values_2 = promote_tensor(csr_tensor_1.values, csr_tensor_2.values)
|
|
@@ -79,6 +96,7 @@ def promote_csr(csr_tensor_1, csr_tensor_2):
|
|
|
79
96
|
|
|
80
97
|
|
|
81
98
|
def promote_coo(coo_tensor_1, coo_tensor_2):
|
|
99
|
+
"""promote COO-Tensor"""
|
|
82
100
|
indices_1, indices_2 = promote_tensor(coo_tensor_1.indices, coo_tensor_2.indices)
|
|
83
101
|
values_1, values_2 = promote_tensor(coo_tensor_1.values, coo_tensor_2.values)
|
|
84
102
|
coo_tensor_1 = COOTensor(indices_1, values_1, coo_tensor_1.shape)
|
|
@@ -118,7 +136,7 @@ def coalesce(x_indices: Tensor, x_values: Tensor, x_shape: Tensor) -> Tuple[Tens
|
|
|
118
136
|
ValueError: If any of the values of elements of `x_indices` exceed the limit set by `x_shape`.
|
|
119
137
|
|
|
120
138
|
Supported Platforms:
|
|
121
|
-
``GPU``
|
|
139
|
+
``GPU`` ``CPU``
|
|
122
140
|
|
|
123
141
|
Examples:
|
|
124
142
|
>>> import mindspore
|
|
@@ -175,28 +193,23 @@ def csr_div(x: CSRTensor, y: Tensor) -> Tensor:
|
|
|
175
193
|
raise_value_error("dense tensor cannot broadcast to the sparse tensor.")
|
|
176
194
|
return (x.values / y).reshape(x.values.shape)
|
|
177
195
|
x_values, y = promote_tensor(x.values, y)
|
|
178
|
-
|
|
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)
|
|
179
198
|
|
|
180
199
|
|
|
181
200
|
csr_gather = _csr_ops.CSRGather()
|
|
182
201
|
|
|
183
202
|
|
|
184
|
-
def csr_mul(x: CSRTensor, y: Tensor) ->
|
|
203
|
+
def csr_mul(x: CSRTensor, y: Tensor) -> CSRTensor:
|
|
185
204
|
"""
|
|
186
205
|
Returns x * y where x is CSRTensor and y is Tensor.
|
|
187
206
|
|
|
188
|
-
Note:
|
|
189
|
-
This function returns the results of dense Tensor, represents the non-zero
|
|
190
|
-
values of the CSRTensor. If user expects a CSRTensor as output, please directly
|
|
191
|
-
use `*` operator instead. Only support dense tensor broadcast to sparse tensor
|
|
192
|
-
at the moment.
|
|
193
|
-
|
|
194
207
|
Args:
|
|
195
208
|
x (CSRTensor): Sparse CSR Tensor.
|
|
196
209
|
y (Tensor): Dense Tensor, its shape must be able to broadcast to x.
|
|
197
210
|
|
|
198
211
|
Returns:
|
|
199
|
-
|
|
212
|
+
CSRTensor.
|
|
200
213
|
|
|
201
214
|
Supported Platforms:
|
|
202
215
|
``GPU`` ``CPU``
|
|
@@ -208,7 +221,8 @@ def csr_mul(x: CSRTensor, y: Tensor) -> Tensor:
|
|
|
208
221
|
raise_value_error("dense tensor cannot broadcast to the sparse tensor.")
|
|
209
222
|
return (x.values * y).reshape(x.values.shape)
|
|
210
223
|
x_values, y = promote_tensor(x.values, y)
|
|
211
|
-
|
|
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)
|
|
212
226
|
|
|
213
227
|
|
|
214
228
|
def csr_mv(csr_tensor: CSRTensor, dense: Tensor) -> Tensor:
|
|
@@ -242,10 +256,10 @@ def csr_mm(a: CSRTensor, b: CSRTensor, trans_a: bool = False, trans_b: bool = Fa
|
|
|
242
256
|
Args:
|
|
243
257
|
a (CSRTensor): Sparse CSR Tensor, rank should be 2.
|
|
244
258
|
b (CSRTensor): Sparse CSR Tensor, rank should be 2.
|
|
245
|
-
trans_a (bool): whether to transpose CSRTensor a. Default: False.
|
|
246
|
-
trans_b (bool): whether to transpose CSRTensor b. Default: False.
|
|
247
|
-
adjoint_a (bool): whether to adjoint CSRTensor a. Default: False.
|
|
248
|
-
adjoint_b (bool): whether to adjoint CSRTensor b. Default: False.
|
|
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.
|
|
249
263
|
|
|
250
264
|
Returns:
|
|
251
265
|
CSRTensor.
|
|
@@ -277,35 +291,32 @@ def csr_mm(a: CSRTensor, b: CSRTensor, trans_a: bool = False, trans_b: bool = Fa
|
|
|
277
291
|
>>> print(c.indices)
|
|
278
292
|
[0 0]
|
|
279
293
|
"""
|
|
280
|
-
if isinstance(a, CSRTensor)
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
return CSRTensor(c_indptr, c_indices, c_values, (m, k))
|
|
307
|
-
raise_type_error("For functional operator csr_mm, inputs a and b must be type of CSRTensor currently.")
|
|
308
|
-
return None
|
|
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]))
|
|
309
320
|
|
|
310
321
|
|
|
311
322
|
def csr_reduce_sum(csr_tensor: CSRTensor, axis: int) -> Tensor:
|
|
@@ -359,12 +370,12 @@ def csr_to_coo(tensor: CSRTensor) -> COOTensor:
|
|
|
359
370
|
"""
|
|
360
371
|
if not isinstance(tensor, CSRTensor):
|
|
361
372
|
raise_type_error("For functional operator csr_to_coo, input argument must be a CSRTensor.")
|
|
362
|
-
if len(tensor.shape)
|
|
373
|
+
if len(_convert_shape(tensor.shape)) > 2:
|
|
363
374
|
raise_value_error("Currently only support 2-D CSRTensor when converting to COOTensor.")
|
|
364
375
|
shape = tensor.shape
|
|
365
376
|
indices, values, _ = csr_sparse_matrix_to_sparse_tensor(Tensor(shape, mstype.int32), batch_csr_pointers_empty,
|
|
366
377
|
tensor.indptr, tensor.indices, tensor.values)
|
|
367
|
-
return COOTensor(indices, values, shape)
|
|
378
|
+
return COOTensor(indices, values, _convert_shape(shape))
|
|
368
379
|
|
|
369
380
|
|
|
370
381
|
def csr_to_dense(csr_tensor: CSRTensor) -> Tensor:
|
|
@@ -399,12 +410,12 @@ def csr_to_dense(csr_tensor: CSRTensor) -> Tensor:
|
|
|
399
410
|
"""
|
|
400
411
|
if not isinstance(csr_tensor, CSRTensor):
|
|
401
412
|
raise_type_error("For functional operator csr_to_dense, input argument must be a CSRTensor.")
|
|
402
|
-
if len(csr_tensor.shape)
|
|
413
|
+
if len(csr_tensor.shape) > 2:
|
|
403
414
|
raise_value_error("Currently only support 2-D CSRTensor when converting to COOTensor.")
|
|
404
415
|
|
|
405
|
-
shape = csr_tensor.shape
|
|
416
|
+
shape = _convert_shape(csr_tensor.shape)
|
|
406
417
|
dense_shape = Tensor(shape, dtype=mstype.int32)
|
|
407
|
-
batch_pointers =
|
|
418
|
+
batch_pointers = ops.concat((make_tensor([0]), ops.TensorShape()(csr_tensor.values))).astype("int32")
|
|
408
419
|
row_pointers = csr_tensor.indptr
|
|
409
420
|
col_indices = csr_tensor.indices
|
|
410
421
|
values = csr_tensor.values
|
|
@@ -470,11 +481,11 @@ def dense_to_sparse_coo(tensor: Tensor) -> COOTensor:
|
|
|
470
481
|
"""
|
|
471
482
|
if not isinstance(tensor, Tensor):
|
|
472
483
|
raise_type_error("For functional operator dense_to_sparse_coo, input argument must be a Tensor.")
|
|
473
|
-
if len(tensor.shape)
|
|
484
|
+
if len(_convert_shape(tensor.shape)) > 2:
|
|
474
485
|
raise_value_error("Currently only support 2-D Tensor when converting to COOTensor.")
|
|
475
486
|
indices = tensor.nonzero().astype("int32")
|
|
476
487
|
values = gather_nd(tensor, indices)
|
|
477
|
-
return COOTensor(indices, values, tensor.shape)
|
|
488
|
+
return COOTensor(indices, values, _convert_shape(tensor.shape))
|
|
478
489
|
|
|
479
490
|
|
|
480
491
|
def dense_to_sparse_csr(tensor: Tensor) -> CSRTensor:
|
|
@@ -516,11 +527,11 @@ def dense_to_sparse_csr(tensor: Tensor) -> CSRTensor:
|
|
|
516
527
|
"""
|
|
517
528
|
if not isinstance(tensor, Tensor):
|
|
518
529
|
raise_type_error("For functional operator dense_to_sparse_csr, input argument must be a Tensor.")
|
|
519
|
-
if len(tensor.shape) > 2:
|
|
530
|
+
if len(_convert_shape(tensor.shape)) > 2:
|
|
520
531
|
raise_value_error("Currently only support 2-D Tensor when converting to CSRTensor.")
|
|
521
532
|
indices = tensor.nonzero().astype("int32")
|
|
522
533
|
_, _, indptr, indices, values = dense_to_csr(tensor, indices)
|
|
523
|
-
return CSRTensor(indptr, indices, values, tensor.shape)
|
|
534
|
+
return CSRTensor(indptr, indices, values, _convert_shape(tensor.shape))
|
|
524
535
|
|
|
525
536
|
|
|
526
537
|
def make_sparse_tensor(indices, values, dense_shape):
|
|
@@ -555,7 +566,7 @@ row_tensor_add = Primitive('RowTensorAdd')
|
|
|
555
566
|
|
|
556
567
|
@constexpr
|
|
557
568
|
def _calc_out_shape(sp_input, concat_dim):
|
|
558
|
-
"calculating the COOTensor output shape in
|
|
569
|
+
"calculating the COOTensor output shape in coo_concat"
|
|
559
570
|
if isinstance(sp_input[0], tuple):
|
|
560
571
|
out_shape_list = list(sp_input[0][2])
|
|
561
572
|
else:
|
|
@@ -569,10 +580,10 @@ def _calc_out_shape(sp_input, concat_dim):
|
|
|
569
580
|
|
|
570
581
|
|
|
571
582
|
@constexpr
|
|
572
|
-
def
|
|
583
|
+
def _set_coo_concat_input(sp_input):
|
|
573
584
|
"split COOTensor to normal tensor"
|
|
574
585
|
if len(sp_input) < 2:
|
|
575
|
-
raise_value_error("For
|
|
586
|
+
raise_value_error("For coo_concat, not support COOTensor input number < 2.")
|
|
576
587
|
in_indices = []
|
|
577
588
|
in_values = []
|
|
578
589
|
in_shapes = []
|
|
@@ -588,21 +599,21 @@ def _set_sparse_concat_input(sp_input):
|
|
|
588
599
|
return in_indices, in_values, in_shapes
|
|
589
600
|
|
|
590
601
|
|
|
591
|
-
def
|
|
602
|
+
def coo_concat(sp_input, concat_dim=0):
|
|
592
603
|
"""
|
|
593
604
|
concatenates the input SparseTensor(COO format) along the specified dimension.
|
|
594
605
|
|
|
595
|
-
..
|
|
596
|
-
|
|
606
|
+
.. warning::
|
|
607
|
+
This is an experimental API that is subjected to change or deletion. Only supported on CPU now.
|
|
597
608
|
|
|
598
609
|
Args:
|
|
599
|
-
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.
|
|
600
611
|
for COOTensor input.
|
|
601
612
|
concat_dim (scalar): decide the dimension to concatenation along.
|
|
602
613
|
The value must be in range [-rank, rank), where rank is the number of dimensions in each input
|
|
603
614
|
SparseTensor. Default is 0.
|
|
604
615
|
|
|
605
|
-
|
|
616
|
+
Returns:
|
|
606
617
|
- **output** (COOtensor) - the result of concatenates the input SparseTensor along the
|
|
607
618
|
specified dimension. OutShape: OutShape[non concat_dim] is equal to InShape[non concat_dim] and
|
|
608
619
|
OutShape[concat_dim] is all input concat_dim axis shape accumulate.
|
|
@@ -615,31 +626,31 @@ def sparse_concat(sp_input, concat_dim=0):
|
|
|
615
626
|
``CPU``
|
|
616
627
|
|
|
617
628
|
Examples:
|
|
618
|
-
>>> indices0 = Tensor([[0, 1], [1, 2]], dtype=mstype.
|
|
629
|
+
>>> indices0 = Tensor([[0, 1], [1, 2]], dtype=mstype.int64)
|
|
619
630
|
>>> values0 = Tensor([1, 2], dtype=mstype.int32)
|
|
620
631
|
>>> shape0 = (3, 4)
|
|
621
632
|
>>> input0 = COOTensor(indices0, values0, shape0)
|
|
622
|
-
>>> indices1 = Tensor([[0, 0], [1, 1]], dtype=mstype.
|
|
633
|
+
>>> indices1 = Tensor([[0, 0], [1, 1]], dtype=mstype.int64)
|
|
623
634
|
>>> values1 = Tensor([3, 4], dtype=mstype.int32)
|
|
624
635
|
>>> shape1 = (3, 4)
|
|
625
636
|
>>> input1 = COOTensor(indices1, values1, shape1)
|
|
626
637
|
>>> concat_dim = 1
|
|
627
|
-
>>> out =
|
|
638
|
+
>>> out = ops.coo_concat((input0, input1), concat_dim)
|
|
628
639
|
>>> print(out)
|
|
629
|
-
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=
|
|
630
641
|
[[0 1]
|
|
631
642
|
[0 4]
|
|
632
643
|
[1 2]
|
|
633
644
|
[1 5]]), values=Tensor(shape=[4], dtype=Int32, value=[1 3 2 4]))
|
|
634
645
|
"""
|
|
635
|
-
|
|
636
|
-
in_indices, in_values, in_shapes =
|
|
637
|
-
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)
|
|
638
649
|
out_shape = _calc_out_shape(sp_input, concat_dim)
|
|
639
650
|
return COOTensor(indices, values, out_shape)
|
|
640
651
|
|
|
641
652
|
|
|
642
|
-
def
|
|
653
|
+
def coo_add(x1: COOTensor, x2: COOTensor, thresh: Tensor) -> COOTensor:
|
|
643
654
|
"""
|
|
644
655
|
Computes the sum of x1(COOTensor) and x2(COOTensor), and return a new COOTensor
|
|
645
656
|
based on the computed result and `thresh`.
|
|
@@ -648,7 +659,7 @@ def sparse_add(x1: COOTensor, x2: COOTensor, thresh: Tensor) -> COOTensor:
|
|
|
648
659
|
x1 (COOTensor): the first COOTensor to sum.
|
|
649
660
|
x2 (COOTensor): the second COOTensor to sum.
|
|
650
661
|
thresh (Tensor): A 0-D Tensor, represents the magnitude threshold that determines
|
|
651
|
-
if an output value/index pair take
|
|
662
|
+
if an output value/index pair take place. Its dtype
|
|
652
663
|
should match that of the values if they are real. If output's
|
|
653
664
|
value is less than the `thresh`, it will vanish.
|
|
654
665
|
|
|
@@ -674,7 +685,7 @@ def sparse_add(x1: COOTensor, x2: COOTensor, thresh: Tensor) -> COOTensor:
|
|
|
674
685
|
TypeError: If (x1/x2)'s value's type is not matched with thresh's type.
|
|
675
686
|
|
|
676
687
|
Supported Platforms:
|
|
677
|
-
``
|
|
688
|
+
``GPU`` ``CPU``
|
|
678
689
|
|
|
679
690
|
Examples:
|
|
680
691
|
>>> from mindspore import Tensor, COOTensor
|
|
@@ -690,11 +701,13 @@ def sparse_add(x1: COOTensor, x2: COOTensor, thresh: Tensor) -> COOTensor:
|
|
|
690
701
|
>>> shape1 = (3, 4)
|
|
691
702
|
>>> input1 = COOTensor(indics1, values1, shape1)
|
|
692
703
|
>>> thres = Tensor(0, dtype=mstype.int32)
|
|
693
|
-
>>> out = ops.
|
|
704
|
+
>>> out = ops.coo_add(input0, input1, thres)
|
|
694
705
|
>>> print(out)
|
|
695
|
-
COOTensor(shape
|
|
696
|
-
|
|
697
|
-
|
|
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]))
|
|
698
711
|
"""
|
|
699
712
|
x1, x2 = promote_coo(x1, x2)
|
|
700
713
|
thresh = thresh.astype(x1.dtype)
|
|
@@ -757,7 +770,13 @@ def csr_softmax(logits: CSRTensor, dtype: mstype):
|
|
|
757
770
|
|
|
758
771
|
def csr_add(a: CSRTensor, b: CSRTensor, alpha: Tensor, beta: Tensor) -> CSRTensor:
|
|
759
772
|
"""
|
|
760
|
-
|
|
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
|
|
761
780
|
|
|
762
781
|
Note:
|
|
763
782
|
The user need to ensure that the input sparse matrix is legal.
|
|
@@ -830,6 +849,7 @@ __all__ = [
|
|
|
830
849
|
'coo_tensor_get_values',
|
|
831
850
|
'csr_div',
|
|
832
851
|
'csr_gather',
|
|
852
|
+
'csr_mm',
|
|
833
853
|
'csr_mul',
|
|
834
854
|
'csr_mv',
|
|
835
855
|
'csr_reduce_sum',
|
|
@@ -851,8 +871,8 @@ __all__ = [
|
|
|
851
871
|
'row_tensor_get_indices',
|
|
852
872
|
'row_tensor_get_dense_shape',
|
|
853
873
|
'row_tensor_add',
|
|
854
|
-
'
|
|
855
|
-
'
|
|
874
|
+
'coo_add',
|
|
875
|
+
'coo_concat',
|
|
856
876
|
'csr_add',
|
|
857
877
|
'csr_softmax',
|
|
858
878
|
'csr_to_dense'
|