mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0rc1__cp39-cp39-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__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 +46 -197
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +217 -98
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- mindspore/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 +435 -371
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +2 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +951 -1992
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +314 -566
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +182 -116
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +157 -117
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +796 -759
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +921 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- mindspore/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1370 -189
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +22 -17
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +17 -13
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +365 -363
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
- mindspore/ops/_vmap/vmap_array_ops.py +27 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +236 -46
- mindspore/ops/auto_generate/gen_extend_func.py +764 -124
- mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
- mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4501 -3802
- mindspore/ops/function/nn_func.py +1726 -620
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +440 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +24 -17
- mindspore/ops/functional.py +22 -7
- mindspore/ops/functional_overload.py +1440 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +13 -7
- mindspore/ops/operations/_custom_ops_utils.py +247 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +232 -78
- mindspore/ops/operations/debug_ops.py +153 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +210 -498
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +66 -53
- mindspore/ops/tensor_method.py +1888 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +299 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +7 -3
- mindspore/parallel/_auto_parallel_context.py +152 -34
- mindspore/parallel/_cell_wrapper.py +130 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +698 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +259 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +25 -14
- mindspore/parallel/shard.py +137 -58
- mindspore/parallel/transform_safetensors.py +363 -305
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +106 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +409 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +88 -25
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -107
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +184 -113
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +550 -0
- mindspore/utils/utils.py +138 -4
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +562 -393
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -97,6 +97,7 @@ class AdamW(Optimizer):
|
|
|
97
97
|
|
|
98
98
|
.. math::
|
|
99
99
|
\begin{aligned}
|
|
100
|
+
&\rule{180mm}{0.4pt} \\
|
|
100
101
|
&\textbf{input} : \gamma \text{(lr)}, \: \beta_1, \beta_2
|
|
101
102
|
\text{(betas)}, \: \theta_0 \text{(params)}, \: f(\theta) \text{(objective)},
|
|
102
103
|
\: \epsilon \text{ (epsilon)} \\
|
|
@@ -104,6 +105,7 @@ class AdamW(Optimizer):
|
|
|
104
105
|
\: \textit{maximize} \\
|
|
105
106
|
&\textbf{initialize} : m_0 \leftarrow 0 \text{ (first moment)}, v_0 \leftarrow 0
|
|
106
107
|
\text{ ( second moment)}, \: \widehat{v_0}^{max}\leftarrow 0 \\[-1.ex]
|
|
108
|
+
&\rule{180mm}{0.4pt} \\
|
|
107
109
|
&\textbf{for} \: t=1 \: \textbf{to} \: \ldots \: \textbf{do} \\
|
|
108
110
|
&\hspace{5mm}\textbf{if} \: \textit{maximize}: \\
|
|
109
111
|
&\hspace{10mm}g_t \leftarrow -\nabla_{\theta} f_t (\theta_{t-1}) \\
|
|
@@ -122,7 +124,9 @@ class AdamW(Optimizer):
|
|
|
122
124
|
&\hspace{5mm}\textbf{else} \\
|
|
123
125
|
&\hspace{10mm}\theta_t \leftarrow \theta_t - \gamma \widehat{m_t}/
|
|
124
126
|
\big(\sqrt{\widehat{v_t}} + \epsilon \big) \\
|
|
127
|
+
&\rule{180mm}{0.4pt} \\[-1.ex]
|
|
125
128
|
&\bf{return} \: \theta_t \\[-1.ex]
|
|
129
|
+
&\rule{180mm}{0.4pt} \\[-1.ex]
|
|
126
130
|
\end{aligned}
|
|
127
131
|
|
|
128
132
|
.. warning::
|
|
@@ -124,7 +124,7 @@ class ASGD(Optimizer):
|
|
|
124
124
|
self.assignadd = P.AssignAdd()
|
|
125
125
|
self.op_cast = P.Cast()
|
|
126
126
|
|
|
127
|
-
@jit
|
|
127
|
+
@jit(backend="ms_backend")
|
|
128
128
|
def implementation(self, lambd, alpha, t0, lr, group_id, maximize, gradients, weight_decay):
|
|
129
129
|
"""Extract the common computing part for acceleration"""
|
|
130
130
|
start_id = self.group_start_id[group_id]
|
|
@@ -24,7 +24,6 @@ from mindspore.ops import functional as F
|
|
|
24
24
|
from mindspore.ops import operations as P
|
|
25
25
|
from mindspore import _checkparam as Validator
|
|
26
26
|
|
|
27
|
-
|
|
28
27
|
__all__ = ['StepLR', 'LinearLR', 'LRScheduler', 'ExponentialLR', 'PolynomialLR',
|
|
29
28
|
'MultiplicativeLR', 'ConstantLR', 'MultiStepLR', 'LambdaLR', 'SequentialLR', 'ReduceLROnPlateau',
|
|
30
29
|
'CyclicLR', 'CosineAnnealingWarmRestarts', 'CosineAnnealingLR']
|
|
@@ -42,10 +41,11 @@ class LRScheduler:
|
|
|
42
41
|
|
|
43
42
|
Args:
|
|
44
43
|
optimizer (:class:`mindspore.experimental.optim.Optimizer`): The optimizer instance.
|
|
45
|
-
last_epoch (int, optional): The
|
|
44
|
+
last_epoch (int, optional): The number of times the `step()` method of
|
|
45
|
+
the current learning rate adjustment strategy has been executed. Default: ``-1``.
|
|
46
46
|
|
|
47
47
|
Raises:
|
|
48
|
-
TypeError: If `optimizer`
|
|
48
|
+
TypeError: If `optimizer` does not satisfy the type requirement.
|
|
49
49
|
KeyError: If `last_epoch` != -1 and ``'initial_lr'`` not in param groups.
|
|
50
50
|
ValueError: if `last_epoch` is not int.
|
|
51
51
|
ValueError: If `last_epoch` is not greater than -1.
|
|
@@ -82,6 +82,7 @@ class LRScheduler:
|
|
|
82
82
|
[Tensor(shape=[], dtype=Float32, value= 0.01)]
|
|
83
83
|
[Tensor(shape=[], dtype=Float32, value= 0.01)]
|
|
84
84
|
"""
|
|
85
|
+
|
|
85
86
|
def __init__(self, optimizer, last_epoch=-1):
|
|
86
87
|
if not isinstance(optimizer, Optimizer):
|
|
87
88
|
raise TypeError('{} is not an Optimizer'.format(
|
|
@@ -192,6 +193,7 @@ class StepLR(LRScheduler):
|
|
|
192
193
|
... scheduler.step()
|
|
193
194
|
... current_lr = scheduler.get_last_lr()
|
|
194
195
|
"""
|
|
196
|
+
|
|
195
197
|
def __init__(self, optimizer, step_size, gamma=0.1, last_epoch=-1):
|
|
196
198
|
if not isinstance(step_size, int) and not isinstance(step_size, bool):
|
|
197
199
|
raise TypeError(f"For 'StepLR', the 'step_size' must be int, but got {type(step_size)}.")
|
|
@@ -297,8 +299,8 @@ class LinearLR(LRScheduler):
|
|
|
297
299
|
if self.last_epoch > self.total_iters:
|
|
298
300
|
return [lr * 1. for lr in self._last_lr]
|
|
299
301
|
|
|
300
|
-
factor = 1. + (self.end_factor - self.start_factor) /
|
|
301
|
-
|
|
302
|
+
factor = 1. + (self.end_factor - self.start_factor) / \
|
|
303
|
+
(self.total_iters * self.start_factor + (self.last_epoch - 1) * (self.end_factor - self.start_factor))
|
|
302
304
|
return [lr * factor for lr in self._last_lr]
|
|
303
305
|
|
|
304
306
|
def _get_closed_form_lr(self):
|
|
@@ -419,6 +421,7 @@ class PolynomialLR(LRScheduler):
|
|
|
419
421
|
[Tensor(shape=[], dtype=Float32, value= 0)]
|
|
420
422
|
[Tensor(shape=[], dtype=Float32, value= 0)]
|
|
421
423
|
"""
|
|
424
|
+
|
|
422
425
|
def __init__(self, optimizer, total_iters=5, power=1.0, last_epoch=-1):
|
|
423
426
|
if not isinstance(power, float):
|
|
424
427
|
raise TypeError(f"For 'PolynomialLR', the 'power' must be float, but got {type(power)}.")
|
|
@@ -435,8 +438,8 @@ class PolynomialLR(LRScheduler):
|
|
|
435
438
|
def get_lr(self):
|
|
436
439
|
if self.last_epoch == 0 or self.last_epoch > self.total_iters:
|
|
437
440
|
return [lr * 1. for lr in self._last_lr]
|
|
438
|
-
factor = ((1.0 - self.last_epoch / self.total_iters) /
|
|
439
|
-
|
|
441
|
+
factor = ((1.0 - self.last_epoch / self.total_iters) /
|
|
442
|
+
(1.0 - (self.last_epoch - 1) / self.total_iters)) ** self.power
|
|
440
443
|
return [lr * factor for lr in self._last_lr]
|
|
441
444
|
|
|
442
445
|
def _get_closed_form_lr(self):
|
|
@@ -483,14 +486,16 @@ class LambdaLR(LRScheduler):
|
|
|
483
486
|
[Tensor(shape=[], dtype=Float32, value= 0.0081)]
|
|
484
487
|
[Tensor(shape=[], dtype=Float32, value= 0.00729)]
|
|
485
488
|
"""
|
|
489
|
+
|
|
486
490
|
def __init__(self, optimizer, lr_lambda, last_epoch=-1):
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
if len(lr_lambda) != len(optimizer.param_groups):
|
|
491
|
+
param_groups_length = len(optimizer.param_groups)
|
|
492
|
+
if isinstance(lr_lambda, (list, tuple)):
|
|
493
|
+
if len(lr_lambda) != param_groups_length:
|
|
491
494
|
raise ValueError("Expected {} lr_lambdas, but got {}".format(
|
|
492
|
-
|
|
495
|
+
param_groups_length, len(lr_lambda)))
|
|
493
496
|
self.lr_lambdas = list(lr_lambda)
|
|
497
|
+
else:
|
|
498
|
+
self.lr_lambdas = [lr_lambda] * param_groups_length
|
|
494
499
|
super(LambdaLR, self).__init__(optimizer, last_epoch)
|
|
495
500
|
|
|
496
501
|
def get_lr(self):
|
|
@@ -533,14 +538,16 @@ class MultiplicativeLR(LRScheduler):
|
|
|
533
538
|
[Tensor(shape=[], dtype=Float32, value= 0.009025)]
|
|
534
539
|
[Tensor(shape=[], dtype=Float32, value= 0.00857375)]
|
|
535
540
|
"""
|
|
541
|
+
|
|
536
542
|
def __init__(self, optimizer, lr_lambda, last_epoch=-1):
|
|
537
|
-
if
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
543
|
+
if isinstance(lr_lambda, (list, tuple)):
|
|
544
|
+
if len(lr_lambda) == len(optimizer.param_groups):
|
|
545
|
+
self.lr_lambdas = list(lr_lambda)
|
|
546
|
+
else:
|
|
541
547
|
raise ValueError("Expected {} lr_lambdas, but got {}".format(
|
|
542
548
|
len(optimizer.param_groups), len(lr_lambda)))
|
|
543
|
-
|
|
549
|
+
else:
|
|
550
|
+
self.lr_lambdas = [lr_lambda] * len(optimizer.param_groups)
|
|
544
551
|
super(MultiplicativeLR, self).__init__(optimizer, last_epoch)
|
|
545
552
|
|
|
546
553
|
def get_lr(self):
|
|
@@ -599,6 +606,7 @@ class MultiStepLR(LRScheduler):
|
|
|
599
606
|
[Tensor(shape=[], dtype=Float32, value= 0.0005)]
|
|
600
607
|
[Tensor(shape=[], dtype=Float32, value= 0.0005)]
|
|
601
608
|
"""
|
|
609
|
+
|
|
602
610
|
def __init__(self, optimizer, milestones, gamma=0.1, last_epoch=-1):
|
|
603
611
|
Validator.check_value_type('milestones', milestones, [list])
|
|
604
612
|
for milestone in milestones:
|
|
@@ -668,6 +676,7 @@ class ConstantLR(LRScheduler):
|
|
|
668
676
|
[Tensor(shape=[], dtype=Float32, value= 0.05)]
|
|
669
677
|
[Tensor(shape=[], dtype=Float32, value= 0.05)]
|
|
670
678
|
"""
|
|
679
|
+
|
|
671
680
|
def __init__(self, optimizer, factor=1.0 / 3, total_iters=5, last_epoch=-1):
|
|
672
681
|
if factor > 1.0 or factor < 0:
|
|
673
682
|
raise ValueError('Constant multiplicative factor expected to be between 0 and 1.')
|
|
@@ -692,9 +701,8 @@ class ConstantLR(LRScheduler):
|
|
|
692
701
|
@jit_class
|
|
693
702
|
class SequentialLR:
|
|
694
703
|
r"""
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
which scheduler is supposed to be called at a given epoch.
|
|
704
|
+
Concatenate multiple learning rate adjustment strategies in `schedulers` in sequence,
|
|
705
|
+
switching to the next learning rate adjustment strategy at `milestone`.
|
|
698
706
|
|
|
699
707
|
.. warning::
|
|
700
708
|
This is an experimental lr scheduler module that is subject to change.
|
|
@@ -705,8 +713,10 @@ class SequentialLR:
|
|
|
705
713
|
optimizer (:class:`mindspore.experimental.optim.Optimizer`): Wrapped optimizer.
|
|
706
714
|
schedulers (list[:class:`mindspore.experimental.optim.lr_scheduler.LRScheduler`]):
|
|
707
715
|
List of learning rate schedulers.
|
|
708
|
-
milestones (list): List of integers
|
|
709
|
-
|
|
716
|
+
milestones (list): List of integers of milestone points,
|
|
717
|
+
sets which learning rate adjustment strategy is invoked for each epoch.
|
|
718
|
+
last_epoch (int, optional): The number of times the `step()` method
|
|
719
|
+
of the current learning rate adjustment strategy has been executed. Default: ``-1``.
|
|
710
720
|
|
|
711
721
|
Raises:
|
|
712
722
|
ValueError: The optimizer in `schedulers` is different from the `optimizer` passed in.
|
|
@@ -735,6 +745,7 @@ class SequentialLR:
|
|
|
735
745
|
[Tensor(shape=[], dtype=Float32, value= 0.0729)]
|
|
736
746
|
[Tensor(shape=[], dtype=Float32, value= 0.06561)]
|
|
737
747
|
"""
|
|
748
|
+
|
|
738
749
|
def __init__(self, optimizer, schedulers, milestones, last_epoch=-1):
|
|
739
750
|
for sched_idx in range(len(schedulers)):
|
|
740
751
|
if schedulers[sched_idx].optimizer != optimizer:
|
|
@@ -796,9 +807,8 @@ class ReduceLROnPlateau:
|
|
|
796
807
|
"""
|
|
797
808
|
Reduce learning rate when a metric has stopped improving.
|
|
798
809
|
Models often benefit from reducing the learning rate by a factor
|
|
799
|
-
of 2-10 once learning stagnates.
|
|
800
|
-
|
|
801
|
-
of epochs, the learning rate is reduced.
|
|
810
|
+
of 2-10 once learning stagnates. The scheduler reads the metrics `metrics` during execution
|
|
811
|
+
and adjusts the learning rate via the `step` method if the metrics do not improve within `patience` cycles.
|
|
802
812
|
|
|
803
813
|
.. warning::
|
|
804
814
|
This is an experimental lr scheduler module that is subject to change.
|
|
@@ -807,7 +817,8 @@ class ReduceLROnPlateau:
|
|
|
807
817
|
|
|
808
818
|
Args:
|
|
809
819
|
optimizer (:class:`mindspore.experimental.optim.Optimizer`): Wrapped optimizer.
|
|
810
|
-
mode (str, optional):
|
|
820
|
+
mode (str, optional): Trigger mode that triggers a reduction in learning rate
|
|
821
|
+
when the monitoring metrics are at their `min` / `max` point. In `min` mode, lr will
|
|
811
822
|
be reduced when the quantity monitored has stopped
|
|
812
823
|
decreasing; in `max` mode it will be reduced when the
|
|
813
824
|
quantity monitored has stopped increasing. Default: ``'min'``.
|
|
@@ -821,12 +832,25 @@ class ReduceLROnPlateau:
|
|
|
821
832
|
Default: ``10``.
|
|
822
833
|
threshold (float, optional): Threshold for measuring the new optimum,
|
|
823
834
|
to only focus on significant changes. Default: ``1e-4``.
|
|
824
|
-
threshold_mode (str, optional):
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
835
|
+
threshold_mode (str, optional): A mode for measuring indicators of change for the better.
|
|
836
|
+
One of `rel`, `abs`. Default: ``'rel'``.
|
|
837
|
+
|
|
838
|
+
Assume that `best` represents the best value of the current performance metric.
|
|
839
|
+
|
|
840
|
+
- In ``'rel'`` mode, the indicator is compared to a `threshold` in proportional form:
|
|
841
|
+
|
|
842
|
+
- When `mode` is ``'max'``, the indicator is considered better if it exceeds best * ( 1 + threshold ).
|
|
843
|
+
|
|
844
|
+
- When `mode` is ``'min'``, the indicator is considered better
|
|
845
|
+
if it is lower than best * ( 1 - threshold ).
|
|
846
|
+
|
|
847
|
+
- In ``'abs'`` mode, the indicator is compared to `threshold` in absolute value form:
|
|
848
|
+
|
|
849
|
+
- When `mode` is ``'max'``, the indicator is considered better if it exceeds best + threshold.
|
|
850
|
+
|
|
851
|
+
- When `mode` is ``'min'``, the indicator is considered better
|
|
852
|
+
if it is lower than best - threshold.
|
|
853
|
+
|
|
830
854
|
cooldown (int, optional): Number of epochs to wait before resuming
|
|
831
855
|
normal operation after lr has been reduced. Default: ``0``.
|
|
832
856
|
min_lr (Union(float, list), optional): A scalar or a list of scalars. A
|
|
@@ -863,6 +887,7 @@ class ReduceLROnPlateau:
|
|
|
863
887
|
[Tensor(shape=[], dtype=Float32, value= 0.001)]
|
|
864
888
|
[Tensor(shape=[], dtype=Float32, value= 0.0001)]
|
|
865
889
|
"""
|
|
890
|
+
|
|
866
891
|
def __init__(self, optimizer, mode='min', factor=0.1, patience=10,
|
|
867
892
|
threshold=1e-4, threshold_mode='rel', cooldown=0,
|
|
868
893
|
min_lr=0, eps=1e-8):
|
|
@@ -1053,6 +1078,7 @@ class CyclicLR(LRScheduler):
|
|
|
1053
1078
|
[Tensor(shape=[], dtype=Float32, value= 0.01018)]
|
|
1054
1079
|
[Tensor(shape=[], dtype=Float32, value= 0.010225)]
|
|
1055
1080
|
"""
|
|
1081
|
+
|
|
1056
1082
|
def __init__(self,
|
|
1057
1083
|
optimizer,
|
|
1058
1084
|
base_lr,
|
|
@@ -1127,12 +1153,12 @@ class CyclicLR(LRScheduler):
|
|
|
1127
1153
|
def _triangular_scale_fn(self, x):
|
|
1128
1154
|
return 1.
|
|
1129
1155
|
|
|
1130
|
-
def _triangular2_scale_fn(self, x):
|
|
1131
|
-
return 1 / (2. ** (x - 1))
|
|
1132
|
-
|
|
1133
1156
|
def _exp_range_scale_fn(self, x):
|
|
1134
1157
|
return self.gamma ** (x)
|
|
1135
1158
|
|
|
1159
|
+
def _triangular2_scale_fn(self, x):
|
|
1160
|
+
return 1 / (2. ** (x - 1))
|
|
1161
|
+
|
|
1136
1162
|
def get_lr(self):
|
|
1137
1163
|
cycle = self.floor(1 + self.last_epoch / self.total_step_size)
|
|
1138
1164
|
x = 1. + self.last_epoch / self.total_step_size - cycle
|
|
@@ -1143,13 +1169,9 @@ class CyclicLR(LRScheduler):
|
|
|
1143
1169
|
lrs = []
|
|
1144
1170
|
for base_lr, max_lr in zip(self.base_lrs, self.max_lrs):
|
|
1145
1171
|
base_height = (max_lr - base_lr) * scale_factor
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
lr = base_lr + base_height * self.scale_fn(cycle)
|
|
1149
|
-
else:
|
|
1150
|
-
lr = base_lr + base_height * self.scale_fn(self.last_epoch)
|
|
1172
|
+
cycle_or_epoch = cycle if self.scale_mode == 'cycle' else self.last_epoch
|
|
1173
|
+
lr = base_lr + base_height * self.scale_fn(cycle_or_epoch)
|
|
1151
1174
|
lrs.append(lr)
|
|
1152
|
-
|
|
1153
1175
|
return lrs
|
|
1154
1176
|
|
|
1155
1177
|
|
|
@@ -1157,15 +1179,17 @@ class CyclicLR(LRScheduler):
|
|
|
1157
1179
|
class CosineAnnealingWarmRestarts(LRScheduler):
|
|
1158
1180
|
r"""
|
|
1159
1181
|
Set the learning rate of each parameter group using a cosine annealing warm restarts
|
|
1160
|
-
schedule.
|
|
1161
|
-
for learning rate, :math:`\eta_{t}` is the current learning rate, :math:`T_{0}` is the number of iterations for the
|
|
1162
|
-
first restar, :math:`T_{i}` is the current number of iterations between two warm restarts in SGDR,
|
|
1163
|
-
:math:`T_{cur}` is the number of epochs since the last restart in SGDR.
|
|
1182
|
+
schedule.
|
|
1164
1183
|
|
|
1165
1184
|
.. math::
|
|
1166
1185
|
\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 +
|
|
1167
1186
|
\cos\left(\frac{T_{cur}}{T_{i}}\pi\right)\right)
|
|
1168
1187
|
|
|
1188
|
+
Where :math:`\eta_{max}` is set to the initial lr, :math:`\eta_{min}` is the minimum value
|
|
1189
|
+
for learning rate, :math:`\eta_{t}` is the current learning rate, :math:`T_{0}` is the number of iterations for the
|
|
1190
|
+
first restar, :math:`T_{i}` is the current number of iterations between two warm restarts in SGDR,
|
|
1191
|
+
:math:`T_{cur}` is the number of epochs since the last restart in SGDR.
|
|
1192
|
+
|
|
1169
1193
|
When :math:`T_{cur}=T_{i}`, set :math:`\eta_t = \eta_{min}`.
|
|
1170
1194
|
When :math:`T_{cur}=0` after restart, set :math:`\eta_t=\eta_{max}`.
|
|
1171
1195
|
|
|
@@ -1182,7 +1206,8 @@ class CosineAnnealingWarmRestarts(LRScheduler):
|
|
|
1182
1206
|
T_0 (int): Number of iterations for the first restart.
|
|
1183
1207
|
T_mult (int, optional): A factor increases :math:`T_{i}` after a restart. Default: ``1``.
|
|
1184
1208
|
eta_min (Union(float, int), optional): Minimum learning rate. Default: ``0``.
|
|
1185
|
-
last_epoch (int, optional): The
|
|
1209
|
+
last_epoch (int, optional): The number of times the `step()` method of
|
|
1210
|
+
the current learning rate adjustment strategy has been executed. Default: ``-1``.
|
|
1186
1211
|
|
|
1187
1212
|
Raises:
|
|
1188
1213
|
ValueError: `T_0` is less than or equal than 0 or not an int.
|
|
@@ -1211,6 +1236,7 @@ class CosineAnnealingWarmRestarts(LRScheduler):
|
|
|
1211
1236
|
[Tensor(shape=[], dtype=Float32, value= 0.025)]
|
|
1212
1237
|
[Tensor(shape=[], dtype=Float32, value= 0.00669873)]
|
|
1213
1238
|
"""
|
|
1239
|
+
|
|
1214
1240
|
def __init__(self, optimizer, T_0, T_mult=1, eta_min=0, last_epoch=-1):
|
|
1215
1241
|
if T_0 <= 0 or not isinstance(T_0, int):
|
|
1216
1242
|
raise ValueError("T_0 should be an integer and equal or greater than 0, but got {}".format(T_0))
|
|
@@ -1336,6 +1362,7 @@ class CosineAnnealingLR(LRScheduler):
|
|
|
1336
1362
|
[Tensor(shape=[], dtype=Float32, value= 0.05)]
|
|
1337
1363
|
[Tensor(shape=[], dtype=Float32, value= 0)]
|
|
1338
1364
|
"""
|
|
1365
|
+
|
|
1339
1366
|
def __init__(self, optimizer, T_max, eta_min=0.0, last_epoch=-1):
|
|
1340
1367
|
if not isinstance(eta_min, (float, int)):
|
|
1341
1368
|
raise TypeError(f"For 'CosineAnnealingLR', the 'eta_min' must be float or int, but got {type(eta_min)}.")
|
|
@@ -55,36 +55,39 @@ class RAdam(Optimizer):
|
|
|
55
55
|
Implements RAdam algorithm.
|
|
56
56
|
|
|
57
57
|
.. math::
|
|
58
|
-
\begin{
|
|
59
|
-
&\rule{
|
|
60
|
-
&\textbf{
|
|
61
|
-
\text{ (
|
|
62
|
-
\
|
|
63
|
-
|
|
64
|
-
&\textbf{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
&\
|
|
71
|
-
&\
|
|
72
|
-
&\
|
|
73
|
-
&\
|
|
74
|
-
&\
|
|
75
|
-
&\
|
|
76
|
-
|
|
77
|
-
&\
|
|
78
|
-
&\
|
|
79
|
-
&\
|
|
80
|
-
|
|
81
|
-
&\
|
|
82
|
-
&\
|
|
83
|
-
|
|
84
|
-
&\
|
|
85
|
-
&\
|
|
86
|
-
&\
|
|
87
|
-
|
|
58
|
+
\begin{align*}
|
|
59
|
+
&\rule{180mm}{0.4pt} \\
|
|
60
|
+
&\textbf{Input}:
|
|
61
|
+
\gamma \text{ (lr)}, \: \beta_1, \beta_2 \text{ (betas)}, \: \theta_0 \text{ (params)}, \:f(\theta)
|
|
62
|
+
\text{ (objective)}, \:
|
|
63
|
+
\lambda \text{ (weightdecay)}, \: \epsilon \text{ (epsilon)} \\
|
|
64
|
+
&\textbf{Initialize}:
|
|
65
|
+
\begin{cases}
|
|
66
|
+
m_0 \leftarrow 0 \text{ (first moment)} \\
|
|
67
|
+
v_0 \leftarrow 0 \text{ (second moment)} \\
|
|
68
|
+
\rho_{\infty} \xleftarrow{\text{def}} \dfrac{2}{1 - \beta_2} - 1
|
|
69
|
+
\end{cases} \\
|
|
70
|
+
&\rule{180mm}{0.4pt} \\
|
|
71
|
+
&\textbf{For } t = 1 \text{ to } \ldots \text{ do}: \\
|
|
72
|
+
&\quad g_t \leftarrow \nabla_{\theta} f_t(\theta_{t - 1}) \\
|
|
73
|
+
&\quad \text{If } \lambda \neq 0: \\
|
|
74
|
+
&\quad\quad g_t \leftarrow g_t + \lambda \theta_{t - 1} \\
|
|
75
|
+
&\quad m_t \leftarrow \beta_1 m_{t - 1} + (1 - \beta_1) g_t \\
|
|
76
|
+
&\quad v_t \leftarrow \beta_2 v_{t - 1} + (1 - \beta_2) g_t^2 \\
|
|
77
|
+
&\quad \widehat{m_t} \leftarrow \dfrac{m_t}{1 - \beta_1^t} \\
|
|
78
|
+
&\quad \text{Let } \rho_t' = 2 t \beta_2^t /(1 - \beta_2^t) \quad \text{(auxiliary variable)} \\
|
|
79
|
+
&\quad \rho_t \leftarrow \rho_{\infty} - \rho_t' \\
|
|
80
|
+
&\quad \text{If } \rho_t > 5: \\
|
|
81
|
+
&\quad\quad l_t \leftarrow \dfrac{\sqrt{1 - \beta_2^t}}{\sqrt{v_t} + \epsilon} \\
|
|
82
|
+
&\quad\quad r_t \leftarrow \sqrt{\dfrac{(\rho_t - 4)(\rho_t - 2)\rho_{\infty}}{(\rho_{\infty} - 4)
|
|
83
|
+
(\rho_{\infty} - 2) \rho_t}} \\
|
|
84
|
+
&\quad\quad \theta_t \leftarrow \theta_{t - 1} - \gamma \widehat{m_t} r_t l_t \\
|
|
85
|
+
&\quad \text{Else}: \\
|
|
86
|
+
&\quad\quad \theta_t \leftarrow \theta_{t - 1} - \gamma \widehat{m_t} \\
|
|
87
|
+
&\rule{180mm}{0.4pt} \\
|
|
88
|
+
&\bf{Return}: \theta_t \\
|
|
89
|
+
&\rule{180mm}{0.4pt}
|
|
90
|
+
\end{align*}
|
|
88
91
|
|
|
89
92
|
.. warning::
|
|
90
93
|
This is an experimental optimizer API that is subject to change.
|
|
@@ -154,7 +157,7 @@ class RAdam(Optimizer):
|
|
|
154
157
|
self.increase_tensor = Tensor(1, mstype.int32)
|
|
155
158
|
self.assignadd = P.AssignAdd()
|
|
156
159
|
|
|
157
|
-
@jit
|
|
160
|
+
@jit(backend="ms_backend")
|
|
158
161
|
def implementation(self, lr, beta1, beta2, weight_decay, eps, start_id, end_id, gradients):
|
|
159
162
|
"""Extract the common computing part for acceleration"""
|
|
160
163
|
params = self.parameters[start_id: end_id]
|
|
@@ -133,7 +133,7 @@ class Rprop(Optimizer):
|
|
|
133
133
|
self.increase_tensor = Tensor(1, mstype.int32)
|
|
134
134
|
self.op_cast = P.Cast()
|
|
135
135
|
|
|
136
|
-
@jit
|
|
136
|
+
@jit(backend="ms_backend")
|
|
137
137
|
def implementation(self, etaminus, etaplus, group_id, lr, gradients, maximize, step_size_min, step_size_max):
|
|
138
138
|
"""Extract the common computing part for acceleration"""
|
|
139
139
|
etaminus, etaplus = op_cast(etaminus, mstype.float32), op_cast(etaplus, mstype.float32)
|
|
@@ -51,7 +51,7 @@ class SGD(Optimizer):
|
|
|
51
51
|
|
|
52
52
|
To be noticed, for the first step, :math:`v_{t+1} = gradient`.
|
|
53
53
|
|
|
54
|
-
Here
|
|
54
|
+
Here: where :math:`p`, :math:`v` and :math:`u` denote the parameters, accum, and momentum respectively.
|
|
55
55
|
|
|
56
56
|
.. warning::
|
|
57
57
|
This is an experimental optimizer API that is subject to change.
|
|
@@ -19,7 +19,7 @@ from mindspore.common.tensor import Tensor
|
|
|
19
19
|
from mindspore.common.api import _convert_python_data
|
|
20
20
|
from mindspore.common.dtype import type_size_in_bytes
|
|
21
21
|
from mindspore._c_expression import slice_by_tensor_index, slice_by_padding_shape, \
|
|
22
|
-
combine_tensor_list_contiguous as combine_tensor_list,
|
|
22
|
+
combine_tensor_list_contiguous as combine_tensor_list, TensorPy as Tensor_
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
def combine_tensor_list_contiguous(tensor_list, enable_mem_align=True):
|
|
@@ -29,7 +29,7 @@ def combine_tensor_list_contiguous(tensor_list, enable_mem_align=True):
|
|
|
29
29
|
Args:
|
|
30
30
|
tensor_list (list[Tensor], Tuple[Tensor]): The tensor list to be stored.
|
|
31
31
|
enable_mem_align (bool, optional): Whether to enable the memory alignment function.
|
|
32
|
-
False is not supported. Default
|
|
32
|
+
False is not supported. Default ``True`` .
|
|
33
33
|
|
|
34
34
|
Returns:
|
|
35
35
|
ContiguousTensorsHandle, a manager with contiguous memory.
|
|
@@ -59,7 +59,7 @@ class ContiguousTensorsHandle:
|
|
|
59
59
|
Args:
|
|
60
60
|
tensor_list (list[Tensor], Tuple[Tensor]): The tensor list to be stored.
|
|
61
61
|
enable_mem_align (bool, optional): Whether to enable the memory alignment function.
|
|
62
|
-
False is not supported. Default
|
|
62
|
+
False is not supported. Default ``True`` .
|
|
63
63
|
|
|
64
64
|
Returns:
|
|
65
65
|
ContiguousTensorsHandle, a manager with contiguous memory.
|
|
@@ -137,15 +137,11 @@ class ContiguousTensorsHandle:
|
|
|
137
137
|
Return the tensor which is sliced by tensor index.
|
|
138
138
|
|
|
139
139
|
Args:
|
|
140
|
-
start(int, None): Starting position. Default
|
|
141
|
-
end(int, None): Deadline position. Default
|
|
140
|
+
start(int, None): Starting position. Default ``None``.
|
|
141
|
+
end(int, None): Deadline position. Default ``None``.
|
|
142
142
|
|
|
143
143
|
Returns:
|
|
144
|
-
Tensor
|
|
145
|
-
|
|
146
|
-
Raises:
|
|
147
|
-
TypeError: If `start` or `end`, is neither an 'int' nor a 'none'.
|
|
148
|
-
ValueError: If values of `start` or `end` are negative, or out of the list range, or start >= end.
|
|
144
|
+
Tensor
|
|
149
145
|
|
|
150
146
|
Examples:
|
|
151
147
|
>>> import numpy as np
|