mindspore 2.4.1__cp310-cp310-win_amd64.whl → 2.5.0__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +8 -3
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_checkparam.py +0 -5
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/compile_config.py +64 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +375 -0
- mindspore/_extends/parse/parser.py +23 -5
- mindspore/_extends/parse/standard_method.py +123 -27
- mindspore/_extends/pijit/pijit_func_white_list.py +1 -1
- mindspore/amp.py +7 -1
- 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/boost_cell_wrapper.py +136 -41
- mindspore/common/__init__.py +3 -1
- mindspore/common/_register_for_tensor.py +0 -1
- mindspore/common/_stub_tensor.py +25 -4
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +6132 -0
- mindspore/common/api.py +99 -25
- mindspore/common/dtype.py +34 -34
- mindspore/common/dump.py +2 -1
- mindspore/common/file_system.py +8 -1
- mindspore/common/generator.py +2 -0
- mindspore/common/hook_handle.py +3 -1
- mindspore/common/initializer.py +3 -4
- mindspore/common/lazy_inline.py +8 -2
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/parameter.py +30 -27
- mindspore/common/tensor.py +713 -1337
- mindspore/communication/__init__.py +1 -1
- mindspore/communication/_comm_helper.py +10 -0
- mindspore/communication/comm_func.py +215 -173
- mindspore/communication/management.py +23 -20
- mindspore/context.py +292 -193
- mindspore/dataset/__init__.py +23 -19
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +84 -3
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +5 -4
- mindspore/dataset/engine/datasets.py +192 -149
- mindspore/dataset/engine/datasets_audio.py +14 -0
- mindspore/dataset/engine/datasets_standard_format.py +28 -11
- mindspore/dataset/engine/datasets_text.py +38 -1
- mindspore/dataset/engine/datasets_user_defined.py +125 -65
- mindspore/dataset/engine/datasets_vision.py +81 -8
- mindspore/dataset/engine/iterators.py +281 -63
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +26 -2
- mindspore/dataset/engine/serializer_deserializer.py +1 -1
- mindspore/dataset/engine/validators.py +43 -11
- mindspore/dataset/transforms/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +29 -12
- 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 +94 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +127 -0
- mindspore/device_context/cpu/__init__.py +25 -0
- 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 +134 -0
- mindspore/dnnl.dll +0 -0
- mindspore/experimental/llm_boost/__init__.py +3 -2
- 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 +239 -64
- mindspore/experimental/llm_boost/atb/llama_boost.py +52 -30
- mindspore/experimental/llm_boost/atb/qwen_boost.py +47 -24
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/optim/adadelta.py +26 -22
- mindspore/experimental/optim/adam.py +3 -0
- mindspore/experimental/optim/lr_scheduler.py +33 -24
- mindspore/experimental/optim/radam.py +33 -30
- mindspore/hal/device.py +28 -0
- mindspore/hal/event.py +17 -0
- mindspore/hal/memory.py +94 -3
- mindspore/hal/stream.py +91 -6
- mindspore/include/api/context.h +1 -2
- mindspore/include/dataset/constants.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +12 -0
- mindspore/mindrecord/__init__.py +1 -1
- 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.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/mint/__init__.py +824 -218
- mindspore/mint/distributed/__init__.py +66 -4
- mindspore/mint/distributed/distributed.py +2594 -44
- mindspore/mint/linalg/__init__.py +6 -0
- mindspore/mint/nn/__init__.py +473 -14
- mindspore/mint/nn/functional.py +486 -11
- mindspore/mint/nn/layer/__init__.py +17 -4
- mindspore/mint/nn/layer/_functions.py +330 -0
- mindspore/mint/nn/layer/activation.py +169 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +727 -0
- mindspore/mint/nn/layer/normalization.py +215 -19
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +170 -0
- mindspore/mint/optim/__init__.py +2 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/special/__init__.py +2 -1
- mindspore/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +2 -0
- mindspore/nn/cell.py +142 -21
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +6 -6
- mindspore/nn/layer/basic.py +35 -25
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/conv.py +3 -0
- mindspore/nn/layer/embedding.py +3 -3
- mindspore/nn/layer/normalization.py +8 -7
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +55 -23
- 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 +48 -26
- mindspore/nn/learning_rate_schedule.py +5 -3
- mindspore/nn/loss/loss.py +31 -36
- mindspore/nn/optim/ada_grad.py +1 -0
- mindspore/nn/optim/adadelta.py +2 -2
- mindspore/nn/optim/adam.py +1 -1
- mindspore/nn/optim/lars.py +1 -4
- mindspore/nn/optim/optimizer.py +1 -1
- mindspore/nn/optim/rprop.py +2 -2
- mindspore/nn/optim/thor.py +2 -1
- mindspore/nn/utils/__init__.py +22 -0
- mindspore/nn/utils/init.py +73 -0
- mindspore/nn/wrap/cell_wrapper.py +4 -6
- mindspore/nn/wrap/loss_scale.py +3 -4
- mindspore/numpy/array_creations.py +60 -62
- mindspore/numpy/array_ops.py +148 -143
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +361 -359
- mindspore/numpy/utils.py +16 -16
- mindspore/numpy/utils_const.py +4 -4
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +2 -1
- mindspore/ops/_grad_experimental/grad_comm_ops.py +107 -8
- mindspore/ops/_grad_experimental/grad_debug_ops.py +6 -1
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
- mindspore/ops/_vmap/vmap_array_ops.py +20 -19
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +19 -13
- mindspore/ops/_vmap/vmap_math_ops.py +11 -9
- mindspore/ops/_vmap/vmap_nn_ops.py +20 -34
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +149 -12
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -61
- mindspore/ops/auto_generate/gen_extend_func.py +554 -60
- mindspore/ops/auto_generate/gen_ops_def.py +1621 -115
- mindspore/ops/auto_generate/gen_ops_prim.py +8027 -3411
- mindspore/ops/auto_generate/pyboost_inner_prim.py +183 -79
- mindspore/ops/composite/base.py +1 -1
- mindspore/ops/composite/multitype_ops/_compile_utils.py +229 -30
- mindspore/ops/composite/multitype_ops/pow_impl.py +0 -29
- mindspore/ops/function/__init__.py +12 -0
- mindspore/ops/function/array_func.py +561 -159
- mindspore/ops/function/clip_func.py +64 -0
- mindspore/ops/function/debug_func.py +28 -20
- mindspore/ops/function/image_func.py +1 -1
- mindspore/ops/function/linalg_func.py +5 -4
- mindspore/ops/function/math_func.py +1664 -294
- mindspore/ops/function/nn_func.py +988 -317
- mindspore/ops/function/parameter_func.py +3 -56
- mindspore/ops/function/random_func.py +243 -33
- mindspore/ops/function/sparse_unary_func.py +1 -1
- mindspore/ops/functional.py +18 -5
- mindspore/ops/functional_overload.py +897 -0
- mindspore/ops/operations/__init__.py +3 -2
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -34
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +38 -8
- mindspore/ops/operations/array_ops.py +45 -303
- mindspore/ops/operations/comm_ops.py +23 -17
- mindspore/ops/operations/custom_ops.py +7 -49
- mindspore/ops/operations/debug_ops.py +42 -47
- mindspore/ops/operations/inner_ops.py +6 -4
- mindspore/ops/operations/linalg_ops.py +3 -2
- mindspore/ops/operations/manually_defined/ops_def.py +185 -104
- mindspore/ops/operations/math_ops.py +11 -216
- mindspore/ops/operations/nn_ops.py +153 -310
- mindspore/ops/primitive.py +23 -21
- mindspore/ops/tensor_method.py +1669 -0
- mindspore/ops_generate/aclnn_kernel_register_auto_cc_generator.py +110 -0
- mindspore/ops_generate/add_tensor_docs_generator.py +54 -0
- mindspore/ops_generate/arg_handler.py +0 -61
- mindspore/ops_generate/auto_grad_impl_cc_generator.py +135 -0
- mindspore/ops_generate/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/base_generator.py +11 -0
- mindspore/ops_generate/cpp_create_prim_instance_helper_generator.py +108 -0
- mindspore/ops_generate/functional_map_cpp_generator.py +491 -0
- mindspore/ops_generate/functional_overload_py_generator.py +110 -0
- mindspore/ops_generate/functions_cc_generator.py +233 -0
- mindspore/ops_generate/gen_aclnn_implement.py +110 -114
- mindspore/ops_generate/gen_constants.py +157 -3
- mindspore/ops_generate/gen_ops.py +245 -990
- mindspore/ops_generate/gen_pyboost_func.py +97 -998
- mindspore/ops_generate/gen_utils.py +119 -33
- mindspore/ops_generate/lite_ops_cpp_generator.py +155 -0
- mindspore/ops_generate/op_api_proto.py +206 -0
- mindspore/ops_generate/op_def_py_generator.py +131 -0
- mindspore/ops_generate/op_prim_py_generator.py +480 -0
- mindspore/ops_generate/op_proto.py +373 -108
- mindspore/ops_generate/op_template_parser.py +436 -0
- mindspore/ops_generate/ops_def_cc_generator.py +288 -0
- mindspore/ops_generate/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/ops_name_h_generator.py +68 -0
- mindspore/ops_generate/ops_primitive_h_generator.py +81 -0
- mindspore/ops_generate/pyboost_functions_cpp_generator.py +370 -0
- mindspore/ops_generate/pyboost_functions_h_generator.py +68 -0
- mindspore/ops_generate/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost_grad_function_cpp_generator.py +154 -0
- mindspore/ops_generate/pyboost_inner_prim_generator.py +131 -0
- mindspore/ops_generate/pyboost_native_grad_functions_generator.py +268 -0
- mindspore/ops_generate/pyboost_op_cpp_code_generator.py +851 -0
- mindspore/ops_generate/pyboost_overload_functions_cpp_generator.py +344 -0
- mindspore/ops_generate/pyboost_utils.py +92 -33
- mindspore/ops_generate/template.py +294 -44
- mindspore/ops_generate/tensor_func_reg_cpp_generator.py +422 -0
- mindspore/parallel/__init__.py +3 -3
- mindspore/parallel/_auto_parallel_context.py +44 -34
- mindspore/parallel/_cell_wrapper.py +22 -3
- mindspore/parallel/_parallel_serialization.py +13 -2
- mindspore/parallel/_utils.py +4 -2
- mindspore/parallel/algo_parameter_config.py +1 -1
- mindspore/parallel/checkpoint_transform.py +44 -0
- mindspore/parallel/cluster/process_entity/_api.py +131 -37
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +20 -3
- mindspore/parallel/parameter_broadcast.py +1 -1
- mindspore/parallel/shard.py +3 -0
- mindspore/parallel/transform_safetensors.py +119 -253
- mindspore/profiler/__init__.py +17 -4
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +166 -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 +261 -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 +84 -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 +260 -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 +333 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +252 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +313 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +322 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +265 -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 +97 -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 +138 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +174 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +202 -0
- mindspore/profiler/common/path_manager.py +371 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +476 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +210 -0
- mindspore/profiler/common/profiler_path_manager.py +120 -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 +270 -37
- mindspore/profiler/envprofiler.py +138 -0
- mindspore/profiler/mstx.py +199 -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 +309 -0
- mindspore/profiler/profiler.py +580 -93
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +114 -0
- mindspore/profiler/schedule.py +208 -0
- mindspore/rewrite/api/symbol_tree.py +1 -2
- mindspore/run_check/_check_version.py +18 -13
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +148 -0
- mindspore/runtime/memory.py +392 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +2 -2
- mindspore/train/_utils.py +53 -18
- mindspore/train/amp.py +8 -4
- mindspore/train/callback/_checkpoint.py +32 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +105 -69
- mindspore/train/callback/_history.py +1 -1
- mindspore/train/callback/_summary_collector.py +44 -6
- mindspore/train/callback/_tft_register.py +37 -15
- mindspore/train/dataset_helper.py +11 -11
- mindspore/train/metrics/precision.py +4 -5
- mindspore/train/mind_ir_pb2.py +167 -46
- mindspore/train/model.py +13 -14
- mindspore/train/serialization.py +461 -72
- mindspore/train/summary/summary_record.py +1 -2
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +4 -2
- mindspore/utils/dryrun.py +138 -0
- mindspore/utils/runtime_execution_order_check.py +550 -0
- mindspore/version.py +1 -1
- {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/METADATA +3 -4
- {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/RECORD +368 -242
- {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/entry_points.txt +1 -1
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/WHEEL +0 -0
- {mindspore-2.4.1.dist-info → mindspore-2.5.0.dist-info}/top_level.txt +0 -0
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
19
|
from __future__ import division
|
|
20
20
|
|
|
21
|
+
import os
|
|
21
22
|
from mindspore.common import Tensor
|
|
22
23
|
from mindspore import _checkparam as validator
|
|
23
24
|
from mindspore.communication.management import get_rank, get_group_size, GlobalComm, _get_group, _host_distribute
|
|
@@ -54,7 +55,7 @@ class ReduceOp:
|
|
|
54
55
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
55
56
|
without any third-party or configuration file dependencies.
|
|
56
57
|
Please see the `msrun start up
|
|
57
|
-
<https://www.mindspore.cn/docs/
|
|
58
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
58
59
|
for more details.
|
|
59
60
|
|
|
60
61
|
This example should be run with multiple devices.
|
|
@@ -100,7 +101,9 @@ def check_collective_target_dtype(data_name, data_dtype, prim_name):
|
|
|
100
101
|
def check_hcom_group_valid(group, prim_name=None):
|
|
101
102
|
"""Check if hcom group is valid."""
|
|
102
103
|
msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
|
|
103
|
-
|
|
104
|
+
sim_level = os.getenv("MS_SIMULATION_LEVEL")
|
|
105
|
+
no_sim = (sim_level is None or sim_level.strip() == '')
|
|
106
|
+
if no_sim and (not _host_distribute()) and context.get_context("mode") == context.PYNATIVE_MODE and \
|
|
104
107
|
group != GlobalComm.WORLD_COMM_GROUP:
|
|
105
108
|
raise RuntimeError(f"{msg_prefix} 'group' only support 'hccl_world_group' in pynative mode, but got "
|
|
106
109
|
f"'group': {group}. Please start by using mpi-run.")
|
|
@@ -141,7 +144,7 @@ class AllReduce(Primitive):
|
|
|
141
144
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
142
145
|
without any third-party or configuration file dependencies.
|
|
143
146
|
Please see the `msrun start up
|
|
144
|
-
<https://www.mindspore.cn/docs/
|
|
147
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
145
148
|
for more details.
|
|
146
149
|
|
|
147
150
|
This example should be run with 2 devices.
|
|
@@ -231,7 +234,7 @@ class Reduce(PrimitiveWithInfer):
|
|
|
231
234
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method without any third-party
|
|
232
235
|
or configuration file dependencies.
|
|
233
236
|
Please see the `msrun start up
|
|
234
|
-
<https://www.mindspore.cn/docs/
|
|
237
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
235
238
|
for more details.
|
|
236
239
|
|
|
237
240
|
This example should be run with 4 devices.
|
|
@@ -315,7 +318,7 @@ class AllGather(PrimitiveWithInfer):
|
|
|
315
318
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
316
319
|
without any third-party or configuration file dependencies.
|
|
317
320
|
Please see the `msrun start up
|
|
318
|
-
<https://www.mindspore.cn/docs/
|
|
321
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
319
322
|
for more details.
|
|
320
323
|
|
|
321
324
|
This example should be run with 2 devices.
|
|
@@ -538,7 +541,7 @@ class ReduceScatter(Primitive):
|
|
|
538
541
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
539
542
|
without any third-party or configuration file dependencies.
|
|
540
543
|
Please see the `msrun start up
|
|
541
|
-
<https://www.mindspore.cn/docs/
|
|
544
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
542
545
|
for more details.
|
|
543
546
|
|
|
544
547
|
This example should be run with 2 devices.
|
|
@@ -676,7 +679,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
676
679
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
677
680
|
without any third-party or configuration file dependencies.
|
|
678
681
|
Please see the `msrun start up
|
|
679
|
-
<https://www.mindspore.cn/docs/
|
|
682
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
680
683
|
for more details.
|
|
681
684
|
|
|
682
685
|
This example should be run with 2 devices.
|
|
@@ -906,7 +909,7 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
906
909
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
907
910
|
without any third-party or configuration file dependencies.
|
|
908
911
|
Please see the `msrun start up
|
|
909
|
-
<https://www.mindspore.cn/docs/
|
|
912
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
910
913
|
for more details.
|
|
911
914
|
|
|
912
915
|
This example should be run with 8 devices.
|
|
@@ -988,6 +991,9 @@ class NeighborExchangeV2(Primitive):
|
|
|
988
991
|
in the same subnet, please check the `details \
|
|
989
992
|
<https://www.mindspore.cn/docs/en/master/api_python/samples/ops/communicate_ops.html#notes>`_.
|
|
990
993
|
|
|
994
|
+
Users need to ensure that the length of the received data `recv_lens` is consistent with that of
|
|
995
|
+
the sent data `send_lens`.
|
|
996
|
+
|
|
991
997
|
Args:
|
|
992
998
|
send_rank_ids (list(int)): Ranks which the data is sent to. 8 rank_ids represents 8 directions, if one
|
|
993
999
|
direction is not send to , set it -1.
|
|
@@ -1025,7 +1031,7 @@ class NeighborExchangeV2(Primitive):
|
|
|
1025
1031
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1026
1032
|
without any third-party or configuration file dependencies.
|
|
1027
1033
|
Please see the `msrun start up
|
|
1028
|
-
<https://www.mindspore.cn/docs/
|
|
1034
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1029
1035
|
for more details.
|
|
1030
1036
|
|
|
1031
1037
|
This example should be run with 2 devices.
|
|
@@ -1142,7 +1148,7 @@ class CollectiveScatter(Primitive):
|
|
|
1142
1148
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1143
1149
|
without any third-party or configuration file dependencies.
|
|
1144
1150
|
Please see the `msrun start up
|
|
1145
|
-
<https://www.mindspore.cn/docs/
|
|
1151
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1146
1152
|
for more details.
|
|
1147
1153
|
|
|
1148
1154
|
This example should be run with 2 devices.
|
|
@@ -1227,7 +1233,7 @@ class CollectiveGather(Primitive):
|
|
|
1227
1233
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1228
1234
|
without any third-party or configuration file dependencies.
|
|
1229
1235
|
Please see the `msrun start up
|
|
1230
|
-
<https://www.mindspore.cn/docs/
|
|
1236
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1231
1237
|
for more details.
|
|
1232
1238
|
|
|
1233
1239
|
This example should be run with 4 devices.
|
|
@@ -1303,7 +1309,7 @@ class Barrier(PrimitiveWithInfer):
|
|
|
1303
1309
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1304
1310
|
without any third-party or configuration file dependencies.
|
|
1305
1311
|
Please see the `msrun start up
|
|
1306
|
-
<https://www.mindspore.cn/docs/
|
|
1312
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1307
1313
|
for more details.
|
|
1308
1314
|
|
|
1309
1315
|
This example should be run with 2 devices.
|
|
@@ -1377,7 +1383,7 @@ class Send(PrimitiveWithInfer):
|
|
|
1377
1383
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1378
1384
|
without any third-party or configuration file dependencies.
|
|
1379
1385
|
Please see the `msrun start up
|
|
1380
|
-
<https://www.mindspore.cn/docs/
|
|
1386
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1381
1387
|
for more details.
|
|
1382
1388
|
|
|
1383
1389
|
This example should be run with 2 devices.
|
|
@@ -1393,7 +1399,7 @@ class Send(PrimitiveWithInfer):
|
|
|
1393
1399
|
>>> def __init__(self):
|
|
1394
1400
|
>>> super(SendNet, self).__init__()
|
|
1395
1401
|
>>> self.depend = ops.Depend()
|
|
1396
|
-
>>> self.send = ops.Send(
|
|
1402
|
+
>>> self.send = ops.Send(sr_tag=0, dest_rank=8, group="hccl_world_group")
|
|
1397
1403
|
>>>
|
|
1398
1404
|
>>> def construct(self, x):
|
|
1399
1405
|
>>> out = self.depend(x, self.send(x))
|
|
@@ -1461,7 +1467,7 @@ class Receive(PrimitiveWithInfer):
|
|
|
1461
1467
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1462
1468
|
without any third-party or configuration file dependencies.
|
|
1463
1469
|
Please see the `msrun start up
|
|
1464
|
-
<https://www.mindspore.cn/docs/
|
|
1470
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1465
1471
|
for more details.
|
|
1466
1472
|
|
|
1467
1473
|
This example should be run with 2 devices.
|
|
@@ -1839,7 +1845,7 @@ class BatchISendIRecv(PrimitiveWithInfer):
|
|
|
1839
1845
|
without any third-party or configuration file dependencies.
|
|
1840
1846
|
|
|
1841
1847
|
Please see the `msrun start up
|
|
1842
|
-
<https://www.mindspore.cn/docs/
|
|
1848
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1843
1849
|
for more details.
|
|
1844
1850
|
|
|
1845
1851
|
This example should be run with 2 devices.
|
|
@@ -1952,7 +1958,7 @@ class AlltoAllV(PrimitiveWithInfer):
|
|
|
1952
1958
|
without any third-party or configuration file dependencies.
|
|
1953
1959
|
|
|
1954
1960
|
Please see the `msrun start up
|
|
1955
|
-
<https://www.mindspore.cn/docs/
|
|
1961
|
+
<https://www.mindspore.cn/docs/en/master/model_train/parallel/msrun_launcher.html>`_
|
|
1956
1962
|
for more details.
|
|
1957
1963
|
|
|
1958
1964
|
This example should be run with 2 devices.
|
|
@@ -223,8 +223,6 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
223
223
|
.. note::
|
|
224
224
|
The supported platforms are determined by the input `func_type`. The supported platforms are as follows:
|
|
225
225
|
|
|
226
|
-
- "hybrid": supports ["GPU", "CPU"].
|
|
227
|
-
- "akg": supports ["GPU", "CPU"].
|
|
228
226
|
- "aot": supports ["GPU", "CPU", "Ascend"].
|
|
229
227
|
- "pyfunc": supports ["CPU"].
|
|
230
228
|
- "julia": supports ["CPU"].
|
|
@@ -233,11 +231,7 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
233
231
|
func (Union[function, str]):
|
|
234
232
|
|
|
235
233
|
- function: If func is of function type, then func should be a Python function which describes the
|
|
236
|
-
computation logic of a user defined operator.
|
|
237
|
-
|
|
238
|
-
1. A AKG operator implementation function, which can use ir builder/tvm compute/hybrid grammar.
|
|
239
|
-
2. A pure python function
|
|
240
|
-
3. An kernel decorated function written by the Hybrid DSL.
|
|
234
|
+
computation logic of a user defined operator.
|
|
241
235
|
|
|
242
236
|
- str: If func is of str type, then str should be a path of file along with a function name.
|
|
243
237
|
This could be used when func_type is "aot" or "julia".
|
|
@@ -354,7 +348,7 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
354
348
|
|
|
355
349
|
func_type (str): The implementation type of `func`, should be one of
|
|
356
350
|
|
|
357
|
-
[ ``"
|
|
351
|
+
[ ``"aot"`` , ``"pyfunc"`` , ``"julia"`` ].
|
|
358
352
|
|
|
359
353
|
bprop (function): The back propagation function of `func`. Default: ``None`` .
|
|
360
354
|
reg_info (Union[str, dict, list, tuple]): Represents the registration information(reg info) of `func` with
|
|
@@ -398,50 +392,14 @@ class Custom(ops.PrimitiveWithInfer):
|
|
|
398
392
|
>>> input_x = Tensor(np.ones([16, 16]).astype(np.float32))
|
|
399
393
|
>>> input_y = Tensor(np.ones([16, 16]).astype(np.float32))
|
|
400
394
|
>>>
|
|
401
|
-
>>> # Example, func_type = "hybrid"
|
|
402
|
-
>>> # This is the default func_type in Custom,
|
|
403
|
-
>>> # and both out_shape and out_dtype can be None(default value).
|
|
404
|
-
>>> # In this case, the input func must be a function written in the Hybrid DSL
|
|
405
|
-
>>> # and decorated by @kernel.
|
|
406
|
-
>>> @kernel
|
|
407
|
-
... def add_script(a, b):
|
|
408
|
-
... c = output_tensor(a.shape, a.dtype)
|
|
409
|
-
... for i0 in range(a.shape[0]):
|
|
410
|
-
... for i1 in range(a.shape[1]):
|
|
411
|
-
... c[i0, i1] = a[i0, i1] + b[i0, i1]
|
|
412
|
-
... return c
|
|
413
|
-
>>>
|
|
414
|
-
>>> test_op_hybrid = ops.Custom(add_script)
|
|
415
|
-
>>> output = test_op_hybrid(input_x, input_y)
|
|
416
|
-
>>> # the result will be a 16 * 16 tensor with all elements 2
|
|
417
|
-
>>> print(output.shape)
|
|
418
|
-
(16, 16)
|
|
419
|
-
>>> # Example, func_type = "aot"
|
|
420
|
-
>>> def test_aot(x, y, out_shapes, out_types):
|
|
421
|
-
... program = ops.Custom("./reorganize.so:CustomReorganize", out_shapes, out_types, "aot")
|
|
422
|
-
... out = program(x, y)
|
|
423
|
-
... return out
|
|
424
|
-
>>>
|
|
425
395
|
>>> # Example, func_type = "pyfunc"
|
|
426
|
-
>>> def
|
|
427
|
-
... return
|
|
396
|
+
>>> def func_pyfunc(x1, x2):
|
|
397
|
+
... return x1 + x2
|
|
428
398
|
>>>
|
|
429
|
-
>>> test_pyfunc = ops.Custom(
|
|
399
|
+
>>> test_pyfunc = ops.Custom(func_pyfunc, lambda x, _: x, lambda x, _: x, "pyfunc")
|
|
430
400
|
>>> output = test_pyfunc(input_x, input_y)
|
|
431
|
-
>>>
|
|
432
|
-
|
|
433
|
-
>>> # julia code:
|
|
434
|
-
>>> # add.jl
|
|
435
|
-
>>> # module Add
|
|
436
|
-
>>> # function add(x, y, z)
|
|
437
|
-
>>> # z .= x + y
|
|
438
|
-
>>> # return z
|
|
439
|
-
>>> # end
|
|
440
|
-
>>> # end
|
|
441
|
-
>>> def test_julia(x, y, out_shapes, out_types):
|
|
442
|
-
... program = ops.Custom("./add.jl:Add:add", out_shapes, out_types, "julia")
|
|
443
|
-
... out = program(x, y)
|
|
444
|
-
... return out
|
|
401
|
+
>>> print(output.shape)
|
|
402
|
+
(16, 16)
|
|
445
403
|
"""
|
|
446
404
|
|
|
447
405
|
registered_func = {}
|
|
@@ -13,23 +13,24 @@
|
|
|
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
22
|
from mindspore._c_expression import Tensor 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
|
|
27
28
|
from mindspore.ops.primitive import prim_attr_register, Primitive, PrimitiveWithInfer
|
|
28
29
|
from mindspore._checkparam import check_hook_fn
|
|
30
|
+
from mindspore.ops import operations as P
|
|
29
31
|
|
|
30
32
|
|
|
31
33
|
SUMMARY_TENSOR_CACHE = []
|
|
32
|
-
TENSORDUMP_ID = 0
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
def _cache_summary_data(op_name, define_name, tensor):
|
|
@@ -64,8 +65,8 @@ class ScalarSummary(Primitive):
|
|
|
64
65
|
which specify the directory of the summary file. The summary file can
|
|
65
66
|
be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
66
67
|
mindinsight/docs/en/master/index.html>`_ for details.
|
|
67
|
-
In Ascend platform with graph mode,
|
|
68
|
-
to solve operator execution failure when calling this operator intensively.
|
|
68
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
69
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
69
70
|
|
|
70
71
|
Inputs:
|
|
71
72
|
- **name** (str) - The name of the input variable, it must not be an empty string.
|
|
@@ -124,8 +125,8 @@ class ImageSummary(Primitive):
|
|
|
124
125
|
SummaryRecord or SummaryCollector, which specify the directory of the summary file. The summary file can
|
|
125
126
|
be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
126
127
|
mindinsight/docs/en/master/index.html>`_ for details.
|
|
127
|
-
In Ascend platform with graph mode,
|
|
128
|
-
to solve operator execution failure when calling this operator intensively.
|
|
128
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
129
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
129
130
|
|
|
130
131
|
Inputs:
|
|
131
132
|
- **name** (str) - The name of the input variable, it must not be an empty string.
|
|
@@ -177,8 +178,8 @@ class TensorSummary(Primitive):
|
|
|
177
178
|
or SummaryCollector, which specify the directory of the summary file. The summary file can
|
|
178
179
|
be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
179
180
|
mindinsight/docs/en/master/index.html>`_ for details.
|
|
180
|
-
In Ascend platform with graph mode,
|
|
181
|
-
to solve operator execution failure when calling this operator intensively.
|
|
181
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
182
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
182
183
|
|
|
183
184
|
Inputs:
|
|
184
185
|
- **name** (str) - The name of the input variable.
|
|
@@ -235,15 +236,15 @@ class TensorDump(Primitive):
|
|
|
235
236
|
Save the Tensor as an npy file in numpy format.
|
|
236
237
|
|
|
237
238
|
.. warning::
|
|
238
|
-
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
239
|
+
- The parameter input_output will no longer support the value 'all'.
|
|
240
|
+
|
|
241
|
+
.. note::
|
|
242
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
243
|
+
can be set to solve operator execution failure when outputting big tensor or outputting tensor intensively.
|
|
243
244
|
|
|
244
245
|
Args:
|
|
245
246
|
input_output (str, optional): Used to control Tensordump behavior.
|
|
246
|
-
Available value is one of ['in', 'out'
|
|
247
|
+
Available value is one of ['in', 'out']. Default value is ``out``.
|
|
247
248
|
|
|
248
249
|
In case of OpA --> RedistributionOps --> OpB,
|
|
249
250
|
The dump data of OpA's output is not equal to OpB's input (Due to the redistribution operators).
|
|
@@ -253,21 +254,19 @@ class TensorDump(Primitive):
|
|
|
253
254
|
Different requirements of saving dump data can be achieved by configuring parameter input_output:
|
|
254
255
|
|
|
255
256
|
- 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
257
|
- If the input_output is 'in', the dump data contains only OpB's input slice.
|
|
258
258
|
|
|
259
|
-
For input_output is '
|
|
260
|
-
|
|
259
|
+
For input_output is 'in', the input slice npy file format is:
|
|
260
|
+
fileName_dumpMode_dtype_id.npy.
|
|
261
261
|
|
|
262
|
-
For input_output is 'out'
|
|
263
|
-
|
|
262
|
+
For input_output is 'out', the output slice npy file format is:
|
|
263
|
+
fileName_dtype_id.npy.
|
|
264
264
|
|
|
265
|
-
- id: An auto increment ID.
|
|
266
265
|
- fileName: Value of the parameter file
|
|
267
266
|
(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
267
|
- dumpMode: Value of the parameter input_output.
|
|
270
|
-
-
|
|
268
|
+
- dtype: The original data type. Data of type bfloat16 stored in the .npy file will be converted to float32.
|
|
269
|
+
- id: An auto increment ID.
|
|
271
270
|
|
|
272
271
|
Inputs:
|
|
273
272
|
- **file** (str) - The path of the file to be saved.
|
|
@@ -285,7 +284,8 @@ class TensorDump(Primitive):
|
|
|
285
284
|
>>> import mindspore as ms
|
|
286
285
|
>>> import time
|
|
287
286
|
>>> from mindspore import nn, Tensor, ops
|
|
288
|
-
>>> ms.set_context(mode=ms.GRAPH_MODE
|
|
287
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE)
|
|
288
|
+
>>> ms.set_device(device_target="Ascend")
|
|
289
289
|
>>> class Net(nn.Cell):
|
|
290
290
|
... def __init__(self):
|
|
291
291
|
... super(Net, self).__init__()
|
|
@@ -305,7 +305,7 @@ class TensorDump(Primitive):
|
|
|
305
305
|
>>> net = Net()
|
|
306
306
|
>>> out = net(input_x)
|
|
307
307
|
>>> time.sleep(0.5)
|
|
308
|
-
>>> add = np.load('
|
|
308
|
+
>>> add = np.load('add_float32_0.npy')
|
|
309
309
|
>>> print(add)
|
|
310
310
|
[[2. 3. 4. 5.]
|
|
311
311
|
[6. 7. 8. 9.]]
|
|
@@ -318,25 +318,26 @@ class TensorDump(Primitive):
|
|
|
318
318
|
self.add_prim_attr("side_effect_io", True)
|
|
319
319
|
self.add_prim_attr("channel_name", "ms_tensor_dump")
|
|
320
320
|
|
|
321
|
+
def _save_file(self, file, data):
|
|
322
|
+
file = Path(file)
|
|
323
|
+
if file.exists():
|
|
324
|
+
file.chmod(stat.S_IWUSR)
|
|
325
|
+
np.save(file, data)
|
|
326
|
+
file.chmod(stat.S_IRUSR)
|
|
327
|
+
|
|
321
328
|
def __call__(self, file, input_x):
|
|
322
329
|
validator.check_value_type('file', file, [str], self.__class__.__name__)
|
|
323
330
|
if not file:
|
|
324
331
|
raise ValueError("For 'TensorDump', the input argument[file] cannot be an empty string.")
|
|
325
332
|
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
|
|
333
|
+
|
|
334
|
+
dtype = input_x.dtype
|
|
335
|
+
file = _tensordump_process_file(file, str(dtype))
|
|
336
|
+
if not file:
|
|
337
|
+
return
|
|
338
|
+
if dtype == mstype.bfloat16:
|
|
339
|
+
input_x = P.Cast()(input_x, mstype.float32)
|
|
340
|
+
self._save_file(file, input_x.asnumpy())
|
|
340
341
|
|
|
341
342
|
|
|
342
343
|
class HistogramSummary(Primitive):
|
|
@@ -345,8 +346,8 @@ class HistogramSummary(Primitive):
|
|
|
345
346
|
It must be used with SummaryRecord or SummaryCollector, which specify the directory of the summary file.
|
|
346
347
|
The summary file can be loaded and shown by MindInsight, see `MindInsight documents <https://www.mindspore.cn/
|
|
347
348
|
mindinsight/docs/en/master/index.html>`_ for details.
|
|
348
|
-
In Ascend platform with graph mode,
|
|
349
|
-
to solve operator execution failure when calling this operator intensively.
|
|
349
|
+
In Ascend platform with graph mode, the environment variables `MS_DUMP_SLICE_SIZE` and `MS_DUMP_WAIT_TIME`
|
|
350
|
+
can be set to solve operator execution failure when calling this operator intensively.
|
|
350
351
|
|
|
351
352
|
Inputs:
|
|
352
353
|
- **name** (str) - The name of the input variable.
|
|
@@ -398,7 +399,7 @@ class HistogramSummary(Primitive):
|
|
|
398
399
|
_cache_summary_data(self.name, args[0], args[1])
|
|
399
400
|
|
|
400
401
|
|
|
401
|
-
class InsertGradientOf(
|
|
402
|
+
class InsertGradientOf(Primitive):
|
|
402
403
|
"""
|
|
403
404
|
Attaches callback to the graph node that will be invoked on the node's gradient.
|
|
404
405
|
|
|
@@ -464,12 +465,6 @@ class InsertGradientOf(PrimitiveWithInfer):
|
|
|
464
465
|
self.add_prim_attr('side_effect_backprop', True)
|
|
465
466
|
self.f = f
|
|
466
467
|
|
|
467
|
-
def infer_shape(self, x_shape):
|
|
468
|
-
return x_shape
|
|
469
|
-
|
|
470
|
-
def infer_dtype(self, x_type):
|
|
471
|
-
return x_type
|
|
472
|
-
|
|
473
468
|
|
|
474
469
|
class HookBackward(PrimitiveWithInfer):
|
|
475
470
|
"""
|
|
@@ -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)
|
|
@@ -51,9 +51,10 @@ class Svd(Primitive):
|
|
|
51
51
|
|
|
52
52
|
Examples:
|
|
53
53
|
>>> import numpy as np
|
|
54
|
-
>>>
|
|
54
|
+
>>> import mindspore as ms
|
|
55
|
+
>>> from mindspore import Tensor
|
|
55
56
|
>>> from mindspore import ops
|
|
56
|
-
>>>
|
|
57
|
+
>>> ms.set_device(device_target="CPU")
|
|
57
58
|
>>> svd = ops.Svd(full_matrices=True, compute_uv=True)
|
|
58
59
|
>>> a = Tensor(np.array([[1, 2], [-4, -5], [2, 1]]).astype(np.float32))
|
|
59
60
|
>>> s, u, v = svd(a)
|