mindspore 2.6.0__cp311-cp311-win_amd64.whl → 2.7.0rc1__cp311-cp311-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 (403) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +1 -1
  5. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  8. mindspore/_checkparam.py +40 -9
  9. mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
  10. mindspore/_extends/optimize/cell_utils.py +96 -0
  11. mindspore/_extends/parse/__init__.py +2 -2
  12. mindspore/_extends/parse/compile_config.py +44 -22
  13. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -1
  14. mindspore/_extends/parse/parser.py +36 -61
  15. mindspore/_extends/parse/resources.py +39 -0
  16. mindspore/_extends/parse/standard_method.py +32 -13
  17. mindspore/_extends/parse/trope.py +8 -1
  18. mindspore/_extends/pijit/__init__.py +1 -2
  19. mindspore/amp.py +4 -4
  20. mindspore/atlprov.dll +0 -0
  21. mindspore/avcodec-59.dll +0 -0
  22. mindspore/avdevice-59.dll +0 -0
  23. mindspore/avfilter-8.dll +0 -0
  24. mindspore/avformat-59.dll +0 -0
  25. mindspore/avutil-57.dll +0 -0
  26. mindspore/boost/adasum.py +1 -1
  27. mindspore/boost/boost_cell_wrapper.py +4 -4
  28. mindspore/c1.dll +0 -0
  29. mindspore/c1xx.dll +0 -0
  30. mindspore/c2.dll +0 -0
  31. mindspore/common/__init__.py +27 -2
  32. mindspore/common/_grad_function.py +2 -1
  33. mindspore/common/_pijit_context.py +28 -7
  34. mindspore/common/_stub_tensor.py +1 -209
  35. mindspore/common/_tensor_cpp_method.py +1 -1
  36. mindspore/common/_tensor_docs.py +76 -15
  37. mindspore/common/api.py +193 -112
  38. mindspore/common/dtype.py +21 -11
  39. mindspore/common/dump.py +10 -15
  40. mindspore/common/generator.py +2 -3
  41. mindspore/common/hook_handle.py +11 -2
  42. mindspore/common/jit_config.py +1 -1
  43. mindspore/common/jit_trace.py +84 -105
  44. mindspore/common/parameter.py +26 -12
  45. mindspore/common/recompute.py +3 -3
  46. mindspore/common/sparse_tensor.py +0 -3
  47. mindspore/common/symbol.py +0 -1
  48. mindspore/common/tensor.py +48 -83
  49. mindspore/communication/_comm_helper.py +46 -4
  50. mindspore/communication/management.py +79 -7
  51. mindspore/context.py +38 -23
  52. mindspore/dataset/core/config.py +3 -3
  53. mindspore/dataset/engine/datasets.py +20 -7
  54. mindspore/dataset/engine/datasets_user_defined.py +32 -2
  55. mindspore/dataset/engine/iterators.py +2 -2
  56. mindspore/dataset/engine/obs/config_loader.py +2 -2
  57. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
  58. mindspore/dataset/transforms/py_transforms.py +7 -3
  59. mindspore/dataset/transforms/transforms.py +7 -3
  60. mindspore/dataset/vision/validators.py +1 -0
  61. mindspore/device_context/ascend/device.py +1 -1
  62. mindspore/device_context/gpu/__init__.py +2 -2
  63. mindspore/device_context/gpu/device.py +1 -1
  64. mindspore/device_context/gpu/op_precision.py +4 -2
  65. mindspore/device_context/gpu/op_tuning.py +6 -3
  66. mindspore/device_manager.py +16 -9
  67. mindspore/dnnl.dll +0 -0
  68. mindspore/dpcmi.dll +0 -0
  69. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -5
  70. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  71. mindspore/experimental/optim/adadelta.py +13 -20
  72. mindspore/experimental/optim/adagrad.py +15 -22
  73. mindspore/experimental/optim/adam.py +17 -24
  74. mindspore/experimental/optim/adamax.py +14 -22
  75. mindspore/experimental/optim/adamw.py +28 -34
  76. mindspore/experimental/optim/asgd.py +15 -25
  77. mindspore/experimental/optim/lr_scheduler.py +27 -45
  78. mindspore/experimental/optim/nadam.py +14 -24
  79. mindspore/experimental/optim/optimizer.py +13 -23
  80. mindspore/experimental/optim/radam.py +18 -24
  81. mindspore/experimental/optim/rmsprop.py +14 -25
  82. mindspore/experimental/optim/rprop.py +15 -26
  83. mindspore/experimental/optim/sgd.py +9 -19
  84. mindspore/hal/__init__.py +4 -4
  85. mindspore/hal/contiguous_tensors_handle.py +2 -2
  86. mindspore/hal/memory.py +1 -0
  87. mindspore/include/api/cell.h +37 -1
  88. mindspore/include/api/delegate.h +10 -0
  89. mindspore/include/api/model.h +3 -0
  90. mindspore/include/api/types.h +2 -2
  91. mindspore/include/c_api/model_c.h +0 -58
  92. mindspore/include/c_api/tensor_c.h +0 -26
  93. mindspore/include/dataset/vision_ascend.h +1 -1
  94. mindspore/jpeg62.dll +0 -0
  95. mindspore/mindrecord/tools/cifar10.py +60 -11
  96. mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
  97. mindspore/mindspore_backend_common.dll +0 -0
  98. mindspore/mindspore_backend_manager.dll +0 -0
  99. mindspore/mindspore_common.dll +0 -0
  100. mindspore/mindspore_core.dll +0 -0
  101. mindspore/mindspore_cpu_res_manager.dll +0 -0
  102. mindspore/mindspore_dump.dll +0 -0
  103. mindspore/mindspore_frontend.dll +0 -0
  104. mindspore/mindspore_glog.dll +0 -0
  105. mindspore/mindspore_memory_pool.dll +0 -0
  106. mindspore/mindspore_ms_backend.dll +0 -0
  107. mindspore/mindspore_ops.dll +0 -0
  108. mindspore/mindspore_ops_host.dll +0 -0
  109. mindspore/mindspore_ops_kernel_common.dll +0 -0
  110. mindspore/mindspore_profiler.dll +0 -0
  111. mindspore/mindspore_pyboost.dll +0 -0
  112. mindspore/mindspore_pynative.dll +0 -0
  113. mindspore/mindspore_res_manager.dll +0 -0
  114. mindspore/mindspore_runtime_pipeline.dll +0 -0
  115. mindspore/mint/__init__.py +4 -44
  116. mindspore/mint/distributed/__init__.py +1 -0
  117. mindspore/mint/distributed/distributed.py +208 -5
  118. mindspore/mint/nn/__init__.py +1 -1
  119. mindspore/mint/nn/functional.py +53 -6
  120. mindspore/mint/nn/layer/_functions.py +164 -294
  121. mindspore/mint/nn/layer/activation.py +8 -6
  122. mindspore/mint/nn/layer/conv.py +122 -98
  123. mindspore/mint/nn/layer/normalization.py +8 -22
  124. mindspore/mint/optim/adam.py +19 -18
  125. mindspore/mint/optim/adamw.py +14 -8
  126. mindspore/mint/optim/sgd.py +5 -5
  127. mindspore/msobj140.dll +0 -0
  128. mindspore/mspdb140.dll +0 -0
  129. mindspore/mspdbcore.dll +0 -0
  130. mindspore/mspdbst.dll +0 -0
  131. mindspore/mspft140.dll +0 -0
  132. mindspore/msvcdis140.dll +0 -0
  133. mindspore/msvcp140_1.dll +0 -0
  134. mindspore/msvcp140_2.dll +0 -0
  135. mindspore/msvcp140_atomic_wait.dll +0 -0
  136. mindspore/msvcp140_codecvt_ids.dll +0 -0
  137. mindspore/nn/cell.py +325 -499
  138. mindspore/nn/grad/cell_grad.py +11 -12
  139. mindspore/nn/layer/activation.py +32 -34
  140. mindspore/nn/layer/basic.py +67 -64
  141. mindspore/nn/layer/channel_shuffle.py +4 -4
  142. mindspore/nn/layer/combined.py +4 -2
  143. mindspore/nn/layer/conv.py +86 -85
  144. mindspore/nn/layer/dense.py +9 -7
  145. mindspore/nn/layer/embedding.py +50 -52
  146. mindspore/nn/layer/image.py +37 -39
  147. mindspore/nn/layer/math.py +111 -112
  148. mindspore/nn/layer/normalization.py +56 -44
  149. mindspore/nn/layer/pooling.py +58 -63
  150. mindspore/nn/layer/rnn_cells.py +33 -33
  151. mindspore/nn/layer/rnns.py +56 -56
  152. mindspore/nn/layer/thor_layer.py +74 -73
  153. mindspore/nn/layer/transformer.py +11 -1
  154. mindspore/nn/learning_rate_schedule.py +20 -20
  155. mindspore/nn/loss/loss.py +79 -81
  156. mindspore/nn/optim/adam.py +1 -1
  157. mindspore/nn/optim/adasum.py +2 -2
  158. mindspore/nn/optim/optimizer.py +1 -1
  159. mindspore/nn/optim/thor.py +2 -2
  160. mindspore/nn/probability/distribution/exponential.py +2 -1
  161. mindspore/nn/probability/distribution/poisson.py +2 -1
  162. mindspore/nn/sparse/sparse.py +3 -3
  163. mindspore/nn/wrap/cell_wrapper.py +34 -37
  164. mindspore/nn/wrap/grad_reducer.py +37 -37
  165. mindspore/nn/wrap/loss_scale.py +72 -74
  166. mindspore/numpy/array_creations.py +5 -5
  167. mindspore/numpy/fft.py +1 -1
  168. mindspore/numpy/math_ops.py +1 -1
  169. mindspore/opencv_core452.dll +0 -0
  170. mindspore/opencv_imgcodecs452.dll +0 -0
  171. mindspore/opencv_imgproc452.dll +0 -0
  172. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  173. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  174. mindspore/ops/_vmap/vmap_array_ops.py +6 -13
  175. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  176. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +17 -8
  177. mindspore/ops/auto_generate/gen_extend_func.py +1 -51
  178. mindspore/ops/auto_generate/gen_ops_def.py +463 -257
  179. mindspore/ops/auto_generate/gen_ops_prim.py +1127 -885
  180. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  181. mindspore/ops/composite/__init__.py +10 -0
  182. mindspore/ops/composite/base.py +8 -4
  183. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  184. mindspore/ops/composite/multitype_ops/_compile_utils.py +132 -108
  185. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  186. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  187. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  188. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  189. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  190. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  191. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  192. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  193. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  194. mindspore/ops/function/__init__.py +3 -1
  195. mindspore/ops/function/_add_attr_func.py +11 -6
  196. mindspore/ops/function/array_func.py +7 -94
  197. mindspore/ops/function/debug_func.py +4 -3
  198. mindspore/ops/function/grad/grad_func.py +1 -1
  199. mindspore/ops/function/math_func.py +21 -367
  200. mindspore/ops/function/nn_func.py +26 -41
  201. mindspore/ops/function/other_func.py +4 -1
  202. mindspore/ops/function/random_func.py +31 -4
  203. mindspore/ops/functional.py +0 -2
  204. mindspore/ops/functional_overload.py +463 -6
  205. mindspore/ops/op_info_register.py +21 -0
  206. mindspore/ops/operations/__init__.py +5 -2
  207. mindspore/ops/operations/_custom_ops_utils.py +675 -8
  208. mindspore/ops/operations/_inner_ops.py +3 -6
  209. mindspore/ops/operations/_sequence_ops.py +1 -1
  210. mindspore/ops/operations/comm_ops.py +185 -26
  211. mindspore/ops/operations/custom_ops.py +235 -172
  212. mindspore/ops/operations/debug_ops.py +55 -4
  213. mindspore/ops/operations/image_ops.py +13 -13
  214. mindspore/ops/operations/manually_defined/ops_def.py +15 -16
  215. mindspore/ops/operations/math_ops.py +3 -4
  216. mindspore/ops/operations/nn_ops.py +5 -6
  217. mindspore/ops/primitive.py +6 -10
  218. mindspore/ops/tensor_method.py +36 -4
  219. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  220. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  221. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  222. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  223. mindspore/ops_generate/common/base_generator.py +14 -0
  224. mindspore/ops_generate/common/gen_constants.py +7 -2
  225. mindspore/ops_generate/common/gen_utils.py +0 -19
  226. mindspore/ops_generate/common/op_proto.py +11 -4
  227. mindspore/ops_generate/common/template.py +88 -11
  228. mindspore/ops_generate/gen_ops.py +1 -1
  229. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  230. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  231. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  232. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  233. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  234. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  235. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
  236. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  237. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  238. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  239. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  240. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  241. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  242. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  243. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  244. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  245. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  246. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  247. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  248. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  249. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  250. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  251. mindspore/parallel/_auto_parallel_context.py +4 -2
  252. mindspore/parallel/_cell_wrapper.py +106 -40
  253. mindspore/parallel/_parallel_serialization.py +1 -1
  254. mindspore/parallel/_ps_context.py +4 -6
  255. mindspore/parallel/_tensor.py +167 -12
  256. mindspore/parallel/_transformer/moe.py +1 -1
  257. mindspore/parallel/_transformer/transformer.py +13 -8
  258. mindspore/parallel/auto_parallel.py +12 -5
  259. mindspore/parallel/checkpoint_convert.py +3 -3
  260. mindspore/parallel/checkpoint_transform.py +3 -1
  261. mindspore/parallel/cluster/process_entity/_api.py +84 -48
  262. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  263. mindspore/parallel/cluster/run.py +43 -4
  264. mindspore/parallel/function/__init__.py +8 -1
  265. mindspore/parallel/function/reshard_func.py +1 -1
  266. mindspore/parallel/nn/__init__.py +15 -2
  267. mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
  268. mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
  269. mindspore/parallel/shard.py +2 -2
  270. mindspore/parallel/transform_safetensors.py +462 -174
  271. mindspore/pgodb140.dll +0 -0
  272. mindspore/pgort140.dll +0 -0
  273. mindspore/profiler/__init__.py +2 -1
  274. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  275. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  276. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +3 -0
  277. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  278. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  279. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  280. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  281. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  282. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  283. mindspore/profiler/analysis/task_manager.py +1 -1
  284. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  285. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  286. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
  287. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  288. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  289. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  290. mindspore/profiler/common/constant.py +16 -0
  291. mindspore/profiler/common/profiler_context.py +25 -27
  292. mindspore/profiler/common/profiler_info.py +0 -16
  293. mindspore/profiler/common/profiler_op_analyse.py +235 -0
  294. mindspore/profiler/common/profiler_output_path.py +23 -8
  295. mindspore/profiler/common/profiler_parameters.py +128 -35
  296. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  297. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  298. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  299. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  300. mindspore/profiler/dynamic_profiler.py +305 -314
  301. mindspore/profiler/envprofiler.py +12 -7
  302. mindspore/profiler/experimental_config.py +96 -6
  303. mindspore/profiler/mstx.py +33 -12
  304. mindspore/profiler/platform/__init__.py +2 -3
  305. mindspore/profiler/platform/npu_profiler.py +29 -19
  306. mindspore/profiler/profiler.py +35 -19
  307. mindspore/profiler/profiler_action_controller.py +64 -76
  308. mindspore/profiler/schedule.py +10 -4
  309. mindspore/rewrite/common/config.py +1 -0
  310. mindspore/rewrite/common/namer.py +1 -0
  311. mindspore/rewrite/common/namespace.py +1 -0
  312. mindspore/rewrite/node/node.py +31 -11
  313. mindspore/rewrite/parsers/assign_parser.py +1 -1
  314. mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
  315. mindspore/run_check/_check_version.py +7 -10
  316. mindspore/runtime/__init__.py +5 -5
  317. mindspore/runtime/event.py +10 -4
  318. mindspore/runtime/executor.py +60 -45
  319. mindspore/runtime/memory.py +21 -30
  320. mindspore/runtime/thread_bind_core.py +298 -164
  321. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  322. mindspore/swresample-4.dll +0 -0
  323. mindspore/swscale-6.dll +0 -0
  324. mindspore/tbbmalloc.dll +0 -0
  325. mindspore/tinyxml2.dll +0 -0
  326. mindspore/train/_utils.py +6 -2
  327. mindspore/train/amp.py +43 -20
  328. mindspore/train/callback/__init__.py +5 -5
  329. mindspore/train/callback/_checkpoint.py +3 -6
  330. mindspore/train/callback/_flops_collector.py +1 -1
  331. mindspore/train/callback/_landscape.py +0 -1
  332. mindspore/train/callback/_train_fault_tolerance.py +71 -13
  333. mindspore/train/data_sink.py +11 -2
  334. mindspore/train/dataset_helper.py +9 -0
  335. mindspore/train/model.py +51 -33
  336. mindspore/train/serialization.py +133 -111
  337. mindspore/train/summary/summary_record.py +13 -2
  338. mindspore/turbojpeg.dll +0 -0
  339. mindspore/utils/__init__.py +3 -2
  340. mindspore/utils/dryrun.py +0 -6
  341. mindspore/utils/runtime_execution_order_check.py +162 -78
  342. mindspore/utils/sdc_detect.py +68 -0
  343. mindspore/utils/utils.py +6 -9
  344. mindspore/vcmeta.dll +0 -0
  345. mindspore/vcruntime140.dll +0 -0
  346. mindspore/vcruntime140_1.dll +0 -0
  347. mindspore/version.py +1 -1
  348. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
  349. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +352 -390
  350. mindspore/_deprecated/jit.py +0 -198
  351. mindspore/experimental/es/__init__.py +0 -22
  352. mindspore/experimental/es/embedding_service.py +0 -891
  353. mindspore/experimental/es/embedding_service_layer.py +0 -581
  354. mindspore/profiler/parser/__init__.py +0 -14
  355. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  356. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  357. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  358. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  359. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  360. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  361. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  362. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  363. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  364. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  365. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  366. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  367. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  368. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  369. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  370. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  371. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  372. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  373. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  374. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  375. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  376. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  377. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  378. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  379. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  380. mindspore/profiler/parser/container.py +0 -229
  381. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  382. mindspore/profiler/parser/flops_parser.py +0 -531
  383. mindspore/profiler/parser/framework_enum.py +0 -111
  384. mindspore/profiler/parser/framework_parser.py +0 -464
  385. mindspore/profiler/parser/framework_struct.py +0 -61
  386. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  387. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  388. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  389. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  390. mindspore/profiler/parser/hccl_parser.py +0 -573
  391. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  392. mindspore/profiler/parser/integrator.py +0 -526
  393. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  394. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  395. mindspore/profiler/parser/minddata_parser.py +0 -186
  396. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  397. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  398. mindspore/profiler/parser/optime_parser.py +0 -250
  399. mindspore/profiler/parser/profiler_info.py +0 -213
  400. mindspore/profiler/parser/step_trace_parser.py +0 -666
  401. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
  402. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
  403. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
