mindspore 2.5.0__cp310-cp310-win_amd64.whl → 2.6.0__cp310-cp310-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.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-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 +25 -194
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +109 -75
- 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 +2014 -3386
- mindspore/common/api.py +386 -355
- 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/generator.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 +332 -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 +228 -571
- 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 +109 -77
- 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/llm_boost/ascend_native/llama_boost_ascend_native.py +0 -2
- 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 +115 -147
- 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 +133 -702
- mindspore/mint/distributed/__init__.py +5 -1
- mindspore/mint/distributed/distributed.py +198 -113
- 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 +234 -28
- 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 +1253 -179
- 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 +53 -42
- 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 +18 -14
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +3 -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/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 +32 -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 +127 -52
- mindspore/ops/auto_generate/gen_extend_func.py +286 -208
- mindspore/ops/auto_generate/gen_ops_def.py +2783 -2335
- mindspore/ops/auto_generate/gen_ops_prim.py +8992 -2686
- 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 +4 -5
- 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 +1631 -2347
- 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 +3024 -3855
- mindspore/ops/function/nn_func.py +678 -274
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +17 -30
- mindspore/ops/function/random_func.py +216 -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 +26 -18
- mindspore/ops/functional.py +8 -5
- mindspore/ops/functional_overload.py +655 -4
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +21 -14
- mindspore/ops/operations/_custom_ops_utils.py +235 -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 +39 -24
- mindspore/ops/operations/comm_ops.py +150 -107
- mindspore/ops/operations/custom_ops.py +287 -32
- mindspore/ops/operations/debug_ops.py +119 -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 +67 -224
- 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 +243 -17
- 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 -10
- 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 +140 -12
- mindspore/parallel/_cell_wrapper.py +132 -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 +658 -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 +258 -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 -62
- mindspore/parallel/transform_safetensors.py +288 -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 +25 -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 +37 -13
- 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 +43 -9
- 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} +204 -105
- 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 +262 -127
- 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/runtime_execution_order_check.py +2 -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.0.dist-info}/METADATA +2 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/RECORD +485 -440
- 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.0.dist-info}/WHEEL +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.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, inplace_exponential_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)
|
|
@@ -433,14 +384,23 @@ def uniform(shape, minval, maxval, seed=None, dtype=mstype.float32):
|
|
|
433
384
|
return value
|
|
434
385
|
|
|
435
386
|
|
|
387
|
+
|
|
388
|
+
@_function_forbid_reuse
|
|
389
|
+
def exponential_(input, lambd=1, *, generator=None):
|
|
390
|
+
r"""
|
|
391
|
+
exponential
|
|
392
|
+
"""
|
|
393
|
+
if generator is None:
|
|
394
|
+
generator = default_generator
|
|
395
|
+
seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
|
|
396
|
+
return inplace_exponential_op(input, lambd, seed, offset)
|
|
397
|
+
|
|
398
|
+
|
|
436
399
|
@_function_forbid_reuse
|
|
437
400
|
def standard_normal(shape, seed=None):
|
|
438
401
|
r"""
|
|
439
402
|
Generates random numbers according to the standard Normal (or Gaussian) random number distribution.
|
|
440
403
|
|
|
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
404
|
.. math::
|
|
445
405
|
f(x)=\frac{1}{\sqrt{2 \pi}} e^{\left(-\frac{x^{2}}{2}\right)}
|
|
446
406
|
|
|
@@ -449,28 +409,25 @@ def standard_normal(shape, seed=None):
|
|
|
449
409
|
the `seed` parameter has no effect.
|
|
450
410
|
|
|
451
411
|
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.
|
|
412
|
+
shape (Union[tuple, Tensor]): The shape of returned tensor.
|
|
413
|
+
seed (int, optional): Random number Seed. Default ``None`` .
|
|
456
414
|
|
|
457
415
|
Returns:
|
|
458
|
-
Tensor
|
|
416
|
+
Tensor
|
|
459
417
|
|
|
460
418
|
Raises:
|
|
461
|
-
TypeError: If `shape` is neither a tuple nor a Tensor.
|
|
462
419
|
ValueError: If `shape` is a tuple containing non-positive items.
|
|
420
|
+
ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
|
|
463
421
|
|
|
464
422
|
Supported Platforms:
|
|
465
423
|
``Ascend`` ``GPU`` ``CPU``
|
|
466
424
|
|
|
467
425
|
Examples:
|
|
468
|
-
>>>
|
|
426
|
+
>>> import mindspore
|
|
469
427
|
>>> shape = (4, 4)
|
|
470
|
-
>>> output = ops.standard_normal(shape)
|
|
471
|
-
>>>
|
|
472
|
-
|
|
473
|
-
(4, 4)
|
|
428
|
+
>>> output = mindspore.ops.standard_normal(shape, seed=5)
|
|
429
|
+
>>> print(f'output shape is {output.shape}')
|
|
430
|
+
output shape is (4, 4)
|
|
474
431
|
"""
|
|
475
432
|
seed1, seed2 = _get_seed(seed, "standard_normal")
|
|
476
433
|
standard_normal_op = P.StandardNormal(seed=seed1, seed2=seed2)
|
|
@@ -556,7 +513,7 @@ def uniform_candidate_sampler(true_classes,
|
|
|
556
513
|
@_function_forbid_reuse
|
|
557
514
|
def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
|
|
558
515
|
r"""
|
|
559
|
-
|
|
516
|
+
Generate random number Tensor with `shape` according to a Poisson distribution with mean `rate`.
|
|
560
517
|
|
|
561
518
|
|
|
562
519
|
.. math::
|
|
@@ -568,50 +525,31 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
|
|
|
568
525
|
the `seed` parameter has no effect.
|
|
569
526
|
|
|
570
527
|
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.
|
|
528
|
+
shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D integer tensor.
|
|
573
529
|
rate (Tensor): The :math:`μ` parameter the distribution is constructed with.
|
|
574
530
|
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``.
|
|
531
|
+
and also the variance of the distribution.
|
|
532
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
533
|
+
dtype (mindspore.dtype): The data type returned. Default ``mstype.float32``.
|
|
581
534
|
|
|
582
535
|
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.
|
|
536
|
+
Tensor, the shape is `mindspore.ops.concat([shape, rate.shape], axis=0)`.
|
|
597
537
|
|
|
598
538
|
Supported Platforms:
|
|
599
539
|
``GPU`` ``CPU``
|
|
600
540
|
|
|
601
541
|
Examples:
|
|
602
542
|
>>> import mindspore
|
|
603
|
-
>>> import numpy as np
|
|
604
|
-
>>> from mindspore import Tensor, ops
|
|
605
543
|
>>> # 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)
|
|
544
|
+
>>> shape = mindspore.tensor([2, 2], mindspore.int64)
|
|
545
|
+
>>> rate = mindspore.tensor([[5.0, 10.0], [5.0, 1.0]], mindspore.float32)
|
|
546
|
+
>>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64)
|
|
609
547
|
>>> print(output.shape, output.dtype)
|
|
610
548
|
(2, 2, 2, 2) Float64
|
|
611
549
|
>>> # 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)
|
|
550
|
+
>>> shape = mindspore.tensor([2, 2], mindspore.int64)
|
|
551
|
+
>>> rate = mindspore.tensor(5.0, mindspore.float64)
|
|
552
|
+
>>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64)
|
|
615
553
|
>>> print(output.shape, output.dtype)
|
|
616
554
|
(2, 2) Int64
|
|
617
555
|
"""
|
|
@@ -626,28 +564,22 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
|
|
|
626
564
|
@_function_forbid_reuse
|
|
627
565
|
def shuffle(x, seed=None):
|
|
628
566
|
r"""
|
|
629
|
-
Randomly
|
|
567
|
+
Randomly shuffle a tensor along its first dimension.
|
|
630
568
|
|
|
631
569
|
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.
|
|
570
|
+
x (Tensor): The input tensor.
|
|
571
|
+
seed (int, optional): Random seed. Default ``None`` , which is equivalent to 0.
|
|
635
572
|
|
|
636
573
|
Returns:
|
|
637
|
-
Tensor
|
|
638
|
-
|
|
639
|
-
Raises:
|
|
640
|
-
TypeError: If data type of `seed` is not None or non-negative int.
|
|
574
|
+
Tensor
|
|
641
575
|
|
|
642
576
|
Supported Platforms:
|
|
643
577
|
``Ascend`` ``GPU`` ``CPU``
|
|
644
578
|
|
|
645
579
|
Examples:
|
|
646
|
-
>>> import
|
|
647
|
-
>>>
|
|
648
|
-
>>>
|
|
649
|
-
>>> x = Tensor(np.array([1, 2, 3, 4]), mstype.float32)
|
|
650
|
-
>>> output = ops.shuffle(x, seed=1)
|
|
580
|
+
>>> import mindspore
|
|
581
|
+
>>> x = mindspore.tensor([1, 2, 3, 4], mindspore.float32)
|
|
582
|
+
>>> output = mindspore.ops.shuffle(x, seed=1)
|
|
651
583
|
>>> print(output)
|
|
652
584
|
[3. 4. 2. 1.]
|
|
653
585
|
"""
|
|
@@ -673,13 +605,13 @@ def log_uniform_candidate_sampler(true_classes, num_true=1, num_sampled=5, uniqu
|
|
|
673
605
|
Args:
|
|
674
606
|
true_classes (Tensor): The target classes. With data type of int64 and
|
|
675
607
|
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`` ,
|
|
608
|
+
num_true (int, optional): The number of target classes per training example. Default: ``1`` .
|
|
609
|
+
num_sampled (int, optional): The number of classes to randomly sample. Default: ``5`` .
|
|
610
|
+
unique (bool, optional): Determines whether sample with rejection. If `unique` is ``True`` ,
|
|
679
611
|
all sampled classes in a batch are unique. Default: ``True`` .
|
|
680
|
-
range_max (int): The number of possible classes. When `unique` is ``True`` ,
|
|
612
|
+
range_max (int, optional): The number of possible classes. When `unique` is ``True`` ,
|
|
681
613
|
`range_max` must be greater than or equal to `num_sampled`. Default: ``5`` .
|
|
682
|
-
seed (int): Random seed, must be non-negative. Default: ``0`` .
|
|
614
|
+
seed (int, optional): Random seed, must be non-negative. Default: ``0`` .
|
|
683
615
|
|
|
684
616
|
Returns:
|
|
685
617
|
Tuple of 3 Tensors.
|
|
@@ -933,50 +865,44 @@ def normal_ext(mean=0.0, std=1.0, size=None, generator=None):
|
|
|
933
865
|
@_function_forbid_reuse
|
|
934
866
|
def normal(shape, mean, stddev, seed=None):
|
|
935
867
|
"""
|
|
936
|
-
|
|
868
|
+
Return a random tensor that conforms to the normal (Gaussian) distribution.
|
|
937
869
|
|
|
938
870
|
.. warning::
|
|
939
871
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
940
872
|
the `seed` parameter has no effect.
|
|
941
873
|
|
|
942
874
|
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.
|
|
875
|
+
shape (tuple): The shape of returned tensor.
|
|
876
|
+
mean (Union[Tensor, int, float]): The mean of the normal distribution for the returned tensor.
|
|
877
|
+
stddev (Union[Tensor, int, float]): The standard deviation of the normal distribution for the returned tensor.
|
|
878
|
+
seed (int, optional): Random seed. Default: ``None`` , which is equivalent to 0.
|
|
949
879
|
|
|
950
880
|
Returns:
|
|
951
|
-
Tensor
|
|
952
|
-
of `mean` and `stddev`.
|
|
953
|
-
The dtype is [float32, float64].
|
|
881
|
+
Tensor
|
|
954
882
|
|
|
955
883
|
Supported Platforms:
|
|
956
884
|
``Ascend`` ``GPU`` ``CPU``
|
|
957
885
|
|
|
958
886
|
Examples:
|
|
959
887
|
>>> import mindspore
|
|
960
|
-
>>> import numpy as np
|
|
961
|
-
>>> from mindspore import Tensor, ops
|
|
962
888
|
>>> shape = (3, 1, 2)
|
|
963
|
-
>>> mean =
|
|
964
|
-
>>> stddev =
|
|
965
|
-
>>> output = ops.normal(shape, mean, stddev, seed=5)
|
|
889
|
+
>>> mean = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
890
|
+
>>> stddev = mindspore.tensor(1.0, mindspore.float32)
|
|
891
|
+
>>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
|
|
966
892
|
>>> result = output.shape
|
|
967
893
|
>>> print(result)
|
|
968
894
|
(3, 2, 2)
|
|
969
895
|
>>> shape = (3, 1, 3)
|
|
970
|
-
>>> mean =
|
|
971
|
-
>>> stddev =
|
|
972
|
-
>>> output = ops.normal(shape, mean, stddev, seed=5)
|
|
896
|
+
>>> mean = mindspore.tensor([[3, 4, 3], [3, 5, 6]], mindspore.float32)
|
|
897
|
+
>>> stddev = mindspore.tensor(1.0, mindspore.float32)
|
|
898
|
+
>>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
|
|
973
899
|
>>> result = output.shape
|
|
974
900
|
>>> print(result)
|
|
975
901
|
(3, 2, 3)
|
|
976
902
|
>>> shape = (3, 1, 3)
|
|
977
|
-
>>> mean =
|
|
978
|
-
>>> stddev =
|
|
979
|
-
>>> output = ops.normal(shape, mean, stddev, seed=5)
|
|
903
|
+
>>> mean = mindspore.tensor([[1, 2, 3], [3, 4, 3], [3, 5, 6]], mindspore.float32)
|
|
904
|
+
>>> stddev = mindspore.tensor(1.0, mindspore.float32)
|
|
905
|
+
>>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
|
|
980
906
|
>>> result = output.shape
|
|
981
907
|
>>> print(result)
|
|
982
908
|
(3, 3, 3)
|
|
@@ -1000,7 +926,8 @@ def normal(shape, mean, stddev, seed=None):
|
|
|
1000
926
|
def laplace(shape, mean, lambda_param, seed=None):
|
|
1001
927
|
r"""
|
|
1002
928
|
Generates random numbers according to the Laplace random number distribution.
|
|
1003
|
-
|
|
929
|
+
|
|
930
|
+
Support broadcasting.
|
|
1004
931
|
|
|
1005
932
|
.. math::
|
|
1006
933
|
\text{f}(x;μ,λ) = \frac{1}{2λ}\exp(-\frac{|x-μ|}{λ}),
|
|
@@ -1010,30 +937,24 @@ def laplace(shape, mean, lambda_param, seed=None):
|
|
|
1010
937
|
the `seed` parameter has no effect.
|
|
1011
938
|
|
|
1012
939
|
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.
|
|
940
|
+
shape (tuple): The shape specified.
|
|
941
|
+
mean (Tensor): The mean of distribution.
|
|
942
|
+
lambda_param (Tensor): Control the variance of distribution. The
|
|
943
|
+
variance of Laplace distribution is equal to twice the square of `lambda_param` .
|
|
944
|
+
seed (int, optional): Random seed. Default ``None`` represents 0.
|
|
1021
945
|
|
|
1022
946
|
Returns:
|
|
1023
|
-
Tensor
|
|
1024
|
-
The dtype is float32.
|
|
947
|
+
Tensor
|
|
1025
948
|
|
|
1026
949
|
Supported Platforms:
|
|
1027
950
|
``Ascend`` ``GPU`` ``CPU``
|
|
1028
951
|
|
|
1029
952
|
Examples:
|
|
1030
953
|
>>> import mindspore
|
|
1031
|
-
>>> from mindspore import Tensor
|
|
1032
|
-
>>> from mindspore import ops as ops
|
|
1033
954
|
>>> shape = (2, 3)
|
|
1034
|
-
>>> mean =
|
|
1035
|
-
>>> lambda_param =
|
|
1036
|
-
>>> output = ops.laplace(shape, mean, lambda_param, seed=5)
|
|
955
|
+
>>> mean = mindspore.tensor(1.0, mindspore.float32)
|
|
956
|
+
>>> lambda_param = mindspore.tensor(1.0, mindspore.float32)
|
|
957
|
+
>>> output = mindspore.ops.laplace(shape, mean, lambda_param, seed=5)
|
|
1037
958
|
>>> print(output.shape)
|
|
1038
959
|
(2, 3)
|
|
1039
960
|
"""
|
|
@@ -1056,56 +977,47 @@ def gamma(shape, alpha, beta, seed=None):
|
|
|
1056
977
|
r"""
|
|
1057
978
|
Generates random numbers according to the Gamma random number distribution.
|
|
1058
979
|
|
|
980
|
+
Support broadcasting.
|
|
981
|
+
|
|
1059
982
|
.. warning::
|
|
1060
983
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
1061
984
|
the `seed` parameter has no effect.
|
|
1062
985
|
|
|
1063
986
|
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`` .
|
|
987
|
+
shape (tuple): The shape specified.
|
|
988
|
+
alpha (Tensor): The shape parameter.
|
|
989
|
+
beta (Tensor): The inverse scale parameter.
|
|
990
|
+
seed (int, optional): The random seed, Default ``None`` .
|
|
1069
991
|
|
|
1070
992
|
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.
|
|
993
|
+
Tensor
|
|
1080
994
|
|
|
1081
995
|
Supported Platforms:
|
|
1082
996
|
``Ascend``
|
|
1083
997
|
|
|
1084
998
|
Examples:
|
|
1085
999
|
>>> import mindspore
|
|
1086
|
-
>>> import numpy as np
|
|
1087
|
-
>>> from mindspore import Tensor, ops
|
|
1088
1000
|
>>> # case 1: alpha_shape is (2, 2)
|
|
1089
1001
|
>>> shape = (3, 1, 2)
|
|
1090
|
-
>>> alpha =
|
|
1091
|
-
>>> beta =
|
|
1092
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
1002
|
+
>>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
1003
|
+
>>> beta = mindspore.tensor([1.0], mindspore.float32)
|
|
1004
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1093
1005
|
>>> result = output.shape
|
|
1094
1006
|
>>> print(result)
|
|
1095
1007
|
(3, 2, 2)
|
|
1096
1008
|
>>> # case 2: alpha_shape is (2, 3), so shape is (3, 1, 3)
|
|
1097
1009
|
>>> shape = (3, 1, 3)
|
|
1098
|
-
>>> alpha =
|
|
1099
|
-
>>> beta =
|
|
1100
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
1010
|
+
>>> alpha = mindspore.tensor([[1, 3, 4], [2, 5, 6]]), mindspore.float32)
|
|
1011
|
+
>>> beta = mindspore.tensor([1.0], mindspore.float32)
|
|
1012
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1101
1013
|
>>> result = output.shape
|
|
1102
1014
|
>>> print(result)
|
|
1103
1015
|
(3, 2, 3)
|
|
1104
1016
|
>>> # case 3: beta_shape is (1, 2), the output is different.
|
|
1105
1017
|
>>> shape = (3, 1, 2)
|
|
1106
|
-
>>> alpha =
|
|
1107
|
-
>>> beta =
|
|
1108
|
-
>>> 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], mindspore.float32)
|
|
1020
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1109
1021
|
>>> print(output)
|
|
1110
1022
|
[[[ 2.2132034 5.8855834]
|
|
1111
1023
|
[ 3.8825176 8.6066265]]
|
|
@@ -1115,9 +1027,9 @@ def gamma(shape, alpha, beta, seed=None):
|
|
|
1115
1027
|
[ 3.786061 5.160872 ]]]
|
|
1116
1028
|
>>> # case 4: beta_shape is (2, 1), the output is different.
|
|
1117
1029
|
>>> shape = (3, 1, 2)
|
|
1118
|
-
>>> alpha =
|
|
1119
|
-
>>> beta =
|
|
1120
|
-
>>> output = ops.gamma(shape, alpha, beta, seed=5)
|
|
1030
|
+
>>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
|
|
1031
|
+
>>> beta = mindspore.tensor([[1.0], [2.0]], mindspore.float32)
|
|
1032
|
+
>>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
|
|
1121
1033
|
>>> print(output)
|
|
1122
1034
|
[[[ 5.6085486 7.8280783]
|
|
1123
1035
|
[ 15.97684 16.116285]]
|
|
@@ -1160,35 +1072,29 @@ def _generate_shapes(shape):
|
|
|
1160
1072
|
@_function_forbid_reuse
|
|
1161
1073
|
def rand(*size, dtype=None, seed=None):
|
|
1162
1074
|
r"""
|
|
1163
|
-
|
|
1164
|
-
based on the given
|
|
1075
|
+
Return a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
|
|
1076
|
+
based on the given `size` and `dtype`.
|
|
1165
1077
|
|
|
1166
1078
|
.. warning::
|
|
1167
1079
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
1168
1080
|
the `seed` parameter has no effect.
|
|
1169
1081
|
|
|
1170
1082
|
Args:
|
|
1171
|
-
size (Union[int, tuple(int), list(int)]):
|
|
1083
|
+
size (Union[int, tuple(int), list(int)]): The shape of the output tensor.
|
|
1172
1084
|
|
|
1173
1085
|
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.
|
|
1086
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
|
|
1087
|
+
seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
|
|
1177
1088
|
|
|
1178
1089
|
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.
|
|
1090
|
+
Tensor
|
|
1185
1091
|
|
|
1186
1092
|
Supported Platforms:
|
|
1187
1093
|
``Ascend`` ``GPU`` ``CPU``
|
|
1188
1094
|
|
|
1189
1095
|
Examples:
|
|
1190
|
-
>>>
|
|
1191
|
-
>>> print(ops.rand((2,3)))
|
|
1096
|
+
>>> import mindspore
|
|
1097
|
+
>>> print(mindspore.ops.rand((2,3)))
|
|
1192
1098
|
[[4.1702199e-01 9.9718481e-01 7.2032452e-01]
|
|
1193
1099
|
[9.3255734e-01 1.1438108e-04 1.2812445e-01]]
|
|
1194
1100
|
"""
|
|
@@ -1208,37 +1114,31 @@ def rand(*size, dtype=None, seed=None):
|
|
|
1208
1114
|
@_function_forbid_reuse
|
|
1209
1115
|
def rand_like(input, seed=None, *, dtype=None):
|
|
1210
1116
|
r"""
|
|
1211
|
-
|
|
1212
|
-
|
|
1117
|
+
Return a tensor with the same shape as `input` that is filled with random numbers from a uniform distribution
|
|
1118
|
+
on the interval :math:`[0, 1)`.
|
|
1213
1119
|
|
|
1214
1120
|
.. warning::
|
|
1215
1121
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
1216
1122
|
the `seed` parameter has no effect.
|
|
1217
1123
|
|
|
1218
1124
|
Args:
|
|
1219
|
-
input (Tensor):
|
|
1220
|
-
seed (int, optional): Random seed, must be greater or equal to 0. Default
|
|
1125
|
+
input (Tensor): The input tensor.
|
|
1126
|
+
seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
|
|
1221
1127
|
|
|
1222
1128
|
Keyword Args:
|
|
1223
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1224
|
-
|
|
1129
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1130
|
+
Default ``None`` .
|
|
1225
1131
|
|
|
1226
1132
|
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.
|
|
1133
|
+
Tensor
|
|
1233
1134
|
|
|
1234
1135
|
Supported Platforms:
|
|
1235
1136
|
``Ascend`` ``GPU`` ``CPU``
|
|
1236
1137
|
|
|
1237
1138
|
Examples:
|
|
1238
|
-
>>> import mindspore
|
|
1239
|
-
>>>
|
|
1240
|
-
>>> a =
|
|
1241
|
-
>>> print(ops.rand_like(a, dtype=ms.float32))
|
|
1139
|
+
>>> import mindspore
|
|
1140
|
+
>>> a = mindspore.tensor([[2, 3, 4], [1, 2, 3]])
|
|
1141
|
+
>>> print(mindspore.ops.rand_like(a, dtype=mindspore.float32))
|
|
1242
1142
|
[[4.1702199e-01 9.9718481e-01 7.2032452e-01]
|
|
1243
1143
|
[9.3255734e-01 1.1438108e-04 1.2812445e-01]]
|
|
1244
1144
|
"""
|
|
@@ -1270,7 +1170,7 @@ def rand_ext(*size, generator=None, dtype=None):
|
|
|
1270
1170
|
Keyword Args:
|
|
1271
1171
|
generator (:class:`mindspore.Generator`, optional): a pseudorandom number generator.
|
|
1272
1172
|
Default: ``None``, uses the default pseudorandom number generator.
|
|
1273
|
-
dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If None
|
|
1173
|
+
dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If ``None``,
|
|
1274
1174
|
`mindspore.float32` will be applied. Default: ``None`` .
|
|
1275
1175
|
|
|
1276
1176
|
Returns:
|
|
@@ -1384,7 +1284,7 @@ def randn_like_ext(input, *, dtype=None):
|
|
|
1384
1284
|
input (Tensor): Input Tensor to specify the output shape and its default dtype.
|
|
1385
1285
|
|
|
1386
1286
|
Keyword Args:
|
|
1387
|
-
dtype (:class:`mindspore.dtype`, optional): Designated
|
|
1287
|
+
dtype (:class:`mindspore.dtype`, optional): Designated Tensor dtype, it must be float type. If ``None``,
|
|
1388
1288
|
the same dtype of `input` will be applied. Default: ``None`` .
|
|
1389
1289
|
|
|
1390
1290
|
Returns:
|
|
@@ -1551,7 +1451,7 @@ def random_(input, from_=0, to=None, *, generator=None):
|
|
|
1551
1451
|
@_function_forbid_reuse
|
|
1552
1452
|
def randn(*size, dtype=None, seed=None):
|
|
1553
1453
|
r"""
|
|
1554
|
-
|
|
1454
|
+
Return a new tensor with given shape and dtype, filled with random numbers
|
|
1555
1455
|
from the standard normal distribution.
|
|
1556
1456
|
|
|
1557
1457
|
.. warning::
|
|
@@ -1559,28 +1459,22 @@ def randn(*size, dtype=None, seed=None):
|
|
|
1559
1459
|
the `seed` parameter has no effect.
|
|
1560
1460
|
|
|
1561
1461
|
Args:
|
|
1562
|
-
size (Union[int, tuple(int), list(int)]): Shape of the
|
|
1462
|
+
size (Union[int, tuple(int), list(int)]): Shape of the output tensor.
|
|
1563
1463
|
|
|
1564
1464
|
Keyword Args:
|
|
1565
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1566
|
-
|
|
1567
|
-
seed (int, optional): Random seed, must be
|
|
1465
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1466
|
+
Default ``None`` .
|
|
1467
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1568
1468
|
|
|
1569
1469
|
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.
|
|
1470
|
+
Tensor
|
|
1577
1471
|
|
|
1578
1472
|
Supported Platforms:
|
|
1579
1473
|
``Ascend`` ``GPU`` ``CPU``
|
|
1580
1474
|
|
|
1581
1475
|
Examples:
|
|
1582
|
-
>>>
|
|
1583
|
-
>>> print(ops.randn((2, 2)))
|
|
1476
|
+
>>> import mindspore
|
|
1477
|
+
>>> print(mindspore.ops.randn((2, 2)))
|
|
1584
1478
|
[[ 0.30639967 -0.42438635]
|
|
1585
1479
|
[-0.4287376 1.3054721 ]]
|
|
1586
1480
|
"""
|
|
@@ -1600,7 +1494,7 @@ def randn(*size, dtype=None, seed=None):
|
|
|
1600
1494
|
@_function_forbid_reuse
|
|
1601
1495
|
def randn_like(input, seed=None, *, dtype=None):
|
|
1602
1496
|
r"""
|
|
1603
|
-
|
|
1497
|
+
Return a tensor with the same shape as `input`, filled with random numbers from the standard normal
|
|
1604
1498
|
distribution.
|
|
1605
1499
|
|
|
1606
1500
|
.. warning::
|
|
@@ -1608,29 +1502,22 @@ def randn_like(input, seed=None, *, dtype=None):
|
|
|
1608
1502
|
the `seed` parameter has no effect.
|
|
1609
1503
|
|
|
1610
1504
|
Args:
|
|
1611
|
-
input (Tensor):
|
|
1612
|
-
seed (int, optional): Random seed, must be
|
|
1505
|
+
input (Tensor): The input tensor.
|
|
1506
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1613
1507
|
|
|
1614
1508
|
Keyword Args:
|
|
1615
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1616
|
-
`mindspore.float32` will be used. Default: ``None`` .
|
|
1509
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
|
|
1617
1510
|
|
|
1618
1511
|
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`.
|
|
1512
|
+
Tensor
|
|
1625
1513
|
|
|
1626
1514
|
Supported Platforms:
|
|
1627
1515
|
``Ascend`` ``GPU`` ``CPU``
|
|
1628
1516
|
|
|
1629
1517
|
Examples:
|
|
1630
|
-
>>> import mindspore
|
|
1631
|
-
>>>
|
|
1632
|
-
>>> a =
|
|
1633
|
-
>>> print(ops.randn_like(a, dtype=ms.float32))
|
|
1518
|
+
>>> import mindspore
|
|
1519
|
+
>>> a = mindspore.tensor([[1, 2, 3], [4, 5, 6]])
|
|
1520
|
+
>>> print(mindspore.ops.randn_like(a, dtype=mindspore.float32))
|
|
1634
1521
|
[[ 0.30639967 -0.42438635 -0.20454668]
|
|
1635
1522
|
[-0.4287376 1.3054721 0.64747655]]
|
|
1636
1523
|
"""
|
|
@@ -1653,7 +1540,7 @@ def randn_like(input, seed=None, *, dtype=None):
|
|
|
1653
1540
|
@_function_forbid_reuse
|
|
1654
1541
|
def randint(low, high, size, seed=None, *, dtype=None):
|
|
1655
1542
|
r"""
|
|
1656
|
-
|
|
1543
|
+
Return a tensor whose elements are random integers in the range of [ `low` , `high` ) .
|
|
1657
1544
|
|
|
1658
1545
|
.. warning::
|
|
1659
1546
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
@@ -1662,30 +1549,22 @@ def randint(low, high, size, seed=None, *, dtype=None):
|
|
|
1662
1549
|
Args:
|
|
1663
1550
|
low (int): Start value of interval.
|
|
1664
1551
|
high (int): End value of interval.
|
|
1665
|
-
size (tuple): Shape of the
|
|
1666
|
-
seed (int, optional): Random seed, must be
|
|
1552
|
+
size (tuple): Shape of the output tensor.
|
|
1553
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1667
1554
|
|
|
1668
1555
|
Keyword Args:
|
|
1669
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1670
|
-
|
|
1556
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1557
|
+
Default ``None`` .
|
|
1671
1558
|
|
|
1672
1559
|
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
|
-
|
|
1560
|
+
Tensor
|
|
1682
1561
|
|
|
1683
1562
|
Supported Platforms:
|
|
1684
1563
|
``Ascend`` ``GPU`` ``CPU``
|
|
1685
1564
|
|
|
1686
1565
|
Examples:
|
|
1687
|
-
>>>
|
|
1688
|
-
>>> print(ops.randint(1, 10, (2,3)))
|
|
1566
|
+
>>> import mindspore
|
|
1567
|
+
>>> print(mindspore.ops.randint(1, 10, (2,3)))
|
|
1689
1568
|
[[4 9 7]
|
|
1690
1569
|
[9 1 2]]
|
|
1691
1570
|
"""
|
|
@@ -1715,7 +1594,7 @@ def randint(low, high, size, seed=None, *, dtype=None):
|
|
|
1715
1594
|
@_function_forbid_reuse
|
|
1716
1595
|
def randint_like(input, low, high, seed=None, *, dtype=None):
|
|
1717
1596
|
r"""
|
|
1718
|
-
Returns a tensor with the same shape as
|
|
1597
|
+
Returns a tensor with the same shape as `input` whose elements are random integers in the range
|
|
1719
1598
|
of [ `low` , `high` ) .
|
|
1720
1599
|
|
|
1721
1600
|
.. warning::
|
|
@@ -1723,31 +1602,25 @@ def randint_like(input, low, high, seed=None, *, dtype=None):
|
|
|
1723
1602
|
the `seed` parameter has no effect.
|
|
1724
1603
|
|
|
1725
1604
|
Args:
|
|
1726
|
-
input (Tensor):
|
|
1605
|
+
input (Tensor): The input tensor.
|
|
1727
1606
|
low(int): Start value of interval.
|
|
1728
1607
|
high(int): End value of interval.
|
|
1729
|
-
seed (int, optional): Random seed, must be
|
|
1608
|
+
seed (int, optional): Random seed, must be non-negative. Default ``None`` .
|
|
1730
1609
|
|
|
1731
1610
|
Keyword Args:
|
|
1732
|
-
dtype (:class:`mindspore.dtype`, optional):
|
|
1733
|
-
|
|
1611
|
+
dtype (:class:`mindspore.dtype`, optional): The data type returned.
|
|
1612
|
+
Default ``None`` .
|
|
1734
1613
|
|
|
1735
1614
|
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`.
|
|
1615
|
+
Tensor
|
|
1743
1616
|
|
|
1744
1617
|
Supported Platforms:
|
|
1745
1618
|
``Ascend`` ``GPU`` ``CPU``
|
|
1746
1619
|
|
|
1747
1620
|
Examples:
|
|
1748
|
-
>>>
|
|
1749
|
-
>>> a =
|
|
1750
|
-
>>> print(ops.randint_like(a, 1, 10))
|
|
1621
|
+
>>> import mindspore
|
|
1622
|
+
>>> a = mindspore.tensor([[1, 2, 3], [3, 2, 1]])
|
|
1623
|
+
>>> print(mindspore.ops.randint_like(a, 1, 10))
|
|
1751
1624
|
[[4 9 7]
|
|
1752
1625
|
[9 1 2]]
|
|
1753
1626
|
"""
|
|
@@ -1876,27 +1749,26 @@ def poisson(shape, mean, seed=None):
|
|
|
1876
1749
|
@_function_forbid_reuse
|
|
1877
1750
|
def multinomial(input, num_samples, replacement=True, seed=None):
|
|
1878
1751
|
r"""
|
|
1879
|
-
|
|
1880
|
-
row of the input tensor.
|
|
1752
|
+
Generate a tensor from a multinomial distribution.
|
|
1881
1753
|
|
|
1882
1754
|
The polynomial distribution is a probability distribution that generalizes the binomial distribution formula to
|
|
1883
1755
|
multiple states. In the polynomial distribution, each event has a fixed probability, and the sum of these
|
|
1884
|
-
probabilities is 1.
|
|
1885
|
-
|
|
1756
|
+
probabilities is 1.
|
|
1757
|
+
|
|
1758
|
+
The purpose of this interface is to perform `num_samples` sampling
|
|
1886
1759
|
on the input `input`, and the output tensor is the index of the input tensor for each sampling.
|
|
1887
1760
|
The values in `input` represent the probability of selecting the corresponding index for each sampling.
|
|
1888
1761
|
|
|
1889
1762
|
Here is an extreme example for better understanding. Suppose we have an input probability tensor with
|
|
1890
|
-
values `
|
|
1763
|
+
values `[90 / 100, 10 / 100, 0]`, which means we can sample three indices,
|
|
1891
1764
|
namely index 0, index 1, and index 2, with probabilities of 90%, 10%, and 0%, respectively. We perform n samplings,
|
|
1892
1765
|
and the resulting sequence is the calculation result of the polynomial distribution, with a length equal to the
|
|
1893
1766
|
number of samplings.
|
|
1894
1767
|
|
|
1895
1768
|
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]`.
|
|
1769
|
+
Since the probability of selecting index 0 is 90% for each sampling, the first result is most likely to be index 0.
|
|
1770
|
+
Since the probability of selecting index 2 is 0, index 2 cannot appear in the sampling result. Therefore, the
|
|
1771
|
+
second result must be index 1, and the resulting sequence is `[0, 1]`.
|
|
1900
1772
|
|
|
1901
1773
|
In case 2 of the sample code, we perform 10 replacement samplings (`replacement` is `True`).
|
|
1902
1774
|
As expected, about 90% of the sampling results are index 0.
|
|
@@ -1914,59 +1786,42 @@ def multinomial(input, num_samples, replacement=True, seed=None):
|
|
|
1914
1786
|
the `seed` parameter has no effect.
|
|
1915
1787
|
|
|
1916
1788
|
Args:
|
|
1917
|
-
input (Tensor): The input tensor containing probabilities
|
|
1918
|
-
float32 data type.
|
|
1789
|
+
input (Tensor): The input tensor containing probabilities.
|
|
1919
1790
|
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`` .
|
|
1791
|
+
replacement (bool, optional): Whether to draw with replacement or not. Default ``True`` .
|
|
1792
|
+
seed (int, optional): Random seed. Default ``None`` .
|
|
1923
1793
|
|
|
1924
1794
|
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.
|
|
1795
|
+
Tensor
|
|
1932
1796
|
|
|
1933
1797
|
Supported Platforms:
|
|
1934
1798
|
``Ascend`` ``GPU`` ``CPU``
|
|
1935
1799
|
|
|
1936
1800
|
Examples:
|
|
1937
1801
|
>>> import mindspore
|
|
1938
|
-
>>> from mindspore import Tensor, ops
|
|
1939
|
-
>>> from mindspore import dtype as mstype
|
|
1940
1802
|
>>> # case 1: The output is random, and the length of the output is the same as num_sample.
|
|
1941
1803
|
>>> # replacement is False.
|
|
1942
|
-
>>> input1 =
|
|
1943
|
-
>>> input2 =
|
|
1804
|
+
>>> input1 = mindspore.tensor([90 / 100, 10 / 100, 0])
|
|
1805
|
+
>>> input2 = mindspore.tensor([90, 10, 0])
|
|
1944
1806
|
>>> # 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
|
|
1807
|
+
>>> mindspore.ops.multinomial(input1, 2, replacement=False)
|
|
1808
|
+
Tensor(shape=[2], dtype=Int32, value= [0, 1])
|
|
1809
|
+
>>> mindspore.ops.multinomial(input2, 2, replacement=False)
|
|
1810
|
+
Tensor(shape=[2], dtype=Int32, value= [1, 0])
|
|
1811
|
+
>>>
|
|
1955
1812
|
>>> # case 2: The output is random, and the length of the output is the same as num_sample.
|
|
1956
1813
|
>>> # replacement is True.
|
|
1957
|
-
>>>
|
|
1958
|
-
|
|
1959
|
-
>>>
|
|
1960
|
-
>>> print(len(output3))
|
|
1961
|
-
10
|
|
1814
|
+
>>> mindspore.ops.multinomial(input1, 10)
|
|
1815
|
+
Tensor(shape=[10], dtype=Int32, value= [0, 0, 1, 0, 0, 0, 0, 0, 0, 0])
|
|
1816
|
+
>>>
|
|
1962
1817
|
>>> # case 3: The output is random, and the length of the output is the same as num_sample.
|
|
1963
1818
|
>>> # replacement is True.
|
|
1964
1819
|
>>> # rank is 2
|
|
1965
|
-
>>>
|
|
1966
|
-
>>>
|
|
1967
|
-
>>>
|
|
1968
|
-
|
|
1969
|
-
|
|
1820
|
+
>>> input3 = mindspore.tensor([[90, 10, 0], [10, 90, 0]], mindspore.float32)
|
|
1821
|
+
>>> output = mindspore.ops.multinomial(input3, 10)
|
|
1822
|
+
>>> print(output)
|
|
1823
|
+
[[0 0 0 0 0 0 0 0 0 0]
|
|
1824
|
+
[1 0 1 1 1 1 1 1 1 1]]
|
|
1970
1825
|
"""
|
|
1971
1826
|
def _check_valid_dim(dim, name):
|
|
1972
1827
|
if dim not in (1, 2):
|