mindspore 2.0.0a0__cp39-cp39-win_amd64.whl → 2.0.0rc1__cp39-cp39-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/__init__.py +4 -2
- mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp39-win_amd64.pyd +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/amp.py +52 -57
- 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/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/jpeg62.dll +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/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/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/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- 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/tinyxml2.dll +0 -0
- 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/turbojpeg.dll +0 -0
- 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 +610 -541
- 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
|
@@ -21,21 +21,24 @@ import numpy as np
|
|
|
21
21
|
from mindspore.common import Tensor
|
|
22
22
|
from mindspore.ops import composite as C
|
|
23
23
|
from mindspore.ops.operations.array_ops import Cast
|
|
24
|
+
from mindspore.ops.operations._scalar_ops import bit_or, bit_and
|
|
24
25
|
from mindspore.ops import signature as sig
|
|
25
26
|
from mindspore.ops.operations.math_ops import _infer_shape_reduce
|
|
26
27
|
from mindspore.ops.primitive import PrimitiveWithCheck, PrimitiveWithInfer, prim_attr_register, Primitive, _run_op
|
|
27
28
|
from mindspore import context
|
|
28
|
-
from mindspore.
|
|
29
|
-
from mindspore.
|
|
29
|
+
from mindspore._c_expression import Tensor as Tensor_
|
|
30
|
+
from mindspore._c_expression import typing
|
|
31
|
+
from mindspore import _checkparam as validator
|
|
30
32
|
from mindspore.common import dtype as mstype
|
|
31
33
|
from mindspore.common.parameter import Parameter
|
|
32
34
|
from mindspore.communication.management import GlobalComm
|
|
33
35
|
from mindspore.common.api import _pynative_executor
|
|
36
|
+
from mindspore.common._register_for_adapter import ms_adapter_registry
|
|
34
37
|
|
|
35
38
|
|
|
36
39
|
# Bit operation
|
|
37
|
-
bit_and =
|
|
38
|
-
bit_or =
|
|
40
|
+
bit_and = bit_and()
|
|
41
|
+
bit_or = bit_or()
|
|
39
42
|
bit_xor = Primitive("bit_xor")
|
|
40
43
|
bit_left_shift = Primitive("bit_left_shift")
|
|
41
44
|
bit_right_shift = Primitive("bit_right_shift")
|
|
@@ -50,54 +53,10 @@ string_mul = Primitive("string_mul")
|
|
|
50
53
|
string_getitem = Primitive("string_getitem")
|
|
51
54
|
|
|
52
55
|
|
|
53
|
-
class FillV2(Primitive):
|
|
54
|
-
"""
|
|
55
|
-
Creates a tensor filled with a scalar value.
|
|
56
|
-
|
|
57
|
-
Creates a tensor with shape described by the first argument and fills it with values in the second argument.
|
|
58
|
-
|
|
59
|
-
Inputs:
|
|
60
|
-
- **shape** (tensor) - The specified shape of output tensor. The shape of the input1 must be 1D and
|
|
61
|
-
the data type of the input1 must be int32 or int64.
|
|
62
|
-
- **value** (tensor) - Value to fill the returned tensor. The shape of the input2 must be 0D and
|
|
63
|
-
the data type of the input2 must be one of the following types:
|
|
64
|
-
bool, int8, int16, int32, int64, uint8, uint16, uint32, uint64, float16, float32, float64.
|
|
65
|
-
|
|
66
|
-
Outputs:
|
|
67
|
-
A tensor, has the same type and shape as input value.
|
|
68
|
-
|
|
69
|
-
Raises:
|
|
70
|
-
ValueError: If `shape` is not a 1D tensor.
|
|
71
|
-
TypeError: If the data type of `shape` is not int32 or int64.
|
|
72
|
-
ValueError: If `value` is not a 0D tensor.
|
|
73
|
-
ValueError: If the number of output elements is greater than 1000000.
|
|
74
|
-
|
|
75
|
-
Supported Platforms:
|
|
76
|
-
``CPU``
|
|
77
|
-
|
|
78
|
-
Examples:
|
|
79
|
-
>>> fillV2 = ops.FillV2()
|
|
80
|
-
>>> output = fillV2(Tensor([2, 3], mindspore.int32), Tensor(1, mindspore.float32))
|
|
81
|
-
>>> print(output)
|
|
82
|
-
[[1. 1. 1.]
|
|
83
|
-
[1. 1. 1.]]
|
|
84
|
-
>>> output = fillV2(Tensor([3, 3], mindspore.int64), Tensor(0, mindspore.int32))
|
|
85
|
-
>>> print(output)
|
|
86
|
-
[[0 0 0]
|
|
87
|
-
[0 0 0]
|
|
88
|
-
[0 0 0]]
|
|
89
|
-
"""
|
|
90
|
-
|
|
91
|
-
@prim_attr_register
|
|
92
|
-
def __init__(self):
|
|
93
|
-
"""Initialize FillV2"""
|
|
94
|
-
self.add_prim_attr("max_length", 1000000)
|
|
95
|
-
|
|
96
|
-
|
|
97
56
|
class ExtractImagePatches(Primitive):
|
|
98
|
-
"""
|
|
57
|
+
r"""
|
|
99
58
|
Extracts patches from images.
|
|
100
|
-
The input tensor must be a 4-D tensor and the data format is
|
|
59
|
+
The input tensor must be a 4-D tensor and the data format is NCHW.
|
|
101
60
|
|
|
102
61
|
Args:
|
|
103
62
|
ksizes (Union[tuple[int], list[int]]): The size of sliding window, must be a tuple or a list of integers,
|
|
@@ -114,12 +73,32 @@ class ExtractImagePatches(Primitive):
|
|
|
114
73
|
- valid: Means that the taken patch area must be completely covered in the original image.
|
|
115
74
|
|
|
116
75
|
Inputs:
|
|
117
|
-
- **input_x** (Tensor) - A 4-D tensor whose shape is [in_batch, in_row, in_col
|
|
76
|
+
- **input_x** (Tensor) - A 4-D tensor whose shape is [in_batch, in_depth, in_row, in_col] and
|
|
118
77
|
data type is number.
|
|
119
78
|
|
|
120
79
|
Outputs:
|
|
121
80
|
Tensor, a 4-D tensor whose data type is same as 'input_x',
|
|
122
|
-
and the shape is [out_batch, out_row, out_col
|
|
81
|
+
and the shape is [out_batch, out_depth, out_row, out_col], Where the out_batch is the same as the in_batch
|
|
82
|
+
and
|
|
83
|
+
|
|
84
|
+
.. math::
|
|
85
|
+
out_depth=ksize\_row * ksize\_col * in\_depth
|
|
86
|
+
|
|
87
|
+
and
|
|
88
|
+
if 'padding' is "valid":
|
|
89
|
+
|
|
90
|
+
.. math::
|
|
91
|
+
out\_row=floor((in\_row - (ksize\_row + (ksize\_row - 1) * (rate\_row - 1))) / stride\_row) + 1
|
|
92
|
+
out\_col=floor((in\_col - (ksize\_col + (ksize\_col - 1) * (rate\_col - 1))) / stride\_col) + 1
|
|
93
|
+
|
|
94
|
+
if 'padding' is "same":
|
|
95
|
+
|
|
96
|
+
.. math::
|
|
97
|
+
out\_row=floor((in\_row - 1) / stride\_row) + 1
|
|
98
|
+
out\_col=floor((in\_col - 1) / stride\_col) + 1
|
|
99
|
+
|
|
100
|
+
Supported Platforms:
|
|
101
|
+
``Ascend`` ``GPU``
|
|
123
102
|
"""
|
|
124
103
|
|
|
125
104
|
@prim_attr_register
|
|
@@ -223,12 +202,14 @@ class Lamb(PrimitiveWithInfer):
|
|
|
223
202
|
Default: 0.0.
|
|
224
203
|
- **global_step** (Tensor) - Tensor to record current global step.
|
|
225
204
|
- **gradient** (Tensor) - Gradient, has the same shape and data type as `var`.
|
|
205
|
+
|
|
226
206
|
Outputs:
|
|
227
207
|
Tensor, the updated parameters.
|
|
208
|
+
|
|
228
209
|
- **var** (Tensor) - The same shape and data type as `var`.
|
|
229
210
|
|
|
230
211
|
Supported Platforms:
|
|
231
|
-
``GPU``
|
|
212
|
+
``Ascend````GPU``
|
|
232
213
|
"""
|
|
233
214
|
|
|
234
215
|
@prim_attr_register
|
|
@@ -238,9 +219,9 @@ class Lamb(PrimitiveWithInfer):
|
|
|
238
219
|
|
|
239
220
|
def infer_shape(self, var_shape, m_shape, v_shape, lr_shape, beta1_shape, beta2_shape,
|
|
240
221
|
epsilon_shape, decay_shape, global_step_shape, gradient_shape):
|
|
241
|
-
validator.check("var_shape", var_shape, "m_shape", m_shape,
|
|
242
|
-
validator.check("var_shape", var_shape, "v_shape", v_shape,
|
|
243
|
-
validator.check("var_shape", var_shape, "gradient_shape", gradient_shape,
|
|
222
|
+
validator.check("var_shape", var_shape, "m_shape", m_shape, validator.EQ, self.name)
|
|
223
|
+
validator.check("var_shape", var_shape, "v_shape", v_shape, validator.EQ, self.name)
|
|
224
|
+
validator.check("var_shape", var_shape, "gradient_shape", gradient_shape, validator.EQ, self.name)
|
|
244
225
|
return var_shape
|
|
245
226
|
|
|
246
227
|
def infer_dtype(self, var_dtype, m_dtype, v_dtype, lr_dtype, beta1_dtype, beta2_dtype,
|
|
@@ -344,18 +325,18 @@ class MatrixDiag(PrimitiveWithInfer):
|
|
|
344
325
|
return x_dtype
|
|
345
326
|
|
|
346
327
|
def infer_shape(self, x_shape, assist_shape):
|
|
347
|
-
validator.check_int(len(assist_shape), 2,
|
|
328
|
+
validator.check_int(len(assist_shape), 2, validator.GE, "assist rank", self.name)
|
|
348
329
|
validator.check('rank of x', len(x_shape) + 1,
|
|
349
|
-
'rank of assist', len(assist_shape),
|
|
330
|
+
'rank of assist', len(assist_shape), validator.LE, self.name)
|
|
350
331
|
validator.check('assist\'s penultimate dimension', assist_shape[-2], 'assist\'s last dimension',
|
|
351
|
-
assist_shape[-1],
|
|
332
|
+
assist_shape[-1], validator.EQ, self.name)
|
|
352
333
|
|
|
353
334
|
r_end_dim = -len(x_shape)
|
|
354
335
|
r_idx = -1
|
|
355
336
|
while r_idx >= r_end_dim:
|
|
356
337
|
if x_shape[r_idx] != 1:
|
|
357
338
|
validator.check("reverse x dim %d" % r_idx, x_shape[r_idx], "reverse assist dim %d" %
|
|
358
|
-
assist_shape[r_idx - 1], assist_shape[r_idx - 1],
|
|
339
|
+
assist_shape[r_idx - 1], assist_shape[r_idx - 1], validator.EQ, self.name)
|
|
359
340
|
r_idx = r_idx - 1
|
|
360
341
|
|
|
361
342
|
return assist_shape
|
|
@@ -393,8 +374,8 @@ class MatrixDiagPart(PrimitiveWithInfer):
|
|
|
393
374
|
return x_dtype
|
|
394
375
|
|
|
395
376
|
def infer_shape(self, x_shape, assist_shape):
|
|
396
|
-
validator.check_int(len(x_shape), 2,
|
|
397
|
-
validator.check("x shape", x_shape, "assist shape", assist_shape,
|
|
377
|
+
validator.check_int(len(x_shape), 2, validator.GE, "x rank", self.name)
|
|
378
|
+
validator.check("x shape", x_shape, "assist shape", assist_shape, validator.EQ, self.name)
|
|
398
379
|
|
|
399
380
|
if assist_shape[-2] < assist_shape[-1]:
|
|
400
381
|
out_shape = assist_shape[:-1]
|
|
@@ -555,15 +536,15 @@ class MatrixSetDiag(PrimitiveWithInfer):
|
|
|
555
536
|
return x_dtype
|
|
556
537
|
|
|
557
538
|
def infer_shape(self, x_shape, diagonal_shape, assist_shape):
|
|
558
|
-
validator.check_int(len(x_shape), 2,
|
|
559
|
-
validator.check("x shape", x_shape, "assist shape", assist_shape,
|
|
539
|
+
validator.check_int(len(x_shape), 2, validator.GE, "x rank", self.name)
|
|
540
|
+
validator.check("x shape", x_shape, "assist shape", assist_shape, validator.EQ, self.name)
|
|
560
541
|
|
|
561
542
|
if x_shape[-2] < x_shape[-1]:
|
|
562
543
|
validator.check("diagonal shape", diagonal_shape, "x shape excluding the last dimension",
|
|
563
|
-
x_shape[:-1],
|
|
544
|
+
x_shape[:-1], validator.EQ, self.name)
|
|
564
545
|
else:
|
|
565
546
|
validator.check("diagonal shape", diagonal_shape, "x shape excluding the second last dimension",
|
|
566
|
-
x_shape[:-2] + x_shape[-1:],
|
|
547
|
+
x_shape[:-2] + x_shape[-1:], validator.EQ, self.name)
|
|
567
548
|
|
|
568
549
|
return assist_shape
|
|
569
550
|
|
|
@@ -680,7 +661,7 @@ class ConvertToDynamic(PrimitiveWithCheck):
|
|
|
680
661
|
self.init_prim_io_names(inputs=["input"], outputs=["output"])
|
|
681
662
|
|
|
682
663
|
def check_shape(self, input_shape):
|
|
683
|
-
validator.check("input_shape rank", len(input_shape), "", 0,
|
|
664
|
+
validator.check("input_shape rank", len(input_shape), "", 0, validator.GT, self.name)
|
|
684
665
|
|
|
685
666
|
def check_dtype(self, input_dtype):
|
|
686
667
|
validator.check_subclass("input_dtype", input_dtype, mstype.tensor, self.name)
|
|
@@ -730,7 +711,7 @@ class GpuConvertToDynamicShape(PrimitiveWithCheck):
|
|
|
730
711
|
self.init_prim_io_names(inputs=["input"], outputs=["output"])
|
|
731
712
|
|
|
732
713
|
def check_shape(self, input_shape):
|
|
733
|
-
validator.check("input_shape rank", len(input_shape), "", 0,
|
|
714
|
+
validator.check("input_shape rank", len(input_shape), "", 0, validator.GT, self.name)
|
|
734
715
|
|
|
735
716
|
def check_dtype(self, input_dtype):
|
|
736
717
|
validator.check_subclass("input_dtype", input_dtype, mstype.tensor, self.name)
|
|
@@ -811,7 +792,7 @@ class SequenceMask(PrimitiveWithCheck):
|
|
|
811
792
|
One mask tensor of shape lengths.shape + (maxlen,).
|
|
812
793
|
|
|
813
794
|
Supported Platforms:
|
|
814
|
-
``GPU``
|
|
795
|
+
``GPU`` ``CPU``
|
|
815
796
|
|
|
816
797
|
Examples:
|
|
817
798
|
>>> from mindspore import ops
|
|
@@ -831,8 +812,8 @@ class SequenceMask(PrimitiveWithCheck):
|
|
|
831
812
|
self.init_prim_io_names(inputs=["lengths", "maxlen"], outputs=["mask"])
|
|
832
813
|
|
|
833
814
|
def check_shape(self, lengths_shape, maxlen_shape):
|
|
834
|
-
validator.check("lengths_shape", len(lengths_shape), "", 0,
|
|
835
|
-
validator.check("maxlen_shape", len(maxlen_shape), "", 0,
|
|
815
|
+
validator.check("lengths_shape", len(lengths_shape), "", 0, validator.GT, self.name)
|
|
816
|
+
validator.check("maxlen_shape", len(maxlen_shape), "", 0, validator.EQ, self.name)
|
|
836
817
|
|
|
837
818
|
def check_dtype(self, lengths_dtype, maxlen_dtype):
|
|
838
819
|
validator.check_subclass("lengths_dtype", lengths_dtype, mstype.tensor, self.name)
|
|
@@ -904,10 +885,10 @@ class SyncBatchNorm(Primitive):
|
|
|
904
885
|
|
|
905
886
|
@prim_attr_register
|
|
906
887
|
def __init__(self, epsilon=1e-5, momentum=0.1, group="sync_bn_group0", device_num=2):
|
|
907
|
-
validator.check_float_range(epsilon, 0, 1,
|
|
908
|
-
validator.check_float_range(momentum, 0, 1,
|
|
888
|
+
validator.check_float_range(epsilon, 0, 1, validator.INC_RIGHT, 'epsilon', self.name)
|
|
889
|
+
validator.check_float_range(momentum, 0, 1, validator.INC_BOTH, 'momentum', self.name)
|
|
909
890
|
validator.check_isinstance("group", group, str)
|
|
910
|
-
validator.check_int(device_num, 2,
|
|
891
|
+
validator.check_int(device_num, 2, validator.GE, "device_num", self.name)
|
|
911
892
|
self.init_prim_io_names(inputs=['x', 'scale', 'offset', 'mean', 'variance'],
|
|
912
893
|
outputs=['y', 'batch_mean', 'batch_variance', 'reserve_space_1', 'reserve_space_2'])
|
|
913
894
|
self.add_prim_attr('side_effect_mem', True)
|
|
@@ -970,7 +951,7 @@ class Centralization(PrimitiveWithInfer):
|
|
|
970
951
|
validator.check_value_type('axis', axis_v, [int, list, tuple], self.name)
|
|
971
952
|
|
|
972
953
|
if isinstance(axis_v, int):
|
|
973
|
-
validator.check_int_range(axis_v, -rank, rank,
|
|
954
|
+
validator.check_int_range(axis_v, -rank, rank, validator.INC_LEFT, 'axis', self.name)
|
|
974
955
|
elif axis:
|
|
975
956
|
for index, one_axis in enumerate(axis_v):
|
|
976
957
|
validator.check_value_type('axis[%d]' % index, one_axis, [int], self.name)
|
|
@@ -1071,9 +1052,9 @@ class StackPop(PrimitiveWithInfer):
|
|
|
1071
1052
|
validator.check_value_type("index", index, [int], self.name)
|
|
1072
1053
|
|
|
1073
1054
|
validator.check_value_type('shape type', shape, [list, tuple], self.name)
|
|
1074
|
-
validator.check_int(len(np.array(shape).shape), 1,
|
|
1055
|
+
validator.check_int(len(np.array(shape).shape), 1, validator.EQ, "dim of shape", self.name)
|
|
1075
1056
|
for elem in shape:
|
|
1076
|
-
validator.check_int(elem, 1,
|
|
1057
|
+
validator.check_int(elem, 1, validator.GE, 'shape element', self.name)
|
|
1077
1058
|
validator.check_value_type('type of shape element', elem, [int], self.name)
|
|
1078
1059
|
|
|
1079
1060
|
validator.check_type_name("dtype", dtype, (mstype.bool_,) + mstype.number_type, self.name)
|
|
@@ -1154,22 +1135,22 @@ class DynamicStitch(PrimitiveWithCheck):
|
|
|
1154
1135
|
|
|
1155
1136
|
def check_shape(self, indices_shape, data_shape):
|
|
1156
1137
|
validator.check_value_type("shape of indices", indices_shape, [tuple, list], self.name)
|
|
1157
|
-
validator.check_int(len(indices_shape), 1,
|
|
1138
|
+
validator.check_int(len(indices_shape), 1, validator.GE, "len of indices_shape", self.name)
|
|
1158
1139
|
indices_dim0 = len(indices_shape[0])
|
|
1159
1140
|
indices_num = len(indices_shape)
|
|
1160
1141
|
|
|
1161
1142
|
validator.check_value_type("shape of data", data_shape, [tuple, list], self.name)
|
|
1162
|
-
validator.check_int(len(data_shape), 1,
|
|
1143
|
+
validator.check_int(len(data_shape), 1, validator.GE, "len of data_shape", self.name)
|
|
1163
1144
|
data_dim0 = len(data_shape[0])
|
|
1164
1145
|
data_num = len(indices_shape)
|
|
1165
1146
|
|
|
1166
|
-
validator.check("size of indices", indices_num, 'size of data', data_num,
|
|
1147
|
+
validator.check("size of indices", indices_num, 'size of data', data_num, validator.EQ, self.name)
|
|
1167
1148
|
|
|
1168
1149
|
# shape of `data` must start with shape of `indices`
|
|
1169
1150
|
for i in range(0, indices_num):
|
|
1170
1151
|
indices_dim = len(indices_shape[i])
|
|
1171
1152
|
data_dim = len(data_shape[i])
|
|
1172
|
-
validator.check(f"dim of indices[{i}]", indices_dim, f"dim of data[{i}]", data_dim,
|
|
1153
|
+
validator.check(f"dim of indices[{i}]", indices_dim, f"dim of data[{i}]", data_dim, validator.LE, self.name)
|
|
1173
1154
|
if data_shape[i][:indices_dim] != data_shape[i][:indices_dim]:
|
|
1174
1155
|
raise ValueError(f"data[{i}].shape: {data_shape} does not start with indices[{i}].shape: {data_shape}")
|
|
1175
1156
|
|
|
@@ -1180,10 +1161,10 @@ class DynamicStitch(PrimitiveWithCheck):
|
|
|
1180
1161
|
data_dim = len(data_shape[i])
|
|
1181
1162
|
extra = data_dim - indices_dim
|
|
1182
1163
|
validator.check(f"extra dim of data[{i}]", extra,
|
|
1183
|
-
f"extra dim of data[0]", base_extra,
|
|
1164
|
+
f"extra dim of data[0]", base_extra, validator.EQ, self.name)
|
|
1184
1165
|
validator.check(f"data[0].shape[{indices_dim0}:]", data_shape[0][indices_dim0:],
|
|
1185
1166
|
f"data[{i}].shape[{len(indices_shape[i])}:]",
|
|
1186
|
-
data_shape[i][indices_dim:],
|
|
1167
|
+
data_shape[i][indices_dim:], validator.EQ, self.name)
|
|
1187
1168
|
|
|
1188
1169
|
out_shape = [-1] + data_shape[0][indices_dim0:]
|
|
1189
1170
|
return out_shape
|
|
@@ -1196,7 +1177,8 @@ class DynamicStitch(PrimitiveWithCheck):
|
|
|
1196
1177
|
validator.check_tensor_dtype_valid(f'indices[{i}]', indices_type[i], mstype.int32, self.name)
|
|
1197
1178
|
validator.check_tensor_dtype_valid(f'data[{i}]', data_type[i],
|
|
1198
1179
|
mstype.number_type + (mstype.bool_,), self.name)
|
|
1199
|
-
validator.check(f"type of data[{i}]", data_type[i], f"type of data[0]",
|
|
1180
|
+
validator.check(f"type of data[{i}]", data_type[i], f"type of data[0]",
|
|
1181
|
+
data_type[0], validator.EQ, self.name)
|
|
1200
1182
|
return data_type[0]
|
|
1201
1183
|
|
|
1202
1184
|
|
|
@@ -1464,10 +1446,16 @@ class SliceGetItem(Primitive):
|
|
|
1464
1446
|
raise TypeError(
|
|
1465
1447
|
"Primitive[SliceGetItem] only support to get a slice type element but got {}".format(slice_value))
|
|
1466
1448
|
if value == "start":
|
|
1449
|
+
if hasattr(slice_value.start, "ndim") and slice_value.start.ndim == 1:
|
|
1450
|
+
return slice_value.start.item()
|
|
1467
1451
|
return slice_value.start
|
|
1468
1452
|
if value == "stop":
|
|
1453
|
+
if hasattr(slice_value.stop, "ndim") and slice_value.stop.ndim == 1:
|
|
1454
|
+
return slice_value.stop.item()
|
|
1469
1455
|
return slice_value.stop
|
|
1470
1456
|
if value == "step":
|
|
1457
|
+
if hasattr(slice_value.step, "ndim") and slice_value.step.ndim == 1:
|
|
1458
|
+
return slice_value.step.item()
|
|
1471
1459
|
return slice_value.step
|
|
1472
1460
|
raise AttributeError("\'slice\' object has no attribute {}".format(value))
|
|
1473
1461
|
|
|
@@ -1489,7 +1477,7 @@ class DynamicBroadcastTo(Primitive):
|
|
|
1489
1477
|
ValueError: if the target and input shapes are incompatible.
|
|
1490
1478
|
|
|
1491
1479
|
Supported Platforms:
|
|
1492
|
-
``Ascend``
|
|
1480
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
1493
1481
|
"""
|
|
1494
1482
|
|
|
1495
1483
|
@prim_attr_register
|
|
@@ -1502,12 +1490,25 @@ class Cummin(Primitive):
|
|
|
1502
1490
|
r"""
|
|
1503
1491
|
Returns the cumulative minimum of elements and the index.
|
|
1504
1492
|
|
|
1493
|
+
.. warning::
|
|
1494
|
+
This is an experimental API that is subject to change or deletion.
|
|
1495
|
+
|
|
1505
1496
|
Refer to :func:`mindspore.ops.cummin` for more detail.
|
|
1506
1497
|
|
|
1507
1498
|
Supported Platforms:
|
|
1508
1499
|
``Ascend`` ``GPU`` ``CPU``
|
|
1509
|
-
"""
|
|
1510
1500
|
|
|
1501
|
+
Examples:
|
|
1502
|
+
>>> from mindspore import Tensor, ops
|
|
1503
|
+
>>> import mindspore
|
|
1504
|
+
>>> a = Tensor([-0.2284, -0.6628, 0.0975, 0.2680, -1.3298, -0.4220], mindspore.float32)
|
|
1505
|
+
>>> func = ops.Cummin(axis=0)
|
|
1506
|
+
>>> output = func(a)
|
|
1507
|
+
>>> print(output[0])
|
|
1508
|
+
[-0.2284 -0.6628 -0.6628 -0.6628 -1.3298 -1.3298]
|
|
1509
|
+
>>> print(output[1])
|
|
1510
|
+
[0 1 1 1 4 4]
|
|
1511
|
+
"""
|
|
1511
1512
|
@prim_attr_register
|
|
1512
1513
|
def __init__(self, axis):
|
|
1513
1514
|
"""Initialize Cummin"""
|
|
@@ -1624,7 +1625,7 @@ class ParallelResizeBilinear(PrimitiveWithInfer):
|
|
|
1624
1625
|
"""Initialize ParallelResizeBilinear."""
|
|
1625
1626
|
validator.check_value_type("ori_image_size", ori_image_size, [list, tuple], self.name)
|
|
1626
1627
|
validator.check_value_type("split_size", split_size, [list, tuple], self.name)
|
|
1627
|
-
validator.check_int(len(split_size), 2,
|
|
1628
|
+
validator.check_int(len(split_size), 2, validator.EQ, "len of split_size", self.name)
|
|
1628
1629
|
validator.check_value_type("src_start_w", src_start_w, [int], self.name)
|
|
1629
1630
|
validator.check_value_type("dst_start_w", dst_start_w, [int], self.name)
|
|
1630
1631
|
validator.check_value_type("align_corners", align_corners, [bool], self.name)
|
|
@@ -1942,21 +1943,23 @@ class KMeansCentroids(PrimitiveWithInfer):
|
|
|
1942
1943
|
def infer_shape(self, x_shape, y_shape, sum_square_y_shape, sum_square_x_shape):
|
|
1943
1944
|
"""infer shape of primitive"""
|
|
1944
1945
|
expected_shape_size = 2
|
|
1945
|
-
validator.check_int(len(x_shape), expected_shape_size,
|
|
1946
|
-
validator.check_int(len(y_shape), expected_shape_size,
|
|
1947
|
-
validator.check_int(len(sum_square_y_shape), expected_shape_size,
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1946
|
+
validator.check_int(len(x_shape), expected_shape_size, validator.EQ, "dims of x", self.name)
|
|
1947
|
+
validator.check_int(len(y_shape), expected_shape_size, validator.EQ, "dims of y", self.name)
|
|
1948
|
+
validator.check_int(len(sum_square_y_shape), expected_shape_size, validator.EQ,
|
|
1949
|
+
"dims of sum_square_y", self.name)
|
|
1950
|
+
validator.check_int(len(sum_square_x_shape), expected_shape_size, validator.EQ,
|
|
1951
|
+
"dims of sum_square_x", self.name)
|
|
1952
|
+
|
|
1953
|
+
validator.check_int(x_shape[1], y_shape[1], validator.EQ,
|
|
1951
1954
|
"the second dim of x and the second dim of y", self.name)
|
|
1952
|
-
validator.check_int(y_shape[0], sum_square_y_shape[1],
|
|
1955
|
+
validator.check_int(y_shape[0], sum_square_y_shape[1], validator.EQ,
|
|
1953
1956
|
"the first dim of y and the second dim of sum_square_y", self.name)
|
|
1954
|
-
validator.check_int(x_shape[0], sum_square_x_shape[0],
|
|
1957
|
+
validator.check_int(x_shape[0], sum_square_x_shape[0], validator.EQ,
|
|
1955
1958
|
"the first dim of x and the first dim of sum_square_x", self.name)
|
|
1956
|
-
validator.check_int(sum_square_y_shape[0], sum_square_x_shape[1],
|
|
1959
|
+
validator.check_int(sum_square_y_shape[0], sum_square_x_shape[1], validator.EQ,
|
|
1957
1960
|
"the first dim of sum_square_y and the first dim of sum_square_x",
|
|
1958
1961
|
self.name)
|
|
1959
|
-
validator.check_int(sum_square_y_shape[0], 1,
|
|
1962
|
+
validator.check_int(sum_square_y_shape[0], 1, validator.EQ,
|
|
1960
1963
|
"the first dim of sum_square_y", self.name)
|
|
1961
1964
|
|
|
1962
1965
|
k = y_shape[0]
|
|
@@ -2027,7 +2030,7 @@ class ClipByNorm(PrimitiveWithInfer):
|
|
|
2027
2030
|
x_dim = len(x_shape)
|
|
2028
2031
|
axis = self.axis if isinstance(self.axis, Iterable) else (self.axis,)
|
|
2029
2032
|
for _, value in enumerate(axis):
|
|
2030
|
-
validator.check_int_range(value, -x_dim, x_dim,
|
|
2033
|
+
validator.check_int_range(value, -x_dim, x_dim, validator.INC_LEFT, 'axis', self.name)
|
|
2031
2034
|
return x_shape
|
|
2032
2035
|
|
|
2033
2036
|
def infer_dtype(self, x_type, clip_norm_type):
|
|
@@ -2054,21 +2057,22 @@ class TopTypeof(Primitive):
|
|
|
2054
2057
|
def __init__(self):
|
|
2055
2058
|
self.prim = Primitive('TopTypeof')
|
|
2056
2059
|
self.typeof_cache = {
|
|
2057
|
-
'slice':
|
|
2058
|
-
'list':
|
|
2059
|
-
'tuple':
|
|
2060
|
-
'Tensor':
|
|
2061
|
-
'NoneType':
|
|
2062
|
-
'int':
|
|
2063
|
-
'bool':
|
|
2064
|
-
'ellipsis':
|
|
2060
|
+
'slice': mstype.Slice(),
|
|
2061
|
+
'list': mstype.List(),
|
|
2062
|
+
'tuple': mstype.Tuple(),
|
|
2063
|
+
'Tensor': mstype.tensor,
|
|
2064
|
+
'NoneType': mstype.none_type(),
|
|
2065
|
+
'int': mstype.Int(),
|
|
2066
|
+
'bool': mstype.Bool(),
|
|
2067
|
+
'ellipsis': mstype.Ellipsis_(),
|
|
2068
|
+
'dict': mstype.Dict()
|
|
2065
2069
|
}
|
|
2066
2070
|
|
|
2067
2071
|
def __call__(self, x):
|
|
2068
2072
|
index_type = type(x).__name__
|
|
2069
2073
|
if 'Tensor' in index_type:
|
|
2070
2074
|
index_type = 'Tensor'
|
|
2071
|
-
if index_type in
|
|
2075
|
+
if index_type in self.typeof_cache:
|
|
2072
2076
|
return self.typeof_cache.get(index_type)
|
|
2073
2077
|
return _pynative_executor.constant_folding(self.prim, x)
|
|
2074
2078
|
|
|
@@ -2237,20 +2241,27 @@ class SameTypeShape(PrimitiveWithInfer):
|
|
|
2237
2241
|
"""run in PyNative mode"""
|
|
2238
2242
|
validator.check_value_type('x', x, Tensor, self.name)
|
|
2239
2243
|
validator.check_value_type('y', y, Tensor, self.name)
|
|
2240
|
-
validator.check('x dtype', x.dtype, 'y dtype', y.dtype,
|
|
2241
|
-
validator.check('x shape', x.shape, 'y shape', y.shape,
|
|
2244
|
+
validator.check('x dtype', x.dtype, 'y dtype', y.dtype, validator.EQ, self.name, TypeError)
|
|
2245
|
+
validator.check('x shape', x.shape, 'y shape', y.shape, validator.EQ, self.name)
|
|
2242
2246
|
return x
|
|
2243
2247
|
|
|
2244
2248
|
def __infer__(self, x, y):
|
|
2245
2249
|
validator.check_subclass('x', x['dtype'], mstype.tensor, self.name)
|
|
2246
2250
|
validator.check_subclass('y', y['dtype'], mstype.tensor, self.name)
|
|
2247
|
-
validator.check('x dtype', x['dtype'], 'y dtype', y['dtype'],
|
|
2248
|
-
validator.check('x shape', x['shape'], 'y shape', y['shape'],
|
|
2251
|
+
validator.check('x dtype', x['dtype'], 'y dtype', y['dtype'], validator.EQ, self.name, TypeError)
|
|
2252
|
+
validator.check('x shape', x['shape'], 'y shape', y['shape'], validator.EQ, self.name)
|
|
2249
2253
|
return x
|
|
2250
2254
|
|
|
2255
|
+
|
|
2251
2256
|
same_type_shape_ = SameTypeShape()
|
|
2252
2257
|
|
|
2253
2258
|
|
|
2259
|
+
def _is_subclass_(type_, dtype):
|
|
2260
|
+
if not isinstance(type_, typing.Type):
|
|
2261
|
+
return False
|
|
2262
|
+
return typing.is_subclass(type_, dtype)
|
|
2263
|
+
|
|
2264
|
+
|
|
2254
2265
|
class IsSubClass(PrimitiveWithInfer):
|
|
2255
2266
|
"""
|
|
2256
2267
|
Checks whether this type is a sub-class of another type.
|
|
@@ -2285,7 +2296,7 @@ class IsSubClass(PrimitiveWithInfer):
|
|
|
2285
2296
|
validator.check_value_type("sub_type", sub_type_t, [mstype.Type], self.name)
|
|
2286
2297
|
validator.check_value_type("type_", type_v, [mstype.Type], self.name)
|
|
2287
2298
|
|
|
2288
|
-
value =
|
|
2299
|
+
value = _is_subclass_(sub_type_t, type_v)
|
|
2289
2300
|
|
|
2290
2301
|
out = {'shape': (),
|
|
2291
2302
|
'dtype': mstype.type_type,
|
|
@@ -2335,9 +2346,204 @@ class IsInstance(PrimitiveWithInfer):
|
|
|
2335
2346
|
elif type_v == mstype.tuple_:
|
|
2336
2347
|
value = isinstance(sub_type_t, tuple)
|
|
2337
2348
|
else:
|
|
2338
|
-
value =
|
|
2349
|
+
value = _is_subclass_(sub_type_t, type_v)
|
|
2339
2350
|
|
|
2340
2351
|
out = {'shape': (),
|
|
2341
2352
|
'dtype': mstype.type_type,
|
|
2342
2353
|
'value': value}
|
|
2343
2354
|
return out
|
|
2355
|
+
|
|
2356
|
+
|
|
2357
|
+
class ConvertToAdapterTensor(Primitive):
|
|
2358
|
+
"""
|
|
2359
|
+
Convert a tensor from MindSpore's Tensor type to MSAdapter's Tensor type,
|
|
2360
|
+
where MSAdapter's Tensor is a subclass of MindSpore's Tensor.
|
|
2361
|
+
|
|
2362
|
+
Inputs:
|
|
2363
|
+
- **x** (Tensor) - The input tensor.
|
|
2364
|
+
|
|
2365
|
+
Outputs:
|
|
2366
|
+
A tensor, whose type is MSAdapter's Tensor.
|
|
2367
|
+
|
|
2368
|
+
Supported Platforms:
|
|
2369
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
2370
|
+
|
|
2371
|
+
Examples:
|
|
2372
|
+
>>> x = Tensor([1, 2 ,3])
|
|
2373
|
+
>>> x = ops.ConvertToAdapterTensor()(x)
|
|
2374
|
+
>>> print(x)
|
|
2375
|
+
[1 2 3]
|
|
2376
|
+
"""
|
|
2377
|
+
@prim_attr_register
|
|
2378
|
+
def __init__(self):
|
|
2379
|
+
"""Initialize"""
|
|
2380
|
+
|
|
2381
|
+
def __call__(self, x):
|
|
2382
|
+
"""run in PyNative mode"""
|
|
2383
|
+
return ms_adapter_registry.tensor(x, inner=True)
|
|
2384
|
+
|
|
2385
|
+
convert_to_adapter_tensor = ConvertToAdapterTensor()
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
class ConvertToMsTensor(Primitive):
|
|
2389
|
+
"""
|
|
2390
|
+
Convert a tensor from MSAdapter's Tensor type to MindSpore's Tensor type,
|
|
2391
|
+
where MSAdapter's Tensor is a subclass of MindSpore's Tensor.
|
|
2392
|
+
|
|
2393
|
+
Inputs:
|
|
2394
|
+
- **x** (Tensor) - The input tensor.
|
|
2395
|
+
|
|
2396
|
+
Outputs:
|
|
2397
|
+
A tensor, whose type is MindSpore's Tensor.
|
|
2398
|
+
|
|
2399
|
+
Supported Platforms:
|
|
2400
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
2401
|
+
|
|
2402
|
+
Examples:
|
|
2403
|
+
>>> x = Tensor([1, 2 ,3])
|
|
2404
|
+
>>> x = ops.ConvertToMsTensor()(x)
|
|
2405
|
+
>>> print(x)
|
|
2406
|
+
[1 2 3]
|
|
2407
|
+
"""
|
|
2408
|
+
@prim_attr_register
|
|
2409
|
+
def __init__(self):
|
|
2410
|
+
"""Initialize"""
|
|
2411
|
+
|
|
2412
|
+
def __call__(self, x):
|
|
2413
|
+
"""run in PyNative mode"""
|
|
2414
|
+
return Tensor(x)
|
|
2415
|
+
|
|
2416
|
+
convert_to_ms_tensor = ConvertToMsTensor()
|
|
2417
|
+
|
|
2418
|
+
|
|
2419
|
+
class GetGrad(Primitive):
|
|
2420
|
+
"""
|
|
2421
|
+
Use the position id or Parameter object to get the gradient from the output
|
|
2422
|
+
which returned by the :func:`mindspore.ops.grad`.
|
|
2423
|
+
"""
|
|
2424
|
+
|
|
2425
|
+
@prim_attr_register
|
|
2426
|
+
def __init__(self):
|
|
2427
|
+
"""Initialize ScatterElements"""
|
|
2428
|
+
self.init_prim_io_names(
|
|
2429
|
+
inputs=['gradients', 'x'], outputs=['gradient'])
|
|
2430
|
+
|
|
2431
|
+
def __call__(self, gradients, x):
|
|
2432
|
+
if not isinstance(x, int) and not isinstance(x, Parameter):
|
|
2433
|
+
raise TypeError(
|
|
2434
|
+
f"For `get_grad`, the `x` should be an integer or a Parameter, but got {x}")
|
|
2435
|
+
hash_id = x
|
|
2436
|
+
if isinstance(x, Parameter):
|
|
2437
|
+
hash_id = x.name
|
|
2438
|
+
output = None
|
|
2439
|
+
|
|
2440
|
+
def _get_grad(grads, identifier):
|
|
2441
|
+
if isinstance(grads, tuple):
|
|
2442
|
+
if len(grads) != 2 or identifier != grads[0]:
|
|
2443
|
+
for gradient in grads:
|
|
2444
|
+
_get_grad(gradient, identifier)
|
|
2445
|
+
else:
|
|
2446
|
+
nonlocal output
|
|
2447
|
+
output = grads[1]
|
|
2448
|
+
return
|
|
2449
|
+
|
|
2450
|
+
_get_grad(gradients, hash_id)
|
|
2451
|
+
if output is None:
|
|
2452
|
+
raise RuntimeError(
|
|
2453
|
+
f"Can not find the gradient for position or Parameter {x}")
|
|
2454
|
+
return output
|
|
2455
|
+
|
|
2456
|
+
|
|
2457
|
+
class IsParameter(PrimitiveWithInfer):
|
|
2458
|
+
"""
|
|
2459
|
+
Check if input is `Parameter`
|
|
2460
|
+
"""
|
|
2461
|
+
@prim_attr_register
|
|
2462
|
+
def __init__(self):
|
|
2463
|
+
"""Initialize IsParameter"""
|
|
2464
|
+
|
|
2465
|
+
def __call__(self, x):
|
|
2466
|
+
return isinstance(x, Parameter)
|
|
2467
|
+
|
|
2468
|
+
def __infer__(self, x):
|
|
2469
|
+
return {'shape': [],
|
|
2470
|
+
'dtype': mstype.bool_,
|
|
2471
|
+
'value': isinstance(x['dtype'], mstype.ref_type)}
|
|
2472
|
+
|
|
2473
|
+
|
|
2474
|
+
class SiLU(Primitive):
|
|
2475
|
+
r"""
|
|
2476
|
+
Computes SiLU (Sigmoid Linear Unit activation function) of input tensors element-wise.
|
|
2477
|
+
|
|
2478
|
+
Refer to :func:`mindspore.ops.silu` for more details.
|
|
2479
|
+
|
|
2480
|
+
Supported Platforms:
|
|
2481
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
2482
|
+
|
|
2483
|
+
Examples:
|
|
2484
|
+
>>> x = Tensor(np.array([-1, 2, -3, 2, -1]), mindspore.float16)
|
|
2485
|
+
>>> output = ops.SiLU(x)
|
|
2486
|
+
>>> print(output)
|
|
2487
|
+
[-0.269 1.762 -0.1423 1.762 -0.269]
|
|
2488
|
+
"""
|
|
2489
|
+
|
|
2490
|
+
@prim_attr_register
|
|
2491
|
+
def __init__(self):
|
|
2492
|
+
"""Initialize SiLU"""
|
|
2493
|
+
self.init_prim_io_names(inputs=['x'], outputs=['output'])
|
|
2494
|
+
|
|
2495
|
+
|
|
2496
|
+
class TileSize(Primitive):
|
|
2497
|
+
r"""
|
|
2498
|
+
Tile size for matmul
|
|
2499
|
+
"""
|
|
2500
|
+
|
|
2501
|
+
@prim_attr_register
|
|
2502
|
+
def __init__(self):
|
|
2503
|
+
"""Initialize TileSize"""
|
|
2504
|
+
self.init_prim_io_names(inputs=['shape', 'out_shape', 'ndim'], outputs=['output'])
|
|
2505
|
+
|
|
2506
|
+
def __call__(self, shape, out_shape, ndim):
|
|
2507
|
+
size = [1] * ndim
|
|
2508
|
+
for idx, (i, j) in enumerate(zip(shape, out_shape)):
|
|
2509
|
+
if i != j:
|
|
2510
|
+
size[idx] = j
|
|
2511
|
+
return tuple(size)
|
|
2512
|
+
|
|
2513
|
+
|
|
2514
|
+
class GetitemTensorIndexInfo(Primitive):
|
|
2515
|
+
r"""
|
|
2516
|
+
Get getitem tensor index info
|
|
2517
|
+
"""
|
|
2518
|
+
|
|
2519
|
+
@prim_attr_register
|
|
2520
|
+
def __init__(self, is_ascend):
|
|
2521
|
+
"""Initialize GetitemTensorIndexInfo"""
|
|
2522
|
+
self.init_prim_io_names(inputs=['data', 'index'],
|
|
2523
|
+
outputs=["new_index", "tensor_update_types", "tensor_update_args"])
|
|
2524
|
+
validator.check_value_type('is_ascend', is_ascend, [bool], self.name)
|
|
2525
|
+
self.is_ascend = is_ascend
|
|
2526
|
+
|
|
2527
|
+
def __call__(self, data, index):
|
|
2528
|
+
return Tensor_.getitem_index_info(data, index, self.is_ascend)
|
|
2529
|
+
|
|
2530
|
+
|
|
2531
|
+
class SetitemTensorIndexInfo(Primitive):
|
|
2532
|
+
r"""
|
|
2533
|
+
Get setitem tensor index info
|
|
2534
|
+
"""
|
|
2535
|
+
|
|
2536
|
+
@prim_attr_register
|
|
2537
|
+
def __init__(self, is_ascend):
|
|
2538
|
+
"""Initialize GetitemTensorIndexInfo"""
|
|
2539
|
+
self.init_prim_io_names(
|
|
2540
|
+
inputs=['data', 'index', 'value'], outputs=['new_index',
|
|
2541
|
+
'v_transfer_types',
|
|
2542
|
+
'v_transfer_args',
|
|
2543
|
+
'tensor_update_types',
|
|
2544
|
+
'tensor_update_args'])
|
|
2545
|
+
validator.check_value_type('is_ascend', is_ascend, [bool], self.name)
|
|
2546
|
+
self.is_ascend = is_ascend
|
|
2547
|
+
|
|
2548
|
+
def __call__(self, data, index, value):
|
|
2549
|
+
return Tensor_.setitem_index_info(data, index, value, self.is_ascend)
|