mindspore 2.5.0__cp39-cp39-win_amd64.whl → 2.6.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/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +6 -4
- 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 +3 -0
- mindspore/_checkparam.py +3 -33
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +19 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +24 -193
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +97 -74
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +4 -4
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +2 -2
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +4 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -1
- mindspore/common/_stub_tensor.py +5 -10
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +1915 -3287
- mindspore/common/api.py +341 -354
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +5 -2
- mindspore/common/dump.py +7 -5
- mindspore/common/file_system.py +3 -0
- mindspore/common/hook_handle.py +5 -3
- mindspore/common/initializer.py +10 -6
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +2 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +106 -39
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +297 -714
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +47 -2
- mindspore/communication/comm_func.py +70 -53
- mindspore/communication/management.py +83 -17
- mindspore/context.py +214 -560
- mindspore/dataset/__init__.py +44 -20
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/cache_client.py +1 -1
- mindspore/dataset/engine/datasets.py +102 -120
- mindspore/dataset/engine/datasets_audio.py +22 -22
- mindspore/dataset/engine/datasets_standard_format.py +43 -24
- mindspore/dataset/engine/datasets_text.py +78 -85
- mindspore/dataset/engine/datasets_user_defined.py +108 -76
- mindspore/dataset/engine/datasets_vision.py +111 -108
- mindspore/dataset/engine/iterators.py +5 -3
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/samplers.py +279 -57
- mindspore/dataset/engine/serializer_deserializer.py +2 -1
- mindspore/dataset/engine/validators.py +10 -0
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/transforms.py +3 -3
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/device_context/ascend/op_debug.py +60 -1
- mindspore/device_context/ascend/op_tuning.py +0 -4
- mindspore/device_manager.py +39 -3
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +22 -26
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +4 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +40 -22
- mindspore/experimental/optim/radam.py +5 -5
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -81
- mindspore/hal/event.py +38 -55
- mindspore/hal/memory.py +93 -144
- mindspore/hal/stream.py +81 -125
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +40 -2
- mindspore/mindrecord/__init__.py +20 -7
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +131 -700
- mindspore/mint/distributed/__init__.py +5 -1
- mindspore/mint/distributed/distributed.py +194 -109
- mindspore/mint/linalg/__init__.py +2 -0
- mindspore/mint/nn/__init__.py +280 -18
- mindspore/mint/nn/functional.py +282 -64
- mindspore/mint/nn/layer/__init__.py +4 -0
- mindspore/mint/nn/layer/_functions.py +7 -3
- mindspore/mint/nn/layer/activation.py +120 -13
- mindspore/mint/nn/layer/conv.py +218 -24
- mindspore/mint/nn/layer/normalization.py +15 -16
- mindspore/mint/nn/layer/padding.py +1 -1
- mindspore/mint/nn/layer/pooling.py +66 -1
- mindspore/mint/optim/__init__.py +2 -1
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1250 -176
- mindspore/nn/layer/activation.py +23 -21
- mindspore/nn/layer/basic.py +22 -16
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +22 -17
- mindspore/nn/layer/embedding.py +9 -8
- mindspore/nn/layer/normalization.py +48 -42
- mindspore/nn/layer/pooling.py +75 -31
- mindspore/nn/layer/transformer.py +11 -10
- mindspore/nn/learning_rate_schedule.py +4 -2
- mindspore/nn/loss/loss.py +27 -19
- mindspore/nn/optim/ada_grad.py +6 -5
- mindspore/nn/optim/adadelta.py +9 -7
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +16 -12
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +2 -2
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +9 -7
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +178 -117
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +3 -3
- mindspore/numpy/array_creations.py +3 -3
- mindspore/numpy/array_ops.py +1 -1
- mindspore/numpy/math_ops.py +4 -4
- mindspore/numpy/utils.py +1 -2
- mindspore/numpy/utils_const.py +1 -2
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +3 -2
- mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
- mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
- mindspore/ops/_vmap/vmap_array_ops.py +7 -6
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
- mindspore/ops/_vmap/vmap_math_ops.py +4 -7
- mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +102 -49
- mindspore/ops/auto_generate/gen_extend_func.py +281 -135
- mindspore/ops/auto_generate/gen_ops_def.py +2574 -2326
- mindspore/ops/auto_generate/gen_ops_prim.py +8566 -2755
- mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +19 -24
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +2 -3
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +28 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +1629 -2345
- mindspore/ops/function/clip_func.py +38 -45
- mindspore/ops/function/debug_func.py +36 -44
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +1 -1
- mindspore/ops/function/linalg_func.py +46 -78
- mindspore/ops/function/math_func.py +3035 -3705
- mindspore/ops/function/nn_func.py +676 -241
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +17 -30
- mindspore/ops/function/random_func.py +204 -361
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +5 -5
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +24 -17
- mindspore/ops/functional.py +6 -4
- mindspore/ops/functional_overload.py +547 -4
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +10 -5
- mindspore/ops/operations/_custom_ops_utils.py +247 -0
- mindspore/ops/operations/_grad_ops.py +1 -10
- mindspore/ops/operations/_inner_ops.py +5 -76
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +37 -22
- mindspore/ops/operations/comm_ops.py +150 -107
- mindspore/ops/operations/custom_ops.py +221 -23
- mindspore/ops/operations/debug_ops.py +115 -16
- mindspore/ops/operations/inner_ops.py +1 -1
- mindspore/ops/operations/linalg_ops.py +1 -58
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +746 -79
- mindspore/ops/operations/math_ops.py +21 -18
- mindspore/ops/operations/nn_ops.py +65 -191
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +43 -32
- mindspore/ops/tensor_method.py +232 -13
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
- mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
- mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
- mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
- mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
- mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
- mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
- mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
- mindspore/ops_generate/{template.py → common/template.py} +96 -84
- mindspore/ops_generate/gen_ops.py +23 -325
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
- mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -7
- mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
- mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
- mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
- mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
- mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
- mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
- mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
- mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
- mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
- mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
- mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
- mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
- mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
- mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +6 -2
- mindspore/parallel/_auto_parallel_context.py +133 -6
- mindspore/parallel/_cell_wrapper.py +130 -15
- mindspore/parallel/_parallel_serialization.py +95 -4
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +198 -25
- mindspore/parallel/algo_parameter_config.py +3 -3
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +656 -37
- mindspore/parallel/cluster/process_entity/_api.py +151 -19
- mindspore/parallel/cluster/run.py +1 -1
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +259 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +24 -13
- mindspore/parallel/shard.py +137 -61
- mindspore/parallel/transform_safetensors.py +287 -95
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +9 -5
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
- mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +22 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
- mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
- mindspore/profiler/common/constant.py +12 -0
- mindspore/profiler/common/msprof_cmd_tool.py +42 -23
- mindspore/profiler/common/path_manager.py +24 -0
- mindspore/profiler/common/profiler_context.py +26 -2
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_parameters.py +59 -18
- mindspore/profiler/common/profiler_path_manager.py +66 -7
- mindspore/profiler/dynamic_profiler.py +112 -79
- mindspore/profiler/envprofiler.py +26 -1
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +57 -14
- mindspore/profiler/platform/npu_profiler.py +33 -7
- mindspore/profiler/profiler.py +541 -45
- mindspore/profiler/profiler_action_controller.py +1 -1
- mindspore/profiler/profiler_interface.py +4 -0
- mindspore/profiler/schedule.py +57 -22
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +25 -14
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +2 -2
- mindspore/runtime/executor.py +40 -11
- mindspore/runtime/memory.py +25 -8
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +35 -7
- mindspore/train/amp.py +1 -1
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +24 -40
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_flops_collector.py +2 -3
- mindspore/train/callback/_history.py +7 -4
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +8 -13
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +179 -103
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +4 -5
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +8 -6
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +19 -12
- mindspore/train/model.py +176 -103
- mindspore/train/serialization.py +246 -988
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +4 -2
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +2 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +483 -438
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_constants.py +0 -190
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
- /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -29,9 +29,10 @@ from mindspore.ops.operations.random_ops import RandomShuffle, RandomChoiceWithM
|
|
|
29
29
|
from mindspore.common.api import _function_forbid_reuse
|
|
30
30
|
from mindspore.ops.auto_generate import randperm
|
|
31
31
|
from mindspore.common.generator import default_generator
|
|
32
|
-
from mindspore.ops.auto_generate import UniformExt,
|
|
32
|
+
from mindspore.ops.auto_generate import UniformExt, NormalTensorTensor, \
|
|
33
33
|
NormalTensorFloat, NormalFloatTensor, NormalFloatFloat, RandExt, RandLikeExt, MultinomialExt, \
|
|
34
34
|
Randn, RandnLike, RandInt, RandIntLike, RandpermExt, InplaceRandom, InplaceNormal
|
|
35
|
+
from mindspore.ops.auto_generate.gen_ops_prim import inplace_uniform_op
|
|
35
36
|
|
|
36
37
|
inplace_normal_ = InplaceNormal()
|
|
37
38
|
normal_tensor_tensor_op = NormalTensorTensor()
|
|
@@ -46,7 +47,6 @@ shape_ = P.Shape()
|
|
|
46
47
|
top_k_ = P.TopK()
|
|
47
48
|
randperm_ext_ = RandpermExt()
|
|
48
49
|
uniform_ext_ = UniformExt()
|
|
49
|
-
inplace_uniform_ = InplaceUniform()
|
|
50
50
|
rand_ext_ = RandExt()
|
|
51
51
|
rand_like_ext_ = RandLikeExt()
|
|
52
52
|
multinomial_ext_ = MultinomialExt()
|
|
@@ -67,41 +67,28 @@ def _set_prim_op_user_data(prim, key, value):
|
|
|
67
67
|
@_function_forbid_reuse
|
|
68
68
|
def random_gamma(shape, alpha, seed=None):
|
|
69
69
|
r"""
|
|
70
|
-
|
|
70
|
+
Generate random numbers from the Gamma distribution(s).
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
Args:
|
|
74
74
|
shape (Tensor): The shape of random tensor to be generated.
|
|
75
|
-
Must be one of the following types: int32, int64. 1-D integer tensor.
|
|
76
75
|
alpha (Tensor): The :math:`\alpha` distribution parameter.
|
|
77
|
-
|
|
78
|
-
seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
|
|
79
|
-
Default: ``None`` , which will be treated as 0.
|
|
76
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
80
77
|
|
|
81
78
|
Returns:
|
|
82
|
-
Tensor
|
|
83
|
-
|
|
84
|
-
The dtype is the same type as alpha.
|
|
85
|
-
|
|
86
|
-
Raises:
|
|
87
|
-
TypeError: If `shape` is not a Tensor.
|
|
88
|
-
TypeError: If `alpha` is not a Tensor.
|
|
89
|
-
TypeError: If `seed` is not an int.
|
|
90
|
-
TypeError: If dtype of `alpha` is not half, float32 or float64.
|
|
79
|
+
Tensor, the shape is `mindspore.ops.concat([shape, rate.shape], axis=0)`.
|
|
80
|
+
The data type is the same as `alpha`.
|
|
91
81
|
|
|
92
82
|
Supported Platforms:
|
|
93
83
|
``CPU``
|
|
94
84
|
|
|
95
85
|
Examples:
|
|
96
|
-
>>> import numpy as np
|
|
97
86
|
>>> import mindspore
|
|
98
|
-
>>>
|
|
99
|
-
>>>
|
|
100
|
-
>>>
|
|
101
|
-
>>> output
|
|
102
|
-
|
|
103
|
-
>>> print(result)
|
|
104
|
-
(7, 5, 2)
|
|
87
|
+
>>> shape = mindspore.tensor([7, 5], mindspore.int32)
|
|
88
|
+
>>> alpha = mindspore.tensor([0.5, 1.5], mindspore.float32)
|
|
89
|
+
>>> output = mindspore.ops.random_gamma(shape, alpha, seed=5)
|
|
90
|
+
>>> print(output.shape, output.dtype)
|
|
91
|
+
(7, 5, 2) Float32
|
|
105
92
|
"""
|
|
106
93
|
seed1, seed2 = _get_seed(seed, "random_gamma")
|
|
107
94
|
random_gamma_op = P.RandomGamma(seed1, seed2)
|
|
@@ -121,7 +108,6 @@ def _get_seed(op_seed, kernel_name):
|
|
|
121
108
|
def standard_laplace(shape, seed=None):
|
|
122
109
|
r"""
|
|
123
110
|
Generates random numbers according to the Laplace random number distribution (mean=0, lambda=1).
|
|
124
|
-
It is defined as:
|
|
125
111
|
|
|
126
112
|
.. math::
|
|
127
113
|
\text{f}(x) = \frac{1}{2}\exp(-|x|)
|
|
@@ -131,16 +117,13 @@ def standard_laplace(shape, seed=None):
|
|
|
131
117
|
the `seed` parameter has no effect.
|
|
132
118
|
|
|
133
119
|
Args:
|
|
134
|
-
shape (Union[tuple, Tensor]): The shape of
|
|
135
|
-
|
|
136
|
-
seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
|
|
137
|
-
Default: ``None`` .
|
|
120
|
+
shape (Union[tuple, Tensor]): The shape of returned tensor.
|
|
121
|
+
seed (int, optional): Random number seed. Default ``None`` .
|
|
138
122
|
|
|
139
123
|
Returns:
|
|
140
|
-
Tensor
|
|
124
|
+
Tensor
|
|
141
125
|
|
|
142
126
|
Raises:
|
|
143
|
-
TypeError: If shape is neither a tuple nor a Tensor.
|
|
144
127
|
ValueError: If shape is a tuple containing non-positive items.
|
|
145
128
|
ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
|
|
146
129
|
|
|
@@ -148,12 +131,11 @@ def standard_laplace(shape, seed=None):
|
|
|
148
131
|
``Ascend`` ``GPU`` ``CPU``
|
|
149
132
|
|
|
150
133
|
Examples:
|
|
151
|
-
>>>
|
|
134
|
+
>>> import mindspore
|
|
152
135
|
>>> shape = (4, 4)
|
|
153
|
-
>>> output = ops.standard_laplace(shape)
|
|
154
|
-
>>>
|
|
155
|
-
|
|
156
|
-
(4, 4)
|
|
136
|
+
>>> output = mindspore.ops.standard_laplace(shape, seed=5)
|
|
137
|
+
>>> print(f'output shape is {output.shape}')
|
|
138
|
+
output shape is (4, 4)
|
|
157
139
|
"""
|
|
158
140
|
seed1, seed2 = _get_seed(seed, "standard_laplace")
|
|
159
141
|
standard_laplace_op = P.StandardLaplace(seed=seed1, seed2=seed2)
|
|
@@ -209,46 +191,33 @@ def random_categorical(logits, num_sample, seed=0, dtype=mstype.int64):
|
|
|
209
191
|
@_function_forbid_reuse
|
|
210
192
|
def multinomial_with_replacement(x, seed, offset, numsamples, replacement=False):
|
|
211
193
|
r"""
|
|
212
|
-
|
|
213
|
-
multinomial distribution with replacement. It is different from `multinomial` in that it allows
|
|
214
|
-
the same outcome to be chosen multiple times.
|
|
194
|
+
Generate a tensor from a multinomial distribution.
|
|
215
195
|
|
|
216
196
|
Note:
|
|
217
|
-
The rows of input do not need to sum to one (in which case we use the values as weights),
|
|
218
|
-
|
|
197
|
+
- The rows of input do not need to sum to one (in which case we use the values as weights),
|
|
198
|
+
but must be non-negative, finite and have a non-zero sum.
|
|
199
|
+
- If `seed` is set to be ``-1`` , and `offset` is set to be ``0``, the random number
|
|
200
|
+
generator is seeded by a random seed.
|
|
219
201
|
|
|
220
202
|
Args:
|
|
221
|
-
x (Tensor):
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
numsamples (int): the number of samples to draw.
|
|
227
|
-
replacement (bool, optional): Whether to draw with replacement or not. Default: ``False`` .
|
|
203
|
+
x (Tensor): The 1-D or 2-D input tensor containing probabilities.
|
|
204
|
+
seed (int): Random seed.
|
|
205
|
+
offset (int): Offset.
|
|
206
|
+
numsamples (int): The number of samples to draw.
|
|
207
|
+
replacement (bool, optional): Whether to draw with replacement or not. Default ``False`` .
|
|
228
208
|
|
|
229
209
|
Returns:
|
|
230
|
-
Tensor
|
|
231
|
-
|
|
232
|
-
Raises:
|
|
233
|
-
TypeError: If `x` is not a 1D or 2D Tensor.
|
|
234
|
-
TypeError: If dtype of `x` is not float16, float32 or float64.
|
|
235
|
-
TypeError: If `numsamples` is not an int.
|
|
236
|
-
TypeError: If `replacement` is not a bool.
|
|
237
|
-
ValueError: If the value of `numsamples` is not greater than x_shape[-1] when `replacement` is False.
|
|
238
|
-
ValueError: If the sum of one row of `x` less than 0.
|
|
239
|
-
ValueError: If one of the element of each row of `x` less than 0.
|
|
240
|
-
ValueError: If `numsamples` equal or less than 0.
|
|
210
|
+
Tensor
|
|
241
211
|
|
|
242
212
|
Supported Platforms:
|
|
243
213
|
``CPU``
|
|
244
214
|
|
|
245
215
|
Examples:
|
|
246
|
-
>>>
|
|
247
|
-
>>>
|
|
248
|
-
>>> x
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
[[1 1]]
|
|
216
|
+
>>> import mindspore
|
|
217
|
+
>>> x = mindspore.tensor([[0., 9., 4., 0.]], mindspore.float32)
|
|
218
|
+
>>> mindspore.ops.multinomial_with_replacement(x, 2, 5, 2, True)
|
|
219
|
+
Tensor(shape=[1, 2], dtype=Int64, value=
|
|
220
|
+
[[1, 1]])
|
|
252
221
|
"""
|
|
253
222
|
if not isinstance(seed, Tensor):
|
|
254
223
|
if not isinstance(seed, int):
|
|
@@ -349,7 +318,7 @@ def uniform_(input, from_=0, to=1, *, generator=None):
|
|
|
349
318
|
if generator is None:
|
|
350
319
|
generator = default_generator
|
|
351
320
|
seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
|
|
352
|
-
return
|
|
321
|
+
return inplace_uniform_op(input, from_, to, seed, offset)
|
|
353
322
|
|
|
354
323
|
|
|
355
324
|
@_function_forbid_reuse
|
|
@@ -361,49 +330,31 @@ def uniform(shape, minval, maxval, seed=None, dtype=mstype.float32):
|
|
|
361
330
|
The number in tensor minval should be strictly less than maxval at any position after broadcasting.
|
|
362
331
|
|
|
363
332
|
Args:
|
|
364
|
-
shape (Union[tuple, Tensor]): The shape of
|
|
365
|
-
minval (Tensor):
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
It defines the maximum possible generated value, with int32 or float32 data type.
|
|
370
|
-
If dtype is int32, only one number is allowed.
|
|
371
|
-
seed (int): Seed is used as entropy source for the random number engines to generate pseudo-random numbers,
|
|
372
|
-
must be non-negative. Default: ``None`` , which will be treated as 0.
|
|
373
|
-
dtype (mindspore.dtype): Type of the Uniform distribution. If it is int32, it generates numbers from discrete
|
|
374
|
-
uniform distribution; if it is float32, it generates numbers from continuous uniform distribution. It only
|
|
375
|
-
supports these two data types. Default: mstype.float32.
|
|
333
|
+
shape (Union[tuple, Tensor]): The shape of returned tensor.
|
|
334
|
+
minval (Tensor): Defines the minimum possible generated value.
|
|
335
|
+
maxval (Tensor): Defines the maximum possible generated value.
|
|
336
|
+
seed (int): Random number seed. Default ``None`` .
|
|
337
|
+
dtype (mindspore.dtype): Type of the returned tensor.
|
|
376
338
|
|
|
377
339
|
Returns:
|
|
378
|
-
Tensor
|
|
379
|
-
of `minval` and `maxval`.
|
|
380
|
-
The dtype is designated as the input `dtype`.
|
|
381
|
-
|
|
382
|
-
Raises:
|
|
383
|
-
TypeError: If `shape` is neither a tuple nor a Tensor.
|
|
384
|
-
TypeError: If 'minval' or 'maxval' is neither int32 nor float32
|
|
385
|
-
and dtype of 'minval' is not the same as 'maxval'.
|
|
386
|
-
TypeError: If `seed` is not an int.
|
|
387
|
-
TypeError: If 'dtype' is neither int32 nor float32.
|
|
340
|
+
Tensor
|
|
388
341
|
|
|
389
342
|
Supported Platforms:
|
|
390
343
|
``GPU`` ``CPU``
|
|
391
344
|
|
|
392
345
|
Examples:
|
|
393
|
-
>>> from mindspore import Tensor, ops
|
|
394
346
|
>>> import mindspore
|
|
395
|
-
>>> import numpy as np
|
|
396
347
|
>>> # For discrete uniform distribution, only one number is allowed for both minval and maxval:
|
|
397
348
|
>>> shape = (4, 2)
|
|
398
|
-
>>> minval =
|
|
399
|
-
>>> maxval =
|
|
400
|
-
>>> output = ops.uniform(shape, minval, maxval, seed=5, dtype=mindspore.int32)
|
|
349
|
+
>>> minval = mindspore.tensor(1, mindspore.int32)
|
|
350
|
+
>>> maxval = mindspore.tensor(2, mindspore.int32)
|
|
351
|
+
>>> output = mindspore.ops.uniform(shape, minval, maxval, seed=5, dtype=mindspore.int32)
|
|
401
352
|
>>>
|
|
402
353
|
>>> # For continuous uniform distribution, minval and maxval can be multi-dimentional:
|
|
403
354
|
>>> shape = (3, 1, 2)
|
|
404
|
-
>>> minval =
|
|
405
|
-
>>> maxval =
|
|
406
|
-
>>> output = ops.uniform(shape, minval, maxval, seed=5)
|
|
355
|
+
>>> minval = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
356
|
+
>>> maxval = mindspore.tensor([8.0, 10.0], mindspore.float32)
|
|
357
|
+
>>> output = mindspore.ops.uniform(shape, minval, maxval, seed=5)
|
|
407
358
|
>>> result = output.shape
|
|
408
359
|
>>> print(result)
|
|
409
360
|
(3, 2, 2)
|
|
@@ -438,9 +389,6 @@ def standard_normal(shape, seed=None):
|
|
|
438
389
|
r"""
|
|
439
390
|
Generates random numbers according to the standard Normal (or Gaussian) random number distribution.
|
|
440
391
|
|
|
441
|
-
Returns the tensor with the given shape, the random numbers in it drawn from normal distributions
|
|
442
|
-
whose mean is 0 and standard deviation is 1.
|
|
443
|
-
|
|
444
392
|
.. math::
|
|
445
393
|
f(x)=\frac{1}{\sqrt{2 \pi}} e^{\left(-\frac{x^{2}}{2}\right)}
|
|
446
394
|
|
|
@@ -449,28 +397,25 @@ def standard_normal(shape, seed=None):
|
|
|
449
397
|
the `seed` parameter has no effect.
|
|
450
398
|
|
|
451
399
|
Args:
|
|
452
|
-
shape (Union[tuple, Tensor]): The shape of
|
|
453
|
-
|
|
454
|
-
seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
|
|
455
|
-
Default: ``None`` , which will be treated as 0.
|
|
400
|
+
shape (Union[tuple, Tensor]): The shape of returned tensor.
|
|
401
|
+
seed (int, optional): Random number Seed. Default ``None`` .
|
|
456
402
|
|
|
457
403
|
Returns:
|
|
458
|
-
Tensor
|
|
404
|
+
Tensor
|
|
459
405
|
|
|
460
406
|
Raises:
|
|
461
|
-
TypeError: If `shape` is neither a tuple nor a Tensor.
|
|
462
407
|
ValueError: If `shape` is a tuple containing non-positive items.
|
|
408
|
+
ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
|
|
463
409
|
|
|
464
410
|
Supported Platforms:
|
|
465
411
|
``Ascend`` ``GPU`` ``CPU``
|
|
466
412
|
|
|
467
413
|
Examples:
|
|
468
|
-
>>>
|
|
414
|
+
>>> import mindspore
|
|
469
415
|
>>> shape = (4, 4)
|
|
470
|
-
>>> output = ops.standard_normal(shape)
|
|
471
|
-
>>>
|
|
472
|
-
|
|
473
|
-
(4, 4)
|
|
416
|
+
>>> output = mindspore.ops.standard_normal(shape, seed=5)
|
|
417
|
+
>>> print(f'output shape is {output.shape}')
|
|
418
|
+
output shape is (4, 4)
|
|
474
419
|
"""
|
|
475
420
|
seed1, seed2 = _get_seed(seed, "standard_normal")
|
|
476
421
|
standard_normal_op = P.StandardNormal(seed=seed1, seed2=seed2)
|
|
@@ -556,7 +501,7 @@ def uniform_candidate_sampler(true_classes,
|
|
|
556
501
|
@_function_forbid_reuse
|
|
557
502
|
def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
|
|
558
503
|
r"""
|
|
559
|
-
|
|
504
|
+
Generate random number Tensor with `shape` according to a Poisson distribution with mean `rate`.
|
|
560
505
|
|
|
561
506
|
|
|
562
507
|
.. math::
|
|
@@ -568,50 +513,31 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
|
|
|
568
513
|
the `seed` parameter has no effect.
|
|
569
514
|
|
|
570
515
|
Args:
|
|
571
|
-
shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D
|
|
572
|
-
dtype is mstype.int32 or mstype.int64.
|
|
516
|
+
shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D integer tensor.
|
|
573
517
|
rate (Tensor): The :math:`μ` parameter the distribution is constructed with.
|
|
574
518
|
It represents the mean of poisson distribution
|
|
575
|
-
and also the variance of the distribution.
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
numbers and must be non-negative. Default: ``None`` , which will be treated as 0.
|
|
579
|
-
dtype (mindspore.dtype): The data type of output: ``mstype.int64``, ``mstype.int32``,
|
|
580
|
-
``mstype.float64``, ``mstype.float32`` or ``mstype.float16``. Default: ``mstype.float32``.
|
|
519
|
+
and also the variance of the distribution.
|
|
520
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
521
|
+
dtype (mindspore.dtype): The data type returned. Default ``mstype.float32``.
|
|
581
522
|
|
|
582
523
|
Returns:
|
|
583
|
-
|
|
584
|
-
argument `dtype`.
|
|
585
|
-
|
|
586
|
-
Raises:
|
|
587
|
-
TypeError: If `shape` is not a Tensor.
|
|
588
|
-
TypeError: If datatype of `shape` is not mstype.int64 nor mstype.int32.
|
|
589
|
-
ValueError: If shape of `shape` is not 1-D.
|
|
590
|
-
TypeError: If `rate` is not a Tensor nor a scalar.
|
|
591
|
-
TypeError: If datatype of `rate` is not in [mstype.int64, mstype.int32,
|
|
592
|
-
mstype.float64, mstype.float32 or mstype.float16].
|
|
593
|
-
TypeError: If `seed` is not a non-negtive int.
|
|
594
|
-
TypeError: If `dtype` is not in [mstype.int64, mstype.int32, mstype.float64,
|
|
595
|
-
mstype.float32 nor mstype.float16].
|
|
596
|
-
ValueError: If any element of input `shape` tensor is not positive.
|
|
524
|
+
Tensor, the shape is `mindspore.ops.concat([shape, rate.shape], axis=0)`.
|
|
597
525
|
|
|
598
526
|
Supported Platforms:
|
|
599
527
|
``GPU`` ``CPU``
|
|
600
528
|
|
|
601
529
|
Examples:
|
|
602
530
|
>>> import mindspore
|
|
603
|
-
>>> import numpy as np
|
|
604
|
-
>>> from mindspore import Tensor, ops
|
|
605
531
|
>>> # case 1: 1-D shape, 2-D rate, float64 output
|
|
606
|
-
>>> shape =
|
|
607
|
-
>>> rate =
|
|
608
|
-
>>> output = ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64)
|
|
532
|
+
>>> shape = mindspore.tensor([2, 2], mindspore.int64)
|
|
533
|
+
>>> rate = mindspore.tensor([[5.0, 10.0], [5.0, 1.0]], mindspore.float32)
|
|
534
|
+
>>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64)
|
|
609
535
|
>>> print(output.shape, output.dtype)
|
|
610
536
|
(2, 2, 2, 2) Float64
|
|
611
537
|
>>> # case 2: 1-D shape, scalar rate, int64 output
|
|
612
|
-
>>> shape =
|
|
613
|
-
>>> rate =
|
|
614
|
-
>>> output = ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64)
|
|
538
|
+
>>> shape = mindspore.tensor([2, 2], mindspore.int64)
|
|
539
|
+
>>> rate = mindspore.tensor(5.0, mindspore.float64)
|
|
540
|
+
>>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64)
|
|
615
541
|
>>> print(output.shape, output.dtype)
|
|
616
542
|
(2, 2) Int64
|
|
617
543
|
"""
|
|
@@ -626,28 +552,22 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
|
|
|
626
552
|
@_function_forbid_reuse
|
|
627
553
|
def shuffle(x, seed=None):
|
|
628
554
|
r"""
|
|
629
|
-
Randomly
|
|
555
|
+
Randomly shuffle a tensor along its first dimension.
|
|
630
556
|
|
|
631
557
|
Args:
|
|
632
|
-
x (Tensor): The
|
|
633
|
-
seed (int, optional): Random seed
|
|
634
|
-
which will be replaced with a randomly generated value. Default: ``None`` , which will be treated as 0.
|
|
558
|
+
x (Tensor): The input tensor.
|
|
559
|
+
seed (int, optional): Random seed. Default ``None`` , which is equivalent to 0.
|
|
635
560
|
|
|
636
561
|
Returns:
|
|
637
|
-
Tensor
|
|
638
|
-
|
|
639
|
-
Raises:
|
|
640
|
-
TypeError: If data type of `seed` is not None or non-negative int.
|
|
562
|
+
Tensor
|
|
641
563
|
|
|
642
564
|
Supported Platforms:
|
|
643
565
|
``Ascend`` ``GPU`` ``CPU``
|
|
644
566
|
|
|
645
567
|
Examples:
|
|
646
|
-
>>> import
|
|
647
|
-
>>>
|
|
648
|
-
>>>
|
|
649
|
-
>>> x = Tensor(np.array([1, 2, 3, 4]), mstype.float32)
|
|
650
|
-
>>> output = ops.shuffle(x, seed=1)
|
|
568
|
+
>>> import mindspore
|
|
569
|
+
>>> x = mindspore.tensor([1, 2, 3, 4], mindspore.float32)
|
|
570
|
+
>>> output = mindspore.ops.shuffle(x, seed=1)
|
|
651
571
|
>>> print(output)
|
|
652
572
|
[3. 4. 2. 1.]
|
|
653
573
|
"""
|
|
@@ -673,13 +593,13 @@ def log_uniform_candidate_sampler(true_classes, num_true=1, num_sampled=5, uniqu
|
|
|
673
593
|
Args:
|
|
674
594
|
true_classes (Tensor): The target classes. With data type of int64 and
|
|
675
595
|
shape :math:`(batch\_size, num\_true)` .
|
|
676
|
-
num_true (int): The number of target classes per training example. Default: ``1`` .
|
|
677
|
-
num_sampled (int): The number of classes to randomly sample. Default: ``5`` .
|
|
678
|
-
unique (bool): Determines whether sample with rejection. If `unique` is ``True`` ,
|
|
596
|
+
num_true (int, optional): The number of target classes per training example. Default: ``1`` .
|
|
597
|
+
num_sampled (int, optional): The number of classes to randomly sample. Default: ``5`` .
|
|
598
|
+
unique (bool, optional): Determines whether sample with rejection. If `unique` is ``True`` ,
|
|
679
599
|
all sampled classes in a batch are unique. Default: ``True`` .
|
|
680
|
-
range_max (int): The number of possible classes. When `unique` is ``True`` ,
|
|
600
|
+
range_max (int, optional): The number of possible classes. When `unique` is ``True`` ,
|
|
681
601
|
`range_max` must be greater than or equal to `num_sampled`. Default: ``5`` .
|
|
682
|
-
seed (int): Random seed, must be non-negative. Default: ``0`` .
|
|
602
|
+
seed (int, optional): Random seed, must be non-negative. Default: ``0`` .
|
|
683
603
|
|
|
684
604
|
Returns:
|
|
685
605
|
Tuple of 3 Tensors.
|
|
@@ -933,50 +853,44 @@ def normal_ext(mean=0.0, std=1.0, size=None, generator=None):
|
|
|
933
853
|
@_function_forbid_reuse
|
|
934
854
|
def normal(shape, mean, stddev, seed=None):
|
|
935
855
|
"""
|
|
936
|
-
|
|
856
|
+
Return a random tensor that conforms to the normal (Gaussian) distribution.
|
|
937
857
|
|
|
938
858
|
.. warning::
|
|
939
859
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
940
860
|
the `seed` parameter has no effect.
|
|
941
861
|
|
|
942
862
|
Args:
|
|
943
|
-
shape (tuple): The shape of
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
seed (int): Seed is used as entropy source for the Random number engines to generate pseudo-random numbers.
|
|
948
|
-
The value must be non-negative. Default: ``None`` , which will be treated as 0.
|
|
863
|
+
shape (tuple): The shape of returned tensor.
|
|
864
|
+
mean (Union[Tensor, int, float]): The mean of the normal distribution for the returned tensor.
|
|
865
|
+
stddev (Union[Tensor, int, float]): The standard deviation of the normal distribution for the returned tensor.
|
|
866
|
+
seed (int, optional): Random seed. Default: ``None`` , which is equivalent to 0.
|
|
949
867
|
|
|
950
868
|
Returns:
|
|
951
|
-
Tensor
|
|
952
|
-
of `mean` and `stddev`.
|
|
953
|
-
The dtype is [float32, float64].
|
|
869
|
+
Tensor
|
|
954
870
|
|
|
955
871
|
Supported Platforms:
|
|
956
872
|
``Ascend`` ``GPU`` ``CPU``
|
|
957
873
|
|
|
958
874
|
Examples:
|
|
959
875
|
>>> import mindspore
|
|
960
|
-
>>> import numpy as np
|
|
961
|
-
>>> from mindspore import Tensor, ops
|
|
962
876
|
>>> shape = (3, 1, 2)
|
|
963
|
-
>>> mean =
|
|
964
|
-
>>> stddev =
|
|
965
|
-
>>> output = ops.normal(shape, mean, stddev, seed=5)
|
|
877
|
+
>>> mean = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
878
|
+
>>> stddev = mindspore.tensor(1.0, mindspore.float32)
|
|
879
|
+
>>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
|
|
966
880
|
>>> result = output.shape
|
|
967
881
|
>>> print(result)
|
|
968
882
|
(3, 2, 2)
|
|
969
883
|
>>> shape = (3, 1, 3)
|
|
970
|
-
>>> mean =
|
|
971
|
-
>>> stddev =
|
|
972
|
-
>>> output = ops.normal(shape, mean, stddev, seed=5)
|
|
884
|
+
>>> mean = mindspore.tensor([[3, 4, 3], [3, 5, 6]], mindspore.float32)
|
|
885
|
+
>>> stddev = mindspore.tensor(1.0, mindspore.float32)
|
|
886
|
+
>>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
|
|
973
887
|
>>> result = output.shape
|
|
974
888
|
>>> print(result)
|
|
975
889
|
(3, 2, 3)
|
|
976
890
|
>>> shape = (3, 1, 3)
|
|
977
|
-
>>> mean =
|
|
978
|
-
>>> stddev =
|
|
979
|
-
>>> output = ops.normal(shape, mean, stddev, seed=5)
|
|
891
|
+
>>> mean = mindspore.tensor([[1, 2, 3], [3, 4, 3], [3, 5, 6]], mindspore.float32)
|
|
892
|
+
>>> stddev = mindspore.tensor(1.0, mindspore.float32)
|
|
893
|
+
>>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
|
|
980
894
|
>>> result = output.shape
|
|
981
895
|
>>> print(result)
|
|
982
896
|
(3, 3, 3)
|
|
@@ -1000,7 +914,8 @@ def normal(shape, mean, stddev, seed=None):
|
|
|
1000
914
|
def laplace(shape, mean, lambda_param, seed=None):
|
|
1001
915
|
r"""
|
|
1002
916
|
Generates random numbers according to the Laplace random number distribution.
|
|
1003
|
-
|
|
917
|
+
|
|
918
|
+
Support broadcasting.
|
|
1004
919
|
|
|
1005
920
|
.. math::
|
|
1006
921
|
\text{f}(x;μ,λ) = \frac{1}{2λ}\exp(-\frac{|x-μ|}{λ}),
|
|
@@ -1010,30 +925,24 @@ def laplace(shape, mean, lambda_param, seed=None):
|
|
|
1010
925
|
the `seed` parameter has no effect.
|
|
1011
926
|
|
|
1012
927
|
Args:
|
|
1013
|
-
shape (tuple): The shape
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
variance of Laplace distribution is equal to twice the square of lambda_param. With float32 data type.
|
|
1019
|
-
seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
|
|
1020
|
-
Default: ``None`` , which will be treated as 0.
|
|
928
|
+
shape (tuple): The shape specified.
|
|
929
|
+
mean (Tensor): The mean of distribution.
|
|
930
|
+
lambda_param (Tensor): Control the variance of distribution. The
|
|
931
|
+
variance of Laplace distribution is equal to twice the square of `lambda_param` .
|
|
932
|
+
seed (int, optional): Random seed. Default ``None`` represents 0.
|
|
1021
933
|
|
|
1022
934
|
Returns:
|
|
1023
|
-
Tensor
|
|
1024
|
-
The dtype is float32.
|
|
935
|
+
Tensor
|
|
1025
936
|
|
|
1026
937
|
Supported Platforms:
|
|
1027
938
|
``Ascend`` ``GPU`` ``CPU``
|
|
1028
939
|
|
|
1029
940
|
Examples:
|
|
1030
941
|
>>> import mindspore
|
|
1031
|
-
>>> from mindspore import Tensor
|
|
1032
|
-
>>> from mindspore import ops as ops
|
|
1033
942
|
>>> shape = (2, 3)
|
|
1034
|
-
>>> mean =
|
|
1035
|
-
>>> lambda_param =
|
|
1036
|
-
>>> output = ops.laplace(shape, mean, lambda_param, seed=5)
|
|
943
|
+
>>> mean = mindspore.tensor(1.0, mindspore.float32)
|
|
944
|
+
>>> lambda_param = mindspore.tensor(1.0, mindspore.float32)
|
|
945
|
+
>>> output = mindspore.ops.laplace(shape, mean, lambda_param, seed=5)
|
|
1037
946
|
>>> print(output.shape)
|
|
1038
947
|
(2, 3)
|
|
1039
948
|
"""
|
|
@@ -1056,56 +965,47 @@ def gamma(shape, alpha, beta, seed=None):
|
|
|
1056
965
|
r"""
|
|
1057
966
|
Generates random numbers according to the Gamma random number distribution.
|
|
1058
967
|
|
|
968
|
+
Support broadcasting.
|
|
969
|
+
|
|
1059
970
|
.. warning::
|
|
1060
971
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
1061
972
|
the `seed` parameter has no effect.
|
|
1062
973
|
|
|
1063
974
|
Args:
|
|
1064
|
-
shape (tuple): The shape
|
|
1065
|
-
alpha (Tensor): The
|
|
1066
|
-
beta (Tensor): The
|
|
1067
|
-
seed (int, optional):
|
|
1068
|
-
pseudo-random numbers, must be non-negative. Default: ``None`` .
|
|
975
|
+
shape (tuple): The shape specified.
|
|
976
|
+
alpha (Tensor): The shape parameter.
|
|
977
|
+
beta (Tensor): The inverse scale parameter.
|
|
978
|
+
seed (int, optional): The random seed, Default ``None`` .
|
|
1069
979
|
|
|
1070
980
|
Returns:
|
|
1071
|
-
Tensor
|
|
1072
|
-
of `alpha` and `beta`.
|
|
1073
|
-
The dtype is float32.
|
|
1074
|
-
|
|
1075
|
-
Raises:
|
|
1076
|
-
TypeError: If `shape` is not a tuple.
|
|
1077
|
-
TypeError: If neither `alpha` nor `beta` is a Tensor.
|
|
1078
|
-
TypeError: If `seed` is not an int.
|
|
1079
|
-
TypeError: If dtype of `alpha` and `beta` is not float32.
|
|
981
|
+
Tensor
|
|
1080
982
|
|
|
1081
983
|
Supported Platforms:
|
|
1082
984
|
``Ascend``
|
|
1083
985
|
|
|
1084
986
|
Examples:
|
|
1085
987
|
>>> import mindspore
|
|
1086
|
-
>>> import numpy as np
|
|
1087
|
-
>>> from mindspore import Tensor, ops
|
|
1088
988
|
>>> # case 1: alpha_shape is (2, 2)
|
|
1089
989
|
>>> shape = (3, 1, 2)
|
|
1090
|
-
>>> alpha =
|
|
1091
|
-
>>> beta =
|
|
1092
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
990
|
+
>>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
991
|
+
>>> beta = mindspore.tensor([1.0], mindspore.float32)
|
|
992
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1093
993
|
>>> result = output.shape
|
|
1094
994
|
>>> print(result)
|
|
1095
995
|
(3, 2, 2)
|
|
1096
996
|
>>> # case 2: alpha_shape is (2, 3), so shape is (3, 1, 3)
|
|
1097
997
|
>>> shape = (3, 1, 3)
|
|
1098
|
-
>>> alpha =
|
|
1099
|
-
>>> beta =
|
|
1100
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
998
|
+
>>> alpha = mindspore.tensor([[1, 3, 4], [2, 5, 6]]), mindspore.float32)
|
|
999
|
+
>>> beta = mindspore.tensor([1.0], mindspore.float32)
|
|
1000
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1101
1001
|
>>> result = output.shape
|
|
1102
1002
|
>>> print(result)
|
|
1103
1003
|
(3, 2, 3)
|
|
1104
1004
|
>>> # case 3: beta_shape is (1, 2), the output is different.
|
|
1105
1005
|
>>> shape = (3, 1, 2)
|
|
1106
|
-
>>> alpha =
|
|
1107
|
-
>>> beta =
|
|
1108
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
1006
|
+
>>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
1007
|
+
>>> beta = mindspore.tensor([1.0, 2], mindspore.float32)
|
|
1008
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1109
1009
|
>>> print(output)
|
|
1110
1010
|
[[[ 2.2132034 5.8855834]
|
|
1111
1011
|
[ 3.8825176 8.6066265]]
|
|
@@ -1115,9 +1015,9 @@ def gamma(shape, alpha, beta, seed=None):
|
|
|
1115
1015
|
[ 3.786061 5.160872 ]]]
|
|
1116
1016
|
>>> # case 4: beta_shape is (2, 1), the output is different.
|
|
1117
1017
|
>>> shape = (3, 1, 2)
|
|
1118
|
-
>>> alpha =
|
|
1119
|
-
>>> beta =
|
|
1120
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
1018
|
+
>>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
1019
|
+
>>> beta = mindspore.tensor([[1.0], [2.0]], mindspore.float32)
|
|
1020
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1121
1021
|
>>> print(output)
|
|
1122
1022
|
[[[ 5.6085486 7.8280783]
|
|
1123
1023
|
[ 15.97684 16.116285]]
|
|
@@ -1160,35 +1060,29 @@ def _generate_shapes(shape):
|
|
|
1160
1060
|
@_function_forbid_reuse
|
|
1161
1061
|
def rand(*size, dtype=None, seed=None):
|
|
1162
1062
|
r"""
|
|
1163
|
-
|
|
1164
|
-
based on the given
|
|
1063
|
+
Return a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
|
|
1064
|
+
based on the given `size` and `dtype`.
|
|
1165
1065
|
|
|
1166
1066
|
.. warning::
|
|
1167
1067
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
1168
1068
|
the `seed` parameter has no effect.
|
|
1169
1069
|
|
|
1170
1070
|
Args:
|
|
1171
|
-
size (Union[int, tuple(int), list(int)]):
|
|
1071
|
+
size (Union[int, tuple(int), list(int)]): The shape of the output tensor.
|
|
1172
1072
|
|
|
1173
1073
|
Keyword Args:
|
|
1174
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1175
|
-
|
|
1176
|
-
seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and ``0`` will be used.
|
|
1074
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
|
|
1075
|
+
seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
|
|
1177
1076
|
|
|
1178
1077
|
Returns:
|
|
1179
|
-
Tensor
|
|
1180
|
-
the interval :math:`[0, 1)`.
|
|
1181
|
-
|
|
1182
|
-
Raises:
|
|
1183
|
-
TypeError: `seed` is not a non-negative integer.
|
|
1184
|
-
ValueError: If `dtype` is not a `mstype.float_type` type.
|
|
1078
|
+
Tensor
|
|
1185
1079
|
|
|
1186
1080
|
Supported Platforms:
|
|
1187
1081
|
``Ascend`` ``GPU`` ``CPU``
|
|
1188
1082
|
|
|
1189
1083
|
Examples:
|
|
1190
|
-
>>>
|
|
1191
|
-
>>> print(ops.rand((2,3)))
|
|
1084
|
+
>>> import mindspore
|
|
1085
|
+
>>> print(mindspore.ops.rand((2,3)))
|
|
1192
1086
|
[[4.1702199e-01 9.9718481e-01 7.2032452e-01]
|
|
1193
1087
|
[9.3255734e-01 1.1438108e-04 1.2812445e-01]]
|
|
1194
1088
|
"""
|
|
@@ -1208,37 +1102,31 @@ def rand(*size, dtype=None, seed=None):
|
|
|
1208
1102
|
@_function_forbid_reuse
|
|
1209
1103
|
def rand_like(input, seed=None, *, dtype=None):
|
|
1210
1104
|
r"""
|
|
1211
|
-
|
|
1212
|
-
|
|
1105
|
+
Return a tensor with the same shape as `input` that is filled with random numbers from a uniform distribution
|
|
1106
|
+
on the interval :math:`[0, 1)`.
|
|
1213
1107
|
|
|
1214
1108
|
.. warning::
|
|
1215
1109
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
1216
1110
|
the `seed` parameter has no effect.
|
|
1217
1111
|
|
|
1218
1112
|
Args:
|
|
1219
|
-
input (Tensor):
|
|
1220
|
-
seed (int, optional): Random seed, must be greater or equal to 0. Default
|
|
1113
|
+
input (Tensor): The input tensor.
|
|
1114
|
+
seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
|
|
1221
1115
|
|
|
1222
1116
|
Keyword Args:
|
|
1223
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1224
|
-
|
|
1117
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1118
|
+
Default ``None`` .
|
|
1225
1119
|
|
|
1226
1120
|
Returns:
|
|
1227
|
-
Tensor
|
|
1228
|
-
the interval :math:`[0, 1)`.
|
|
1229
|
-
|
|
1230
|
-
Raises:
|
|
1231
|
-
TypeError: If `seed` is not a non-negative integer.
|
|
1232
|
-
ValueError: If `dtype` is not a `mstype.float_type` type.
|
|
1121
|
+
Tensor
|
|
1233
1122
|
|
|
1234
1123
|
Supported Platforms:
|
|
1235
1124
|
``Ascend`` ``GPU`` ``CPU``
|
|
1236
1125
|
|
|
1237
1126
|
Examples:
|
|
1238
|
-
>>> import mindspore
|
|
1239
|
-
>>>
|
|
1240
|
-
>>> a =
|
|
1241
|
-
>>> print(ops.rand_like(a, dtype=ms.float32))
|
|
1127
|
+
>>> import mindspore
|
|
1128
|
+
>>> a = mindspore.tensor([[2, 3, 4], [1, 2, 3]])
|
|
1129
|
+
>>> print(mindspore.ops.rand_like(a, dtype=mindspore.float32))
|
|
1242
1130
|
[[4.1702199e-01 9.9718481e-01 7.2032452e-01]
|
|
1243
1131
|
[9.3255734e-01 1.1438108e-04 1.2812445e-01]]
|
|
1244
1132
|
"""
|
|
@@ -1270,7 +1158,7 @@ def rand_ext(*size, generator=None, dtype=None):
|
|
|
1270
1158
|
Keyword Args:
|
|
1271
1159
|
generator (:class:`mindspore.Generator`, optional): a pseudorandom number generator.
|
|
1272
1160
|
Default: ``None``, uses the default pseudorandom number generator.
|
|
1273
|
-
dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If None
|
|
1161
|
+
dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If ``None``,
|
|
1274
1162
|
`mindspore.float32` will be applied. Default: ``None`` .
|
|
1275
1163
|
|
|
1276
1164
|
Returns:
|
|
@@ -1384,7 +1272,7 @@ def randn_like_ext(input, *, dtype=None):
|
|
|
1384
1272
|
input (Tensor): Input Tensor to specify the output shape and its default dtype.
|
|
1385
1273
|
|
|
1386
1274
|
Keyword Args:
|
|
1387
|
-
dtype (:class:`mindspore.dtype`, optional): Designated
|
|
1275
|
+
dtype (:class:`mindspore.dtype`, optional): Designated Tensor dtype, it must be float type. If ``None``,
|
|
1388
1276
|
the same dtype of `input` will be applied. Default: ``None`` .
|
|
1389
1277
|
|
|
1390
1278
|
Returns:
|
|
@@ -1551,7 +1439,7 @@ def random_(input, from_=0, to=None, *, generator=None):
|
|
|
1551
1439
|
@_function_forbid_reuse
|
|
1552
1440
|
def randn(*size, dtype=None, seed=None):
|
|
1553
1441
|
r"""
|
|
1554
|
-
|
|
1442
|
+
Return a new tensor with given shape and dtype, filled with random numbers
|
|
1555
1443
|
from the standard normal distribution.
|
|
1556
1444
|
|
|
1557
1445
|
.. warning::
|
|
@@ -1559,28 +1447,22 @@ def randn(*size, dtype=None, seed=None):
|
|
|
1559
1447
|
the `seed` parameter has no effect.
|
|
1560
1448
|
|
|
1561
1449
|
Args:
|
|
1562
|
-
size (Union[int, tuple(int), list(int)]): Shape of the
|
|
1450
|
+
size (Union[int, tuple(int), list(int)]): Shape of the output tensor.
|
|
1563
1451
|
|
|
1564
1452
|
Keyword Args:
|
|
1565
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1566
|
-
|
|
1567
|
-
seed (int, optional): Random seed, must be
|
|
1453
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1454
|
+
Default ``None`` .
|
|
1455
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1568
1456
|
|
|
1569
1457
|
Returns:
|
|
1570
|
-
Tensor
|
|
1571
|
-
"standard normal" distribution.
|
|
1572
|
-
|
|
1573
|
-
Raises:
|
|
1574
|
-
TypeError: `seed` is not a non-negative integer.
|
|
1575
|
-
ValueError: If `dtype` is not a `mstype.float_type`.
|
|
1576
|
-
ValueError: If `size` contains invalid number.
|
|
1458
|
+
Tensor
|
|
1577
1459
|
|
|
1578
1460
|
Supported Platforms:
|
|
1579
1461
|
``Ascend`` ``GPU`` ``CPU``
|
|
1580
1462
|
|
|
1581
1463
|
Examples:
|
|
1582
|
-
>>>
|
|
1583
|
-
>>> print(ops.randn((2, 2)))
|
|
1464
|
+
>>> import mindspore
|
|
1465
|
+
>>> print(mindspore.ops.randn((2, 2)))
|
|
1584
1466
|
[[ 0.30639967 -0.42438635]
|
|
1585
1467
|
[-0.4287376 1.3054721 ]]
|
|
1586
1468
|
"""
|
|
@@ -1600,7 +1482,7 @@ def randn(*size, dtype=None, seed=None):
|
|
|
1600
1482
|
@_function_forbid_reuse
|
|
1601
1483
|
def randn_like(input, seed=None, *, dtype=None):
|
|
1602
1484
|
r"""
|
|
1603
|
-
|
|
1485
|
+
Return a tensor with the same shape as `input`, filled with random numbers from the standard normal
|
|
1604
1486
|
distribution.
|
|
1605
1487
|
|
|
1606
1488
|
.. warning::
|
|
@@ -1608,29 +1490,22 @@ def randn_like(input, seed=None, *, dtype=None):
|
|
|
1608
1490
|
the `seed` parameter has no effect.
|
|
1609
1491
|
|
|
1610
1492
|
Args:
|
|
1611
|
-
input (Tensor):
|
|
1612
|
-
seed (int, optional): Random seed, must be
|
|
1493
|
+
input (Tensor): The input tensor.
|
|
1494
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1613
1495
|
|
|
1614
1496
|
Keyword Args:
|
|
1615
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1616
|
-
`mindspore.float32` will be used. Default: ``None`` .
|
|
1497
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
|
|
1617
1498
|
|
|
1618
1499
|
Returns:
|
|
1619
|
-
Tensor
|
|
1620
|
-
"standard normal" distribution.
|
|
1621
|
-
|
|
1622
|
-
Raises:
|
|
1623
|
-
TypeError: `seed` is not a non-negative integer.
|
|
1624
|
-
ValueError: If `dtype` is not a `mstype.float_type`.
|
|
1500
|
+
Tensor
|
|
1625
1501
|
|
|
1626
1502
|
Supported Platforms:
|
|
1627
1503
|
``Ascend`` ``GPU`` ``CPU``
|
|
1628
1504
|
|
|
1629
1505
|
Examples:
|
|
1630
|
-
>>> import mindspore
|
|
1631
|
-
>>>
|
|
1632
|
-
>>> a =
|
|
1633
|
-
>>> print(ops.randn_like(a, dtype=ms.float32))
|
|
1506
|
+
>>> import mindspore
|
|
1507
|
+
>>> a = mindspore.tensor([[1, 2, 3], [4, 5, 6]])
|
|
1508
|
+
>>> print(mindspore.ops.randn_like(a, dtype=mindspore.float32))
|
|
1634
1509
|
[[ 0.30639967 -0.42438635 -0.20454668]
|
|
1635
1510
|
[-0.4287376 1.3054721 0.64747655]]
|
|
1636
1511
|
"""
|
|
@@ -1653,7 +1528,7 @@ def randn_like(input, seed=None, *, dtype=None):
|
|
|
1653
1528
|
@_function_forbid_reuse
|
|
1654
1529
|
def randint(low, high, size, seed=None, *, dtype=None):
|
|
1655
1530
|
r"""
|
|
1656
|
-
|
|
1531
|
+
Return a tensor whose elements are random integers in the range of [ `low` , `high` ) .
|
|
1657
1532
|
|
|
1658
1533
|
.. warning::
|
|
1659
1534
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
@@ -1662,30 +1537,22 @@ def randint(low, high, size, seed=None, *, dtype=None):
|
|
|
1662
1537
|
Args:
|
|
1663
1538
|
low (int): Start value of interval.
|
|
1664
1539
|
high (int): End value of interval.
|
|
1665
|
-
size (tuple): Shape of the
|
|
1666
|
-
seed (int, optional): Random seed, must be
|
|
1540
|
+
size (tuple): Shape of the output tensor.
|
|
1541
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1667
1542
|
|
|
1668
1543
|
Keyword Args:
|
|
1669
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1670
|
-
|
|
1544
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1545
|
+
Default ``None`` .
|
|
1671
1546
|
|
|
1672
1547
|
Returns:
|
|
1673
|
-
Tensor
|
|
1674
|
-
to high (exclusive).
|
|
1675
|
-
|
|
1676
|
-
Raises:
|
|
1677
|
-
TypeError: `seed` is not a non-negative integer.
|
|
1678
|
-
TypeError: `size` is not a tuple.
|
|
1679
|
-
TypeError: `low` or `high` is not an integer.
|
|
1680
|
-
ValueError: If `dtype` is not a `mstype.int_type`.
|
|
1681
|
-
|
|
1548
|
+
Tensor
|
|
1682
1549
|
|
|
1683
1550
|
Supported Platforms:
|
|
1684
1551
|
``Ascend`` ``GPU`` ``CPU``
|
|
1685
1552
|
|
|
1686
1553
|
Examples:
|
|
1687
|
-
>>>
|
|
1688
|
-
>>> print(ops.randint(1, 10, (2,3)))
|
|
1554
|
+
>>> import mindspore
|
|
1555
|
+
>>> print(mindspore.ops.randint(1, 10, (2,3)))
|
|
1689
1556
|
[[4 9 7]
|
|
1690
1557
|
[9 1 2]]
|
|
1691
1558
|
"""
|
|
@@ -1715,7 +1582,7 @@ def randint(low, high, size, seed=None, *, dtype=None):
|
|
|
1715
1582
|
@_function_forbid_reuse
|
|
1716
1583
|
def randint_like(input, low, high, seed=None, *, dtype=None):
|
|
1717
1584
|
r"""
|
|
1718
|
-
Returns a tensor with the same shape as
|
|
1585
|
+
Returns a tensor with the same shape as `input` whose elements are random integers in the range
|
|
1719
1586
|
of [ `low` , `high` ) .
|
|
1720
1587
|
|
|
1721
1588
|
.. warning::
|
|
@@ -1723,31 +1590,25 @@ def randint_like(input, low, high, seed=None, *, dtype=None):
|
|
|
1723
1590
|
the `seed` parameter has no effect.
|
|
1724
1591
|
|
|
1725
1592
|
Args:
|
|
1726
|
-
input (Tensor):
|
|
1593
|
+
input (Tensor): The input tensor.
|
|
1727
1594
|
low(int): Start value of interval.
|
|
1728
1595
|
high(int): End value of interval.
|
|
1729
|
-
seed (int, optional): Random seed, must be
|
|
1596
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1730
1597
|
|
|
1731
1598
|
Keyword Args:
|
|
1732
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1733
|
-
|
|
1599
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1600
|
+
Default ``None`` .
|
|
1734
1601
|
|
|
1735
1602
|
Returns:
|
|
1736
|
-
Tensor
|
|
1737
|
-
to high (exclusive).
|
|
1738
|
-
|
|
1739
|
-
Raises:
|
|
1740
|
-
TypeError: `seed` is not a non-negative integer.
|
|
1741
|
-
TypeError: `low` or `high` is not an integer.
|
|
1742
|
-
ValueError: If `dtype` is not a `mstype.int_type`.
|
|
1603
|
+
Tensor
|
|
1743
1604
|
|
|
1744
1605
|
Supported Platforms:
|
|
1745
1606
|
``Ascend`` ``GPU`` ``CPU``
|
|
1746
1607
|
|
|
1747
1608
|
Examples:
|
|
1748
|
-
>>>
|
|
1749
|
-
>>> a =
|
|
1750
|
-
>>> print(ops.randint_like(a, 1, 10))
|
|
1609
|
+
>>> import mindspore
|
|
1610
|
+
>>> a = mindspore.tensor([[1, 2, 3], [3, 2, 1]])
|
|
1611
|
+
>>> print(mindspore.ops.randint_like(a, 1, 10))
|
|
1751
1612
|
[[4 9 7]
|
|
1752
1613
|
[9 1 2]]
|
|
1753
1614
|
"""
|
|
@@ -1876,27 +1737,26 @@ def poisson(shape, mean, seed=None):
|
|
|
1876
1737
|
@_function_forbid_reuse
|
|
1877
1738
|
def multinomial(input, num_samples, replacement=True, seed=None):
|
|
1878
1739
|
r"""
|
|
1879
|
-
|
|
1880
|
-
row of the input tensor.
|
|
1740
|
+
Generate a tensor from a multinomial distribution.
|
|
1881
1741
|
|
|
1882
1742
|
The polynomial distribution is a probability distribution that generalizes the binomial distribution formula to
|
|
1883
1743
|
multiple states. In the polynomial distribution, each event has a fixed probability, and the sum of these
|
|
1884
|
-
probabilities is 1.
|
|
1885
|
-
|
|
1744
|
+
probabilities is 1.
|
|
1745
|
+
|
|
1746
|
+
The purpose of this interface is to perform `num_samples` sampling
|
|
1886
1747
|
on the input `input`, and the output tensor is the index of the input tensor for each sampling.
|
|
1887
1748
|
The values in `input` represent the probability of selecting the corresponding index for each sampling.
|
|
1888
1749
|
|
|
1889
1750
|
Here is an extreme example for better understanding. Suppose we have an input probability tensor with
|
|
1890
|
-
values `
|
|
1751
|
+
values `[90 / 100, 10 / 100, 0]`, which means we can sample three indices,
|
|
1891
1752
|
namely index 0, index 1, and index 2, with probabilities of 90%, 10%, and 0%, respectively. We perform n samplings,
|
|
1892
1753
|
and the resulting sequence is the calculation result of the polynomial distribution, with a length equal to the
|
|
1893
1754
|
number of samplings.
|
|
1894
1755
|
|
|
1895
1756
|
In case 1 of the sample code, we perform two non-replacement samplings (`replacement` is `False`).
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
and the resulting sequence is `[0, 1]`.
|
|
1757
|
+
Since the probability of selecting index 0 is 90% for each sampling, the first result is most likely to be index 0.
|
|
1758
|
+
Since the probability of selecting index 2 is 0, index 2 cannot appear in the sampling result. Therefore, the
|
|
1759
|
+
second result must be index 1, and the resulting sequence is `[0, 1]`.
|
|
1900
1760
|
|
|
1901
1761
|
In case 2 of the sample code, we perform 10 replacement samplings (`replacement` is `True`).
|
|
1902
1762
|
As expected, about 90% of the sampling results are index 0.
|
|
@@ -1914,59 +1774,42 @@ def multinomial(input, num_samples, replacement=True, seed=None):
|
|
|
1914
1774
|
the `seed` parameter has no effect.
|
|
1915
1775
|
|
|
1916
1776
|
Args:
|
|
1917
|
-
input (Tensor): The input tensor containing probabilities
|
|
1918
|
-
float32 data type.
|
|
1777
|
+
input (Tensor): The input tensor containing probabilities.
|
|
1919
1778
|
num_samples (int): Number of samples to draw.
|
|
1920
|
-
replacement (bool, optional): Whether to draw with replacement or not. Default
|
|
1921
|
-
seed (int, optional):
|
|
1922
|
-
pseudo-random numbers, must be non-negative. Default: ``None`` .
|
|
1779
|
+
replacement (bool, optional): Whether to draw with replacement or not. Default ``True`` .
|
|
1780
|
+
seed (int, optional): Random seed. Default ``None`` .
|
|
1923
1781
|
|
|
1924
1782
|
Returns:
|
|
1925
|
-
Tensor
|
|
1926
|
-
The dtype is int32.
|
|
1927
|
-
|
|
1928
|
-
Raises:
|
|
1929
|
-
TypeError: If `input` is not a Tensor whose dtype is not float32.
|
|
1930
|
-
TypeError: If `num_samples` is not an int.
|
|
1931
|
-
TypeError: If `seed` is neither an int nor None.
|
|
1783
|
+
Tensor
|
|
1932
1784
|
|
|
1933
1785
|
Supported Platforms:
|
|
1934
1786
|
``Ascend`` ``GPU`` ``CPU``
|
|
1935
1787
|
|
|
1936
1788
|
Examples:
|
|
1937
1789
|
>>> import mindspore
|
|
1938
|
-
>>> from mindspore import Tensor, ops
|
|
1939
|
-
>>> from mindspore import dtype as mstype
|
|
1940
1790
|
>>> # case 1: The output is random, and the length of the output is the same as num_sample.
|
|
1941
1791
|
>>> # replacement is False.
|
|
1942
|
-
>>> input1 =
|
|
1943
|
-
>>> input2 =
|
|
1792
|
+
>>> input1 = mindspore.tensor([90 / 100, 10 / 100, 0])
|
|
1793
|
+
>>> input2 = mindspore.tensor([90, 10, 0])
|
|
1944
1794
|
>>> # input1 and input2 have the same meaning.
|
|
1945
|
-
>>>
|
|
1946
|
-
|
|
1947
|
-
>>>
|
|
1948
|
-
|
|
1949
|
-
>>>
|
|
1950
|
-
>>> # [0 1]
|
|
1951
|
-
>>> print(len(output1))
|
|
1952
|
-
2
|
|
1953
|
-
>>> print(len(output2))
|
|
1954
|
-
2
|
|
1795
|
+
>>> mindspore.ops.multinomial(input1, 2, replacement=False)
|
|
1796
|
+
Tensor(shape=[2], dtype=Int32, value= [0, 1])
|
|
1797
|
+
>>> mindspore.ops.multinomial(input2, 2, replacement=False)
|
|
1798
|
+
Tensor(shape=[2], dtype=Int32, value= [1, 0])
|
|
1799
|
+
>>>
|
|
1955
1800
|
>>> # case 2: The output is random, and the length of the output is the same as num_sample.
|
|
1956
1801
|
>>> # replacement is True.
|
|
1957
|
-
>>>
|
|
1958
|
-
|
|
1959
|
-
>>>
|
|
1960
|
-
>>> print(len(output3))
|
|
1961
|
-
10
|
|
1802
|
+
>>> mindspore.ops.multinomial(input1, 10)
|
|
1803
|
+
Tensor(shape=[10], dtype=Int32, value= [0, 0, 1, 0, 0, 0, 0, 0, 0, 0])
|
|
1804
|
+
>>>
|
|
1962
1805
|
>>> # case 3: The output is random, and the length of the output is the same as num_sample.
|
|
1963
1806
|
>>> # replacement is True.
|
|
1964
1807
|
>>> # rank is 2
|
|
1965
|
-
>>>
|
|
1966
|
-
>>>
|
|
1967
|
-
>>>
|
|
1968
|
-
|
|
1969
|
-
|
|
1808
|
+
>>> input3 = mindspore.tensor([[90, 10, 0], [10, 90, 0]], mindspore.float32)
|
|
1809
|
+
>>> output = mindspore.ops.multinomial(input3, 10)
|
|
1810
|
+
>>> print(output)
|
|
1811
|
+
[[0 0 0 0 0 0 0 0 0 0]
|
|
1812
|
+
[1 0 1 1 1 1 1 1 1 1]]
|
|
1970
1813
|
"""
|
|
1971
1814
|
def _check_valid_dim(dim, name):
|
|
1972
1815
|
if dim not in (1, 2):
|