mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0__cp39-cp39-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mindspore might be problematic. Click here for more details.

Files changed (579) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +13 -6
  3. mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
  6. mindspore/_check_jit_forbidden_api.py +3 -0
  7. mindspore/_checkparam.py +3 -38
  8. mindspore/_deprecated/__init__.py +17 -0
  9. mindspore/_deprecated/jit.py +198 -0
  10. mindspore/_extends/builtin_operations.py +1 -1
  11. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  12. mindspore/_extends/parse/__init__.py +6 -7
  13. mindspore/_extends/parse/compile_config.py +83 -0
  14. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
  16. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  17. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  18. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  19. mindspore/_extends/parse/parser.py +47 -198
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +229 -99
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +11 -5
  27. mindspore/avcodec-59.dll +0 -0
  28. mindspore/avdevice-59.dll +0 -0
  29. mindspore/avfilter-8.dll +0 -0
  30. mindspore/avformat-59.dll +0 -0
  31. mindspore/avutil-57.dll +0 -0
  32. mindspore/boost/__init__.py +2 -2
  33. mindspore/boost/base.py +3 -7
  34. mindspore/boost/boost_cell_wrapper.py +138 -43
  35. mindspore/common/__init__.py +6 -3
  36. mindspore/common/_grad_function.py +56 -0
  37. mindspore/common/_pijit_context.py +14 -5
  38. mindspore/common/_register_for_tensor.py +1 -2
  39. mindspore/common/_stub_tensor.py +30 -14
  40. mindspore/common/_tensor_cpp_method.py +17 -0
  41. mindspore/common/_tensor_docs.py +4760 -0
  42. mindspore/common/api.py +480 -372
  43. mindspore/common/auto_dynamic_shape.py +41 -44
  44. mindspore/common/dtype.py +39 -36
  45. mindspore/common/dump.py +9 -6
  46. mindspore/common/file_system.py +9 -1
  47. mindspore/common/generator.py +5 -0
  48. mindspore/common/hook_handle.py +6 -2
  49. mindspore/common/initializer.py +13 -10
  50. mindspore/common/jit_begin_end.py +94 -0
  51. mindspore/common/jit_config.py +6 -1
  52. mindspore/common/jit_context.py +76 -0
  53. mindspore/common/jit_trace.py +378 -0
  54. mindspore/common/lazy_inline.py +9 -3
  55. mindspore/common/mindir_util.py +10 -2
  56. mindspore/common/mutable.py +5 -4
  57. mindspore/common/parameter.py +135 -52
  58. mindspore/common/seed.py +2 -2
  59. mindspore/common/sparse_tensor.py +23 -17
  60. mindspore/common/tensor.py +975 -1981
  61. mindspore/communication/__init__.py +7 -5
  62. mindspore/communication/_comm_helper.py +52 -2
  63. mindspore/communication/comm_func.py +240 -181
  64. mindspore/communication/management.py +95 -26
  65. mindspore/context.py +324 -573
  66. mindspore/dataset/__init__.py +65 -37
  67. mindspore/dataset/audio/__init__.py +2 -8
  68. mindspore/dataset/audio/transforms.py +3 -17
  69. mindspore/dataset/callback/ds_callback.py +2 -1
  70. mindspore/dataset/core/config.py +87 -6
  71. mindspore/dataset/engine/cache_admin.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +6 -5
  73. mindspore/dataset/engine/datasets.py +292 -267
  74. mindspore/dataset/engine/datasets_audio.py +22 -8
  75. mindspore/dataset/engine/datasets_standard_format.py +46 -27
  76. mindspore/dataset/engine/datasets_text.py +78 -48
  77. mindspore/dataset/engine/datasets_user_defined.py +183 -117
  78. mindspore/dataset/engine/datasets_vision.py +120 -44
  79. mindspore/dataset/engine/iterators.py +283 -63
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/obs/util.py +8 -0
  82. mindspore/dataset/engine/queue.py +40 -0
  83. mindspore/dataset/engine/samplers.py +289 -43
  84. mindspore/dataset/engine/serializer_deserializer.py +3 -2
  85. mindspore/dataset/engine/validators.py +53 -11
  86. mindspore/dataset/text/__init__.py +7 -6
  87. mindspore/dataset/text/transforms.py +6 -5
  88. mindspore/dataset/text/utils.py +3 -3
  89. mindspore/dataset/transforms/__init__.py +0 -9
  90. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  91. mindspore/dataset/transforms/transforms.py +31 -14
  92. mindspore/dataset/utils/browse_dataset.py +1 -1
  93. mindspore/dataset/vision/__init__.py +2 -9
  94. mindspore/dataset/vision/transforms.py +202 -158
  95. mindspore/dataset/vision/utils.py +7 -5
  96. mindspore/dataset/vision/validators.py +1 -2
  97. mindspore/device_context/__init__.py +21 -0
  98. mindspore/device_context/ascend/__init__.py +25 -0
  99. mindspore/device_context/ascend/device.py +72 -0
  100. mindspore/device_context/ascend/op_debug.py +153 -0
  101. mindspore/device_context/ascend/op_precision.py +193 -0
  102. mindspore/device_context/ascend/op_tuning.py +123 -0
  103. mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
  104. mindspore/device_context/cpu/device.py +62 -0
  105. mindspore/device_context/cpu/op_tuning.py +43 -0
  106. mindspore/device_context/gpu/__init__.py +21 -0
  107. mindspore/device_context/gpu/device.py +70 -0
  108. mindspore/device_context/gpu/op_precision.py +67 -0
  109. mindspore/device_context/gpu/op_tuning.py +175 -0
  110. mindspore/device_manager.py +170 -0
  111. mindspore/dnnl.dll +0 -0
  112. mindspore/experimental/es/embedding_service.py +35 -27
  113. mindspore/experimental/llm_boost/__init__.py +1 -0
  114. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  115. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
  116. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  117. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  118. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  119. mindspore/experimental/llm_boost/register.py +1 -0
  120. mindspore/experimental/map_parameter.py +4 -4
  121. mindspore/experimental/optim/adadelta.py +6 -6
  122. mindspore/experimental/optim/adagrad.py +4 -4
  123. mindspore/experimental/optim/adam.py +7 -0
  124. mindspore/experimental/optim/adamax.py +4 -4
  125. mindspore/experimental/optim/adamw.py +4 -0
  126. mindspore/experimental/optim/asgd.py +1 -1
  127. mindspore/experimental/optim/lr_scheduler.py +73 -46
  128. mindspore/experimental/optim/radam.py +34 -31
  129. mindspore/experimental/optim/rprop.py +1 -1
  130. mindspore/experimental/optim/sgd.py +1 -1
  131. mindspore/hal/contiguous_tensors_handle.py +6 -10
  132. mindspore/hal/device.py +55 -53
  133. mindspore/hal/event.py +52 -52
  134. mindspore/hal/memory.py +179 -120
  135. mindspore/hal/stream.py +150 -109
  136. mindspore/include/api/context.h +0 -1
  137. mindspore/include/dataset/constants.h +7 -4
  138. mindspore/include/dataset/execute.h +2 -2
  139. mindspore/jpeg62.dll +0 -0
  140. mindspore/log.py +50 -0
  141. mindspore/mindrecord/__init__.py +21 -8
  142. mindspore/mindrecord/config.py +17 -316
  143. mindspore/mindrecord/filereader.py +1 -9
  144. mindspore/mindrecord/filewriter.py +5 -15
  145. mindspore/mindrecord/mindpage.py +1 -9
  146. mindspore/mindspore_backend_common.dll +0 -0
  147. mindspore/mindspore_backend_manager.dll +0 -0
  148. mindspore/mindspore_common.dll +0 -0
  149. mindspore/mindspore_core.dll +0 -0
  150. mindspore/mindspore_dump.dll +0 -0
  151. mindspore/mindspore_frontend.dll +0 -0
  152. mindspore/mindspore_glog.dll +0 -0
  153. mindspore/mindspore_memory_pool.dll +0 -0
  154. mindspore/mindspore_ms_backend.dll +0 -0
  155. mindspore/mindspore_ops.dll +0 -0
  156. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  157. mindspore/mindspore_ops_kernel_common.dll +0 -0
  158. mindspore/mindspore_profiler.dll +0 -0
  159. mindspore/mindspore_pyboost.dll +0 -0
  160. mindspore/mindspore_pynative.dll +0 -0
  161. mindspore/mindspore_res_manager.dll +0 -0
  162. mindspore/mindspore_runtime_pipeline.dll +0 -0
  163. mindspore/mint/__init__.py +798 -761
  164. mindspore/mint/distributed/__init__.py +70 -4
  165. mindspore/mint/distributed/distributed.py +2679 -44
  166. mindspore/mint/linalg/__init__.py +8 -0
  167. mindspore/mint/nn/__init__.py +743 -22
  168. mindspore/mint/nn/functional.py +716 -23
  169. mindspore/mint/nn/layer/__init__.py +21 -4
  170. mindspore/mint/nn/layer/_functions.py +334 -0
  171. mindspore/mint/nn/layer/activation.py +276 -1
  172. mindspore/mint/nn/layer/basic.py +123 -0
  173. mindspore/mint/nn/layer/conv.py +933 -0
  174. mindspore/mint/nn/layer/normalization.py +223 -28
  175. mindspore/mint/nn/layer/padding.py +797 -0
  176. mindspore/mint/nn/layer/pooling.py +235 -0
  177. mindspore/mint/optim/__init__.py +3 -1
  178. mindspore/mint/optim/adam.py +223 -0
  179. mindspore/mint/optim/adamw.py +26 -19
  180. mindspore/mint/optim/sgd.py +171 -0
  181. mindspore/mint/special/__init__.py +2 -1
  182. mindspore/multiprocessing/__init__.py +5 -0
  183. mindspore/nn/__init__.py +4 -1
  184. mindspore/nn/cell.py +1373 -192
  185. mindspore/nn/dynamic_lr.py +2 -1
  186. mindspore/nn/layer/activation.py +29 -27
  187. mindspore/nn/layer/basic.py +51 -35
  188. mindspore/nn/layer/channel_shuffle.py +3 -3
  189. mindspore/nn/layer/container.py +1 -1
  190. mindspore/nn/layer/conv.py +53 -42
  191. mindspore/nn/layer/embedding.py +12 -11
  192. mindspore/nn/layer/normalization.py +56 -49
  193. mindspore/nn/layer/padding.py +4 -3
  194. mindspore/nn/layer/pooling.py +120 -42
  195. mindspore/nn/layer/rnn_cells.py +1 -1
  196. mindspore/nn/layer/rnns.py +2 -1
  197. mindspore/nn/layer/timedistributed.py +5 -5
  198. mindspore/nn/layer/transformer.py +59 -36
  199. mindspore/nn/learning_rate_schedule.py +8 -4
  200. mindspore/nn/loss/loss.py +58 -55
  201. mindspore/nn/optim/ada_grad.py +7 -5
  202. mindspore/nn/optim/adadelta.py +11 -9
  203. mindspore/nn/optim/adafactor.py +1 -1
  204. mindspore/nn/optim/adam.py +19 -15
  205. mindspore/nn/optim/adamax.py +8 -7
  206. mindspore/nn/optim/adasum.py +5 -5
  207. mindspore/nn/optim/asgd.py +3 -1
  208. mindspore/nn/optim/ftrl.py +11 -9
  209. mindspore/nn/optim/lamb.py +1 -1
  210. mindspore/nn/optim/lars.py +1 -4
  211. mindspore/nn/optim/lazyadam.py +12 -10
  212. mindspore/nn/optim/momentum.py +7 -6
  213. mindspore/nn/optim/optimizer.py +3 -3
  214. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  215. mindspore/nn/optim/rmsprop.py +13 -12
  216. mindspore/nn/optim/rprop.py +11 -9
  217. mindspore/nn/optim/sgd.py +9 -6
  218. mindspore/nn/optim/tft_wrapper.py +5 -2
  219. mindspore/nn/optim/thor.py +2 -1
  220. mindspore/nn/probability/bijector/bijector.py +17 -11
  221. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  222. mindspore/nn/probability/bijector/invert.py +2 -2
  223. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  224. mindspore/nn/probability/bijector/softplus.py +3 -2
  225. mindspore/nn/probability/distribution/beta.py +3 -3
  226. mindspore/nn/probability/distribution/categorical.py +1 -1
  227. mindspore/nn/probability/distribution/cauchy.py +4 -2
  228. mindspore/nn/probability/distribution/exponential.py +6 -7
  229. mindspore/nn/probability/distribution/gamma.py +2 -2
  230. mindspore/nn/probability/distribution/gumbel.py +2 -2
  231. mindspore/nn/probability/distribution/half_normal.py +5 -3
  232. mindspore/nn/probability/distribution/logistic.py +5 -3
  233. mindspore/nn/probability/distribution/poisson.py +1 -1
  234. mindspore/nn/probability/distribution/uniform.py +5 -3
  235. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  236. mindspore/nn/reinforcement/tensor_array.py +1 -1
  237. mindspore/nn/utils/init.py +13 -11
  238. mindspore/nn/wrap/__init__.py +6 -6
  239. mindspore/nn/wrap/cell_wrapper.py +181 -122
  240. mindspore/nn/wrap/grad_reducer.py +45 -36
  241. mindspore/nn/wrap/loss_scale.py +6 -7
  242. mindspore/numpy/array_creations.py +63 -65
  243. mindspore/numpy/array_ops.py +149 -144
  244. mindspore/numpy/logic_ops.py +41 -42
  245. mindspore/numpy/math_ops.py +361 -359
  246. mindspore/numpy/utils.py +17 -18
  247. mindspore/numpy/utils_const.py +5 -6
  248. mindspore/opencv_core452.dll +0 -0
  249. mindspore/opencv_imgcodecs452.dll +0 -0
  250. mindspore/opencv_imgproc452.dll +0 -0
  251. mindspore/ops/__init__.py +5 -3
  252. mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
  253. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
  254. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  255. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  256. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  257. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  258. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  259. mindspore/ops/_register_for_op.py +0 -11
  260. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  261. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
  262. mindspore/ops/_vmap/vmap_array_ops.py +52 -25
  263. mindspore/ops/_vmap/vmap_base.py +0 -2
  264. mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
  265. mindspore/ops/_vmap/vmap_math_ops.py +15 -16
  266. mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
  267. mindspore/ops/auto_generate/__init__.py +4 -3
  268. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
  269. mindspore/ops/auto_generate/gen_extend_func.py +757 -185
  270. mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
  271. mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
  272. mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
  273. mindspore/ops/composite/__init__.py +2 -1
  274. mindspore/ops/composite/base.py +20 -25
  275. mindspore/ops/composite/math_ops.py +6 -16
  276. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  277. mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
  278. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  279. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  280. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  281. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  282. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  283. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  284. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  285. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  286. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  287. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  288. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  289. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  290. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  291. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  292. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  293. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  294. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  295. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  296. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  297. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  298. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  299. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  300. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  301. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  302. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  303. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
  304. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  305. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  306. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  307. mindspore/ops/function/__init__.py +40 -2
  308. mindspore/ops/function/_add_attr_func.py +58 -0
  309. mindspore/ops/function/array_func.py +2089 -2403
  310. mindspore/ops/function/clip_func.py +80 -23
  311. mindspore/ops/function/debug_func.py +57 -57
  312. mindspore/ops/function/grad/__init__.py +1 -0
  313. mindspore/ops/function/grad/grad_func.py +104 -71
  314. mindspore/ops/function/image_func.py +2 -2
  315. mindspore/ops/function/linalg_func.py +47 -78
  316. mindspore/ops/function/math_func.py +4351 -3813
  317. mindspore/ops/function/nn_func.py +1712 -637
  318. mindspore/ops/function/other_func.py +159 -1
  319. mindspore/ops/function/parameter_func.py +18 -84
  320. mindspore/ops/function/random_func.py +452 -387
  321. mindspore/ops/function/reshard_func.py +4 -70
  322. mindspore/ops/function/sparse_func.py +3 -3
  323. mindspore/ops/function/sparse_unary_func.py +6 -6
  324. mindspore/ops/function/spectral_func.py +25 -58
  325. mindspore/ops/function/vmap_func.py +26 -18
  326. mindspore/ops/functional.py +23 -7
  327. mindspore/ops/functional_overload.py +1548 -0
  328. mindspore/ops/op_info_register.py +32 -244
  329. mindspore/ops/operations/__init__.py +23 -15
  330. mindspore/ops/operations/_custom_ops_utils.py +235 -0
  331. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  332. mindspore/ops/operations/_grad_ops.py +2 -43
  333. mindspore/ops/operations/_infer_ops.py +2 -1
  334. mindspore/ops/operations/_inner_ops.py +43 -84
  335. mindspore/ops/operations/_ms_kernel.py +4 -10
  336. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  337. mindspore/ops/operations/_scalar_ops.py +3 -2
  338. mindspore/ops/operations/_sequence_ops.py +1 -1
  339. mindspore/ops/operations/_tensor_array.py +1 -1
  340. mindspore/ops/operations/array_ops.py +81 -324
  341. mindspore/ops/operations/comm_ops.py +154 -108
  342. mindspore/ops/operations/custom_ops.py +298 -87
  343. mindspore/ops/operations/debug_ops.py +157 -59
  344. mindspore/ops/operations/inner_ops.py +7 -5
  345. mindspore/ops/operations/linalg_ops.py +1 -57
  346. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  347. mindspore/ops/operations/manually_defined/ops_def.py +928 -180
  348. mindspore/ops/operations/math_ops.py +32 -234
  349. mindspore/ops/operations/nn_ops.py +212 -531
  350. mindspore/ops/operations/other_ops.py +62 -9
  351. mindspore/ops/operations/random_ops.py +13 -7
  352. mindspore/ops/operations/reshard_ops.py +1 -1
  353. mindspore/ops/operations/sparse_ops.py +2 -2
  354. mindspore/ops/primitive.py +66 -53
  355. mindspore/ops/tensor_method.py +1895 -0
  356. mindspore/ops_generate/__init__.py +0 -5
  357. mindspore/ops_generate/aclnn/__init__.py +0 -0
  358. mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
  359. mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
  360. mindspore/ops_generate/api/__init__.py +0 -0
  361. mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
  362. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
  363. mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
  364. mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
  365. mindspore/ops_generate/api/functions_cc_generator.py +237 -0
  366. mindspore/ops_generate/api/gen_api.py +103 -0
  367. mindspore/ops_generate/api/op_api_proto.py +235 -0
  368. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
  369. mindspore/ops_generate/common/__init__.py +0 -0
  370. mindspore/ops_generate/common/base_generator.py +11 -0
  371. mindspore/ops_generate/common/gen_constants.py +91 -0
  372. mindspore/ops_generate/common/gen_utils.py +348 -0
  373. mindspore/ops_generate/common/op_proto.py +473 -0
  374. mindspore/ops_generate/common/template.py +523 -0
  375. mindspore/ops_generate/gen_ops.py +22 -1069
  376. mindspore/ops_generate/op_def/__init__.py +0 -0
  377. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  378. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
  379. mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
  380. mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
  381. mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
  382. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  383. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  384. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  385. mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
  386. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
  387. mindspore/ops_generate/pyboost/__init__.py +0 -0
  388. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
  389. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
  390. mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
  391. mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
  392. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
  393. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
  394. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
  395. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
  396. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
  397. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
  398. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
  399. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
  400. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
  401. mindspore/ops_generate/resources/__init__.py +0 -0
  402. mindspore/ops_generate/resources/resource_list.py +30 -0
  403. mindspore/ops_generate/resources/resource_loader.py +36 -0
  404. mindspore/ops_generate/resources/resource_manager.py +64 -0
  405. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  406. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  407. mindspore/parallel/__init__.py +7 -3
  408. mindspore/parallel/_auto_parallel_context.py +159 -40
  409. mindspore/parallel/_cell_wrapper.py +132 -15
  410. mindspore/parallel/_parallel_serialization.py +107 -5
  411. mindspore/parallel/_ps_context.py +1 -1
  412. mindspore/parallel/_recovery_context.py +7 -2
  413. mindspore/parallel/_tensor.py +142 -18
  414. mindspore/parallel/_utils.py +199 -23
  415. mindspore/parallel/algo_parameter_config.py +4 -4
  416. mindspore/parallel/auto_parallel.py +732 -0
  417. mindspore/parallel/checkpoint_convert.py +159 -0
  418. mindspore/parallel/checkpoint_transform.py +700 -35
  419. mindspore/parallel/cluster/process_entity/_api.py +276 -50
  420. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  421. mindspore/parallel/cluster/run.py +21 -4
  422. mindspore/parallel/function/__init__.py +24 -0
  423. mindspore/parallel/function/reshard_func.py +258 -0
  424. mindspore/parallel/nn/__init__.py +25 -0
  425. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  426. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  427. mindspore/parallel/parameter_broadcast.py +25 -14
  428. mindspore/parallel/shard.py +137 -59
  429. mindspore/parallel/transform_safetensors.py +364 -305
  430. mindspore/profiler/__init__.py +22 -5
  431. mindspore/profiler/analysis/__init__.py +0 -0
  432. mindspore/profiler/analysis/parser/__init__.py +0 -0
  433. mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
  434. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  435. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  436. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  437. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  438. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  439. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
  440. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  441. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
  442. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  443. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  444. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  445. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  446. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  447. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  448. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  449. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  450. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  451. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  452. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
  453. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  454. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  455. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  456. mindspore/profiler/analysis/task_manager.py +131 -0
  457. mindspore/profiler/analysis/time_converter.py +84 -0
  458. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  459. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
  460. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  461. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
  462. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
  463. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
  464. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
  465. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  466. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  467. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
  468. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  469. mindspore/profiler/analysis/work_flow.py +73 -0
  470. mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
  471. mindspore/profiler/common/command_executor.py +90 -0
  472. mindspore/profiler/common/constant.py +186 -3
  473. mindspore/profiler/common/file_manager.py +208 -0
  474. mindspore/profiler/common/log.py +130 -0
  475. mindspore/profiler/common/msprof_cmd_tool.py +221 -0
  476. mindspore/profiler/common/path_manager.py +395 -0
  477. mindspore/profiler/common/process_bar.py +168 -0
  478. mindspore/profiler/common/process_pool.py +9 -3
  479. mindspore/profiler/common/profiler_context.py +500 -0
  480. mindspore/profiler/common/profiler_info.py +304 -0
  481. mindspore/profiler/common/profiler_meta_data.py +74 -0
  482. mindspore/profiler/common/profiler_output_path.py +284 -0
  483. mindspore/profiler/common/profiler_parameters.py +251 -0
  484. mindspore/profiler/common/profiler_path_manager.py +179 -0
  485. mindspore/profiler/common/record_function.py +76 -0
  486. mindspore/profiler/common/tlv_decoder.py +76 -0
  487. mindspore/profiler/common/util.py +75 -2
  488. mindspore/profiler/dynamic_profiler.py +341 -75
  489. mindspore/profiler/envprofiler.py +163 -0
  490. mindspore/profiler/experimental_config.py +197 -0
  491. mindspore/profiler/mstx.py +242 -0
  492. mindspore/profiler/platform/__init__.py +21 -0
  493. mindspore/profiler/platform/base_profiler.py +40 -0
  494. mindspore/profiler/platform/cpu_profiler.py +124 -0
  495. mindspore/profiler/platform/gpu_profiler.py +74 -0
  496. mindspore/profiler/platform/npu_profiler.py +335 -0
  497. mindspore/profiler/profiler.py +1073 -90
  498. mindspore/profiler/profiler_action_controller.py +187 -0
  499. mindspore/profiler/profiler_interface.py +118 -0
  500. mindspore/profiler/schedule.py +243 -0
  501. mindspore/rewrite/api/node.py +15 -13
  502. mindspore/rewrite/api/symbol_tree.py +2 -3
  503. mindspore/run_check/_check_version.py +27 -20
  504. mindspore/run_check/run_check.py +1 -1
  505. mindspore/runtime/__init__.py +37 -0
  506. mindspore/runtime/device.py +27 -0
  507. mindspore/runtime/event.py +209 -0
  508. mindspore/runtime/executor.py +177 -0
  509. mindspore/runtime/memory.py +416 -0
  510. mindspore/runtime/stream.py +460 -0
  511. mindspore/runtime/thread_bind_core.py +401 -0
  512. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  513. mindspore/swresample-4.dll +0 -0
  514. mindspore/swscale-6.dll +0 -0
  515. mindspore/tinyxml2.dll +0 -0
  516. mindspore/train/__init__.py +8 -8
  517. mindspore/train/_utils.py +96 -27
  518. mindspore/train/amp.py +9 -5
  519. mindspore/train/callback/__init__.py +2 -2
  520. mindspore/train/callback/_callback.py +2 -16
  521. mindspore/train/callback/_checkpoint.py +53 -55
  522. mindspore/train/callback/_cluster_monitor.py +14 -18
  523. mindspore/train/callback/_early_stop.py +1 -1
  524. mindspore/train/callback/_flops_collector.py +103 -68
  525. mindspore/train/callback/_history.py +8 -5
  526. mindspore/train/callback/_lambda_callback.py +2 -2
  527. mindspore/train/callback/_landscape.py +0 -3
  528. mindspore/train/callback/_loss_monitor.py +2 -1
  529. mindspore/train/callback/_on_request_exit.py +6 -5
  530. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  531. mindspore/train/callback/_summary_collector.py +52 -19
  532. mindspore/train/callback/_time_monitor.py +2 -1
  533. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
  534. mindspore/train/data_sink.py +25 -2
  535. mindspore/train/dataset_helper.py +15 -16
  536. mindspore/train/loss_scale_manager.py +8 -7
  537. mindspore/train/metrics/accuracy.py +3 -3
  538. mindspore/train/metrics/confusion_matrix.py +9 -9
  539. mindspore/train/metrics/error.py +3 -3
  540. mindspore/train/metrics/hausdorff_distance.py +4 -4
  541. mindspore/train/metrics/mean_surface_distance.py +3 -3
  542. mindspore/train/metrics/metric.py +0 -12
  543. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  544. mindspore/train/metrics/precision.py +11 -10
  545. mindspore/train/metrics/recall.py +9 -9
  546. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  547. mindspore/train/mind_ir_pb2.py +174 -46
  548. mindspore/train/model.py +269 -136
  549. mindspore/train/serialization.py +622 -978
  550. mindspore/train/summary/_summary_adapter.py +2 -2
  551. mindspore/train/summary/summary_record.py +2 -3
  552. mindspore/train/train_thor/model_thor.py +1 -1
  553. mindspore/turbojpeg.dll +0 -0
  554. mindspore/utils/__init__.py +6 -3
  555. mindspore/utils/dryrun.py +140 -0
  556. mindspore/utils/hooks.py +81 -0
  557. mindspore/utils/runtime_execution_order_check.py +552 -0
  558. mindspore/utils/utils.py +138 -4
  559. mindspore/version.py +1 -1
  560. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
  561. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +564 -395
  562. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
  563. mindspore/_install_custom.py +0 -43
  564. mindspore/common/_register_for_adapter.py +0 -74
  565. mindspore/common/_tensor_overload.py +0 -139
  566. mindspore/mindspore_np_dtype.dll +0 -0
  567. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  568. mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
  569. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  570. mindspore/ops_generate/gen_aclnn_implement.py +0 -263
  571. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  572. mindspore/ops_generate/gen_pyboost_func.py +0 -1052
  573. mindspore/ops_generate/gen_utils.py +0 -209
  574. mindspore/ops_generate/op_proto.py +0 -145
  575. mindspore/ops_generate/template.py +0 -261
  576. mindspore/profiler/envprofiling.py +0 -254
  577. mindspore/profiler/profiling.py +0 -1926
  578. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
  579. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -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, set_hash_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 and hash mode
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 hash check and encode should be like below
51
- # 1. for create new mindrecord: should do hash first, then encode
52
- # mindrecord ->
53
- # mindrecord+hash_value+len(4bytes)+'HASH' ->
54
- # enc_mindrecord+'ENCRYPT'
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 or calculate hash takes too long time
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
- ``"AES-CBC"`` and ``"SM4-CBC"`` . Default: ``"AES-GCM"`` . If it is customized encryption, users need
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", "AES-CBC", "SM4-CBC"]:
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
- ``"AES-CBC"`` and ``"SM4-CBC"`` . Default: ``"AES-GCM"`` . ``None`` indicates that decryption
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", "AES-CBC", "SM4-CBC"]:
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" / "AES-CBC" / "SM4-CBC"
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, verify_file_hash
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, _get_hash_mode, encrypt, decrypt, append_hash_to_file, \
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 or _get_hash_mode() is not None:
100
- raise RuntimeError("When encode mode or hash check is enabled, " +
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
- # verify integrity check
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 / hash check may failed
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())
@@ -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, verify_file_hash
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
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file