@@ -1097,12 +1097,12 @@ def get_error_samples_mode():
1097
1097
  return _CDE_TO_PYTHON_ERROR_SAMPLES_MODE.get(_config.get_error_samples_mode())
1098
1098
 
1099
1099
 
1100
- def set_iterator_mode(do_copy=True, parallel_convert=False):
1100
+ def set_iterator_mode(do_copy=False, parallel_convert=False):
1101
1101
  """
1102
1102
  Select dataset iterator optimization strategy.
1103
1103
 
1104
1104
  Args:
1105
- do_copy (bool): Whether dataset iterator creates a Tensor from numpy.ndarray without copy. Default: "True".
1105
+ do_copy (bool): Whether dataset iterator creates a Tensor from numpy.ndarray without copy. Default: "False".
1106
1106
  parallel_convert (bool): Whether dataset iterator starts a thread to organize Tensors to output.
1107
1107
  Default: "False".
1108
1108
 
@@ -1122,7 +1122,7 @@ def set_iterator_mode(do_copy=True, parallel_convert=False):
1122
1122
  def get_iterator_mode():
1123
1123
  """
1124
1124
  Get dataset iterator mode indicate iterator optimization strategy.
1125
- If `set_iterator_mode` is never called before, `do_copy` default to "True", `parallel_convert` default to "False".
1125
+ If `set_iterator_mode` is never called before, `do_copy` default to "False", `parallel_convert` default to "False".
1126
1126
 
