mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0__cp39-cp39-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +13 -6
- mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -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 +47 -198
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +229 -99
- 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/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/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 +480 -372
- 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 +5 -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 +975 -1981
- 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 +324 -573
- 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 +183 -117
- 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/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 +209 -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 +179 -120
- 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 +798 -761
- 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 +933 -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/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1373 -192
- 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 +53 -42
- 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 +19 -15
- 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/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 +361 -359
- 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 +52 -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 +258 -46
- mindspore/ops/auto_generate/gen_extend_func.py +757 -185
- mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
- mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
- 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 +4351 -3813
- mindspore/ops/function/nn_func.py +1712 -637
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +452 -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 +26 -18
- mindspore/ops/functional.py +23 -7
- mindspore/ops/functional_overload.py +1548 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +23 -15
- mindspore/ops/operations/_custom_ops_utils.py +235 -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 +298 -87
- mindspore/ops/operations/debug_ops.py +157 -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 +212 -531
- 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 +1895 -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 +296 -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 +159 -40
- mindspore/parallel/_cell_wrapper.py +132 -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 +700 -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 +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 +25 -14
- mindspore/parallel/shard.py +137 -59
- mindspore/parallel/transform_safetensors.py +364 -305
- 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 +109 -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 +416 -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/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +96 -27
- 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} +228 -108
- 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 +269 -136
- 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 +552 -0
- mindspore/utils/utils.py +138 -4
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +564 -395
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.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.0.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
|
@@ -13,23 +13,25 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ============================================================================
|
|
15
15
|
"""debug_ops"""
|
|
16
|
-
import os
|
|
17
16
|
import stat
|
|
17
|
+
from pathlib import Path
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
from mindspore import log as logger
|
|
21
21
|
from mindspore._c_expression import security, HookType
|
|
22
|
-
from mindspore._c_expression import
|
|
22
|
+
from mindspore._c_expression import TensorPy as Tensor_
|
|
23
|
+
from mindspore._c_expression import _tensordump_process_file
|
|
23
24
|
from mindspore import _checkparam as validator
|
|
24
25
|
from mindspore.common import dtype as mstype
|
|
25
26
|
from mindspore.common.parameter import Parameter
|
|
26
27
|
from mindspore.common.tensor import Tensor
|
|
28
|
+
from mindspore.common.jit_context import jit_context
|
|
27
29
|
from mindspore.ops.primitive import prim_attr_register, Primitive, PrimitiveWithInfer
|
|
28
30
|
from mindspore._checkparam import check_hook_fn
|
|
31
|
+
from mindspore.ops import operations as P
|
|
29
32
|
|
|
30
33
|
|
|
31
34
|
SUMMARY_TENSOR_CACHE = []
|
|
32
|
-
TENSORDUMP_ID = 0
|
|
33
35
|
|
|
34
36
|
|
|
35
37
|
def _cache_summary_data(op_name, define_name, tensor):
|
|
@@ -61,11 +63,9 @@ class ScalarSummary(Primitive):
|
|
|
61
63
|
"""
|
|
62
64
|
This operator will put a scalar to a summary file with protocol buffer format.
|
|
63
65
|
It must be used with :class:`mindspore.SummaryRecord` or :class:`mindspore.SummaryCollector`,
|
|
64
|
-
which specify the directory of the summary file.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
68
|
-
to solve operator execution failure when calling this operator intensively.
|
|
66
|
+
which specify the directory of the summary file.
|
|
67
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
68
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
69
69
|
|
|
70
70
|
Inputs:
|
|
71
71
|
- **name** (str) - The name of the input variable, it must not be an empty string.
|
|
@@ -121,11 +121,9 @@ class ScalarSummary(Primitive):
|
|
|
121
121
|
class ImageSummary(Primitive):
|
|
122
122
|
"""
|
|
123
123
|
This operator will put an image tensor to a summary file with protocol buffer format. It must be used with
|
|
124
|
-
SummaryRecord or SummaryCollector, which specify the directory of the summary file.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
128
|
-
to solve operator execution failure when calling this operator intensively.
|
|
124
|
+
SummaryRecord or SummaryCollector, which specify the directory of the summary file.
|
|
125
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
126
|
+
can be set to solve execution failure when calling this operator intensively.
|
|
129
127
|
|
|
130
128
|
Inputs:
|
|
131
129
|
- **name** (str) - The name of the input variable, it must not be an empty string.
|
|
@@ -174,11 +172,9 @@ class ImageSummary(Primitive):
|
|
|
174
172
|
class TensorSummary(Primitive):
|
|
175
173
|
"""
|
|
176
174
|
This operator will put a tensor to a summary file with protocol buffer format. It must be used with SummaryRecord
|
|
177
|
-
or SummaryCollector, which specify the directory of the summary file.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
181
|
-
to solve operator execution failure when calling this operator intensively.
|
|
175
|
+
or SummaryCollector, which specify the directory of the summary file.
|
|
176
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
177
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
182
178
|
|
|
183
179
|
Inputs:
|
|
184
180
|
- **name** (str) - The name of the input variable.
|
|
@@ -235,15 +231,15 @@ class TensorDump(Primitive):
|
|
|
235
231
|
Save the Tensor as an npy file in numpy format.
|
|
236
232
|
|
|
237
233
|
.. warning::
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
234
|
+
The parameter input_output will no longer support the value 'all'.
|
|
235
|
+
|
|
236
|
+
.. note::
|
|
237
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
238
|
+
can be set to solve operator execution failure when outputting big tensor or outputting tensor intensively.
|
|
243
239
|
|
|
244
240
|
Args:
|
|
245
241
|
input_output (str, optional): Used to control Tensordump behavior.
|
|
246
|
-
Available value is one of ['in', 'out'
|
|
242
|
+
Available value is one of ['in', 'out']. Default value is ``out``.
|
|
247
243
|
|
|
248
244
|
In case of OpA --> RedistributionOps --> OpB,
|
|
249
245
|
The dump data of OpA's output is not equal to OpB's input (Due to the redistribution operators).
|
|
@@ -253,21 +249,19 @@ class TensorDump(Primitive):
|
|
|
253
249
|
Different requirements of saving dump data can be achieved by configuring parameter input_output:
|
|
254
250
|
|
|
255
251
|
- If the input_output is 'out', the dump data contains only OpA's output slice.
|
|
256
|
-
- If the input_output is 'all', the dump data contains both OpA's output slice and OpB's input slice.
|
|
257
252
|
- If the input_output is 'in', the dump data contains only OpB's input slice.
|
|
258
253
|
|
|
259
|
-
For input_output is '
|
|
260
|
-
|
|
254
|
+
For input_output is 'in', the input slice npy file format is:
|
|
255
|
+
fileName_dumpMode_dtype_id.npy.
|
|
261
256
|
|
|
262
|
-
For input_output is 'out'
|
|
263
|
-
|
|
257
|
+
For input_output is 'out', the output slice npy file format is:
|
|
258
|
+
fileName_dtype_id.npy.
|
|
264
259
|
|
|
265
|
-
- id: An auto increment ID.
|
|
266
260
|
- fileName: Value of the parameter file
|
|
267
261
|
(if parameter file_name is a user-specified path, the value of fileName is the last level of the path).
|
|
268
|
-
- cNodeID: The node ID of the Tensordump node in the step_parallel_end.ir file.
|
|
269
262
|
- dumpMode: Value of the parameter input_output.
|
|
270
|
-
-
|
|
263
|
+
- dtype: The original data type. Data of type bfloat16 stored in the .npy file will be converted to float32.
|
|
264
|
+
- id: An auto increment ID.
|
|
271
265
|
|
|
272
266
|
Inputs:
|
|
273
267
|
- **file** (str) - The path of the file to be saved.
|
|
@@ -285,7 +279,8 @@ class TensorDump(Primitive):
|
|
|
285
279
|
>>> import mindspore as ms
|
|
286
280
|
>>> import time
|
|
287
281
|
>>> from mindspore import nn, Tensor, ops
|
|
288
|
-
>>> ms.set_context(mode=ms.GRAPH_MODE
|
|
282
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
283
|
+
>>> ms.set_device(device_target="Ascend")
|
|
289
284
|
>>> class Net(nn.Cell):
|
|
290
285
|
... def __init__(self):
|
|
291
286
|
... super(Net, self).__init__()
|
|
@@ -305,7 +300,7 @@ class TensorDump(Primitive):
|
|
|
305
300
|
>>> net = Net()
|
|
306
301
|
>>> out = net(input_x)
|
|
307
302
|
>>> time.sleep(0.5)
|
|
308
|
-
>>> add = np.load('
|
|
303
|
+
>>> add = np.load('add_float32_0.npy')
|
|
309
304
|
>>> print(add)
|
|
310
305
|
[[2. 3. 4. 5.]
|
|
311
306
|
[6. 7. 8. 9.]]
|
|
@@ -318,35 +313,34 @@ class TensorDump(Primitive):
|
|
|
318
313
|
self.add_prim_attr("side_effect_io", True)
|
|
319
314
|
self.add_prim_attr("channel_name", "ms_tensor_dump")
|
|
320
315
|
|
|
316
|
+
def _save_file(self, file, data):
|
|
317
|
+
file = Path(file)
|
|
318
|
+
if file.exists():
|
|
319
|
+
file.chmod(stat.S_IWUSR)
|
|
320
|
+
np.save(file, data)
|
|
321
|
+
file.chmod(stat.S_IRUSR)
|
|
322
|
+
|
|
321
323
|
def __call__(self, file, input_x):
|
|
322
324
|
validator.check_value_type('file', file, [str], self.__class__.__name__)
|
|
323
325
|
if not file:
|
|
324
326
|
raise ValueError("For 'TensorDump', the input argument[file] cannot be an empty string.")
|
|
325
327
|
validator.check_value_type('input_x', input_x, [Tensor], self.__class__.__name__)
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
if
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
new_file += npy_suffix
|
|
335
|
-
if os.path.exists(new_file):
|
|
336
|
-
os.chmod(new_file, stat.S_IWUSR)
|
|
337
|
-
np.save(new_file, input_x.asnumpy())
|
|
338
|
-
os.chmod(new_file, stat.S_IRUSR)
|
|
339
|
-
TENSORDUMP_ID += 1
|
|
328
|
+
|
|
329
|
+
dtype = input_x.dtype
|
|
330
|
+
file = _tensordump_process_file(file, str(dtype))
|
|
331
|
+
if not file:
|
|
332
|
+
return
|
|
333
|
+
if dtype == mstype.bfloat16:
|
|
334
|
+
input_x = P.Cast()(input_x, mstype.float32)
|
|
335
|
+
self._save_file(file, input_x.asnumpy())
|
|
340
336
|
|
|
341
337
|
|
|
342
338
|
class HistogramSummary(Primitive):
|
|
343
339
|
"""
|
|
344
340
|
This operator will calculate the histogram of a tensor and put it to a summary file with protocol buffer format.
|
|
345
341
|
It must be used with SummaryRecord or SummaryCollector, which specify the directory of the summary file.
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
In Ascend platform with graph mode, can set environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
349
|
-
to solve operator execution failure when calling this operator intensively.
|
|
342
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
343
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
350
344
|
|
|
351
345
|
Inputs:
|
|
352
346
|
- **name** (str) - The name of the input variable.
|
|
@@ -398,10 +392,14 @@ class HistogramSummary(Primitive):
|
|
|
398
392
|
_cache_summary_data(self.name, args[0], args[1])
|
|
399
393
|
|
|
400
394
|
|
|
401
|
-
class InsertGradientOf(
|
|
395
|
+
class InsertGradientOf(Primitive):
|
|
402
396
|
"""
|
|
403
397
|
Attaches callback to the graph node that will be invoked on the node's gradient.
|
|
404
398
|
|
|
399
|
+
.. warning::
|
|
400
|
+
In the callback, exercise caution when using side-effect operators,
|
|
401
|
+
such as the TensorDump operator, as current support is incomplete.
|
|
402
|
+
|
|
405
403
|
Args:
|
|
406
404
|
f (Function): MindSpore's Function. Callback function.
|
|
407
405
|
|
|
@@ -464,11 +462,106 @@ class InsertGradientOf(PrimitiveWithInfer):
|
|
|
464
462
|
self.add_prim_attr('side_effect_backprop', True)
|
|
465
463
|
self.f = f
|
|
466
464
|
|
|
467
|
-
def infer_shape(self, x_shape):
|
|
468
|
-
return x_shape
|
|
469
465
|
|
|
470
|
-
|
|
471
|
-
|
|
466
|
+
class Morph(PrimitiveWithInfer):
|
|
467
|
+
"""
|
|
468
|
+
The `Morph` Primitive is used to encapsulate a user-defined function `fn`, allowing it to be used as a custom
|
|
469
|
+
Primitive.
|
|
470
|
+
The primary application scenario of the `Morph` Primitive is in the auto-parallel case after `GRAPH_MODE` mode,
|
|
471
|
+
where collective communication operators are used within the user-defined `fn` to implement custom parallel
|
|
472
|
+
computation logic, especially in scenarios where `fn` involves dynamic shapes.
|
|
473
|
+
When the `Morph` Primitive is applied to inputs, it is actually the encapsulated user-defined function `fn` that is
|
|
474
|
+
applied to the inputs.
|
|
475
|
+
The main difference between the `Morph` Primitive and :func:`mindspore.ops.Custom` is that the former is expanded
|
|
476
|
+
and replaced by the user-defined `fn` before automatic differentiation, so there is no need to implement a backward
|
|
477
|
+
function.
|
|
478
|
+
|
|
479
|
+
.. note::
|
|
480
|
+
- This primitive is only supported in GRAPH_MODE.
|
|
481
|
+
- `fn` must satisfy the syntax constraints of the graph mode.
|
|
482
|
+
- Users do not need to implement a custom backward function.
|
|
483
|
+
- `vararg`, `kwarg`, `kwonlyargs` and free variables are not supported in user-defined function.
|
|
484
|
+
|
|
485
|
+
Args:
|
|
486
|
+
fn (Function): Mindspore's function, user-defined function.
|
|
487
|
+
infer_shape (Function): Mindspore's function, user-defined infer_shape function.
|
|
488
|
+
infer_dtype (Function): Mindspore's function, user-defined infer_dtype function.
|
|
489
|
+
|
|
490
|
+
Inputs:
|
|
491
|
+
The inputs of user-defined `fn`.
|
|
492
|
+
|
|
493
|
+
Outputs:
|
|
494
|
+
The outputs of user-defined `fn`.
|
|
495
|
+
|
|
496
|
+
Raises:
|
|
497
|
+
RuntimeError: if not used in GRAPH_MODE.
|
|
498
|
+
|
|
499
|
+
Examples:
|
|
500
|
+
>>> import numpy as np
|
|
501
|
+
>>> import mindspore as ms
|
|
502
|
+
>>> from mindspore import context, nn, ops, Tensor, Parameter
|
|
503
|
+
>>>
|
|
504
|
+
>>> np_weight0 = np.array([1.0, 2.0, 3.0])
|
|
505
|
+
>>> np_weight1 = np.array([4.0, 5.0, 6.0])
|
|
506
|
+
>>> np_input_x = np.array([7.0, 8.0, 9.0])
|
|
507
|
+
>>>
|
|
508
|
+
>>> def infer_dtype(args):
|
|
509
|
+
... return args
|
|
510
|
+
>>>
|
|
511
|
+
>>> def infer_shape(args):
|
|
512
|
+
... return args
|
|
513
|
+
>>>
|
|
514
|
+
>>> def mul_by(*args):
|
|
515
|
+
... def inner(x):
|
|
516
|
+
... return args[0] * x
|
|
517
|
+
... return inner
|
|
518
|
+
>>>
|
|
519
|
+
>>> NUMBER_100 = 100
|
|
520
|
+
>>> class MorphNet(nn.Cell):
|
|
521
|
+
... def __init__(self):
|
|
522
|
+
... super(MorphNet, self).__init__()
|
|
523
|
+
... self.weight0 = Parameter(Tensor(np_weight0, ms.float32), name="weight0")
|
|
524
|
+
... self.weight1 = Parameter(Tensor(np_weight1, ms.float32), name="weight1")
|
|
525
|
+
... self.mul_by_100 = ops.Morph(mul_by(NUMBER_100), infer_shape, infer_dtype)
|
|
526
|
+
... def construct(self, x):
|
|
527
|
+
... a = x * self.weight0
|
|
528
|
+
... b = self.mul_by_100(a)
|
|
529
|
+
... out = b * self.weight1
|
|
530
|
+
... return out
|
|
531
|
+
>>>
|
|
532
|
+
>>> context.set_context(mode=context.GRAPH_MODE)
|
|
533
|
+
>>> input_x = Tensor(np_input_x, ms.float32)
|
|
534
|
+
>>> net = MorphNet()
|
|
535
|
+
>>> grad_op = ops.GradOperation(get_all=True, get_by_list=True)
|
|
536
|
+
>>> grad_net = grad_op(net, net.trainable_params())
|
|
537
|
+
>>> bwd_out = grad_net(input_x)
|
|
538
|
+
>>> x_grad = bwd_out[0][0].asnumpy()
|
|
539
|
+
>>> weight0_grad = bwd_out[1][0].asnumpy()
|
|
540
|
+
>>> weight1_grad = bwd_out[1][1].asnumpy()
|
|
541
|
+
>>> print("x_grad", x_grad)
|
|
542
|
+
>>> print("weight0_grad", weight0_grad)
|
|
543
|
+
>>> print("weight1_grad", weight1_grad)
|
|
544
|
+
x_grad [ 400. 1000. 1800.]
|
|
545
|
+
weight0_grad [2800. 4000. 5400.]
|
|
546
|
+
weight1_grad [ 700. 1600. 2700.]
|
|
547
|
+
"""
|
|
548
|
+
@prim_attr_register
|
|
549
|
+
def __init__(self, fn, infer_shape, infer_dtype):
|
|
550
|
+
self.add_prim_attr('side_effect_backprop', True)
|
|
551
|
+
self.add_prim_attr('side_effect_mem', True)
|
|
552
|
+
self.add_prim_attr('side_effect_io', True)
|
|
553
|
+
self.add_prim_attr('__metamorphosis__', fn)
|
|
554
|
+
self._infer_shape = infer_shape
|
|
555
|
+
self._infer_dtype = infer_dtype
|
|
556
|
+
|
|
557
|
+
def infer_shape(self, *args):
|
|
558
|
+
return self._infer_shape(*args)
|
|
559
|
+
|
|
560
|
+
def infer_dtype(self, *args):
|
|
561
|
+
return self._infer_dtype(*args)
|
|
562
|
+
|
|
563
|
+
def __call__(self, *args):
|
|
564
|
+
raise RuntimeError("Morph is only supported in GRAPH_MODE.")
|
|
472
565
|
|
|
473
566
|
|
|
474
567
|
class HookBackward(PrimitiveWithInfer):
|
|
@@ -532,8 +625,7 @@ class HookBackward(PrimitiveWithInfer):
|
|
|
532
625
|
def __init__(self, hook_fn, cell_id=""):
|
|
533
626
|
"""Initialize HookBackward."""
|
|
534
627
|
super(HookBackward, self).__init__(self.__class__.__name__)
|
|
535
|
-
|
|
536
|
-
return
|
|
628
|
+
check_hook_fn(hook_fn)
|
|
537
629
|
if cell_id != "":
|
|
538
630
|
logger.warning(f"The args 'cell_id' of HookBackward will be removed in a future version. If the value of "
|
|
539
631
|
f"'cell_id' is set, the hook function will not work.")
|
|
@@ -605,6 +697,9 @@ class Print(Primitive):
|
|
|
605
697
|
self.add_prim_attr("side_effect_io", True)
|
|
606
698
|
|
|
607
699
|
def __call__(self, *args):
|
|
700
|
+
# Add for jit context.
|
|
701
|
+
if jit_context() and jit_context().compiled:
|
|
702
|
+
return
|
|
608
703
|
for arg in args:
|
|
609
704
|
if isinstance(arg, Parameter):
|
|
610
705
|
print(Tensor_.__repr__(arg))
|
|
@@ -612,6 +707,9 @@ class Print(Primitive):
|
|
|
612
707
|
print(arg.__repr__())
|
|
613
708
|
else:
|
|
614
709
|
print(arg)
|
|
710
|
+
# Add for jit context.
|
|
711
|
+
if jit_context():
|
|
712
|
+
jit_context().run_op(self, None, *args)
|
|
615
713
|
|
|
616
714
|
|
|
617
715
|
class Assert(PrimitiveWithInfer):
|
|
@@ -87,7 +87,7 @@ class NoRepeatNGram(Primitive):
|
|
|
87
87
|
Because 3 consecutive words [2, 3, 2] do not appear twice in the word sequence.
|
|
88
88
|
|
|
89
89
|
Args:
|
|
90
|
-
ngram_size (int): Size of n-grams, must be greater than 0. Default: ``1`` .
|
|
90
|
+
ngram_size (int, optional): Size of n-grams, must be greater than 0. Default: ``1`` .
|
|
91
91
|
|
|
92
92
|
Inputs:
|
|
93
93
|
- **state_seq** (Tensor) - n-gram word series, a 3-D tensor with shape: :math:`(batch\_size, beam\_width, m)`.
|
|
@@ -302,8 +302,8 @@ class FusedWeightScaleApplyMomentum(PrimitiveWithInfer):
|
|
|
302
302
|
Default: ``0.0`` .
|
|
303
303
|
- **loss_scale** (Tensor) - The loss scale value, must be a scalar tensor with float data type.
|
|
304
304
|
Default: ``1.0`` .
|
|
305
|
-
- **variable** (Parameter) - Weights to be updated. data type must be float.
|
|
306
|
-
- **accumulation** (Parameter) - Accumulated gradient value by moment weight.
|
|
305
|
+
- **variable** (Union[Parameter, Tensor]) - Weights to be updated. data type must be float.
|
|
306
|
+
- **accumulation** (Union[Parameter, Tensor]) - Accumulated gradient value by moment weight.
|
|
307
307
|
Has the same data type with `variable`.
|
|
308
308
|
- **learning_rate** (Union[Number, Tensor]) - The learning rate value, must be a float number or
|
|
309
309
|
a scalar tensor with float data type.
|
|
@@ -425,7 +425,8 @@ class FusedCastAdamWeightDecay(PrimitiveWithInfer):
|
|
|
425
425
|
... def construct(self, lr, beta1, beta2, epsilon, decay, grad, norm):
|
|
426
426
|
... out = self.opt(self.var, self.m, self.v, lr, beta1, beta2, epsilon, decay, grad, norm)
|
|
427
427
|
... return out
|
|
428
|
-
>>> ms.set_context(mode=ms.GRAPH_MODE
|
|
428
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
429
|
+
>>> ms.set_device(device_target="CPU")
|
|
429
430
|
>>> net = Net()
|
|
430
431
|
>>> gradient = Tensor(np.ones([2, 2]), mstype.float16)
|
|
431
432
|
>>> output = net(0.001, 0.9, 0.999, 1e-8, 0.0, gradient, 1.0)
|
|
@@ -560,7 +561,8 @@ class FusedAdaFactor(PrimitiveWithInfer):
|
|
|
560
561
|
... out = self.opt(epsilon, clip_threshold, beta1, beta2, weight_decay, lr, grad, self.param,
|
|
561
562
|
... self.exp_avg, self.exp_avg_sq_row, self.exp_avg_sq_col, self.exp_avg_sq)
|
|
562
563
|
... return out
|
|
563
|
-
>>> ms.set_context(mode=ms.GRAPH_MODE
|
|
564
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
565
|
+
>>> ms.set_device(device_target="CPU")
|
|
564
566
|
>>> net = Net()
|
|
565
567
|
>>> gradient = Tensor(np.ones(param_shape), mstype.float32)
|
|
566
568
|
>>> output = net((1e-30, 1e-3), 1.0, 0.9, 0.8, 1e-2, 0.03, gradient)
|
|
@@ -19,63 +19,7 @@ from __future__ import absolute_import
|
|
|
19
19
|
from mindspore import _checkparam as Validator
|
|
20
20
|
from mindspore.ops.primitive import Primitive
|
|
21
21
|
from mindspore.ops.primitive import prim_attr_register
|
|
22
|
-
from ..auto_generate import Geqrf
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class Svd(Primitive):
|
|
26
|
-
"""
|
|
27
|
-
Computes the singular value decompositions of one or more matrices.
|
|
28
|
-
|
|
29
|
-
Refer to :func:`mindspore.ops.svd` for more details.
|
|
30
|
-
|
|
31
|
-
Args:
|
|
32
|
-
full_matrices (bool, optional): If ``True`` , compute full-sized :math:`U` and :math:`V`. If ``False``,
|
|
33
|
-
compute only the leading P singular vectors, with P is the minimum of M and N.
|
|
34
|
-
Default: ``False`` .
|
|
35
|
-
compute_uv (bool, optional): If ``True`` , compute the left and right singular vectors.
|
|
36
|
-
If ``False`` , compute only the singular values. Default: ``True`` .
|
|
37
|
-
|
|
38
|
-
Inputs:
|
|
39
|
-
- **input** (Tensor) - Tensor of the matrices to be decomposed. The shape should be :math:`(*, M, N)`,
|
|
40
|
-
the supported dtype are float32 and float64.
|
|
41
|
-
|
|
42
|
-
Outputs:
|
|
43
|
-
- **s** (Tensor) - Singular values. The shape is :math:`(*, P)`.
|
|
44
|
-
- **u** (Tensor) - Left singular vectors. If `compute_uv` is ``False`` , u will be zero value.
|
|
45
|
-
The shape is :math:`(*, M, P)`. If `full_matrices` is ``True`` , the shape will be :math:`(*, M, M)`.
|
|
46
|
-
- **v** (Tensor) - Right singular vectors. If `compute_uv` is ``False`` , v will be zero value.
|
|
47
|
-
The shape is :math:`(*, N, P)`. If `full_matrices` is ``True`` , the shape will be :math:`(*, N, N)`.
|
|
48
|
-
|
|
49
|
-
Supported Platforms:
|
|
50
|
-
``GPU`` ``CPU``
|
|
51
|
-
|
|
52
|
-
Examples:
|
|
53
|
-
>>> import numpy as np
|
|
54
|
-
>>> from mindspore import Tensor, set_context
|
|
55
|
-
>>> from mindspore import ops
|
|
56
|
-
>>> set_context(device_target="CPU")
|
|
57
|
-
>>> svd = ops.Svd(full_matrices=True, compute_uv=True)
|
|
58
|
-
>>> a = Tensor(np.array([[1, 2], [-4, -5], [2, 1]]).astype(np.float32))
|
|
59
|
-
>>> s, u, v = svd(a)
|
|
60
|
-
>>> print(s)
|
|
61
|
-
[7.0652843 1.040081 ]
|
|
62
|
-
>>> print(u)
|
|
63
|
-
[[ 0.30821905 -0.48819482 0.81649697]
|
|
64
|
-
[-0.90613353 0.11070572 0.40824813]
|
|
65
|
-
[ 0.2896955 0.8656849 0.4082479 ]]
|
|
66
|
-
>>> print(v)
|
|
67
|
-
[[ 0.63863593 0.769509 ]
|
|
68
|
-
[ 0.769509 -0.63863593]]
|
|
69
|
-
"""
|
|
70
|
-
|
|
71
|
-
@prim_attr_register
|
|
72
|
-
def __init__(self, full_matrices=False, compute_uv=True):
|
|
73
|
-
super().__init__(name="Svd")
|
|
74
|
-
self.init_prim_io_names(inputs=['a'], outputs=['s', 'u', 'v'])
|
|
75
|
-
self.full_matrices = Validator.check_value_type("full_matrices", full_matrices, [bool], self.name)
|
|
76
|
-
self.compute_uv = Validator.check_value_type("compute_uv", compute_uv, [bool], self.name)
|
|
77
|
-
self.add_prim_attr('full_matrices', self.full_matrices)
|
|
78
|
-
self.add_prim_attr('compute_uv', self.compute_uv)
|
|
22
|
+
from ..auto_generate import Geqrf, Svd
|
|
79
23
|
|
|
80
24
|
|
|
81
25
|
class Eigh(Primitive):
|
|
@@ -66,7 +66,7 @@ class TensorReport(Primitive):
|
|
|
66
66
|
@prim_attr_register
|
|
67
67
|
def __init__(self):
|
|
68
68
|
"""Initialize TensorReport"""
|
|
69
|
-
self.add_prim_attr("
|
|
69
|
+
self.add_prim_attr("side_effect_mem", True)
|
|
70
70
|
self.add_prim_attr("channel_name", "ms_tensor_report")
|
|
71
71
|
|
|
72
72
|
def __call__(self, file, input_x):
|