mindspore 2.4.10__cp311-cp311-win_amd64.whl → 2.6.0rc1__cp311-cp311-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 +13 -6
- mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -38
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +83 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
- 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 +46 -197
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +217 -98
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- 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 +138 -43
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +6 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -2
- mindspore/common/_stub_tensor.py +30 -14
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +4760 -0
- mindspore/common/api.py +435 -371
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +2 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- 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 +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +951 -1992
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +314 -566
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +182 -116
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- 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/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- 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/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -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 +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- 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 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +157 -117
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- 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 +796 -759
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +921 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- 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/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1370 -189
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +22 -17
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +17 -13
- 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/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- 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/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +365 -363
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -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 -65
- mindspore/ops/_vmap/vmap_array_ops.py +27 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +236 -46
- mindspore/ops/auto_generate/gen_extend_func.py +764 -124
- mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
- mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- 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 +228 -30
- 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 -30
- 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 +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4501 -3802
- mindspore/ops/function/nn_func.py +1726 -620
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +440 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +24 -17
- mindspore/ops/functional.py +22 -7
- mindspore/ops/functional_overload.py +1440 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +13 -7
- mindspore/ops/operations/_custom_ops_utils.py +247 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- 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 +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +232 -78
- mindspore/ops/operations/debug_ops.py +153 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +210 -498
- 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 +66 -53
- mindspore/ops/tensor_method.py +1888 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +299 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- 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/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- 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 +7 -3
- mindspore/parallel/_auto_parallel_context.py +152 -34
- mindspore/parallel/_cell_wrapper.py +130 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +698 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- 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 +25 -14
- mindspore/parallel/shard.py +137 -58
- mindspore/parallel/transform_safetensors.py +363 -305
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +106 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +409 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- 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 +88 -25
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- 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 +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -107
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- 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 +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +184 -113
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +550 -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.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +587 -418
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
mindspore/common/parameter.py
CHANGED
|
@@ -17,24 +17,25 @@
|
|
|
17
17
|
from __future__ import absolute_import
|
|
18
18
|
|
|
19
19
|
from copy import copy
|
|
20
|
+
|
|
20
21
|
import time
|
|
21
22
|
import os
|
|
22
23
|
import sys
|
|
23
24
|
import math
|
|
24
25
|
import numbers
|
|
25
26
|
import numpy as np
|
|
27
|
+
|
|
26
28
|
from mindspore import log as logger
|
|
27
29
|
from mindspore.log import _LogActionOnce
|
|
28
30
|
from mindspore._c_expression import ParamInfo
|
|
29
31
|
from mindspore.common import dtype as mstype
|
|
30
32
|
from mindspore import context
|
|
31
|
-
from mindspore.parallel._utils import _get_parallel_mode, _get_global_rank
|
|
32
33
|
from mindspore.common._utils import get_slice_num, get_slice_shape
|
|
33
34
|
from mindspore.common.initializer import initializer
|
|
34
|
-
from mindspore.common.tensor import Tensor
|
|
35
|
+
from mindspore.common.tensor import Tensor, _TensorMeta
|
|
35
36
|
from mindspore import _checkparam as Validator
|
|
36
37
|
from mindspore._check_jit_forbidden_api import jit_forbidden_register
|
|
37
|
-
from mindspore._c_expression import
|
|
38
|
+
from mindspore._c_expression import TensorPy as Tensor_
|
|
38
39
|
from mindspore.parallel._tensor import _get_slice_index
|
|
39
40
|
from mindspore.parallel._auto_parallel_context import auto_parallel_context
|
|
40
41
|
from mindspore.parallel._ps_context import _is_role_worker, _is_role_pserver, _is_role_sched, _clone_hash_table, \
|
|
@@ -42,7 +43,7 @@ from mindspore.parallel._ps_context import _is_role_worker, _is_role_pserver, _i
|
|
|
42
43
|
from mindspore.parallel._ps_context import _reinsert_hash_table_size, _insert_accumu_init_info, _cache_enable
|
|
43
44
|
from mindspore.common._decorator import deprecated
|
|
44
45
|
from mindspore.communication._comm_helper import _is_initialized
|
|
45
|
-
from mindspore.communication import get_group_size
|
|
46
|
+
from mindspore.communication import get_group_size, get_rank
|
|
46
47
|
import mindspore.common._monad as monad
|
|
47
48
|
|
|
48
49
|
__all__ = ['Parameter', 'ParameterTuple']
|
|
@@ -53,6 +54,16 @@ PARAMETER_NAME_PREFIX_MAX_LEN = 1024
|
|
|
53
54
|
# Global variable for parameter unique key.
|
|
54
55
|
_GLOBAL_PARAMETER_KEY = -1
|
|
55
56
|
|
|
57
|
+
# Global variable to mark the hook of parameter is updated
|
|
58
|
+
_parameter_hook_updated = True
|
|
59
|
+
def set_parameter_hook_updated(value):
|
|
60
|
+
global _parameter_hook_updated
|
|
61
|
+
_parameter_hook_updated = value
|
|
62
|
+
|
|
63
|
+
def parameter_hook_updated():
|
|
64
|
+
global _parameter_hook_updated
|
|
65
|
+
return _parameter_hook_updated
|
|
66
|
+
|
|
56
67
|
|
|
57
68
|
def _is_in_auto_parallel_mode():
|
|
58
69
|
"""Get parallel mode."""
|
|
@@ -65,7 +76,7 @@ def _is_parallel_mode():
|
|
|
65
76
|
return False
|
|
66
77
|
if os.getenv("RUN_MODE") != "predict":
|
|
67
78
|
return False
|
|
68
|
-
if get_group_size() > 1
|
|
79
|
+
if get_group_size() > 1:
|
|
69
80
|
return True
|
|
70
81
|
return False
|
|
71
82
|
|
|
@@ -108,7 +119,7 @@ def _gen_offload_file_path(offload_dir):
|
|
|
108
119
|
offload_dir = os.path.relpath(offload_dir)
|
|
109
120
|
if not os.path.exists(offload_dir):
|
|
110
121
|
os.makedirs(offload_dir, mode=0o700, exist_ok=True)
|
|
111
|
-
offload_file_path = offload_dir + "/" + str(
|
|
122
|
+
offload_file_path = offload_dir + "/" + str(get_rank()) + "_" + str(
|
|
112
123
|
_get_unique_parameter_key()) + "_" + str(time.time()) + ".data"
|
|
113
124
|
return offload_file_path
|
|
114
125
|
|
|
@@ -143,7 +154,7 @@ class Parameter(Tensor_):
|
|
|
143
154
|
the list of its parameters, and will appear, e.g. in `cell.get_parameters()` iterator.
|
|
144
155
|
|
|
145
156
|
Note:
|
|
146
|
-
-
|
|
157
|
+
- When using `AutoParallel(cell)` to enable parallel mode, if init `Parameter` by
|
|
147
158
|
a `Tensor`, the type of Parameter will be `Tensor`. `Tensor` will save the shape and type info of a tensor
|
|
148
159
|
with no memory usage.
|
|
149
160
|
|
|
@@ -203,9 +214,8 @@ class Parameter(Tensor_):
|
|
|
203
214
|
requires_grad (bool): True if the parameter requires gradient. Default: ``True`` .
|
|
204
215
|
layerwise_parallel (bool): When `layerwise_parallel` is true in data/hybrid parallel mode,
|
|
205
216
|
broadcast and gradients communication would not be applied to the `Parameter`. Default: ``False`` .
|
|
206
|
-
parallel_optimizer (bool): It is used to filter the weight shard operation in
|
|
207
|
-
|
|
208
|
-
`mindspore.set_auto_parallel_context()`. Default: ``True`` .
|
|
217
|
+
parallel_optimizer (bool): It is used to filter the weight shard operation in parallel mode. It works only when
|
|
218
|
+
enable parallel optimizer in :func:`mindspore.parallel.auto_parallel.AutoParallel.hsdp`. Default: ``True`` .
|
|
209
219
|
storage_format (str): Only Ascend device target is supported. It is used to specify the format of the weight
|
|
210
220
|
loaded to the device. By default, the format is not changed. The optional values are ``"FRACTAL_NZ"`` ,
|
|
211
221
|
``"NC1HWC0"`` , ``"FRACTAL_Z"`` , etc. Default: ``""`` .
|
|
@@ -213,7 +223,8 @@ class Parameter(Tensor_):
|
|
|
213
223
|
stored. By default, the parameter will be stored on NPU while computing. When the device is specified as
|
|
214
224
|
``"CPU"``, the parameter will be loaded into the device when it needs to be used, and unloaded to the CPU
|
|
215
225
|
after use. It takes effext only when `memory_offload` is ``"ON"``, `jit_level` is not ``"O2"`` and
|
|
216
|
-
`memory_optimize_level` is ``O0`` in
|
|
226
|
+
`memory_optimize_level` is ``O0`` in :func:`mindspore.set_context`.
|
|
227
|
+
Less device memory is needed when device is
|
|
217
228
|
specified as ``"CPU"``.
|
|
218
229
|
|
|
219
230
|
Examples:
|
|
@@ -251,7 +262,6 @@ class Parameter(Tensor_):
|
|
|
251
262
|
# it's better to make the Initializer a kind of tensor.
|
|
252
263
|
obj.init_mode = None
|
|
253
264
|
obj.is_default_input_init = init_data_flag
|
|
254
|
-
obj.from_ckpt = False
|
|
255
265
|
if obj.has_init:
|
|
256
266
|
obj.init_mode = default_input
|
|
257
267
|
else:
|
|
@@ -289,10 +299,8 @@ class Parameter(Tensor_):
|
|
|
289
299
|
self._cast_type = None
|
|
290
300
|
self._unique = False
|
|
291
301
|
self.is_in_parallel = _is_in_auto_parallel_mode()
|
|
292
|
-
self.is_in_shard = False
|
|
293
302
|
self._pipeline_stage_list = []
|
|
294
303
|
self.slice_num = 1
|
|
295
|
-
self.from_ckpt = False
|
|
296
304
|
if -1 in self.shape:
|
|
297
305
|
raise ValueError(f"All shape elements of the Parameter must be positive. But got None.")
|
|
298
306
|
if isinstance(default_input, (Tensor_, Tensor)):
|
|
@@ -306,14 +314,14 @@ class Parameter(Tensor_):
|
|
|
306
314
|
self.param_info.use_persistent_storage = True
|
|
307
315
|
self.param_info.origin_shape = default_input.shape
|
|
308
316
|
self.slice_num = slice_num_of_persistent_data
|
|
309
|
-
Tensor_.__init__(self, default_input.dtype, tuple(data_shape))
|
|
317
|
+
Tensor_.__init__(self, dtype=default_input.dtype, shape=tuple(data_shape))
|
|
310
318
|
else:
|
|
311
|
-
Tensor_.__init__(self, default_input.dtype, default_input.shape)
|
|
319
|
+
Tensor_.__init__(self, dtype=default_input.dtype, shape=default_input.shape)
|
|
312
320
|
|
|
313
321
|
elif isinstance(default_input, int):
|
|
314
|
-
Tensor_.__init__(self, mstype.int64, ())
|
|
322
|
+
Tensor_.__init__(self, dtype=mstype.int64, shape=())
|
|
315
323
|
elif isinstance(default_input, float):
|
|
316
|
-
Tensor_.__init__(self, mstype.float32, ())
|
|
324
|
+
Tensor_.__init__(self, dtype=mstype.float32, shape=())
|
|
317
325
|
elif isinstance(default_input, (np.ndarray, list)):
|
|
318
326
|
Tensor_.__init__(self, default_input)
|
|
319
327
|
else:
|
|
@@ -330,7 +338,7 @@ class Parameter(Tensor_):
|
|
|
330
338
|
self.load = other_ops.Load()
|
|
331
339
|
|
|
332
340
|
def __deepcopy__(self, memodict):
|
|
333
|
-
new_obj = Parameter(self)
|
|
341
|
+
new_obj = Parameter(self, requires_grad=self.requires_grad)
|
|
334
342
|
new_obj.name = self.name
|
|
335
343
|
new_obj._inited_param = self._inited_param
|
|
336
344
|
return new_obj
|
|
@@ -396,9 +404,6 @@ class Parameter(Tensor_):
|
|
|
396
404
|
init_in_server (bool): Whether trainable parameter updated by parameter server is
|
|
397
405
|
initialized on server. Default: ``False``.
|
|
398
406
|
|
|
399
|
-
Tutorial Examples:
|
|
400
|
-
- `Parameter Server Mode
|
|
401
|
-
<https://www.mindspore.cn/docs/en/master/model_train/parallel/parameter_server_training.html>`_
|
|
402
407
|
"""
|
|
403
408
|
if not _is_ps_mode() or not (_is_role_worker() or _is_role_pserver() or _is_role_sched()):
|
|
404
409
|
raise RuntimeError("Must complete following two steps before calling set_param_ps: \n"
|
|
@@ -456,13 +461,15 @@ class Parameter(Tensor_):
|
|
|
456
461
|
|
|
457
462
|
@property
|
|
458
463
|
def param_info(self):
|
|
464
|
+
Tensor_.wait_pipeline(self)
|
|
459
465
|
return self._param_info
|
|
460
466
|
|
|
461
467
|
@param_info.setter
|
|
462
468
|
def param_info(self, param_info_):
|
|
469
|
+
Tensor_.wait_pipeline(self)
|
|
463
470
|
param_info_.obj = self
|
|
464
471
|
self._param_info = param_info_
|
|
465
|
-
Tensor_.
|
|
472
|
+
Tensor_.set_param_info(self, param_info_)
|
|
466
473
|
|
|
467
474
|
@property
|
|
468
475
|
def name(self):
|
|
@@ -529,8 +536,8 @@ class Parameter(Tensor_):
|
|
|
529
536
|
"""
|
|
530
537
|
Get the fusion type (int) for communication operators corresponding to this parameter.
|
|
531
538
|
|
|
532
|
-
|
|
533
|
-
gradients aggregation are inserted automatically.
|
|
539
|
+
When using `AutoParallel(cell)` to enable parallel mode, some communication operators used
|
|
540
|
+
for parameters or gradients aggregation are inserted automatically.
|
|
534
541
|
The value of `comm_fusion` must be greater than or equal to 0.
|
|
535
542
|
When the value of `comm_fusion` is ``0`` , operators will not be fused together.
|
|
536
543
|
|
|
@@ -546,9 +553,6 @@ class Parameter(Tensor_):
|
|
|
546
553
|
|
|
547
554
|
@comm_fusion.setter
|
|
548
555
|
def comm_fusion(self, comm_fusion_):
|
|
549
|
-
if context.get_context("mode") == context.PYNATIVE_MODE and "auto_parallel" in _get_parallel_mode():
|
|
550
|
-
raise RuntimeError(
|
|
551
|
-
"`comm_fusion` does not support PYNATIVE_MODE in AUTO_PARALLEL and SEMI_AUTO_PARALLEL mode.")
|
|
552
556
|
Validator.check_non_negative_int(comm_fusion_)
|
|
553
557
|
self.param_info.comm_fusion = comm_fusion_
|
|
554
558
|
|
|
@@ -557,7 +561,7 @@ class Parameter(Tensor_):
|
|
|
557
561
|
"""
|
|
558
562
|
Get the communication recompute status(bool) of optimizer parallel for the parameter.
|
|
559
563
|
|
|
560
|
-
|
|
564
|
+
When using `AutoParallel(cell)` to enable parallel mode, and applying parallel optimizer,
|
|
561
565
|
some :class:`mindspore.ops.AllGather` operators
|
|
562
566
|
used for parameters gathering are inserted automatically. It is used to control the recompute attr for those
|
|
563
567
|
:class:`mindspore.ops.AllGather` operators.
|
|
@@ -645,7 +649,9 @@ class Parameter(Tensor_):
|
|
|
645
649
|
if init != 'same':
|
|
646
650
|
shape = self.shape if self.slice_num == 1 else self.param_info.origin_shape
|
|
647
651
|
dtype = self.dtype
|
|
648
|
-
|
|
652
|
+
tensor = initializer(init, shape=shape, dtype=dtype)
|
|
653
|
+
x.set_data(tensor)
|
|
654
|
+
x.init = tensor.init
|
|
649
655
|
device = self._get_user_data("parameter_device")
|
|
650
656
|
if device is not None:
|
|
651
657
|
x._set_user_data("parameter_device", device)
|
|
@@ -680,8 +686,9 @@ class Parameter(Tensor_):
|
|
|
680
686
|
"""
|
|
681
687
|
Get the optimizer parallel status(bool) of the parameter.
|
|
682
688
|
|
|
683
|
-
|
|
684
|
-
when enable parallel optimizer in
|
|
689
|
+
When using `AutoParallel(cell)` to enable parallel mode, it is used to filter the weight
|
|
690
|
+
shard operation. It works only when enable parallel optimizer in
|
|
691
|
+
:func:`mindspore.parallel.auto_parallel.AutoParallel.hsdp`.
|
|
685
692
|
|
|
686
693
|
Examples:
|
|
687
694
|
>>> from mindspore import Tensor, Parameter
|
|
@@ -846,16 +853,10 @@ class Parameter(Tensor_):
|
|
|
846
853
|
f"Use .set_dtype(xxx) to change the dtype.")
|
|
847
854
|
|
|
848
855
|
@staticmethod
|
|
849
|
-
def _set_data_check_input_valid(
|
|
850
|
-
|
|
851
|
-
if not from_ckpt and incoming_tensor_is_init and not current_tensor_is_init:
|
|
856
|
+
def _set_data_check_input_valid(current_tensor_is_init, incoming_tensor_is_init):
|
|
857
|
+
if incoming_tensor_is_init and not current_tensor_is_init:
|
|
852
858
|
raise TypeError("The original tensor data is initialized, but the argument 'data' is not initialized."
|
|
853
859
|
"Please initialize 'data' before call this method.")
|
|
854
|
-
if tuple(current_shape) != tuple(data_shape):
|
|
855
|
-
# If Slice create Parameter shape can be change.
|
|
856
|
-
if not slice_shape and slice_num == 1:
|
|
857
|
-
raise ValueError(f"Can not change the shape of Parameter which has been initialized."
|
|
858
|
-
f" Current shape is {current_shape}, and incoming is {data_shape}.")
|
|
859
860
|
|
|
860
861
|
@staticmethod
|
|
861
862
|
def _from_tensor(tensor, *args, **kwargs):
|
|
@@ -902,8 +903,6 @@ class Parameter(Tensor_):
|
|
|
902
903
|
# both not init.
|
|
903
904
|
incoming_tensor_is_init = isinstance(data, Tensor) and not data.has_init
|
|
904
905
|
current_tensor_is_init = isinstance(self, Tensor) and not self.has_init
|
|
905
|
-
Parameter._set_data_check_input_valid(self.shape, data.shape, current_tensor_is_init, incoming_tensor_is_init,
|
|
906
|
-
self.from_ckpt, slice_shape, self.slice_num)
|
|
907
906
|
if self.dtype != data.dtype:
|
|
908
907
|
if mstype.implicit_conversion_seq.get(self.dtype) < mstype.implicit_conversion_seq.get(data.dtype):
|
|
909
908
|
self._raise_type_error(data.dtype)
|
|
@@ -948,7 +947,7 @@ class Parameter(Tensor_):
|
|
|
948
947
|
layout (Union[None, tuple]): The parameter's layout info.
|
|
949
948
|
layout [dev_mat, tensor_map, slice_shape, filed_size, uniform_split, opt_shard_group].
|
|
950
949
|
Default: ``None``.
|
|
951
|
-
It's not None only
|
|
950
|
+
It's not None only when using `AutoParallel(cell)` to enable parallel mode.
|
|
952
951
|
|
|
953
952
|
- dev_mat (list(int)): The parameter's device matrix.
|
|
954
953
|
- tensor_map (list(int)): The parameter's tensor map.
|
|
@@ -975,8 +974,6 @@ class Parameter(Tensor_):
|
|
|
975
974
|
>>> x = Parameter(Tensor(np.array([[1, 2], [3, 4]], dtype=np.float32)), name="param")
|
|
976
975
|
>>> x.init_data()
|
|
977
976
|
"""
|
|
978
|
-
if self.is_default_input_init and self.is_in_parallel != _is_in_auto_parallel_mode():
|
|
979
|
-
raise RuntimeError("Must set or change parallel mode before any initializer Tensor created.")
|
|
980
977
|
if self.init_mode is None or not self.has_init:
|
|
981
978
|
return self
|
|
982
979
|
if self.inited_param is not None:
|
|
@@ -994,8 +991,10 @@ class Parameter(Tensor_):
|
|
|
994
991
|
data = self.init_mode.init_data(0, [1])
|
|
995
992
|
else:
|
|
996
993
|
data = self.init_mode.init_data(*init_data_args)
|
|
997
|
-
|
|
994
|
+
origin_dtype = self.dtype
|
|
998
995
|
obj = self._update_tensor_data(data)
|
|
996
|
+
if self.dtype != origin_dtype:
|
|
997
|
+
self.set_dtype(origin_dtype)
|
|
999
998
|
if id(obj) != id(self):
|
|
1000
999
|
self._inited_param = obj
|
|
1001
1000
|
obj.init_mode = None
|
|
@@ -1003,6 +1002,94 @@ class Parameter(Tensor_):
|
|
|
1003
1002
|
_offload_if_config(obj)
|
|
1004
1003
|
return obj
|
|
1005
1004
|
|
|
1005
|
+
def register_hook(self, hook_fn):
|
|
1006
|
+
"""
|
|
1007
|
+
For details, please refer to :func:`mindspore.Tensor.register_hook`.
|
|
1008
|
+
"""
|
|
1009
|
+
handle = Tensor.register_hook(self, hook_fn)
|
|
1010
|
+
set_parameter_hook_updated(True)
|
|
1011
|
+
return handle
|
|
1012
|
+
|
|
1013
|
+
def _remove_hook(self):
|
|
1014
|
+
set_parameter_hook_updated(True)
|
|
1015
|
+
|
|
1016
|
+
def _offload(self):
|
|
1017
|
+
r"""
|
|
1018
|
+
Offload parameter to host with releasing device resource.
|
|
1019
|
+
|
|
1020
|
+
Supported Platforms:
|
|
1021
|
+
``Ascend``
|
|
1022
|
+
|
|
1023
|
+
.. warning::
|
|
1024
|
+
This is an experimental API that is subject to change or deletion.
|
|
1025
|
+
|
|
1026
|
+
Examples:
|
|
1027
|
+
>>> from mindspore import Parameter, Tensor
|
|
1028
|
+
>>> x = Parameter(Tensor(np.array([1, 2], dtype=np.float32)), name="param")
|
|
1029
|
+
>>> x._offload()
|
|
1030
|
+
"""
|
|
1031
|
+
return Tensor_._offload(self, True)
|
|
1032
|
+
|
|
1033
|
+
|
|
1034
|
+
def _load(self):
|
|
1035
|
+
r"""
|
|
1036
|
+
Load parameter to device.
|
|
1037
|
+
|
|
1038
|
+
Supported Platforms:
|
|
1039
|
+
``Ascend``
|
|
1040
|
+
|
|
1041
|
+
.. warning::
|
|
1042
|
+
This is an experimental API that is subject to change or deletion.
|
|
1043
|
+
|
|
1044
|
+
Examples:
|
|
1045
|
+
>>> from mindspore import Parameter, Tensor
|
|
1046
|
+
>>> x = Parameter(Tensor(np.array([1, 2], dtype=np.float32)), name="param")
|
|
1047
|
+
>>> x._offload()
|
|
1048
|
+
>>> x._load()
|
|
1049
|
+
"""
|
|
1050
|
+
return Tensor_._load(self)
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
# Metaclass to combine _TensorMeta and the instance check override for Buffer.
|
|
1054
|
+
class _BufferMeta(_TensorMeta):
|
|
1055
|
+
# Make `isinstance(t, Buffer)` return True for custom tensor instances that have the _is_buffer flag.
|
|
1056
|
+
def __instancecheck__(cls, instance):
|
|
1057
|
+
if cls is _Buffer:
|
|
1058
|
+
if isinstance(instance, Tensor) and getattr(instance, "_is_buffer", False):
|
|
1059
|
+
return True
|
|
1060
|
+
return super().__instancecheck__(instance)
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
class _Buffer(Tensor, metaclass=_BufferMeta):
|
|
1064
|
+
r"""A kind of Tensor that should not be considered a model
|
|
1065
|
+
parameter. For example, BatchNorm's `running_mean` is not a parameter, but is part of the Cell's state.
|
|
1066
|
+
|
|
1067
|
+
Buffers are :class:`~mindspore.Tensor` subclasses, that have a
|
|
1068
|
+
very special property when used with :class:`~.nn.Cell` s: when they're
|
|
1069
|
+
assigned as Cell attributes they are automatically added to the list of
|
|
1070
|
+
its buffers, and will appear e.g. in :func:`mindspore.nn.Cell.buffers` iterator.
|
|
1071
|
+
Assigning a tensor doesn't have such effect. One can still assign a tensor as a buffer explicitly by using
|
|
1072
|
+
the :func:`mindspore.nn.Cell.register_buffer` function.
|
|
1073
|
+
|
|
1074
|
+
Args:
|
|
1075
|
+
data (Tensor): buffer tensor.
|
|
1076
|
+
|
|
1077
|
+
Keyword Args:
|
|
1078
|
+
persistent (bool, optional): whether the buffer is part of the Cell's
|
|
1079
|
+
:attr:`state_dict`. Default ``True``.
|
|
1080
|
+
"""
|
|
1081
|
+
|
|
1082
|
+
def __new__(cls, data, *, persistent=True):
|
|
1083
|
+
if data is None:
|
|
1084
|
+
raise ValueError('For create Buffer, input data should not be None')
|
|
1085
|
+
if not isinstance(data, Tensor):
|
|
1086
|
+
raise TypeError('For create Buffer, type of input data should be Tensor')
|
|
1087
|
+
from mindspore.ops import stop_gradient
|
|
1088
|
+
t = stop_gradient(data)
|
|
1089
|
+
t._is_buffer = True # pylint: disable=W0212
|
|
1090
|
+
t.persistent = persistent
|
|
1091
|
+
return t
|
|
1092
|
+
|
|
1006
1093
|
|
|
1007
1094
|
class ParameterTuple(tuple):
|
|
1008
1095
|
"""
|
|
@@ -1050,18 +1137,13 @@ class ParameterTuple(tuple):
|
|
|
1050
1137
|
set data according to `init`. Default: ``'same'``.
|
|
1051
1138
|
|
|
1052
1139
|
- If `init` is a `Tensor` , set the new Parameter data to the input Tensor.
|
|
1053
|
-
- If `init` is `numbers.Number` , set the new Parameter data to the input number.
|
|
1054
1140
|
- If `init` is a `str`, data will be set according to the initialization method of the same name in
|
|
1055
1141
|
the `Initializer`. When it is ``'same'``, the new Parameter will have the same value
|
|
1056
1142
|
with the original Parameter.
|
|
1143
|
+
- If `init` is `numbers.Number` , set the new Parameter data to the input number.
|
|
1057
1144
|
|
|
1058
1145
|
Returns:
|
|
1059
1146
|
Tuple, the new Parameter tuple.
|
|
1060
|
-
|
|
1061
|
-
Tutorial Examples:
|
|
1062
|
-
- `Tensor and Parameter - Parameter Tuple
|
|
1063
|
-
<https://mindspore.cn/docs/en/master/model_train/model_building/tensor_and_parameter.html
|
|
1064
|
-
#parameter-tuple>`_
|
|
1065
1147
|
"""
|
|
1066
1148
|
Validator.check_str_by_regular(prefix)
|
|
1067
1149
|
new = []
|
|
@@ -1078,5 +1160,6 @@ class ParameterTuple(tuple):
|
|
|
1078
1160
|
_insert_accumu_init_info(x1.name, init_to_value(init))
|
|
1079
1161
|
return ParameterTuple(new)
|
|
1080
1162
|
|
|
1163
|
+
|
|
1081
1164
|
def __parameter_tuple__(self):
|
|
1082
1165
|
"""For parse check."""
|
mindspore/common/seed.py
CHANGED
|
@@ -193,7 +193,7 @@ def _update_seeds(op_seed, kernel_name):
|
|
|
193
193
|
|
|
194
194
|
Args:
|
|
195
195
|
op_seed (int): The op seed to be updated.
|
|
196
|
-
kernel_name (
|
|
196
|
+
kernel_name (str): The random op kernel.
|
|
197
197
|
"""
|
|
198
198
|
global _KERNEL_SEED
|
|
199
199
|
if op_seed is not None:
|
|
@@ -208,7 +208,7 @@ def _get_op_seed(op_seed, kernel_name):
|
|
|
208
208
|
|
|
209
209
|
Args:
|
|
210
210
|
op_seed (int): The op seed to be updated.
|
|
211
|
-
kernel_name (
|
|
211
|
+
kernel_name (str): The random op kernel.
|
|
212
212
|
"""
|
|
213
213
|
if (kernel_name, op_seed) not in _KERNEL_SEED:
|
|
214
214
|
_KERNEL_SEED[(kernel_name, op_seed)] = op_seed
|
|
@@ -26,7 +26,7 @@ from mindspore.common.tensor import Tensor
|
|
|
26
26
|
from mindspore._c_expression import COOTensor as COOTensor_
|
|
27
27
|
from mindspore._c_expression import CSRTensor as CSRTensor_
|
|
28
28
|
from mindspore._c_expression import RowTensor as RowTensor_
|
|
29
|
-
from mindspore._c_expression import
|
|
29
|
+
from mindspore._c_expression import TensorPy as Tensor_
|
|
30
30
|
from mindspore import _checkparam as validator
|
|
31
31
|
from mindspore._checkparam import is_stub_tensor
|
|
32
32
|
|
|
@@ -211,7 +211,8 @@ class SparseTensor(COOTensor_):
|
|
|
211
211
|
|
|
212
212
|
class COOTensor(COOTensor_):
|
|
213
213
|
"""
|
|
214
|
-
A sparse representation of a set of nonzero elements from a tensor at given indices
|
|
214
|
+
A sparse representation of a set of nonzero elements from a tensor at given indices,
|
|
215
|
+
where the indices indicate the position of each non-zero element.
|
|
215
216
|
|
|
216
217
|
For a tensor dense, its COOTensor(indices, values, shape) has
|
|
217
218
|
`dense[indices[i]] = values[i]`.
|
|
@@ -227,7 +228,7 @@ class COOTensor(COOTensor_):
|
|
|
227
228
|
|
|
228
229
|
Common arithmetic operations include: addition (+), subtraction (-), multiplication (*),
|
|
229
230
|
and division (/). For details about operations supported by `COOTensor`, see
|
|
230
|
-
`operators <https://www.mindspore.cn/
|
|
231
|
+
`operators <https://www.mindspore.cn/tutorials/en/master/compile/static_graph.html#operators>`_.
|
|
231
232
|
|
|
232
233
|
.. warning::
|
|
233
234
|
- This is an experimental API that is subject to change or deletion.
|
|
@@ -237,8 +238,8 @@ class COOTensor(COOTensor_):
|
|
|
237
238
|
|
|
238
239
|
Args:
|
|
239
240
|
indices (Tensor): A 2-D integer Tensor of shape :math:`(N, ndims)`,
|
|
240
|
-
where N and ndims are the number of `values` and number of dimensions in
|
|
241
|
-
the COOTensor, respectively. Currently,
|
|
241
|
+
where :math:`N` and :math:`ndims` are the number of `values` and number of dimensions in
|
|
242
|
+
the COOTensor, respectively. Currently, :math:`ndims` must be 2. Default: ``None`` .
|
|
242
243
|
Please make sure that the indices are in range of the given shape.
|
|
243
244
|
values (Tensor): A 1-D tensor of any type and shape :math:`(N)`, which
|
|
244
245
|
supplies the values for each element in `indices`. Default: ``None`` .
|
|
@@ -658,20 +659,25 @@ class CSRTensor(CSRTensor_):
|
|
|
658
659
|
of `indices` and `values` should be equal to the number of non-zero values in the tensor. To be concrete, get
|
|
659
660
|
the query indices of none-zero elements in every line according to `indptr`. Then get the column positions of
|
|
660
661
|
none-zero elements in every line by looking up query indices in `indices`. Finally, get the actual values of
|
|
661
|
-
none-zero elements in every line by looking up query indices in `values`.
|
|
662
|
+
none-zero elements in every line by looking up query indices in `values`.
|
|
663
|
+
|
|
664
|
+
In the former example, 'indptr' of
|
|
662
665
|
[0, 2, 5, 6] represents that the indices of 0th row of the tensor origins from [0, 2), the indices of
|
|
663
|
-
the 1st row of the tensor origins from [2, 5) and the 2nd row of the tensor origins from [5, 6). For example
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
666
|
+
the 1st row of the tensor origins from [2, 5) and the 2nd row of the tensor origins from [5, 6). For example:
|
|
667
|
+
|
|
668
|
+
- The column positions of the non-zero elements of the 0th row in the tensor are provided by the [0, 2) elements in
|
|
669
|
+
`indices` (i.e. [0, 3]) and the corresponding values are provided by the [0, 2) elements in `values`
|
|
670
|
+
(i.e. [1., 2.]).
|
|
671
|
+
- The column positions of the non-zero elements of the 1st row in the tensor are provided by the
|
|
672
|
+
[2, 5) elements in `indices` (i.e. [1, 2, 4]) and the corresponding values are provided by the [2, 5) elements in
|
|
673
|
+
`values` (i.e. [3., 4., 5.]).
|
|
674
|
+
- The column positions of the non-zero elements of the 2nd row in the tensor are
|
|
675
|
+
provided by the [5, 6) elements in `indices` (i.e. [2]) and the corresponding values are provided by the [5, 6)
|
|
676
|
+
elements in `values` (i.e. [6.]).
|
|
671
677
|
|
|
672
678
|
Common arithmetic operations include: addition (+), subtraction (-), multiplication (*),
|
|
673
679
|
and division (/). For details about operations supported by `CSRTensor`, see
|
|
674
|
-
`operators <https://www.mindspore.cn/
|
|
680
|
+
`operators <https://www.mindspore.cn/tutorials/en/master/compile/static_graph.html#operators>`_.
|
|
675
681
|
|
|
676
682
|
.. warning::
|
|
677
683
|
- This is an experimental API that is subjected to change.
|
|
@@ -688,10 +694,10 @@ class CSRTensor(CSRTensor_):
|
|
|
688
694
|
indicates the which column `values` should be placed. Default: ``None``. If provided,
|
|
689
695
|
must be int16, int32 or int64.
|
|
690
696
|
values (Tensor): Tensor, which has the same length as `indices` (values.shape[0] == indices.shape[0]).
|
|
691
|
-
`values`
|
|
697
|
+
`values` stores the data for CSRTensor. Default: ``None``.
|
|
692
698
|
shape (tuple(int)): An integer tuple of shape :math:`(ndims)`, and `shape[0]` must equal to `M - 1`,
|
|
693
699
|
which all equal to number of rows of the CSRTensor. Default: ``None``.
|
|
694
|
-
csr_tensor (CSRTensor): A CSRTensor object.
|
|
700
|
+
csr_tensor (CSRTensor): A CSRTensor object. Values' feature dimension should match with
|
|
695
701
|
CSRTensor's feature dimension :math:`(values.shape[1:] == csr\_tensor.shape[2:])` . Default: ``None``.
|
|
696
702
|
|
|
697
703
|
Outputs:
|