1127
1127
  Returns:
1128
1128
  dict, iterator mode dictionary contains the value of `do_copy` and `parallel_convert`.
@@ -575,6 +575,12 @@ class Dataset:
575
575
  create shared memory, and represents ``output_columns`` use the second element as the
576
576
  unit to create shared memory.
577
577
 
578
+ .. warning::
579
+ `batch` uses `dill` module implicitly in multiprocessing `spawn` mode to serialize/deserialize
580
+ `per_batch_map`, which is known to be insecure. It is possible to construct malicious pickle data
581
+ which will execute arbitrary code during unpickling. Never load data that could have come from
582
+ untrusted sources, or has been tampered with.
583
+
578
584
  Returns:
579
585
  Dataset, a new dataset with the above operation applied.
580
586
 
@@ -886,6 +892,12 @@ class Dataset:
886
892
 
887
893
  - offload (bool, optional): Flag to indicate whether offload is used. Default: ``None``.
888
894
 
895
+ .. warning::
896
+ `map` uses `dill` module implicitly in multiprocessing `spawn` mode to serialize/deserialize `operations`,
897
+ which is known to be insecure. It is possible to construct malicious pickle data which will
898
+ execute arbitrary code during unpickling. Never load data that could have come from untrusted sources,
899
+ or has been tampered with.
900
+
889
901
  Note:
