mindspore 2.4.10__cp310-cp310-win_amd64.whl → 2.6.0rc1__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +13 -6
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -38
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +83 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +46 -197
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +217 -98
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +138 -43
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +6 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -2
- mindspore/common/_stub_tensor.py +30 -14
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +4760 -0
- mindspore/common/api.py +435 -371
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +2 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +951 -1992
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +314 -566
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +182 -116
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +157 -117
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +796 -759
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +921 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1370 -189
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +22 -17
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +17 -13
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +365 -363
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
- mindspore/ops/_vmap/vmap_array_ops.py +27 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +236 -46
- mindspore/ops/auto_generate/gen_extend_func.py +764 -124
- mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
- mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4501 -3802
- mindspore/ops/function/nn_func.py +1726 -620
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +440 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +24 -17
- mindspore/ops/functional.py +22 -7
- mindspore/ops/functional_overload.py +1440 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +13 -7
- mindspore/ops/operations/_custom_ops_utils.py +247 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +232 -78
- mindspore/ops/operations/debug_ops.py +153 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +210 -498
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +66 -53
- mindspore/ops/tensor_method.py +1888 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +299 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +7 -3
- mindspore/parallel/_auto_parallel_context.py +152 -34
- mindspore/parallel/_cell_wrapper.py +130 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +698 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +259 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +25 -14
- mindspore/parallel/shard.py +137 -58
- mindspore/parallel/transform_safetensors.py +363 -305
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +106 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +409 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +88 -25
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -107
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +184 -113
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +550 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +587 -418
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
mindspore/mindrecord/config.py
CHANGED
|
@@ -20,10 +20,9 @@ Common imported modules in corresponding API examples are as follows:
|
|
|
20
20
|
|
|
21
21
|
.. code-block::
|
|
22
22
|
|
|
23
|
-
from mindspore.mindrecord import set_enc_key, set_enc_mode, set_dec_mode
|
|
23
|
+
from mindspore.mindrecord import set_enc_key, set_enc_mode, set_dec_mode
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
import hashlib
|
|
27
26
|
import os
|
|
28
27
|
import shutil
|
|
29
28
|
import stat
|
|
@@ -36,47 +35,33 @@ from .shardutils import MIN_FILE_SIZE
|
|
|
36
35
|
|
|
37
36
|
__all__ = ['set_enc_key',
|
|
38
37
|
'set_enc_mode',
|
|
39
|
-
'set_dec_mode'
|
|
40
|
-
'set_hash_mode']
|
|
38
|
+
'set_dec_mode']
|
|
41
39
|
|
|
42
40
|
|
|
43
|
-
# default encode key
|
|
41
|
+
# default encode key
|
|
44
42
|
ENC_KEY = None
|
|
45
43
|
ENC_MODE = "AES-GCM"
|
|
46
44
|
DEC_MODE = None
|
|
47
45
|
HASH_MODE = None
|
|
48
46
|
|
|
49
47
|
|
|
50
|
-
# the final mindrecord after
|
|
51
|
-
# 1. for create new mindrecord
|
|
52
|
-
# mindrecord ->
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
# 2. for read mindrecord, should decode first, then do hash check
|
|
56
|
-
# enc_mindrecord+'ENCRYPT' ->
|
|
57
|
-
# mindrecord+hash_value+len(4bytes)+'HASH'
|
|
48
|
+
# the final mindrecord after encode should be like below
|
|
49
|
+
# 1. for create new mindrecord
|
|
50
|
+
# mindrecord -> enc_mindrecord+'ENCRYPT'
|
|
51
|
+
# 2. for read mindrecord
|
|
52
|
+
# enc_mindrecord+'ENCRYPT' -> mindrecord
|
|
58
53
|
|
|
59
54
|
|
|
60
55
|
# mindrecord file encode end flag, we will append 'ENCRYPT' to the end of file
|
|
61
56
|
ENCRYPT_END_FLAG = str('ENCRYPT').encode('utf-8')
|
|
62
57
|
|
|
63
58
|
|
|
64
|
-
# mindrecord file hash check flag, we will append hash value+'HASH' to the end of file
|
|
65
|
-
HASH_END_FLAG = str('HASH').encode('utf-8')
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
# length of hash value (4bytes) + 'HASH'
|
|
69
|
-
LEN_HASH_WITH_END_FLAG = 4 + len(HASH_END_FLAG)
|
|
70
|
-
|
|
71
|
-
|
|
72
59
|
# directory which stored decrypt mindrecord files
|
|
73
60
|
DECRYPT_DIRECTORY = ".decrypt_mindrecord"
|
|
74
61
|
DECRYPT_DIRECTORY_LIST = []
|
|
75
62
|
|
|
76
63
|
|
|
77
|
-
# time for warning when encrypt/decrypt
|
|
78
|
-
CALCULATE_HASH_TIME = 0
|
|
79
|
-
VERIFY_HASH_TIME = 0
|
|
64
|
+
# time for warning when encrypt/decrypt takes too long time
|
|
80
65
|
ENCRYPT_TIME = 0
|
|
81
66
|
DECRYPT_TIME = 0
|
|
82
67
|
WARNING_INTERVAL = 30 # 30s
|
|
@@ -86,9 +71,6 @@ def set_enc_key(enc_key):
|
|
|
86
71
|
"""
|
|
87
72
|
Set the encode key.
|
|
88
73
|
|
|
89
|
-
Note:
|
|
90
|
-
When the encryption algorithm is ``"SM4-CBC"`` , only 16 bit length key are supported.
|
|
91
|
-
|
|
92
74
|
Args:
|
|
93
75
|
enc_key (str): Str-type key used for encryption. The valid length is 16, 24, or 32.
|
|
94
76
|
``None`` indicates that encryption is not enabled.
|
|
@@ -129,9 +111,9 @@ def set_enc_mode(enc_mode="AES-GCM"):
|
|
|
129
111
|
|
|
130
112
|
Args:
|
|
131
113
|
enc_mode (Union[str, function], optional): This parameter is valid only when enc_key is not set to ``None`` .
|
|
132
|
-
Specifies the encryption mode or customized encryption function, currently supports ``"AES-GCM"
|
|
133
|
-
|
|
134
|
-
to ensure its correctness and raise exceptions when errors occur.
|
|
114
|
+
Specifies the encryption mode or customized encryption function, currently supports ``"AES-GCM"`` .
|
|
115
|
+
Default: ``"AES-GCM"`` . If it is customized encryption, users need
|
|
116
|
+
to ensure its correctness, the security of the encryption algorithm and raise exceptions when errors occur.
|
|
135
117
|
|
|
136
118
|
Raises:
|
|
137
119
|
ValueError: The input is not valid encode mode or callable function.
|
|
@@ -150,7 +132,7 @@ def set_enc_mode(enc_mode="AES-GCM"):
|
|
|
150
132
|
if not isinstance(enc_mode, str):
|
|
151
133
|
raise ValueError("The input enc_mode is not str.")
|
|
152
134
|
|
|
153
|
-
if enc_mode not in ["AES-GCM"
|
|
135
|
+
if enc_mode not in ["AES-GCM"]:
|
|
154
136
|
raise ValueError("The input enc_mode is invalid.")
|
|
155
137
|
|
|
156
138
|
ENC_MODE = enc_mode
|
|
@@ -173,8 +155,8 @@ def set_dec_mode(dec_mode="AES-GCM"):
|
|
|
173
155
|
|
|
174
156
|
Args:
|
|
175
157
|
dec_mode (Union[str, function], optional): This parameter is valid only when enc_key is not set to ``None`` .
|
|
176
|
-
Specifies the decryption mode or customized decryption function, currently supports ``"AES-GCM"
|
|
177
|
-
|
|
158
|
+
Specifies the decryption mode or customized decryption function, currently supports ``"AES-GCM"`` .
|
|
159
|
+
Default: ``"AES-GCM"`` . ``None`` indicates that decryption
|
|
178
160
|
mode is not defined. If it is customized decryption, users need to ensure its correctness and raise
|
|
179
161
|
exceptions when errors occur.
|
|
180
162
|
|
|
@@ -199,7 +181,7 @@ def set_dec_mode(dec_mode="AES-GCM"):
|
|
|
199
181
|
if not isinstance(dec_mode, str):
|
|
200
182
|
raise ValueError("The input dec_mode is not str.")
|
|
201
183
|
|
|
202
|
-
if dec_mode not in ["AES-GCM"
|
|
184
|
+
if dec_mode not in ["AES-GCM"]:
|
|
203
185
|
raise ValueError("The input dec_mode is invalid.")
|
|
204
186
|
|
|
205
187
|
DEC_MODE = dec_mode
|
|
@@ -244,7 +226,7 @@ def _get_dec_mode_as_str():
|
|
|
244
226
|
if DEC_MODE is None:
|
|
245
227
|
if callable(ENC_MODE):
|
|
246
228
|
raise RuntimeError("You use custom encryption, so you must also define custom decryption.")
|
|
247
|
-
valid_dec_mode = ENC_MODE # "AES-GCM"
|
|
229
|
+
valid_dec_mode = ENC_MODE # "AES-GCM"
|
|
248
230
|
elif callable(DEC_MODE):
|
|
249
231
|
valid_dec_mode = "UDF-ENC" # "UDF-ENC"
|
|
250
232
|
else:
|
|
@@ -256,287 +238,6 @@ def _get_dec_mode_as_str():
|
|
|
256
238
|
return str(valid_dec_mode).encode('utf-8')
|
|
257
239
|
|
|
258
240
|
|
|
259
|
-
def set_hash_mode(hash_mode):
|
|
260
|
-
"""
|
|
261
|
-
Set the hash mode to ensure mindrecord file integrity.
|
|
262
|
-
|
|
263
|
-
Args:
|
|
264
|
-
hash_mode (Union[str, function]): The parameter is used to specify the hash mode. Specifies the hash
|
|
265
|
-
mode or customized hash function, currently supports ``None``, ``"sha256"``,
|
|
266
|
-
``"sha384"``, ``"sha512"``, ``"sha3_256"``, ``"sha3_384"``
|
|
267
|
-
and ``"sha3_512"``. ``None`` indicates that hash check is not enabled.
|
|
268
|
-
|
|
269
|
-
Raises:
|
|
270
|
-
ValueError: The input is not valid hash mode or callable function.
|
|
271
|
-
|
|
272
|
-
Examples:
|
|
273
|
-
>>> from mindspore.mindrecord import set_hash_mode
|
|
274
|
-
>>>
|
|
275
|
-
>>> set_hash_mode("sha256")
|
|
276
|
-
"""
|
|
277
|
-
global HASH_MODE
|
|
278
|
-
|
|
279
|
-
if hash_mode is None:
|
|
280
|
-
HASH_MODE = None
|
|
281
|
-
return
|
|
282
|
-
|
|
283
|
-
if callable(hash_mode):
|
|
284
|
-
HASH_MODE = hash_mode
|
|
285
|
-
return
|
|
286
|
-
|
|
287
|
-
if not isinstance(hash_mode, str):
|
|
288
|
-
raise ValueError("The input hash_mode is not str.")
|
|
289
|
-
|
|
290
|
-
if hash_mode not in ["sha256", "sha384", "sha512", "sha3_256", "sha3_384", "sha3_512"]:
|
|
291
|
-
raise ValueError("The input hash_mode is invalid.")
|
|
292
|
-
|
|
293
|
-
HASH_MODE = hash_mode
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
def _get_hash_func():
|
|
297
|
-
"""Get the hash func by hash mode"""
|
|
298
|
-
global HASH_MODE
|
|
299
|
-
|
|
300
|
-
if HASH_MODE is None:
|
|
301
|
-
raise RuntimeError("The HASH_MODE is None, no matching hash function.")
|
|
302
|
-
|
|
303
|
-
if callable(HASH_MODE):
|
|
304
|
-
return HASH_MODE
|
|
305
|
-
|
|
306
|
-
if HASH_MODE == "sha256":
|
|
307
|
-
return hashlib.sha256()
|
|
308
|
-
if HASH_MODE == "sha384":
|
|
309
|
-
return hashlib.sha384()
|
|
310
|
-
if HASH_MODE == "sha512":
|
|
311
|
-
return hashlib.sha512()
|
|
312
|
-
if HASH_MODE == "sha3_256":
|
|
313
|
-
return hashlib.sha3_256()
|
|
314
|
-
if HASH_MODE == "sha3_384":
|
|
315
|
-
return hashlib.sha3_384()
|
|
316
|
-
if HASH_MODE == "sha3_512":
|
|
317
|
-
return hashlib.sha3_512()
|
|
318
|
-
raise RuntimeError("The HASH_MODE: {} is invalid.".format(HASH_MODE))
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
def _get_hash_mode():
|
|
322
|
-
"""Get the hash check mode."""
|
|
323
|
-
global HASH_MODE
|
|
324
|
-
|
|
325
|
-
return HASH_MODE
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
def calculate_file_hash(filename, whole=True):
|
|
329
|
-
"""Calculate the file's hash"""
|
|
330
|
-
if not os.path.exists(filename):
|
|
331
|
-
raise RuntimeError("The input: {} is not exists.".format(filename))
|
|
332
|
-
|
|
333
|
-
if not os.path.isfile(filename):
|
|
334
|
-
raise RuntimeError("The input: {} should be a regular file.".format(filename))
|
|
335
|
-
|
|
336
|
-
# get the hash func
|
|
337
|
-
m = _get_hash_func()
|
|
338
|
-
|
|
339
|
-
f = open(filename, 'rb')
|
|
340
|
-
|
|
341
|
-
# get the file size first
|
|
342
|
-
if whole:
|
|
343
|
-
file_size = os.path.getsize(filename)
|
|
344
|
-
else:
|
|
345
|
-
len_hash_offset = os.path.getsize(filename) - LEN_HASH_WITH_END_FLAG
|
|
346
|
-
try:
|
|
347
|
-
f.seek(len_hash_offset)
|
|
348
|
-
except Exception as e: # pylint: disable=W0703
|
|
349
|
-
f.close()
|
|
350
|
-
raise RuntimeError("Seek the file: {} to position: {} failed. Error: {}"
|
|
351
|
-
.format(filename, len_hash_offset, str(e)))
|
|
352
|
-
|
|
353
|
-
len_hash = int.from_bytes(f.read(4), byteorder='big') # length of hash value is 4 bytes
|
|
354
|
-
file_size = os.path.getsize(filename) - LEN_HASH_WITH_END_FLAG - len_hash
|
|
355
|
-
|
|
356
|
-
offset = 64 * 1024 * 1024 ## read the offset 64M
|
|
357
|
-
current_offset = 0 ## use this to seek file
|
|
358
|
-
|
|
359
|
-
# read the file with offset and do sha256 hash
|
|
360
|
-
hash_value = str("").encode('utf-8')
|
|
361
|
-
while True:
|
|
362
|
-
if (file_size - current_offset) >= offset:
|
|
363
|
-
read_size = offset
|
|
364
|
-
elif file_size - current_offset > 0:
|
|
365
|
-
read_size = file_size - current_offset
|
|
366
|
-
else:
|
|
367
|
-
# have read the entire file
|
|
368
|
-
break
|
|
369
|
-
|
|
370
|
-
try:
|
|
371
|
-
f.seek(current_offset)
|
|
372
|
-
except Exception as e: # pylint: disable=W0703
|
|
373
|
-
f.close()
|
|
374
|
-
raise RuntimeError("Seek the file: {} to position: {} failed. Error: {}"
|
|
375
|
-
.format(filename, current_offset, str(e)))
|
|
376
|
-
|
|
377
|
-
data = f.read(read_size)
|
|
378
|
-
if callable(m):
|
|
379
|
-
hash_value = m(data, hash_value)
|
|
380
|
-
if not isinstance(hash_value, bytes):
|
|
381
|
-
raise RuntimeError("User defined hash function should return hash value which is bytes type.")
|
|
382
|
-
if hash_value is None:
|
|
383
|
-
raise RuntimeError("User defined hash function return empty.")
|
|
384
|
-
else:
|
|
385
|
-
m.update(data)
|
|
386
|
-
|
|
387
|
-
current_offset += read_size
|
|
388
|
-
|
|
389
|
-
f.close()
|
|
390
|
-
|
|
391
|
-
if callable(m):
|
|
392
|
-
return hash_value
|
|
393
|
-
return m.digest()
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
def append_hash_to_file(filename):
|
|
397
|
-
"""append the hash value to the end of file"""
|
|
398
|
-
if not os.path.exists(filename):
|
|
399
|
-
raise RuntimeError("The input: {} is not exists.".format(filename))
|
|
400
|
-
|
|
401
|
-
if not os.path.isfile(filename):
|
|
402
|
-
raise RuntimeError("The input: {} should be a regular file.".format(filename))
|
|
403
|
-
|
|
404
|
-
logger.info("Begin to calculate the hash of the file: {}.".format(filename))
|
|
405
|
-
start = time.time()
|
|
406
|
-
|
|
407
|
-
hash_value = calculate_file_hash(filename)
|
|
408
|
-
|
|
409
|
-
# append hash value, length of hash value (4bytes) and HASH_END_FLAG to the file
|
|
410
|
-
f = open(filename, 'ab')
|
|
411
|
-
f.write(hash_value) # append the hash value
|
|
412
|
-
f.write((len(hash_value)).to_bytes(4, byteorder='big', signed=False)) # append the length of hash value
|
|
413
|
-
f.write(HASH_END_FLAG) # append the HASH_END_FLAG
|
|
414
|
-
f.close()
|
|
415
|
-
|
|
416
|
-
end = time.time()
|
|
417
|
-
global CALCULATE_HASH_TIME
|
|
418
|
-
CALCULATE_HASH_TIME += end - start
|
|
419
|
-
if CALCULATE_HASH_TIME > WARNING_INTERVAL:
|
|
420
|
-
logger.warning("It takes another " + str(WARNING_INTERVAL) +
|
|
421
|
-
"s to calculate the hash value of the mindrecord file.")
|
|
422
|
-
CALCULATE_HASH_TIME = CALCULATE_HASH_TIME - WARNING_INTERVAL
|
|
423
|
-
|
|
424
|
-
# change the file mode
|
|
425
|
-
os.chmod(filename, stat.S_IRUSR | stat.S_IWUSR)
|
|
426
|
-
|
|
427
|
-
return True
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
def get_hash_end_flag(filename):
|
|
431
|
-
"""get the hash end flag from the file"""
|
|
432
|
-
if not os.path.exists(filename):
|
|
433
|
-
raise RuntimeError("The input: {} is not exists.".format(filename))
|
|
434
|
-
|
|
435
|
-
if not os.path.isfile(filename):
|
|
436
|
-
raise RuntimeError("The input: {} should be a regular file.".format(filename))
|
|
437
|
-
|
|
438
|
-
# get the file size first
|
|
439
|
-
file_size = os.path.getsize(filename)
|
|
440
|
-
offset = file_size - len(HASH_END_FLAG)
|
|
441
|
-
f = open(filename, 'rb')
|
|
442
|
-
|
|
443
|
-
# get the hash end flag which is HASH_END_FLAG
|
|
444
|
-
try:
|
|
445
|
-
f.seek(offset)
|
|
446
|
-
except Exception as e: # pylint: disable=W0703
|
|
447
|
-
f.close()
|
|
448
|
-
raise RuntimeError("Seek the file: {} to position: {} failed. Error: {}".format(filename, offset, str(e)))
|
|
449
|
-
|
|
450
|
-
data = f.read(len(HASH_END_FLAG))
|
|
451
|
-
f.close()
|
|
452
|
-
|
|
453
|
-
return data
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
def get_hash_value(filename):
|
|
457
|
-
"""get the file's hash"""
|
|
458
|
-
if not os.path.exists(filename):
|
|
459
|
-
raise RuntimeError("The input: {} is not exists.".format(filename))
|
|
460
|
-
|
|
461
|
-
if not os.path.isfile(filename):
|
|
462
|
-
raise RuntimeError("The input: {} should be a regular file.".format(filename))
|
|
463
|
-
|
|
464
|
-
# get the file size first
|
|
465
|
-
file_size = os.path.getsize(filename)
|
|
466
|
-
|
|
467
|
-
# the hash_value+len(4bytes)+'HASH' is stored in the end of the file
|
|
468
|
-
offset = file_size - LEN_HASH_WITH_END_FLAG
|
|
469
|
-
f = open(filename, 'rb')
|
|
470
|
-
|
|
471
|
-
# seek the position for the length of hash value
|
|
472
|
-
try:
|
|
473
|
-
f.seek(offset)
|
|
474
|
-
except Exception as e: # pylint: disable=W0703
|
|
475
|
-
f.close()
|
|
476
|
-
raise RuntimeError("Seek the file: {} to position: {} failed. Error: {}".format(filename, offset, str(e)))
|
|
477
|
-
|
|
478
|
-
len_hash = int.from_bytes(f.read(4), byteorder='big') # length of hash value is 4 bytes
|
|
479
|
-
hash_value_offset = file_size - len_hash - LEN_HASH_WITH_END_FLAG
|
|
480
|
-
|
|
481
|
-
# seek the position for the hash value
|
|
482
|
-
try:
|
|
483
|
-
f.seek(hash_value_offset)
|
|
484
|
-
except Exception as e: # pylint: disable=W0703
|
|
485
|
-
f.close()
|
|
486
|
-
raise RuntimeError("Seek the file: {} to position: {} failed. Error: {}"
|
|
487
|
-
.format(filename, hash_value_offset, str(e)))
|
|
488
|
-
|
|
489
|
-
# read the hash value
|
|
490
|
-
data = f.read(len_hash)
|
|
491
|
-
f.close()
|
|
492
|
-
|
|
493
|
-
return data
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
def verify_file_hash(filename):
|
|
497
|
-
"""Calculate the file hash and compare it with the hash value which is stored in the file"""
|
|
498
|
-
if not os.path.exists(filename):
|
|
499
|
-
raise RuntimeError("The input: {} is not exists.".format(filename))
|
|
500
|
-
|
|
501
|
-
if not os.path.isfile(filename):
|
|
502
|
-
raise RuntimeError("The input: {} should be a regular file.".format(filename))
|
|
503
|
-
|
|
504
|
-
# verify the hash end flag
|
|
505
|
-
stored_hash_end_flag = get_hash_end_flag(filename)
|
|
506
|
-
if _get_hash_mode() is not None:
|
|
507
|
-
if stored_hash_end_flag != HASH_END_FLAG:
|
|
508
|
-
raise RuntimeError("The mindrecord file is not hashed. You can set " +
|
|
509
|
-
"'mindspore.mindrecord.config.set_hash_mode(None)' to disable the hash check.")
|
|
510
|
-
else:
|
|
511
|
-
if stored_hash_end_flag == HASH_END_FLAG:
|
|
512
|
-
raise RuntimeError("The mindrecord file is hashed. You need to configure " +
|
|
513
|
-
"'mindspore.mindrecord.config.set_hash_mode(...)' to enable the hash check.")
|
|
514
|
-
return True
|
|
515
|
-
|
|
516
|
-
# get the pre hash value from the end of the file
|
|
517
|
-
stored_hash_value = get_hash_value(filename)
|
|
518
|
-
|
|
519
|
-
logger.info("Begin to verify the hash of the file: {}.".format(filename))
|
|
520
|
-
start = time.time()
|
|
521
|
-
|
|
522
|
-
# calculate hash by the file
|
|
523
|
-
current_hash = calculate_file_hash(filename, False)
|
|
524
|
-
|
|
525
|
-
if stored_hash_value != current_hash:
|
|
526
|
-
raise RuntimeError("The input file: " + filename + " hash check fail. The file may be damaged. "
|
|
527
|
-
"Or configure a correct hash mode.")
|
|
528
|
-
|
|
529
|
-
end = time.time()
|
|
530
|
-
global VERIFY_HASH_TIME
|
|
531
|
-
VERIFY_HASH_TIME += end - start
|
|
532
|
-
if VERIFY_HASH_TIME > WARNING_INTERVAL:
|
|
533
|
-
logger.warning("It takes another " + str(WARNING_INTERVAL) +
|
|
534
|
-
"s to verify the hash value of the mindrecord file.")
|
|
535
|
-
VERIFY_HASH_TIME = VERIFY_HASH_TIME - WARNING_INTERVAL
|
|
536
|
-
|
|
537
|
-
return True
|
|
538
|
-
|
|
539
|
-
|
|
540
241
|
def encrypt(filename, enc_key, enc_mode):
|
|
541
242
|
"""Encrypt the file and the original file will be deleted"""
|
|
542
243
|
if not os.path.exists(filename):
|
|
@@ -23,7 +23,7 @@ from .shardheader import ShardHeader
|
|
|
23
23
|
from .shardutils import populate_data
|
|
24
24
|
from .shardutils import check_parameter
|
|
25
25
|
from .common.exceptions import ParamTypeError
|
|
26
|
-
from .config import _get_enc_key, _get_dec_mode, decrypt
|
|
26
|
+
from .config import _get_enc_key, _get_dec_mode, decrypt
|
|
27
27
|
|
|
28
28
|
__all__ = ['FileReader']
|
|
29
29
|
|
|
@@ -89,10 +89,6 @@ class FileReader:
|
|
|
89
89
|
decrypt_filename = decrypt(self._file_name, _get_enc_key(), _get_dec_mode())
|
|
90
90
|
self._file_name = decrypt_filename
|
|
91
91
|
decrypt(index_file_name, _get_enc_key(), _get_dec_mode())
|
|
92
|
-
|
|
93
|
-
# verify integrity check
|
|
94
|
-
verify_file_hash(self._file_name)
|
|
95
|
-
verify_file_hash(self._file_name + ".db")
|
|
96
92
|
else:
|
|
97
93
|
file_names_decrypted = []
|
|
98
94
|
for item in self._file_name:
|
|
@@ -101,10 +97,6 @@ class FileReader:
|
|
|
101
97
|
decrypt_filename = decrypt(item, _get_enc_key(), _get_dec_mode())
|
|
102
98
|
file_names_decrypted.append(decrypt_filename)
|
|
103
99
|
decrypt(index_file_name, _get_enc_key(), _get_dec_mode())
|
|
104
|
-
|
|
105
|
-
# verify integrity check
|
|
106
|
-
verify_file_hash(decrypt_filename)
|
|
107
|
-
verify_file_hash(decrypt_filename + ".db")
|
|
108
100
|
self._file_name = file_names_decrypted
|
|
109
101
|
|
|
110
102
|
self._reader.open(self._file_name, num_consumer, columns, operator)
|
|
@@ -32,8 +32,7 @@ from .shardindexgenerator import ShardIndexGenerator
|
|
|
32
32
|
from .shardutils import MIN_SHARD_COUNT, MAX_SHARD_COUNT, VALID_ATTRIBUTES, VALID_ARRAY_ATTRIBUTES, \
|
|
33
33
|
check_filename, VALUE_TYPE_MAP, SUCCESS
|
|
34
34
|
from .common.exceptions import ParamValueError, ParamTypeError, MRMInvalidSchemaError, MRMDefineIndexError
|
|
35
|
-
from .config import _get_enc_key, _get_enc_mode, _get_dec_mode,
|
|
36
|
-
verify_file_hash
|
|
35
|
+
from .config import _get_enc_key, _get_enc_mode, _get_dec_mode, encrypt, decrypt
|
|
37
36
|
|
|
38
37
|
__all__ = ['FileWriter']
|
|
39
38
|
|
|
@@ -96,8 +95,8 @@ class FileWriter:
|
|
|
96
95
|
if self._shard_num == 1:
|
|
97
96
|
self._paths = [self._file_name]
|
|
98
97
|
else:
|
|
99
|
-
if _get_enc_key() is not None
|
|
100
|
-
raise RuntimeError("When encode mode
|
|
98
|
+
if _get_enc_key() is not None:
|
|
99
|
+
raise RuntimeError("When encode mode is enabled, " +
|
|
101
100
|
"the automatic sharding function is unavailable.")
|
|
102
101
|
self._paths = ["{}{}".format(self._file_name,
|
|
103
102
|
str(x).rjust(suffix_shard_size, '0'))
|
|
@@ -163,11 +162,7 @@ class FileWriter:
|
|
|
163
162
|
decrypt_filename = decrypt(file_name, _get_enc_key(), _get_dec_mode())
|
|
164
163
|
decrypt_index_filename = decrypt(index_file_name, _get_enc_key(), _get_dec_mode())
|
|
165
164
|
|
|
166
|
-
#
|
|
167
|
-
verify_file_hash(decrypt_filename)
|
|
168
|
-
verify_file_hash(decrypt_index_filename)
|
|
169
|
-
|
|
170
|
-
# move after decrypt and hash check all success
|
|
165
|
+
# move after decrypt success
|
|
171
166
|
if decrypt_filename != file_name:
|
|
172
167
|
shutil.move(decrypt_filename, file_name)
|
|
173
168
|
shutil.move(decrypt_index_filename, index_file_name)
|
|
@@ -473,7 +468,7 @@ class FileWriter:
|
|
|
473
468
|
|
|
474
469
|
self._parallel_commit()
|
|
475
470
|
|
|
476
|
-
# change file mode first, because encrypt
|
|
471
|
+
# change file mode first, because encrypt may failed
|
|
477
472
|
mindrecord_files = []
|
|
478
473
|
index_files = []
|
|
479
474
|
for item in self._paths:
|
|
@@ -487,11 +482,6 @@ class FileWriter:
|
|
|
487
482
|
|
|
488
483
|
for item in self._paths:
|
|
489
484
|
if os.path.exists(item):
|
|
490
|
-
# add the integrity check string
|
|
491
|
-
if _get_hash_mode() is not None:
|
|
492
|
-
append_hash_to_file(item)
|
|
493
|
-
append_hash_to_file(item + ".db")
|
|
494
|
-
|
|
495
485
|
# encrypt the mindrecord file
|
|
496
486
|
if _get_enc_key() is not None:
|
|
497
487
|
encrypt(item, _get_enc_key(), _get_enc_mode())
|
mindspore/mindrecord/mindpage.py
CHANGED
|
@@ -19,7 +19,7 @@ This module is to support reading page from MindRecord.
|
|
|
19
19
|
from .shardsegment import ShardSegment
|
|
20
20
|
from .shardutils import check_parameter
|
|
21
21
|
from .common.exceptions import ParamValueError, ParamTypeError, MRMDefineCategoryError
|
|
22
|
-
from .config import _get_enc_key, _get_dec_mode, decrypt
|
|
22
|
+
from .config import _get_enc_key, _get_dec_mode, decrypt
|
|
23
23
|
|
|
24
24
|
__all__ = ['MindPage']
|
|
25
25
|
|
|
@@ -68,10 +68,6 @@ class MindPage:
|
|
|
68
68
|
decrypt_filename = decrypt(file_name, _get_enc_key(), _get_dec_mode())
|
|
69
69
|
file_name = decrypt_filename
|
|
70
70
|
decrypt(index_file_name, _get_enc_key(), _get_dec_mode())
|
|
71
|
-
|
|
72
|
-
# verify integrity check
|
|
73
|
-
verify_file_hash(file_name)
|
|
74
|
-
verify_file_hash(file_name + ".db")
|
|
75
71
|
else:
|
|
76
72
|
file_names_decrypted = []
|
|
77
73
|
for item in file_name:
|
|
@@ -80,10 +76,6 @@ class MindPage:
|
|
|
80
76
|
decrypt_filename = decrypt(item, _get_enc_key(), _get_dec_mode())
|
|
81
77
|
file_names_decrypted.append(decrypt_filename)
|
|
82
78
|
decrypt(index_file_name, _get_enc_key(), _get_dec_mode())
|
|
83
|
-
|
|
84
|
-
# verify integrity check
|
|
85
|
-
verify_file_hash(decrypt_filename)
|
|
86
|
-
verify_file_hash(decrypt_filename + ".db")
|
|
87
79
|
file_name = file_names_decrypted
|
|
88
80
|
|
|
89
81
|
self._segment.open(file_name, num_consumer)
|
|
Binary file
|
|
Binary file
|
mindspore/mindspore_common.dll
CHANGED
|
Binary file
|
mindspore/mindspore_core.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
mindspore/mindspore_glog.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
mindspore/mindspore_ops.dll
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|