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
|
@@ -25,7 +25,7 @@ from mindspore.ops.functional import broadcast_gradient_args
|
|
|
25
25
|
from mindspore.ops import operations as P
|
|
26
26
|
from mindspore.ops.operations import _inner_ops as inner
|
|
27
27
|
from mindspore.ops.operations.math_ops import Trace, Bernoulli, Renorm
|
|
28
|
-
from mindspore import nn,
|
|
28
|
+
from mindspore import nn, Tensor
|
|
29
29
|
from mindspore.ops.operations.math_ops import Real, Imag, Complex, Angle
|
|
30
30
|
from mindspore.ops.operations.math_ops import Polar
|
|
31
31
|
from mindspore.ops.operations.math_ops import ComplexAbs
|
|
@@ -60,6 +60,7 @@ from mindspore.ops.operations.math_ops import NanToNum
|
|
|
60
60
|
from mindspore.ops.operations.math_ops import FFTWithSize
|
|
61
61
|
from mindspore.ops.operations.math_ops import Betainc
|
|
62
62
|
from mindspore.ops.operations.math_ops import Cholesky
|
|
63
|
+
from mindspore.ops.operations.math_ops import Fmin
|
|
63
64
|
from mindspore.ops.operations.math_ops import CholeskySolve
|
|
64
65
|
from mindspore.ops.operations.math_ops import InplaceIndexAdd
|
|
65
66
|
from mindspore.ops.operations.math_ops import AddV2
|
|
@@ -67,11 +68,12 @@ from mindspore.ops.operations.math_ops import TridiagonalMatMul
|
|
|
67
68
|
from mindspore.ops.operations.math_ops import TridiagonalSolve
|
|
68
69
|
from mindspore.ops.operations.math_ops import Logit
|
|
69
70
|
from mindspore.ops.operations.math_ops import Diagonal
|
|
71
|
+
from mindspore.ops.operations.math_ops import EuclideanNorm
|
|
70
72
|
from mindspore.ops.operations.array_ops import Transpose, MatrixSetDiagV3
|
|
73
|
+
from mindspore.ops.operations.math_ops import Fmax
|
|
71
74
|
from mindspore.ops.operations._inner_ops import DynamicBroadcastGradientArgs
|
|
72
75
|
from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
|
|
73
|
-
from mindspore.ops.primitive import
|
|
74
|
-
from mindspore.ops._utils.utils import is_shape_unknown, is_dim_unknown
|
|
76
|
+
from mindspore.ops.primitive import _primexpr
|
|
75
77
|
from mindspore.ops._grad.grad_base import bprop_getters, create_tensor_by_element, dyn_rank
|
|
76
78
|
from mindspore.ops._grad.grad_base import dyn_ones, dyn_fill, sum_grad_reduce_axis
|
|
77
79
|
from mindspore.ops._grad.grad_math_ops import binop_grad_common
|
|
@@ -83,7 +85,7 @@ dyn_shape_op = P.TensorShape()
|
|
|
83
85
|
_conj = P.Conj()
|
|
84
86
|
|
|
85
87
|
|
|
86
|
-
@
|
|
88
|
+
@_primexpr
|
|
87
89
|
def _generate_perm(x_dim):
|
|
88
90
|
perm = tuple(range(x_dim - 2))
|
|
89
91
|
return perm
|
|
@@ -158,7 +160,7 @@ def get_bprop_cdist(self):
|
|
|
158
160
|
|
|
159
161
|
def bprop(input_x, input_y, out, dout):
|
|
160
162
|
dout_shape = F.shape(dout)
|
|
161
|
-
if
|
|
163
|
+
if F.is_sequence_value_unknown(dout_shape):
|
|
162
164
|
dout_dim = dyn_rank(dout)
|
|
163
165
|
dout_perm_part2 = create_tensor_by_element(
|
|
164
166
|
(dout_dim - 1, dout_dim - 2))
|
|
@@ -356,7 +358,7 @@ def get_bprop_index_addcmul(self):
|
|
|
356
358
|
return bprop
|
|
357
359
|
|
|
358
360
|
|
|
359
|
-
@
|
|
361
|
+
@_primexpr
|
|
360
362
|
def renew_dim(shape, dim):
|
|
361
363
|
""" Re-new dims"""
|
|
362
364
|
new_dim = dim if dim >= 0 else len(shape) + dim
|
|
@@ -365,6 +367,21 @@ def renew_dim(shape, dim):
|
|
|
365
367
|
return tuple(tmp)
|
|
366
368
|
|
|
367
369
|
|
|
370
|
+
@bprop_getters.register(EuclideanNorm)
|
|
371
|
+
def get_bprop_euclidean_norm(self):
|
|
372
|
+
"""Generate bprop for EuclideanNorm"""
|
|
373
|
+
expand_dims = P.ExpandDims()
|
|
374
|
+
keep_dims = self.keep_dims
|
|
375
|
+
|
|
376
|
+
def bprop(x, axes, out, dout):
|
|
377
|
+
scale_v = dout / out
|
|
378
|
+
if not keep_dims and x.shape != ():
|
|
379
|
+
scale_v = expand_dims(scale_v, axes)
|
|
380
|
+
return (x * scale_v, zeros_like(axes))
|
|
381
|
+
|
|
382
|
+
return bprop
|
|
383
|
+
|
|
384
|
+
|
|
368
385
|
@bprop_getters.register(Renorm)
|
|
369
386
|
def get_bprop_renorm(self):
|
|
370
387
|
"""Generate bprop for Renorm """
|
|
@@ -437,7 +454,7 @@ def get_bprop_lp_norm(self):
|
|
|
437
454
|
else:
|
|
438
455
|
input_scaled = pow_op(abs_op(input_x), (p - 2)) * input_x
|
|
439
456
|
scale_v = dout / pow_op(out, (p - 1))
|
|
440
|
-
return (input_scaled * scale_v,)
|
|
457
|
+
return (mnp.where(input_scaled == 0, 0, input_scaled * scale_v),)
|
|
441
458
|
|
|
442
459
|
return bprop
|
|
443
460
|
|
|
@@ -451,42 +468,18 @@ def get_brop_cumulative_logsumexp(self):
|
|
|
451
468
|
cumulative_op = CumulativeLogsumexp(self.exclusive, not self.reverse)
|
|
452
469
|
less_op = P.Less()
|
|
453
470
|
neg_op = P.Neg()
|
|
454
|
-
|
|
455
|
-
def where_v2(condition, x=None, y=None):
|
|
456
|
-
return_all = None
|
|
457
|
-
if x is None and y is None:
|
|
458
|
-
return_all = mnp.where(condition, x, y)
|
|
459
|
-
elif x is not None and y is not None:
|
|
460
|
-
shape_ = x.shape
|
|
461
|
-
input_y = np.resize(y, shape_)
|
|
462
|
-
input_y = Tensor(input_y).astype(x.dtype)
|
|
463
|
-
return_all = ops.select(condition, x, input_y)
|
|
464
|
-
else:
|
|
465
|
-
raise ValueError("x and y must both be non-None or both be None.")
|
|
466
|
-
return return_all
|
|
471
|
+
cast = P.Cast()
|
|
467
472
|
|
|
468
473
|
def bprop(x, axis, out, dout):
|
|
469
474
|
dtype_min = 0
|
|
470
|
-
fp64_flag = False
|
|
471
475
|
if x.dtype == mstype.float16:
|
|
472
|
-
dtype_min =
|
|
473
|
-
|
|
474
|
-
dtype_min =
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
x = F.cast(x, mstype.float32)
|
|
478
|
-
out = F.cast(out, mstype.float32)
|
|
479
|
-
dtype_min = -3.4028235e+38
|
|
480
|
-
fp64_flag = True
|
|
481
|
-
|
|
482
|
-
log_grad_positive = where_v2(greater_op(dout, 0), log_op(dout), dtype_min)
|
|
483
|
-
log_grad_negative = where_v2(less_op(dout, 0), log_op(neg_op(dout)), dtype_min)
|
|
476
|
+
dtype_min = cast(np.finfo(np.float16).min, x.dtype)
|
|
477
|
+
else:
|
|
478
|
+
dtype_min = cast(np.finfo(np.float32).min, x.dtype)
|
|
479
|
+
log_grad_positive = mnp.where(greater_op(dout, 0), log_op(dout), dtype_min)
|
|
480
|
+
log_grad_negative = mnp.where(less_op(dout, 0), log_op(neg_op(dout)), dtype_min)
|
|
484
481
|
output_pos = exp_op(cumulative_op(log_grad_positive - out, axis) + x)
|
|
485
482
|
output_neg = exp_op(cumulative_op(log_grad_negative - out, axis) + x)
|
|
486
|
-
if fp64_flag:
|
|
487
|
-
output_pos = F.cast(output_pos, mstype.float64)
|
|
488
|
-
output_neg = F.cast(output_neg, mstype.float64)
|
|
489
|
-
x = F.cast(x, mstype.float64)
|
|
490
483
|
return (output_pos - output_neg, zeros_like(x))
|
|
491
484
|
|
|
492
485
|
return bprop
|
|
@@ -561,7 +554,7 @@ def get_bprop_matrix_exp(self):
|
|
|
561
554
|
dyn_shape = P.TensorShape()
|
|
562
555
|
|
|
563
556
|
def bprop(x, out, dout):
|
|
564
|
-
if
|
|
557
|
+
if F.is_sequence_value_unknown(x.shape):
|
|
565
558
|
shape_x = dyn_shape(x)
|
|
566
559
|
x_len = dyn_rank(x)
|
|
567
560
|
input_perm = range_op(cast(0, mstype.int64), x_len, cast(1, mstype.int64))
|
|
@@ -585,7 +578,7 @@ def get_bprop_matrix_exp(self):
|
|
|
585
578
|
meta_grad = concat_col((meta_grad_up, meta_grad_down))
|
|
586
579
|
meta_grad = matrix_exp(meta_grad)
|
|
587
580
|
|
|
588
|
-
if
|
|
581
|
+
if F.is_sequence_value_unknown(x.shape):
|
|
589
582
|
begins = dyn_fill(mstype.int32, expand_dims(x_len, 0), 0)
|
|
590
583
|
sizes = cast(shape_x, mstype.int32)
|
|
591
584
|
else:
|
|
@@ -600,22 +593,6 @@ def get_bprop_matrix_exp(self):
|
|
|
600
593
|
return bprop
|
|
601
594
|
|
|
602
595
|
|
|
603
|
-
@bprop_getters.register(P.MatrixInverse)
|
|
604
|
-
def get_bprop_matrix_inverse(self):
|
|
605
|
-
"""Generate bprop for MatrixInverse"""
|
|
606
|
-
matmul_x1 = nn.MatMul(transpose_x1=True)
|
|
607
|
-
matmul_x2 = nn.MatMul(transpose_x2=True)
|
|
608
|
-
neg = P.Neg()
|
|
609
|
-
|
|
610
|
-
def bprop(x, out, dout):
|
|
611
|
-
dx = matmul_x2(dout, out)
|
|
612
|
-
dx = matmul_x1(out, dx)
|
|
613
|
-
dx = neg(dx)
|
|
614
|
-
return (dx,)
|
|
615
|
-
|
|
616
|
-
return bprop
|
|
617
|
-
|
|
618
|
-
|
|
619
596
|
@bprop_getters.register(MatrixPower)
|
|
620
597
|
def get_bprop_matrix_power(self):
|
|
621
598
|
"""Generate bprop for MatrixPower"""
|
|
@@ -672,7 +649,7 @@ def get_bprop_matrix_solve(self):
|
|
|
672
649
|
grad_b = cast(grad_b, mstype.float32)
|
|
673
650
|
|
|
674
651
|
a_shape = F.shape(input_a)
|
|
675
|
-
if
|
|
652
|
+
if F.is_sequence_value_unknown(a_shape):
|
|
676
653
|
matrix_rank = dyn_rank(input_a)
|
|
677
654
|
else:
|
|
678
655
|
matrix_rank = rank(input_a)
|
|
@@ -697,7 +674,7 @@ def get_bprop_matrix_solve(self):
|
|
|
697
674
|
return bprop
|
|
698
675
|
|
|
699
676
|
|
|
700
|
-
@
|
|
677
|
+
@_primexpr
|
|
701
678
|
def _generate_perm_matrix_solve_ls(x_dim):
|
|
702
679
|
perm = tuple(range(x_dim - 2))
|
|
703
680
|
perm = perm + (x_dim-1, x_dim-2)
|
|
@@ -722,6 +699,7 @@ def get_bprop_matrix_solve_ls(self):
|
|
|
722
699
|
conjugate_transpose = ConjugateTranspose()
|
|
723
700
|
shape = P.Shape()
|
|
724
701
|
_complex = P.Complex()
|
|
702
|
+
scalar2tensor = P.ScalarToTensor()
|
|
725
703
|
|
|
726
704
|
def regularized_gramian_cholesky(matrix, l2, first_kind):
|
|
727
705
|
matrix_dim = rank(matrix)
|
|
@@ -785,7 +763,7 @@ def get_bprop_matrix_solve_ls(self):
|
|
|
785
763
|
grad_a = add(neg(matmul(matrix, zx_sym)), matmul(rhs, z_temp))
|
|
786
764
|
grad_b = matmul(matrix, z)
|
|
787
765
|
|
|
788
|
-
return (grad_a, grad_b,
|
|
766
|
+
return (grad_a, grad_b, scalar2tensor(0, l2.dtype))
|
|
789
767
|
|
|
790
768
|
def under_determined(matrix, rhs, l2, dout):
|
|
791
769
|
if matrix.dtype == mstype.complex64:
|
|
@@ -832,7 +810,7 @@ def get_bprop_matrix_solve_ls(self):
|
|
|
832
810
|
a2 = matmul(tmp, a2_temp)
|
|
833
811
|
|
|
834
812
|
grad_a = add(a1, a2)
|
|
835
|
-
return (grad_a, grad_b,
|
|
813
|
+
return (grad_a, grad_b, scalar2tensor(0, l2.dtype))
|
|
836
814
|
|
|
837
815
|
if fast is False:
|
|
838
816
|
raise ValueError("For MatrixSolveLs, gradient not defined for fast=False")
|
|
@@ -855,7 +833,7 @@ def get_bprop_matrix_determinant(self):
|
|
|
855
833
|
concat = P.Concat(0)
|
|
856
834
|
|
|
857
835
|
def bprop(x, out, dout):
|
|
858
|
-
if
|
|
836
|
+
if F.is_sequence_value_unknown(shape_op(x)):
|
|
859
837
|
x_adj_inv = inverse_op(x)
|
|
860
838
|
out_shape = dyn_shape_op(out)
|
|
861
839
|
ones = create_tensor_by_element((1, 1))
|
|
@@ -879,7 +857,7 @@ def get_bprop_log_matrix_determinant(self):
|
|
|
879
857
|
|
|
880
858
|
def bprop(x, out, dout):
|
|
881
859
|
x_adj_inv = inverse_op(x)
|
|
882
|
-
if
|
|
860
|
+
if F.is_sequence_value_unknown(shape_op(out[1])):
|
|
883
861
|
const_value = F.cast(1, mstype.int64)
|
|
884
862
|
const_value = P.ExpandDims()(const_value, 0)
|
|
885
863
|
new_shape = P.Concat()((dyn_shape_op(out[1]), const_value, const_value))
|
|
@@ -902,7 +880,7 @@ def get_bprop_betainc(self):
|
|
|
902
880
|
dyn_shape = P.TensorShape()
|
|
903
881
|
|
|
904
882
|
def bprop(input_a, input_b, input_x, out, dout):
|
|
905
|
-
if
|
|
883
|
+
if F.is_sequence_value_unknown(F.shape(input_x)):
|
|
906
884
|
sx = dyn_shape(input_x)
|
|
907
885
|
else:
|
|
908
886
|
sx = F.shape(input_x)
|
|
@@ -1044,6 +1022,7 @@ def get_bprop_polar(self):
|
|
|
1044
1022
|
sig = P.Sign()
|
|
1045
1023
|
ones = P.Ones()
|
|
1046
1024
|
zeros = P.Zeros()
|
|
1025
|
+
|
|
1047
1026
|
def bprop(input1, angle, out, dout):
|
|
1048
1027
|
grad_conj = conj(dout)
|
|
1049
1028
|
zero = zeros(dout.shape, input1.dtype)
|
|
@@ -1317,7 +1296,7 @@ def get_bprop_trace(self):
|
|
|
1317
1296
|
|
|
1318
1297
|
def bprop(x, out, dout):
|
|
1319
1298
|
shape = shape_op(x)
|
|
1320
|
-
if
|
|
1299
|
+
if F.is_sequence_value_unknown(shape):
|
|
1321
1300
|
shape = dyn_shape_op(x)
|
|
1322
1301
|
dx = input_grad(dout, shape)
|
|
1323
1302
|
else:
|
|
@@ -1327,6 +1306,115 @@ def get_bprop_trace(self):
|
|
|
1327
1306
|
return bprop
|
|
1328
1307
|
|
|
1329
1308
|
|
|
1309
|
+
@bprop_getters.register(Fmin)
|
|
1310
|
+
def get_bprop_fmin(self):
|
|
1311
|
+
"""Grad definition for 'Fmin' operation"""
|
|
1312
|
+
shape_ = P.Shape()
|
|
1313
|
+
masked_fill_op = P.MaskedFill()
|
|
1314
|
+
logical_or_op = P.LogicalOr()
|
|
1315
|
+
logical_not_op = P.LogicalNot()
|
|
1316
|
+
logical_and_op = P.LogicalAnd()
|
|
1317
|
+
mul_op = P.Mul()
|
|
1318
|
+
is_nan_op = P.IsNan()
|
|
1319
|
+
reshape_ = P.Reshape()
|
|
1320
|
+
|
|
1321
|
+
def bprop(x1, x2, out, dout):
|
|
1322
|
+
x1_dtype = F.dtype(x1)
|
|
1323
|
+
x2_dtype = F.dtype(x2)
|
|
1324
|
+
x1 = F.cast(x1, mstype.float32)
|
|
1325
|
+
x2 = F.cast(x2, mstype.float32)
|
|
1326
|
+
dout = F.cast(dout, mstype.float32)
|
|
1327
|
+
b1 = logical_or_op((x1 <= x2), is_nan_op(x2))
|
|
1328
|
+
b2 = logical_or_op((x2 < x1), logical_and_op(is_nan_op(x1), logical_not_op(is_nan_op(x2))))
|
|
1329
|
+
rx1 = masked_fill_op(x1, b1, 1.)
|
|
1330
|
+
rx1 = masked_fill_op(rx1, logical_not_op(b1), 0.)
|
|
1331
|
+
rx2 = masked_fill_op(x2, b2, 1.)
|
|
1332
|
+
rx2 = masked_fill_op(rx2, logical_not_op(b2), 0.)
|
|
1333
|
+
rrx1 = mul_op(rx1, dout)
|
|
1334
|
+
rrx2 = mul_op(rx2, dout)
|
|
1335
|
+
shape_of_x1 = shape_(x1)
|
|
1336
|
+
shape_of_x2 = shape_(x2)
|
|
1337
|
+
x1_dim = len(shape_of_x1)
|
|
1338
|
+
x2_dim = len(shape_of_x2)
|
|
1339
|
+
if x1_dim == 0 and x2_dim != 0:
|
|
1340
|
+
sum_r1 = rrx1.sum()
|
|
1341
|
+
sum_r2 = rrx2
|
|
1342
|
+
elif x1_dim == 0 and x2_dim == 0:
|
|
1343
|
+
sum_r1 = rrx1.sum()
|
|
1344
|
+
sum_r2 = rrx2.sum()
|
|
1345
|
+
elif x1_dim != 0 and x2_dim == 0:
|
|
1346
|
+
sum_r2 = rrx2.sum()
|
|
1347
|
+
sum_r1 = rrx1
|
|
1348
|
+
else:
|
|
1349
|
+
rx, ry = DynamicBroadcastGradientArgs()(shape_of_x1, shape_of_x2)
|
|
1350
|
+
sum_r1 = sum_grad_reduce_axis(rrx1, rx)
|
|
1351
|
+
sum_r2 = sum_grad_reduce_axis(rrx2, ry)
|
|
1352
|
+
brrx1 = reshape_(sum_r1, shape_of_x1)
|
|
1353
|
+
brrx2 = reshape_(sum_r2, shape_of_x2)
|
|
1354
|
+
brrx1 = F.cast(brrx1, x1_dtype)
|
|
1355
|
+
brrx2 = F.cast(brrx2, x2_dtype)
|
|
1356
|
+
return brrx1, brrx2
|
|
1357
|
+
|
|
1358
|
+
return bprop
|
|
1359
|
+
|
|
1360
|
+
|
|
1361
|
+
@bprop_getters.register(Fmax)
|
|
1362
|
+
def get_bprop_fmax(self):
|
|
1363
|
+
"""Grad definition for 'Fmax' operation"""
|
|
1364
|
+
shape_ = P.Shape()
|
|
1365
|
+
masked_fill_op = P.MaskedFill()
|
|
1366
|
+
logical_or_op = P.LogicalOr()
|
|
1367
|
+
logical_not_op = P.LogicalNot()
|
|
1368
|
+
logical_and_op = P.LogicalAnd()
|
|
1369
|
+
mul_op = P.Mul()
|
|
1370
|
+
is_nan_op = P.IsNan()
|
|
1371
|
+
reshape_ = P.Reshape()
|
|
1372
|
+
|
|
1373
|
+
def bprop(x1, x2, out, dout):
|
|
1374
|
+
x1_dtype = F.dtype(x1)
|
|
1375
|
+
x2_dtype = F.dtype(x2)
|
|
1376
|
+
if x1_dtype != mstype.float32:
|
|
1377
|
+
x1 = F.cast(x1, mstype.float32)
|
|
1378
|
+
dout = F.cast(dout, mstype.float32)
|
|
1379
|
+
if x2_dtype != mstype.float32:
|
|
1380
|
+
x2 = F.cast(x2, mstype.float32)
|
|
1381
|
+
dout = F.cast(dout, mstype.float32)
|
|
1382
|
+
b1 = logical_or_op(logical_and_op((x1 >= x2), logical_not_op(is_nan_op(x1))), is_nan_op(x2))
|
|
1383
|
+
b2 = logical_or_op(logical_and_op(x2 > x1, logical_not_op(is_nan_op(x2))),
|
|
1384
|
+
logical_and_op(is_nan_op(x1), logical_not_op(is_nan_op(x2))))
|
|
1385
|
+
rx1 = masked_fill_op(x1, b1, 1.)
|
|
1386
|
+
rx1 = masked_fill_op(rx1, logical_not_op(b1), 0.)
|
|
1387
|
+
rx2 = masked_fill_op(x2, b2, 1.)
|
|
1388
|
+
rx2 = masked_fill_op(rx2, logical_not_op(b2), 0.)
|
|
1389
|
+
rrx1 = mul_op(rx1, dout)
|
|
1390
|
+
rrx2 = mul_op(rx2, dout)
|
|
1391
|
+
shape_of_x1 = shape_(x1)
|
|
1392
|
+
shape_of_x2 = shape_(x2)
|
|
1393
|
+
x1_dim = len(shape_of_x1)
|
|
1394
|
+
x2_dim = len(shape_of_x2)
|
|
1395
|
+
if x1_dim == 0 and x2_dim != 0:
|
|
1396
|
+
sum_r1 = rrx1.sum()
|
|
1397
|
+
sum_r2 = rrx2
|
|
1398
|
+
elif x1_dim == 0 and x2_dim == 0:
|
|
1399
|
+
sum_r1 = rrx1.sum()
|
|
1400
|
+
sum_r2 = rrx2.sum()
|
|
1401
|
+
elif x1_dim != 0 and x2_dim == 0:
|
|
1402
|
+
sum_r2 = rrx2.sum()
|
|
1403
|
+
sum_r1 = rrx1
|
|
1404
|
+
else:
|
|
1405
|
+
rx, ry = DynamicBroadcastGradientArgs()(shape_of_x1, shape_of_x2)
|
|
1406
|
+
sum_r1 = sum_grad_reduce_axis(rrx1, rx)
|
|
1407
|
+
sum_r2 = sum_grad_reduce_axis(rrx2, ry)
|
|
1408
|
+
brrx1 = reshape_(sum_r1, shape_of_x1)
|
|
1409
|
+
brrx2 = reshape_(sum_r2, shape_of_x2)
|
|
1410
|
+
brrx1 = F.cast(brrx1, x1_dtype)
|
|
1411
|
+
brrx2 = F.cast(brrx2, x2_dtype)
|
|
1412
|
+
return brrx1, brrx2
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
return bprop
|
|
1416
|
+
|
|
1417
|
+
|
|
1330
1418
|
@bprop_getters.register(G.MinimumGrad)
|
|
1331
1419
|
def get_bprop_minimum_grad(self):
|
|
1332
1420
|
"""Grad definition for 'MinimumGrad' operation"""
|
|
@@ -1355,6 +1443,7 @@ def get_bprop_bernoulli(self):
|
|
|
1355
1443
|
def get_bprop_tridiagonalsolve(self):
|
|
1356
1444
|
"""Grad definition for 'TridiagonalSolve' operation"""
|
|
1357
1445
|
tridiagonalsolve = TridiagonalSolve()
|
|
1446
|
+
|
|
1358
1447
|
def bprop(diagonals, rhs, out, dout):
|
|
1359
1448
|
diags = diagonals
|
|
1360
1449
|
diag1 = diags[..., 1, :]
|
|
@@ -1388,7 +1477,7 @@ def get_bprop_igamma(self):
|
|
|
1388
1477
|
def bprop(a, x, out, dout):
|
|
1389
1478
|
sa = shape_(a)
|
|
1390
1479
|
sx = shape_(x)
|
|
1391
|
-
if
|
|
1480
|
+
if F.is_sequence_value_unknown(sa) or F.is_sequence_value_unknown(sx):
|
|
1392
1481
|
sa = dyn_shape_op(a)
|
|
1393
1482
|
sx = dyn_shape_op(x)
|
|
1394
1483
|
ra, rx = DynamicBroadcastGradientArgs()(sa, sx)
|
|
@@ -1428,7 +1517,7 @@ def get_bprop_igammac(self):
|
|
|
1428
1517
|
def bprop(a, x, out, dout):
|
|
1429
1518
|
sa = shape_(a)
|
|
1430
1519
|
sx = shape_(x)
|
|
1431
|
-
if
|
|
1520
|
+
if F.is_sequence_value_unknown(sa) or F.is_sequence_value_unknown(sx):
|
|
1432
1521
|
sa = dyn_shape_op(a)
|
|
1433
1522
|
sx = dyn_shape_op(x)
|
|
1434
1523
|
ra, rx = DynamicBroadcastGradientArgs()(sa, sx)
|
|
@@ -1463,6 +1552,9 @@ def get_bprop_lgamma(self):
|
|
|
1463
1552
|
x = F.cast(x, mstype.float32)
|
|
1464
1553
|
dx = dout * digamma(x)
|
|
1465
1554
|
dx = F.cast(dx, mstype.float16)
|
|
1555
|
+
elif x.dtype in (mstype.int32,):
|
|
1556
|
+
x = F.cast(x, mstype.float32)
|
|
1557
|
+
dx = dout * digamma(x)
|
|
1466
1558
|
else:
|
|
1467
1559
|
dx = dout * digamma(x)
|
|
1468
1560
|
return (dx,)
|
|
@@ -1474,13 +1566,15 @@ def get_bprop_lgamma(self):
|
|
|
1474
1566
|
def get_bprop_digamma(self):
|
|
1475
1567
|
"""Grad definition for `Digamma` operation."""
|
|
1476
1568
|
polygamma = Polygamma()
|
|
1569
|
+
a = Tensor(1)
|
|
1570
|
+
|
|
1477
1571
|
def bprop(x, out, dout):
|
|
1478
1572
|
if x.dtype in (mstype.float16,):
|
|
1479
1573
|
x = F.cast(x, mstype.float32)
|
|
1480
|
-
dx = dout * polygamma(
|
|
1574
|
+
dx = dout * polygamma(a, x)
|
|
1481
1575
|
dx = F.cast(dx, mstype.float16)
|
|
1482
1576
|
else:
|
|
1483
|
-
dx = dout * polygamma(
|
|
1577
|
+
dx = dout * polygamma(a, x)
|
|
1484
1578
|
return (dx,)
|
|
1485
1579
|
|
|
1486
1580
|
return bprop
|
|
@@ -1492,14 +1586,15 @@ def get_bprop_polygamma(self):
|
|
|
1492
1586
|
polygamma = Polygamma()
|
|
1493
1587
|
|
|
1494
1588
|
def bprop(a, x, out, dout):
|
|
1495
|
-
|
|
1589
|
+
one = Tensor(1)
|
|
1590
|
+
a = a + one
|
|
1496
1591
|
if x.dtype in (mstype.float16,):
|
|
1497
1592
|
x = F.cast(x, mstype.float64)
|
|
1498
1593
|
dx = dout * polygamma(a, x)
|
|
1499
1594
|
dx = F.cast(dx, mstype.float16)
|
|
1500
1595
|
else:
|
|
1501
1596
|
dx = dout * polygamma(a, x)
|
|
1502
|
-
return
|
|
1597
|
+
return zeros_like(a), dx
|
|
1503
1598
|
|
|
1504
1599
|
return bprop
|
|
1505
1600
|
|
|
@@ -1584,7 +1679,7 @@ def get_bprop_cholesky_solve(self):
|
|
|
1584
1679
|
def bprop(x1, x2, out, dout):
|
|
1585
1680
|
flag = 0
|
|
1586
1681
|
shape_x1 = shape_op(x1)
|
|
1587
|
-
if
|
|
1682
|
+
if F.is_sequence_shape_unknown(shape_x1):
|
|
1588
1683
|
len_x1 = dyn_rank(x1)
|
|
1589
1684
|
else:
|
|
1590
1685
|
len_x1 = len(shape_x1)
|
|
@@ -1643,7 +1738,7 @@ def get_bprop_nextafter(self):
|
|
|
1643
1738
|
|
|
1644
1739
|
s_x1 = shape(x1)
|
|
1645
1740
|
partial_x1 = ()
|
|
1646
|
-
if
|
|
1741
|
+
if F.is_sequence_value_unknown(s_x1):
|
|
1647
1742
|
s_x1 = dyn_shape(x1)
|
|
1648
1743
|
partial_x1 = dyn_ones(s_x1, dtype(x1))
|
|
1649
1744
|
else:
|
|
@@ -1651,7 +1746,7 @@ def get_bprop_nextafter(self):
|
|
|
1651
1746
|
|
|
1652
1747
|
s_x2 = shape(x2)
|
|
1653
1748
|
partial_x2 = ()
|
|
1654
|
-
if
|
|
1749
|
+
if F.is_sequence_value_unknown(s_x2):
|
|
1655
1750
|
s_x2 = dyn_shape(x2)
|
|
1656
1751
|
partial_x2 = dyn_fill(dtype(x2), s_x2, 0)
|
|
1657
1752
|
else:
|
|
@@ -1670,13 +1765,14 @@ def get_bprop_diagonal(self):
|
|
|
1670
1765
|
offset = self.offset
|
|
1671
1766
|
dim1 = self.dim1
|
|
1672
1767
|
dim2 = self.dim2
|
|
1673
|
-
|
|
1768
|
+
zeros_op = P.FillV2()
|
|
1674
1769
|
size_op = P.Size()
|
|
1675
1770
|
transpose_op = Transpose()
|
|
1676
1771
|
matrix_set_diag_op = MatrixSetDiagV3(align="LEFT_RIGHT")
|
|
1677
1772
|
|
|
1678
1773
|
def bprop(x, out, dout):
|
|
1679
1774
|
x_shape = x.shape
|
|
1775
|
+
x_dtype = x.dtype
|
|
1680
1776
|
x_dim = len(x_shape)
|
|
1681
1777
|
if dim1 < 0:
|
|
1682
1778
|
dim1_ = dim1 + x_dim
|
|
@@ -1690,7 +1786,8 @@ def get_bprop_diagonal(self):
|
|
|
1690
1786
|
batch_dim = out.shape[:-1]
|
|
1691
1787
|
diag_plane = (x_shape[dim1_], x_shape[dim2_])
|
|
1692
1788
|
dx_trans_shape = batch_dim + diag_plane
|
|
1693
|
-
|
|
1789
|
+
value = Tensor(0, x_dtype)
|
|
1790
|
+
dx = zeros_op(dx_trans_shape, value)
|
|
1694
1791
|
k = F.cast(offset, mstype.int32)
|
|
1695
1792
|
dx = matrix_set_diag_op(dx, dout, k)
|
|
1696
1793
|
dim = 0
|
|
@@ -1738,13 +1835,28 @@ def get_bprop_inplace_index_add(self):
|
|
|
1738
1835
|
return bprop
|
|
1739
1836
|
|
|
1740
1837
|
|
|
1741
|
-
@
|
|
1838
|
+
@bprop_getters.register(P.Zeta)
|
|
1839
|
+
def get_bprop_zeta(self):
|
|
1840
|
+
"""Generate bprop for Zeta"""
|
|
1841
|
+
zeta = P.Zeta()
|
|
1842
|
+
|
|
1843
|
+
def bprop(x, q, out, dout):
|
|
1844
|
+
dq = -x * zeta(x + 1, q) * dout
|
|
1845
|
+
return zeros_like(x), dq
|
|
1846
|
+
|
|
1847
|
+
return bprop
|
|
1848
|
+
|
|
1849
|
+
|
|
1850
|
+
@_primexpr
|
|
1742
1851
|
def _fft_rank_offset(norm_shape, rank):
|
|
1743
1852
|
"""generate offset for fft with rank"""
|
|
1744
|
-
|
|
1853
|
+
norm_shape_product = 1
|
|
1854
|
+
for i in norm_shape[-rank:]:
|
|
1855
|
+
norm_shape_product *= i
|
|
1856
|
+
return norm_shape_product
|
|
1745
1857
|
|
|
1746
1858
|
|
|
1747
|
-
@
|
|
1859
|
+
@_primexpr
|
|
1748
1860
|
def _fft_with_size_back_norm(norm_shape, norm, inverse, rank):
|
|
1749
1861
|
"""generate reverse term for fft_with_size"""
|
|
1750
1862
|
if inverse is False:
|
|
@@ -1764,7 +1876,7 @@ def _fft_with_size_back_norm(norm_shape, norm, inverse, rank):
|
|
|
1764
1876
|
return norm_
|
|
1765
1877
|
|
|
1766
1878
|
|
|
1767
|
-
@
|
|
1879
|
+
@_primexpr
|
|
1768
1880
|
def _rfft_norm(norm_shape, norm, rank):
|
|
1769
1881
|
"""generate norm for rfft"""
|
|
1770
1882
|
norm_ = 1.0
|
|
@@ -1777,7 +1889,7 @@ def _rfft_norm(norm_shape, norm, rank):
|
|
|
1777
1889
|
return norm_
|
|
1778
1890
|
|
|
1779
1891
|
|
|
1780
|
-
@
|
|
1892
|
+
@_primexpr
|
|
1781
1893
|
def _get_last_dim_slice_shape(tensor_shape, index):
|
|
1782
1894
|
"""generate shape for slice last tensor"""
|
|
1783
1895
|
from_shape = [0 for x in tensor_shape]
|
|
@@ -1790,31 +1902,40 @@ def _get_last_dim_slice_shape(tensor_shape, index):
|
|
|
1790
1902
|
return tuple(from_shape), tuple(to_shape)
|
|
1791
1903
|
|
|
1792
1904
|
|
|
1793
|
-
@
|
|
1905
|
+
@_primexpr
|
|
1794
1906
|
def _rfft_reshape(shape_a, shape_b):
|
|
1795
1907
|
"""generate rfft shape for reshape"""
|
|
1796
|
-
|
|
1908
|
+
new_shape = list(shape_b)
|
|
1909
|
+
for i in range(len(shape_a) - 2):
|
|
1910
|
+
new_shape.insert(i, 1)
|
|
1911
|
+
return tuple(new_shape)
|
|
1797
1912
|
|
|
1798
1913
|
|
|
1799
|
-
@
|
|
1914
|
+
@_primexpr
|
|
1800
1915
|
def _rfft_tile_reshape(shape_a):
|
|
1801
1916
|
"""generate rfft shape for tile"""
|
|
1802
|
-
|
|
1917
|
+
reshape_a = list(shape_a)
|
|
1918
|
+
reshape_a[-2] = 1
|
|
1919
|
+
reshape_a[-1] = 1
|
|
1920
|
+
return tuple(reshape_a)
|
|
1803
1921
|
|
|
1804
1922
|
|
|
1805
|
-
@
|
|
1923
|
+
@_primexpr
|
|
1806
1924
|
def _rfft_last_term_shape(shape_a, shape_b):
|
|
1807
1925
|
"""generate rfft shape for last term"""
|
|
1808
|
-
|
|
1926
|
+
new_shape = list(shape_b)
|
|
1927
|
+
for i in range(len(shape_a) - 1):
|
|
1928
|
+
new_shape.insert(i, 1)
|
|
1929
|
+
return tuple(new_shape)
|
|
1809
1930
|
|
|
1810
1931
|
|
|
1811
|
-
@
|
|
1932
|
+
@_primexpr
|
|
1812
1933
|
def _batch_matmul_shape_increase(shape_before):
|
|
1813
1934
|
"""increase tensor shape for batch_matmul"""
|
|
1814
1935
|
return (1, *shape_before)
|
|
1815
1936
|
|
|
1816
1937
|
|
|
1817
|
-
@
|
|
1938
|
+
@_primexpr
|
|
1818
1939
|
def _batch_matmul_shape_decrease(matrix_shape):
|
|
1819
1940
|
"""decrease tensor shape after batch_matmul"""
|
|
1820
1941
|
shape_tmp = list(matrix_shape)
|
|
@@ -1938,9 +2059,9 @@ def get_bprop_fft_with_size(self):
|
|
|
1938
2059
|
input_shape[-1], input_type))
|
|
1939
2060
|
dout_last_term = complex_op(tile_op(real_op(dout_last_term), _rfft_last_term_shape(dout_shape,
|
|
1940
2061
|
[input_shape[
|
|
1941
|
-
-1]
|
|
2062
|
+
-1]])),
|
|
1942
2063
|
tile_op(imag_op(dout_last_term), _rfft_last_term_shape(
|
|
1943
|
-
dout_shape, [input_shape[-1]
|
|
2064
|
+
dout_shape, [input_shape[-1]])))
|
|
1944
2065
|
dout_last_term = dout_last_term * vec_mask
|
|
1945
2066
|
terms = real_op(dout_first_term) + is_even * real_op(dout_last_term)
|
|
1946
2067
|
elif signal_ndim == 3:
|