890
902
  - Input `operations` accepts TensorOperations defined in mindspore.dataset part, plus user-defined
891
903
  Python functions (PyFuncs).
@@ -1557,7 +1569,7 @@ class Dataset:
1557
1569
  del api_tree
1558
1570
 
1559
1571
  @check_tuple_iterator
1560
- def create_tuple_iterator(self, columns=None, num_epochs=-1, output_numpy=False, do_copy=True):
1572
+ def create_tuple_iterator(self, columns=None, num_epochs=-1, output_numpy=False, do_copy=False):
1561
1573
  """
1562
1574
  Create an iterator over the dataset that yields samples of type list, whose elements are
1563
1575
  the data for each column.
@@ -1571,7 +1583,7 @@ class Dataset:
1571
1583
  convert it to Tensor. Default: ``False`` .
1572
1584
  do_copy (bool, optional): Whether to copy the data when converting output to Tensor,
1573
1585
  or reuse the buffer for better performance, only works when `output_numpy` is ``False`` .
1574
- Default: ``True`` .
1586
+ Default: ``False`` .
1575
1587
 
1576
1588
  Returns:
1577
1589
  Iterator, a dataset iterator that yields samples of type list.
@@ -1598,7 +1610,7 @@ class Dataset:
1598
1610
  return TupleIterator(self, columns, num_epochs, output_numpy, do_copy)
1599
1611
 
1600
1612
  @check_dict_iterator
1601
- def create_dict_iterator(self, num_epochs=-1, output_numpy=False, do_copy=True):
1613
+ def create_dict_iterator(self, num_epochs=-1, output_numpy=False, do_copy=False):
1602
1614
  """
1603
1615
  Create an iterator over the dataset that yields samples of type dict,
1604
1616
  while the key is the column name and the value is the data.
@@ -1610,7 +1622,7 @@ class Dataset:
1610
1622
  convert it to Tensor. Default: ``False`` .
1611
1623
  do_copy (bool, optional): Whether to copy the data when converting output to Tensor,
1612
1624
  or reuse the buffer for better performance, only works when `output_numpy` is ``False`` .
1613
- Default: ``True`` .
1625
+ Default: ``False`` .
1614
1626
 
1615
1627
  Returns:
1616
1628
  Iterator, a dataset iterator that yields samples of type dict.
@@ -3632,9 +3644,10 @@ class _PythonMultiprocessing(cde.PythonMultiprocessingRuntime):
3632
3644
  "process(es): {}".format(self.cleaning_process.pid, self.get_pids()))
3633
3645
 
3634
3646
  if get_enable_watchdog():
3635
- worker_ids = [worker.pid for worker in self.workers]
3647
+ worker_ids = [os.getpid()]
3648
+ worker_ids.extend([worker.pid for worker in self.workers])
3636
3649
  worker_ids.append(self.cleaning_process.pid)
3637
- cde.register_worker_pids(id(self), set(worker_ids))
3650
+ cde.register_worker_pids(id(self), worker_ids)
3638
3651
 
3639
3652
  def _abort_monitor(self):
3640
3653
  """Deregister workers monitored by the watch dog and join clean process."""
@@ -4385,7 +4398,7 @@ class TransferDataset(Dataset):
4385
4398
  def create_dict_iterator(self, num_epochs=-1, output_numpy=False):
4386
4399
  raise RuntimeError("TransferDataset is not iterable.")
4387
4400
 
4388
- def create_tuple_iterator(self, columns=None, num_epochs=-1, output_numpy=False, do_copy=True):
4401
+ def create_tuple_iterator(self, columns=None, num_epochs=-1, output_numpy=False, do_copy=False):
4389
4402
  raise RuntimeError("TransferDataset is not iterable.")
4390
4403
 
4391
4404
  def __iter__(self):
@@ -220,6 +220,7 @@ class SamplerFn(cde.PythonMultiprocessingRuntime):
220
220
 
221
221
  self.ppid = os.getpid()
222
222
  self.pids = []
223
+ self.thread_ids = []
223
224
  self.check_interval = get_multiprocessing_timeout_interval() # the interval of check queue's size
224
225
 
225
226
  if self.multi_process is True:
@@ -277,12 +278,32 @@ class SamplerFn(cde.PythonMultiprocessingRuntime):
277
278
  worker = _GeneratorWorkerMt(self.dataset, self.eof, worker_id)
278
279
  worker.daemon = True
279
280
  self.need_join = True
281
+ worker.start()
282
+ self.thread_ids.append(worker.ident)
280
283
  self.workers.append(worker)
281
284
 
282
285
  # Register a termination function using weakref to avoid the object from unable to properly destruct.
283
286
  atexit.register(lambda cleanup: cleanup()() if cleanup() is not None else None,
284
287
  weakref.WeakMethod(self.terminate))
285
288
 
289
+ def get_worker_ids(self):
290
+ """
291
+ Get dict of worker's ids
292
+
293
+ Returns:
294
+ dict of strings
295
+ """
296
+ if not self.is_mp_enabled():
297
+ return {}
298
+ worker_ids = {}
299
+ if self.multi_process is True:
300
+ worker_ids["is_thread"] = False
301
+ worker_ids["worker_id"] = self.pids
302
+ else:
303
+ worker_ids["is_thread"] = True
304
+ worker_ids["worker_id"] = self.thread_ids
305
+ return worker_ids
306
+
286
307
  def terminate(self):
287
308
  self._stop_subprocess()
288
309
 
@@ -421,9 +442,10 @@ class SamplerFn(cde.PythonMultiprocessingRuntime):
421
442
  "process(es): {}".format(self.cleaning_process.pid, [worker.pid for worker in self.workers]))
422
443
 
423
444
  if get_enable_watchdog():
424
- worker_ids = [worker.pid for worker in self.workers]
445
+ worker_ids = [os.getpid()]
446
+ worker_ids.extend([worker.pid for worker in self.workers])
425
447
  worker_ids.append(self.cleaning_process.pid)
426
- cde.register_worker_pids(id(self), set(worker_ids))
448
+ cde.register_worker_pids(id(self), worker_ids)
427
449
 
428
450
  def _release_fd(self):
429
451
  """Release the file descriptor by subprocess"""
@@ -480,6 +502,8 @@ class SamplerFn(cde.PythonMultiprocessingRuntime):
480
502
  except Exception: # pylint: disable=W0703
481
503
  # Block all errors when join
482
504
  continue
505
+ elif not self.multi_process:
506
+ w.join(timeout=5)
483
507
 
484
508
  if self.multi_process is True:
485
509
  self._release_fd()
@@ -795,6 +819,12 @@ class GeneratorDataset(MappableDataset, UnionBaseDataset):
795
819
  - `Load & Process Data With Dataset Pipeline
796
820
  <https://www.mindspore.cn/docs/en/master/api_python/samples/dataset/dataset_gallery.html>`_
797
821
 
822
+ .. warning::
823
+ `GeneratorDataset` uses `dill` module implicitly in multiprocessing `spawn` mode to serialize/deserialize
824
+ `source`, which is known to be insecure. It is possible to construct malicious pickle data which will
825
+ execute arbitrary code during unpickling. Never load data that could have come from untrusted sources,
826
+ or has been tampered with.
827
+
798
828
  Note:
799
829
  - If you configure `python_multiprocessing=True` (Default: ``True`` ) and `num_parallel_workers>1`
800
830
  (default: ``1`` ) indicates that the multiprocessing mode is started for data load acceleration.
@@ -220,7 +220,7 @@ class Iterator:
220
220
  dataset: Dataset to be iterated over
221
221
  """
222
222
 
223
- def __init__(self, dataset, num_epochs=-1, output_numpy=False, do_copy=True):
223
+ def __init__(self, dataset, num_epochs=-1, output_numpy=False, do_copy=False):
224
224
  self._col_names = None
225
225
 
226
226
  # create a copy of tree and work on it.
@@ -493,7 +493,7 @@ class TupleIterator(Iterator):
493
493
  The derived class of Iterator with list type.
494
494
  """
495
495
 
496
- def __init__(self, dataset, columns=None, num_epochs=-1, output_numpy=False, do_copy=True):
496
+ def __init__(self, dataset, columns=None, num_epochs=-1, output_numpy=False, do_copy=False):
497
497
  if columns is not None:
498
498
  if not isinstance(columns, list):
499
499
  columns = [columns]
@@ -57,12 +57,12 @@ class _Config:
57
57
 
58
58
  def _convert_type(self, key):
59
59
  if key not in self.config:
60
- return os.environ[key]
60
+ return os.environ[key]
61
61
  if isinstance(self.config[key], int):
62
62
  return int(os.environ[key])
63
63
  if isinstance(self.config[key], float):
64
64
  return float(os.environ[key])
65
- return os.environ[key]
65
+ return os.environ[key]
66
66
 
67
67
 
68
68
  config = _Config()
@@ -506,3 +506,11 @@ class MindRecordFromOBS:
506
506
  path = os.path.join(self._local_path, target_dataset)
507
507
  _iteration = MindDataset(dataset_files=[path], shuffle=False)
508
508
  return _iteration.get_col_names()
509
+
510
+ def close(self):
511
+ if self._pool:
512
+ self._pool.terminate()
513
+ self._pool = None
514
+
515
+ def __del__(self):
516
+ self.close()
@@ -51,10 +51,14 @@ class PyTensorOperation:
51
51
  if "transforms" in json_obj.keys():
52
52
  # operations which have transforms as input, need to call _from_json() for each transform to deseriallize
53
53
  transforms = []
54
+ valid_module = ['mindspore.dataset.vision', 'mindspore.dataset.text',
55
+ 'mindspore.dataset.audio', 'mindspore.dataset.transforms']
54
56
  for json_op in json_obj["transforms"]:
55
- transforms.append(getattr(
56
- sys.modules.get(json_op.get("python_module")),
57
- json_op.get("tensor_op_name")).from_json(json.dumps(json_op.get("tensor_op_params"))))
57
+ py_module = sys.modules.get(json_op.get("python_module"))
58
+ if py_module.__package__ not in valid_module:
59
+ raise RuntimeError('Invalid json content, try to serialzie dataset again.')
60
+ transforms.append(getattr(py_module, json_op.get("tensor_op_name")).from_json(
61
+ json.dumps(json_op.get("tensor_op_params"))))
58
62
  new_op.transforms = transforms
59
63
  if "output_type" in json_obj.keys():
60
64
  output_type = np.dtype(json_obj["output_type"])
@@ -165,10 +165,14 @@ class PyTensorOperation:
165
165
  if "transforms" in json_obj.keys():
166
166
  # operations which have transforms as input, need to call _from_json() for each transform to deseriallize
167
167
  transforms = []
168
+ valid_module = ['mindspore.dataset.vision', 'mindspore.dataset.text',
169
+ 'mindspore.dataset.audio', 'mindspore.dataset.transforms']
168
170
  for json_op in json_obj["transforms"]:
169
- transforms.append(getattr(
170
- sys.modules.get(json_op.get("python_module")),
171
- json_op["tensor_op_name"]).from_json(json.dumps(json_op["tensor_op_params"])))
171
+ py_module = sys.modules.get(json_op.get("python_module"))
172
+ if py_module.__package__ not in valid_module:
173
+ raise RuntimeError('Invalid json content, try to serialzie dataset again.')
174
+ transforms.append(getattr(py_module, json_op["tensor_op_name"]).from_json(
175
+ json.dumps(json_op["tensor_op_params"])))
172
176
  new_op.transforms = transforms
173
177
  if "output_type" in json_obj.keys():
174
178
  output_type = np.dtype(json_obj["output_type"])
@@ -351,6 +351,7 @@ def check_resize_interpolation(method):
351
351
 
352
352
  return new_method
353
353
 
354
+
354
355
  def check_device_target(method):
355
356
  """A wrapper that wraps a parameter checker"""
356
357
 
@@ -66,7 +66,7 @@ def is_available():
66
66
 
67
67
  def _is_supported():
68
68
  device_target = ms.context.get_context("device_target")
69
- if device_target == 'CPU' or device_target == 'GPU':
69
+ if device_target in ['CPU', 'GPU']:
70
70
  logger.error(f"{device_target} device is not supported. Please use correct device")
71
71
  return False
72
72
  return True
@@ -14,8 +14,8 @@
14
14
  # ============================================================================
15
15
  """init file for GPU device context"""
16
16
 
17
+ __all__ = ['device_count', 'is_available']
18
+
17
19
  from .device import device_count, is_available
18
20
  from .op_precision import *
19
21
  from .op_tuning import *
20
-
21
- __all__ = ["device_count", "is_available"]
@@ -64,7 +64,7 @@ def is_available():
64
64
 
65
65
  def _is_supported():
66
66
  device_target = ms.context.get_context("device_target")
67
- if device_target == 'CPU' or device_target == 'Ascend':
67
+ if device_target in ['CPU', 'Ascend']:
68
68
  logger.error(f"{device_target} device is not supported. Please use correct device")
69
69
  return False
70
70
  return True
@@ -29,7 +29,8 @@ function_status = {'matmul_allow_tf32': False, 'conv_allow_tf32': False}
29
29
  def matmul_allow_tf32(value):
30
30
  """
31
31
  Whether to convert FP32 to TF32 for Matmul operators.
32
- For detailed information, please refer to `CUBLAS_COMPUTE_32F_FAST_TF32 <https://docs.nvidia.com/cuda/cublas/index.html>`_.
32
+ For detailed information, please refer to `CUBLAS_COMPUTE_32F_FAST_TF32
33
+ <https://docs.nvidia.com/cuda/cublas/index.html>`_.
33
34
 
34
35
  Args:
35
36
  value (bool): Whether to convert FP32 to TF32 for Matmul operators. If not configured, the framework
@@ -50,7 +51,8 @@ def matmul_allow_tf32(value):
50
51
  def conv_allow_tf32(value):
51
52
  """
52
53
  Whether to convert FP32 to TF32 for Conv operators.
53
- For detailed information, please refer to `CUBLAS_COMPUTE_32F_FAST_TF32 <https://docs.nvidia.com/cuda/cublas/index.html>`_.
54
+ For detailed information, please refer to `CUBLAS_COMPUTE_32F_FAST_TF32
55
+ <https://docs.nvidia.com/cuda/cublas/index.html>`_.
54
56
 
55
57
  Args:
56
58
  value (bool): Whether to convert FP32 to HF32 for Conv operators. If not configured, the framework defaults
@@ -27,7 +27,8 @@ function_status = {'conv_fprop_algo': False, 'conv_wgrad_algo': False, 'conv_dgr
27
27
  def conv_fprop_algo(mode):
28
28
  """
29
29
  Specifies convolution forward algorithm.
30
- For detailed information, please refer to `NVIDA cuDNN about cudnnConvolutionForward <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
30
+ For detailed information, please refer to `NVIDA cuDNN about cudnnConvolutionForward
31
+ <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
31
32
 
32
33
  Args:
33
34
  mode (str): convolution forward algorithm. If not configured, the framework defaults to 'normal'.
@@ -80,7 +81,8 @@ def conv_fprop_algo(mode):
80
81
  def conv_wgrad_algo(mode):
81
82
  """
82
83
  Specifies convolution filter grad algorithm.
83
- For detailed information, please refer to `NVIDA cuDNN <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
84
+ For detailed information, please refer to `NVIDA cuDNN
85
+ <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
84
86
 
85
87
  Args:
86
88
  mode (str): convolution filter grad algorithm. If not configured, the framework defaults to 'normal'.
@@ -129,7 +131,8 @@ def conv_wgrad_algo(mode):
129
131
  def conv_dgrad_algo(mode):
130
132
  """
131
133
  Specifies convolution data grad algorithm.
132
- For detailed information, please refer to `NVIDA cuDNN <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
134
+ For detailed information, please refer to `NVIDA cuDNN
135
+ <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
133
136
 
134
137
  Args:
135
138
  mode (str): convolution data grad algorithm. If not configured, the framework defaults to 'normal'.
@@ -15,16 +15,14 @@
15
15
 
16
16
  """Device manager interfaces."""
17
17
 
18
+ __all__ = ['set_device', 'set_deterministic', 'get_current_device']
19
+
18
20
  import os
19
21
  from mindspore import log as logger
20
22
  from mindspore._c_expression import DeviceManagerConf, DeviceContextManager, MSContext, CollectiveManager
21
23
  from mindspore._checkparam import args_type_check
22
24
  from mindspore.parallel._ps_context import _need_reset_device_target_for_ps
23
25
 
24
-
25
- __all__ = ['set_device', 'set_deterministic', 'get_current_device']
26
-
27
-
28
26
  class DeviceInfo(tuple):
29
27
  """
30
28
  DeviceInfo class. Store the current device target and the corresponding device id.
@@ -120,14 +118,21 @@ def set_deterministic(deterministic):
120
118
  """
121
119
  Enables or disables deterministic computing.
122
120
 
123
- When deterministic computing is enabled, the same output is generated if an operator is executed
124
- for multiple times with the same hardware and input.This often slows down operator execution.
125
- In distributed scenario, we suggest user to set deterministic mode before
126
- calling :func:`mindspore.communication.init` to enable deterministic operation for
127
- communication operators in the global communication group.
121
+ This configuration is a global configuration, and once enabled, subsequent calculation operations
122
+ will follow the configuration setting. When deterministic computing is enabled, the same output
123
+ is generated if an operator is executed for multiple times with the same hardware and input. This often
124
+ slows down operator execution.
128
125
 
129
126
  The framework not enabled deterministic computation by default.
130
127
 
128
+ Note:
129
+ - In distributed scenario, we suggest user to set deterministic computing before
130
+ calling :func:`mindspore.communication.init` to enable deterministic operation for
131
+ communication operators in the global communication group.
132
+ - The fixed method for deterministic calculation must be in the same main process as the network,
133
+ operator, etc. Only one deterministic state can be set in the same thread, and it is not recommended
134
+ to set deterministic state multiple times in one thread.
135
+
131
136
  Args:
132
137
  deterministic (bool): Whether to enable deterministic computing.
133
138
 
@@ -139,6 +144,8 @@ def set_deterministic(deterministic):
139
144
  if DeviceManagerConf.get_instance().is_deterministic_configured():
140
145
  raise RuntimeError("The 'mindspore.set_deterministic' can not be set repeatedly.")
141
146
 
147
+ logger.info(f"Set deterministic setting to '{deterministic}'.")
148
+
142
149
  # Must wait for all async created groups to be initialized so that
143
150
  # deterministic feature could be consistent between all processes.
144
151
  CollectiveManager.get_instance().wait_all_comm_init()
mindspore/dnnl.dll CHANGED
Binary file
mindspore/dpcmi.dll CHANGED
Binary file
@@ -19,7 +19,6 @@ import numpy as np
19
19
  from mindspore.common import Tensor, dtype
20
20
  from mindspore.experimental.llm_boost.ascend_native.llm_boost import LLMBoost
21
21
 
22
-
23
22
  def RoundUp(val: int, align: int) -> int:
24
23
  if align == 0:
25
24
  return 0
@@ -43,7 +42,6 @@ def ConvertTensor(nd_mat: np.ndarray, transpose: bool = True, nd2nz: bool = True
43
42
  nz_mat = nz_mat.reshape(r, c)
44
43
  return nz_mat
45
44
 
46
-
47
45
  class LlamaBoostAscendNative(LLMBoost):
48
46
  r"""
49
47
  Implements an Llama model in a single kernel.
@@ -66,7 +64,7 @@ class LlamaBoostAscendNative(LLMBoost):
66
64
  def _prepare_single_layer(self, ckpt, config, id):
67
65
  """ prepares the dictionary of weights of a single layer """
68
66
  prefix = 'model.layers.' + str(id)
69
- is_last = (id == config.num_layers-1)
67
+ is_last = id == config.num_layers-1
70
68
  layer = 'layers.' + str(id) + '.'
71
69
  l_dict = {key: value for key, value in ckpt.items() if layer in key}
72
70
  if config.n_kv_heads is None:
@@ -94,8 +92,8 @@ class LlamaBoostAscendNative(LLMBoost):
94
92
  else:
95
93
  raise RuntimeError("hidden size and ffn hidden size must be divided by rank size without remainder. \
96
94
  hidden_size: ", hid_size, " ffn_hidden_size: ", ffn_hid, " rank_size: ", rank_size)
97
- quant = (self._get_from_dict(l_dict, "_weight_quantizer") is not None)
98
- unite_qkv = (config.num_heads == config.n_kv_heads)
95
+ quant = self._get_from_dict(l_dict, "_weight_quantizer") is not None
96
+ unite_qkv = config.num_heads == config.n_kv_heads
99
97
  self.dictionary[prefix + ".attention_norm.weight"] = \
100
98
  Tensor(self._get_from_dict(l_dict, "attention_norm"), dtype=dtype.float16)
101
99
  self.dictionary[prefix + ".ffn_norm.weight"] = \
@@ -18,7 +18,6 @@ import numpy as np
18
18
  import mindspore as ms
19
19
  from mindspore import ops, Tensor
20
20
  from mindspore import log as logger
21
- from mindspore.ops import operations as P
22
21
  import mindspore.common.dtype as mstype
23
22
  from mindspore._c_expression import _set_format
24
23
  from mindspore.common.parameter import Parameter
@@ -95,8 +94,8 @@ class AtbBoostBase:
95
94
  self.max_base_len, dtype=self.dtype, need_nz=self.need_nz
96
95
  )
97
96
 
98
- self.cast = P.Cast()
99
- self.reshape = P.Reshape()
97
+ self.cast = ops.Cast()
98
+ self.reshape = ops.Reshape()
100
99
  self.kv_quant = None
101
100
  self.rank_id = get_real_rank()
102
101
  self.device_num = get_real_group_size()
@@ -1,34 +1,24 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
1
+ # The code implementation refers to the following files from pytorch:
2
+ # - https://github.com/pytorch/pytorch/blob/v1.13.0/torch/optim/adadelta.py
3
+ # Additional modifications are made by Huawei Technologies Co., Ltd in 2023.
14
4
  # ============================================================================
15
5
  """adadelta"""
16
6
  from __future__ import absolute_import
17
7
 
18
- from mindspore.ops import functional as F, composite as C, operations as P
8
+ from mindspore import ops
19
9
  import mindspore.common.dtype as mstype
20
10
  from mindspore.experimental.optim.optimizer import Optimizer, check_not_less_than, check_not_less_than_without_equal
21
11
  from mindspore import _checkparam as validator
22
12
  from mindspore import jit
23
13
 
24
- _adadelta_opt = C.MultitypeFuncGraph("adadelta_opt")
14
+ _adadelta_opt = ops.MultitypeFuncGraph("adadelta_opt")
25
15
 
26
16
 
27
17
  @_adadelta_opt.register("Function", "Number", "Number", "Tensor", "Tensor", "Tensor", "Tensor", "Tensor")
28
18
  def _tensor_run_opt(opt, rho, epsilon, learning_rate, weight, accum, accum_update, gradient):
29
19
  """Apply adadelta optimizer to the weight parameter."""
30
20
  success = True
31
- success = F.depend(success, opt(weight, accum, accum_update, learning_rate, rho, epsilon, gradient))
21
+ success = ops.depend(success, opt(weight, accum, accum_update, learning_rate, rho, epsilon, gradient))
32
22
  return success
33
23
 
34
24
 
@@ -60,6 +50,9 @@ class Adadelta(Optimizer):
60
50
  &\rule{180mm}{0.4pt} \\[-1.ex]
61
51
  \end{aligned}
62
52
 
53
+ For more details about Adadelta algorithm, please refer to `ADADELTA: An Adaptive Learning Rate Method
54
+ <https://arxiv.org/abs/1212.5701>`_.
55
+
63
56
  .. warning::
64
57
  This is an experimental optimizer API that is subject to change.
65
58
  This module must be used with lr scheduler module in `LRScheduler Class
@@ -129,18 +122,18 @@ class Adadelta(Optimizer):
129
122
 
130
123
  self.accum = self.parameters.clone(prefix="accum", init=0)
131
124
  self.accum_update = self.parameters.clone(prefix="accum_update", init=0)
132
- self.opt = P.ApplyAdadelta()
133
- self.op_cast = P.Cast()
125
+ self.opt = ops.ApplyAdadelta()
126
+ self.op_cast = ops.Cast()
134
127
 
135
128
  @jit
136
129
  def implementation(self, lr, rho, eps, maximize, weight_decay, start_id, end_id, gradients):
137
130
  """Extract the common computing part for acceleration"""
138
131
  params = self.parameters[start_id: end_id]
139
- grads = tuple([grad if not maximize else F.neg(grad) for grad in gradients[start_id: end_id]])
132
+ grads = tuple([grad if not maximize else ops.neg(grad) for grad in gradients[start_id: end_id]])
140
133
  grads = self._decay_weight(weight_decay, params, grads)
141
134
  accum = self.accum[start_id: end_id]
142
135
  accum_update = self.accum_update[start_id: end_id]
143
- self.hyper_map(F.partial(_adadelta_opt, self.opt, rho, eps, lr),
136
+ self.hyper_map(ops.partial(_adadelta_opt, self.opt, rho, eps, lr),
144
137
  params, accum, accum_update, grads)
145
138
  return True
146
139
 
@@ -1,34 +1,24 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
1
+ # The code implementation refers to the following files from pytorch:
2
+ # - https://github.com/pytorch/pytorch/blob/v1.13.0/torch/optim/adagrad.py
3
+ # Additional modifications are made by Huawei Technologies Co., Ltd in 2023.
14
4
  # ============================================================================
15
5
  """adagrad"""
16
6
  from __future__ import absolute_import
17
7
 
18
- from mindspore.ops import functional as F, composite as C, operations as P
8
+ from mindspore import ops
19
9
  from mindspore.common import Tensor, Parameter
20
10
  import mindspore.common.dtype as mstype
21
11
  from mindspore.experimental.optim.optimizer import Optimizer, check_not_less_than, check_not_less_than_without_equal
22
12
  from mindspore import jit
23
13
 
24
- _adagrad_opt = C.MultitypeFuncGraph("adagrad_opt")
14
+ _adagrad_opt = ops.MultitypeFuncGraph("adagrad_opt")
25
15
 
26
16
 
27
17
  @_adagrad_opt.register("Function", "Tensor", "Tensor", "Tensor", "Tensor")
28
18
  def _tensor_run_opt(opt, learning_rate, weight, accum, gradient):
29
19
  """Apply adagrad optimizer to the weight parameter."""
30
20
  success = True
31
- success = F.depend(success, opt(weight, accum, learning_rate, gradient))
21
+ success = ops.depend(success, opt(weight, accum, learning_rate, gradient))
32
22
  return success
33
23
 
34
24
 
@@ -57,6 +47,9 @@ class Adagrad(Optimizer):
57
47
  &\rule{160mm}{0.4pt} \\[-1.ex]
58
48
  \end{aligned}
59
49
 
50
+ For more details about Adagrad algorithm, please refer to `Adaptive Subgradient Methods for Online Learning and \
51
+ Stochastic Optimization <https://jmlr.org/papers/v12/duchi11a.html>`_.
52
+
60
53
  .. warning::
61
54
  This is an experimental optimizer API that is subject to change.
62
55
  This module must be used with lr scheduler module in `LRScheduler Class
@@ -129,22 +122,22 @@ class Adagrad(Optimizer):
129
122
  super(Adagrad, self).__init__(params, defaults)
130
123
 
131
124
  self.accum = self.parameters.clone(prefix="accum", init=initial_accumulator_value)
132
- self.op_cast = P.Cast()
125
+ self.op_cast = ops.Cast()
133
126
  self.step_t = Parameter(Tensor(0, mstype.int32), "step_t")
134
127
  self.increase_tensor = Tensor(1, mstype.int32)
135
- self.assignadd = P.AssignAdd()
136
- self.assign = P.Assign()
128
+ self.assignadd = ops.AssignAdd()
129
+ self.assign = ops.Assign()
137
130
 
138
131
  @jit
139
132
  def implementation(self, eps, lr, lr_decay, maximize, weight_decay, start_id, end_id, gradients):
140
133
  """Extract the common computing part for acceleration"""
141
- opt = P.ApplyAdagradV2(epsilon=eps, update_slots=True)
134
+ opt = ops.ApplyAdagradV2(epsilon=eps, update_slots=True)
142
135
  decay_lr = lr / (1 + self.step_t * lr_decay)
143
136
  params = self.parameters[start_id: end_id]
144
- grads = tuple([grad if not maximize else F.neg(grad) for grad in gradients[start_id: end_id]])
137
+ grads = tuple([grad if not maximize else ops.neg(grad) for grad in gradients[start_id: end_id]])
145
138
  grads = self._decay_weight(weight_decay, params, grads)
146
139
  accum = self.accum[start_id: end_id]
147
- self.hyper_map(F.partial(_adagrad_opt, opt, decay_lr), params, accum, grads)
140
+ self.hyper_map(ops.partial(_adagrad_opt, opt, decay_lr), params, accum, grads)
148
141
  return True
149
142
 
150
143
  def construct(self, gradients):