mindspore 2.6.0rc1__cp310-cp310-win_amd64.whl → 2.7.0rc1__cp310-cp310-win_amd64.whl

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

Potentially problematic release.


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

Files changed (407) 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.cp310-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp310-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 +37 -62
  15. mindspore/_extends/parse/resources.py +39 -0
  16. mindspore/_extends/parse/standard_method.py +43 -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 +77 -16
  37. mindspore/common/api.py +238 -113
  38. mindspore/common/dtype.py +21 -11
  39. mindspore/common/dump.py +10 -15
  40. mindspore/common/generator.py +5 -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 +81 -81
  49. mindspore/communication/_comm_helper.py +46 -4
  50. mindspore/communication/management.py +79 -7
  51. mindspore/context.py +58 -40
  52. mindspore/dataset/core/config.py +3 -3
  53. mindspore/dataset/engine/datasets.py +20 -7
  54. mindspore/dataset/engine/datasets_user_defined.py +33 -3
  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 -7
  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 +27 -7
  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 +6 -46
  116. mindspore/mint/distributed/__init__.py +1 -0
  117. mindspore/mint/distributed/distributed.py +212 -9
  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 +137 -101
  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 +328 -502
  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 +117 -110
  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 +3 -3
  157. mindspore/nn/optim/adasum.py +2 -2
  158. mindspore/nn/optim/asgd.py +2 -0
  159. mindspore/nn/optim/optimizer.py +1 -1
  160. mindspore/nn/optim/thor.py +2 -2
  161. mindspore/nn/probability/distribution/exponential.py +2 -1
  162. mindspore/nn/probability/distribution/poisson.py +2 -1
  163. mindspore/nn/sparse/sparse.py +3 -3
  164. mindspore/nn/wrap/cell_wrapper.py +34 -37
  165. mindspore/nn/wrap/grad_reducer.py +37 -37
  166. mindspore/nn/wrap/loss_scale.py +72 -74
  167. mindspore/numpy/array_creations.py +5 -5
  168. mindspore/numpy/fft.py +1 -1
  169. mindspore/numpy/math_ops.py +5 -5
  170. mindspore/opencv_core452.dll +0 -0
  171. mindspore/opencv_imgcodecs452.dll +0 -0
  172. mindspore/opencv_imgproc452.dll +0 -0
  173. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  174. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  175. mindspore/ops/_vmap/vmap_array_ops.py +31 -13
  176. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  177. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +42 -11
  178. mindspore/ops/auto_generate/gen_extend_func.py +23 -141
  179. mindspore/ops/auto_generate/gen_ops_def.py +727 -321
  180. mindspore/ops/auto_generate/gen_ops_prim.py +1721 -984
  181. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  182. mindspore/ops/composite/__init__.py +10 -0
  183. mindspore/ops/composite/base.py +8 -4
  184. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  185. mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
  186. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  187. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  188. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  189. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  190. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  191. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  192. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  193. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  194. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  195. mindspore/ops/function/__init__.py +3 -1
  196. mindspore/ops/function/_add_attr_func.py +11 -6
  197. mindspore/ops/function/array_func.py +9 -96
  198. mindspore/ops/function/debug_func.py +4 -3
  199. mindspore/ops/function/grad/grad_func.py +1 -1
  200. mindspore/ops/function/math_func.py +33 -540
  201. mindspore/ops/function/nn_func.py +28 -74
  202. mindspore/ops/function/other_func.py +4 -1
  203. mindspore/ops/function/random_func.py +44 -5
  204. mindspore/ops/function/vmap_func.py +2 -1
  205. mindspore/ops/functional.py +2 -3
  206. mindspore/ops/functional_overload.py +571 -6
  207. mindspore/ops/op_info_register.py +21 -0
  208. mindspore/ops/operations/__init__.py +16 -11
  209. mindspore/ops/operations/_custom_ops_utils.py +689 -34
  210. mindspore/ops/operations/_inner_ops.py +3 -6
  211. mindspore/ops/operations/_sequence_ops.py +1 -1
  212. mindspore/ops/operations/array_ops.py +2 -2
  213. mindspore/ops/operations/comm_ops.py +185 -26
  214. mindspore/ops/operations/custom_ops.py +294 -174
  215. mindspore/ops/operations/debug_ops.py +59 -4
  216. mindspore/ops/operations/image_ops.py +13 -13
  217. mindspore/ops/operations/manually_defined/ops_def.py +15 -16
  218. mindspore/ops/operations/math_ops.py +3 -4
  219. mindspore/ops/operations/nn_ops.py +7 -39
  220. mindspore/ops/primitive.py +6 -10
  221. mindspore/ops/tensor_method.py +47 -8
  222. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  223. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  224. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  225. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  226. mindspore/ops_generate/common/base_generator.py +14 -0
  227. mindspore/ops_generate/common/gen_constants.py +8 -3
  228. mindspore/ops_generate/common/gen_utils.py +0 -19
  229. mindspore/ops_generate/common/op_proto.py +11 -4
  230. mindspore/ops_generate/common/template.py +88 -11
  231. mindspore/ops_generate/gen_ops.py +1 -1
  232. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  233. mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
  234. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  235. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  236. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  237. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  238. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  239. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
  240. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  241. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  242. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  243. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  244. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  245. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  246. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  247. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  248. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  249. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  250. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  251. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  252. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  253. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  254. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  255. mindspore/parallel/_auto_parallel_context.py +11 -8
  256. mindspore/parallel/_cell_wrapper.py +113 -45
  257. mindspore/parallel/_parallel_serialization.py +1 -1
  258. mindspore/parallel/_ps_context.py +4 -6
  259. mindspore/parallel/_tensor.py +167 -12
  260. mindspore/parallel/_transformer/moe.py +1 -1
  261. mindspore/parallel/_transformer/transformer.py +13 -8
  262. mindspore/parallel/auto_parallel.py +14 -7
  263. mindspore/parallel/checkpoint_convert.py +3 -3
  264. mindspore/parallel/checkpoint_transform.py +11 -7
  265. mindspore/parallel/cluster/process_entity/_api.py +84 -48
  266. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  267. mindspore/parallel/cluster/run.py +43 -4
  268. mindspore/parallel/function/__init__.py +8 -1
  269. mindspore/parallel/function/reshard_func.py +6 -7
  270. mindspore/parallel/nn/__init__.py +15 -2
  271. mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
  272. mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
  273. mindspore/parallel/shard.py +3 -4
  274. mindspore/parallel/transform_safetensors.py +463 -174
  275. mindspore/pgodb140.dll +0 -0
  276. mindspore/pgort140.dll +0 -0
  277. mindspore/profiler/__init__.py +2 -1
  278. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  279. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  280. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
  281. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  282. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  283. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  284. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  285. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  286. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  287. mindspore/profiler/analysis/task_manager.py +1 -1
  288. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  289. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  290. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
  291. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  292. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  293. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  294. mindspore/profiler/common/constant.py +16 -0
  295. mindspore/profiler/common/profiler_context.py +25 -27
  296. mindspore/profiler/common/profiler_info.py +0 -16
  297. mindspore/profiler/common/profiler_op_analyse.py +235 -0
  298. mindspore/profiler/common/profiler_output_path.py +23 -8
  299. mindspore/profiler/common/profiler_parameters.py +128 -35
  300. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  301. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  302. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  303. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  304. mindspore/profiler/dynamic_profiler.py +305 -314
  305. mindspore/profiler/envprofiler.py +12 -7
  306. mindspore/profiler/experimental_config.py +96 -6
  307. mindspore/profiler/mstx.py +33 -12
  308. mindspore/profiler/platform/__init__.py +2 -3
  309. mindspore/profiler/platform/npu_profiler.py +29 -19
  310. mindspore/profiler/profiler.py +35 -19
  311. mindspore/profiler/profiler_action_controller.py +64 -76
  312. mindspore/profiler/schedule.py +10 -4
  313. mindspore/rewrite/common/config.py +1 -0
  314. mindspore/rewrite/common/namer.py +1 -0
  315. mindspore/rewrite/common/namespace.py +1 -0
  316. mindspore/rewrite/node/node.py +31 -11
  317. mindspore/rewrite/parsers/assign_parser.py +1 -1
  318. mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
  319. mindspore/run_check/_check_version.py +7 -10
  320. mindspore/runtime/__init__.py +5 -5
  321. mindspore/runtime/event.py +10 -4
  322. mindspore/runtime/executor.py +60 -45
  323. mindspore/runtime/memory.py +30 -32
  324. mindspore/runtime/thread_bind_core.py +298 -164
  325. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  326. mindspore/swresample-4.dll +0 -0
  327. mindspore/swscale-6.dll +0 -0
  328. mindspore/tbbmalloc.dll +0 -0
  329. mindspore/tinyxml2.dll +0 -0
  330. mindspore/train/_utils.py +14 -4
  331. mindspore/train/amp.py +43 -20
  332. mindspore/train/callback/__init__.py +5 -5
  333. mindspore/train/callback/_checkpoint.py +3 -6
  334. mindspore/train/callback/_flops_collector.py +1 -1
  335. mindspore/train/callback/_landscape.py +0 -1
  336. mindspore/train/callback/_train_fault_tolerance.py +97 -16
  337. mindspore/train/data_sink.py +11 -2
  338. mindspore/train/dataset_helper.py +9 -0
  339. mindspore/train/model.py +135 -55
  340. mindspore/train/serialization.py +133 -111
  341. mindspore/train/summary/summary_record.py +13 -2
  342. mindspore/turbojpeg.dll +0 -0
  343. mindspore/utils/__init__.py +3 -2
  344. mindspore/utils/dryrun.py +0 -6
  345. mindspore/utils/runtime_execution_order_check.py +163 -77
  346. mindspore/utils/sdc_detect.py +68 -0
  347. mindspore/utils/utils.py +6 -9
  348. mindspore/vcmeta.dll +0 -0
  349. mindspore/vcruntime140.dll +0 -0
  350. mindspore/vcruntime140_1.dll +0 -0
  351. mindspore/version.py +1 -1
  352. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
  353. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +356 -394
  354. mindspore/_deprecated/jit.py +0 -198
  355. mindspore/experimental/es/__init__.py +0 -22
  356. mindspore/experimental/es/embedding_service.py +0 -891
  357. mindspore/experimental/es/embedding_service_layer.py +0 -581
  358. mindspore/profiler/parser/__init__.py +0 -14
  359. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  360. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  361. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  362. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  363. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  364. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  365. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  366. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  367. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  368. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  369. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  370. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  371. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  372. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  373. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  374. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  375. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  376. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  377. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  378. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  379. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  380. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  381. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  382. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  383. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  384. mindspore/profiler/parser/container.py +0 -229
  385. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  386. mindspore/profiler/parser/flops_parser.py +0 -531
  387. mindspore/profiler/parser/framework_enum.py +0 -111
  388. mindspore/profiler/parser/framework_parser.py +0 -464
  389. mindspore/profiler/parser/framework_struct.py +0 -61
  390. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  391. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  392. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  393. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  394. mindspore/profiler/parser/hccl_parser.py +0 -573
  395. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  396. mindspore/profiler/parser/integrator.py +0 -526
  397. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  398. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  399. mindspore/profiler/parser/minddata_parser.py +0 -186
  400. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  401. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  402. mindspore/profiler/parser/optime_parser.py +0 -250
  403. mindspore/profiler/parser/profiler_info.py +0 -213
  404. mindspore/profiler/parser/step_trace_parser.py +0 -666
  405. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
  406. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
  407. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
@@ -1,581 +0,0 @@
1
- # Copyright 2024 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.
14
- # ============================================================================
15
- """embedding service layer"""
16
- import numpy as np
17
-
18
- import mindspore as ms
19
- from mindspore import nn, ops, Tensor, Parameter
20
- from mindspore.ops.auto_generate import init_partition_map, init_embedding_hashmap, embedding_table_find_and_init,\
21
- embedding_table_find, fake_remote_lookup_uniqued
22
- from mindspore.ops.auto_generate import EmbeddingTableImport, EmbeddingTableExport, \
23
- EmbeddingComputeVarImport, EmbeddingComputeVarExport, EmbeddingTableEvict, EmbeddingFeatureMappingV2, \
24
- EmbeddingFeatureMappingTableSize, EmbeddingFeatureMappingFind, EmbeddingFeatureMappingExport, \
25
- EmbeddingFeatureMappingFileSize, EmbeddingFeatureMappingImport, EmbeddingFeatureMappingInsert
26
-
27
-
28
- class CounterFilter:
29
- """ Counter filter for embedding table. """
30
- def __init__(self, filter_freq, default_key_or_value, default_key=None, default_value=None):
31
- self.filter_freq = filter_freq
32
- self.default_key = default_key
33
- self.default_value = default_value
34
- self.default_key_or_value = default_key_or_value
35
-
36
-
37
- def _get_slot_var_num(optimizer_mode):
38
- """ get slot var num by diff optimizer. """
39
- # adam, adamw, rmsprop include m and v, 2 slots; adagrad include accumulator, 1 slot; sgd include 0 slot
40
- if optimizer_mode == "adagrad":
41
- return 1
42
- if optimizer_mode == "sgd":
43
- return 0
44
- if optimizer_mode == "":
45
- return 0
46
- return 2
47
-
48
-
49
- def _get_backward_float_params(optimizer_mode):
50
- """
51
- backward_float_params (Union[tuple[float], list[float]]):
52
- - when the backward_mode is 'adam', it means:
53
- [beta1_power, beta2_power, lr, beta1, beta2, epsilon]
54
- - when the backward_mode is 'ftrl', it means:
55
- [lr, lr_power, lambda1, lambda2]
56
- - when the backward_mode is 'adamw', it means:
57
- [beta1_power, beta2_power, lr, weight_decay, beta1, beta2, epsilon]
58
- - when the backward_mode is 'adagrad', it means [lr,]
59
- """
60
- if optimizer_mode == "adagrad" or optimizer_mode == "sgd":
61
- return [0.001]
62
- if optimizer_mode == "adam":
63
- return [0.9, 0.99, 0.001, 0.9, 0.999, 1e-08]
64
- if optimizer_mode == "ftrl":
65
- return [0.001, -0.5, 0.0, 0.0]
66
- if optimizer_mode == "rmsprop":
67
- return [0.001, 0.9, 0.1, 1e-08]
68
- # adamw
69
- return [0.9, 0.99, 0.001, 0.01, 0.9, 0.999, 1e-08]
70
-
71
-
72
- class ESInitLayer(nn.Cell):
73
- """
74
- ESInitLayer.
75
- """
76
- def __init__(self, ps_num, ps_ids, train_mode, train_level, table_id, bucket_size, embedding_dim, slot_var_num,
77
- es_initializer, filter_mode, optimizer, optimizer_params, max_feature_count, mode="train"):
78
- super(ESInitLayer, self).__init__()
79
- self.ps_num = ps_num
80
- self.ps_ids = ps_ids
81
- self.train_mode = train_mode
82
- self.train_level = train_level
83
- self.table_id = table_id
84
- self.bucket_size = bucket_size
85
- self.embedding_dim = embedding_dim
86
- self.es_initializer = es_initializer
87
- self.filter_mode = filter_mode
88
- self.optimizer_mode = optimizer if optimizer else ''
89
- self.optimizer_params = optimizer_params if optimizer_params else ()
90
- self.max_feature_count = max_feature_count
91
-
92
- self.ps_num_tensor = Tensor(self.ps_num, ms.int32)
93
- self.ps_ids_tensor = Tensor(self.ps_ids, ms.int32)
94
- self.table_id_tensor = Tensor(self.table_id, ms.int32)
95
- self.depend = ops.Depend()
96
- self.slot_var_num = _get_slot_var_num(self.optimizer_mode)
97
- if mode == "train":
98
- self.value_total_len = self.embedding_dim * (self.slot_var_num + 1) + 2
99
- else:
100
- self.value_total_len = self.embedding_dim * (self.slot_var_num + 1)
101
- self.filter_freq = None
102
- self.default_key = None
103
- self.default_value = None
104
-
105
- def construct(self):
106
- """
107
- ESInitLayer construct: init embedding hashmap
108
- """
109
- init_partition = init_partition_map(self.ps_num_tensor,
110
- self.ps_ids_tensor,
111
- _embedding_dim=self.embedding_dim,
112
- _max_key_num=self.max_feature_count,
113
- _ps_num=self.ps_num)
114
- depend = self.depend(self.table_id_tensor, init_partition)
115
- if self.train_mode:
116
- if self.train_level:
117
- return init_embedding_hashmap(table_id=depend,
118
- bucket_size=self.bucket_size,
119
- value_total_len=self.value_total_len,
120
- embedding_dim=self.embedding_dim,
121
- initializer_mode=self.es_initializer.initializer_mode,
122
- constant_value=self.es_initializer.constant_value,
123
- min=self.es_initializer.min,
124
- max=self.es_initializer.max,
125
- mu=self.es_initializer.mu,
126
- sigma=self.es_initializer.sigma,
127
- seed=self.es_initializer.seed,
128
- seed2=self.es_initializer.seed,
129
- filter_mode=self.filter_mode,
130
- optimizer_mode=self.optimizer_mode,
131
- optimizer_params=self.optimizer_params,
132
- _table_id=self.table_id)
133
- return init_embedding_hashmap(table_id=depend,
134
- bucket_size=self.bucket_size,
135
- value_total_len=self.value_total_len,
136
- embedding_dim=self.embedding_dim,
137
- initializer_mode=None, constant_value=None,
138
- min=None, max=None, mu=None, sigma=None,
139
- seed=None, seed2=None, filter_mode=self.filter_mode,
140
- optimizer_mode=self.optimizer_mode,
141
- optimizer_params=self.optimizer_params,
142
- _table_id=self.table_id)
143
-
144
- return init_embedding_hashmap(table_id=depend,
145
- value_total_len=self.value_total_len,
146
- embedding_dim=self.embedding_dim,
147
- bucket_size=self.bucket_size,
148
- filter_mode=self.filter_mode,
149
- optimizer_mode=self.optimizer_mode,
150
- optimizer_params=self.optimizer_params,
151
- _table_id=self.table_id)
152
-
153
-
154
- class EsEmbeddingLookup(nn.Cell):
155
- r"""
156
- Look up a PS embedding.
157
-
158
- .. warning::
159
- This is an experimental EmbeddingService API that is subject to change.
160
-
161
- Args:
162
- table_id (int): The table id.
163
- es_initializer (EsInitializer): The EsInitialize object for PS embedding with table_id,
164
- which can be None when the inference is performed.
165
- embedding_dim (int): The embedding dim of keys for PS embedding with table_id.
166
- max_key_num (int): The num of keys when lookup.
167
- optimizer_mode (str): The type of optimizer. Default is ``None``.
168
- optimizer_params (tuple[float]): The parameters of optimizer. Default is ``None``.
169
- es_filter (CounterFilter): The option of counter filter for PS embedding with table_id. Default is ``None``.
170
- es_padding_key (PaddingParamsOption): The option of padding key for PS embedding with table_id.
171
- Default is ``None``.
172
- es_completion_key (CompletionKeyOption): The option of completion key for PS embedding with table_id.
173
- Default is ``None``.
174
-
175
- Inputs:
176
- - **keys** (Tensor): The keys of each feature in PS embedding.
177
- - **actual_keys_input** (Tensor): Tensor composed of all unique elements of keys.
178
- - **unique_indices** (Tensor): The index value of each element in keys to actual_keys_input .
179
- - **key_count** (Tensor): The count of each element in the actual_keys_input to keys.
180
-
181
- Supported Platforms:
182
- ``Atlas A2 training series products``
183
- """
184
-
185
- def __init__(self, table_id, es_initializer, embedding_dim, max_key_num, optimizer_mode=None,
186
- optimizer_params=None, es_filter=None, es_padding_key=None, es_completion_key=None):
187
- super(EsEmbeddingLookup, self).__init__()
188
- self.cast = ops.cast
189
- self.reshape = ops.Reshape()
190
-
191
- self.table_id = Tensor(table_id, ms.int32)
192
- self._table_id = table_id
193
- self.es_initializer = es_initializer
194
- self.embedding_dim = embedding_dim
195
- self.optimizer_mode = optimizer_mode
196
- self.backward_float_params = _get_backward_float_params(self.optimizer_mode)
197
- self.max_key_num = max_key_num
198
- self.es_filter = es_filter
199
-
200
- self.slot_var_num = _get_slot_var_num(self.optimizer_mode)
201
- self.value_total_len = [self.embedding_dim[table_id] * (self.slot_var_num + 1) + 2] * len(embedding_dim)
202
-
203
- self.default_key_or_value = 1
204
- self.filter_freq = 0
205
- self.default_key = 0
206
- self.optimizer_params = optimizer_params
207
-
208
- if es_filter is not None:
209
- self.filter_mode = "counter"
210
- self.filter_freq = es_filter.filter_freq
211
- self.default_key_or_value = es_filter.default_key_or_value
212
- self.default_key = 0 if es_filter.default_key is None else es_filter.default_key
213
- self.default_value = 0.0
214
- else:
215
- self.filter_mode = "no_filter"
216
- self.filter_freq = 1
217
- self.default_key_or_value = 1
218
- self.default_key = 0
219
- self.default_value = 1.0
220
-
221
- self.global_step = 1
222
- if es_padding_key is not None:
223
- self.mask_zero = 0 if es_padding_key.mask_zero is None else int(es_padding_key.mask_zero)
224
- self.padding_key = es_padding_key.padding_key
225
- self.padding_key_mask = int(es_padding_key.mask)
226
- else:
227
- self.mask_zero = 0
228
- self.padding_key = 0
229
- self.padding_key_mask = 1
230
- if self.optimizer_mode in ["adam", "ftrl", "adagrad", "sgd", "rmsprop"]:
231
- self.backward_int_params = ([self.global_step], [self.mask_zero],
232
- [self.padding_key], [self.padding_key_mask])
233
- else:
234
- self.backward_int_params = ([self.global_step], [0], [0], [self.mask_zero],
235
- [self.padding_key], [self.padding_key_mask])
236
-
237
- if es_completion_key is not None:
238
- self.completion_key = es_completion_key.completion_key
239
- self.completion_key_mask = int(es_completion_key.mask)
240
- else:
241
- self.completion_key = 0
242
- self.completion_key_mask = 1
243
-
244
- self.b = Parameter(Tensor(0, ms.float32), name="b", requires_grad=True)
245
- self.max_grad_norm = Tensor([1.0], ms.float32)
246
-
247
- def construct(self, keys, actual_keys_input=None, unique_indices=None, key_count=None):
248
- """
249
- Using the corresponding query method to calculate the PS embedding for each key.
250
- """
251
- origin_shape = None
252
- if len(keys.shape) != 1:
253
- origin_shape = keys.shape
254
- keys = self.reshape(keys, (-1,))
255
- keys = self.cast(keys, ms.int64)
256
- use_host_unique = False
257
- use_counter_filter = 1 if self.filter_mode == "counter" else 0
258
- if (actual_keys_input is not None) and (unique_indices is not None):
259
- use_host_unique = True
260
- actual_keys_input = self.cast(actual_keys_input, ms.int64)
261
- unique_indices = self.cast(unique_indices, ms.int32)
262
- if use_host_unique:
263
- if not use_counter_filter:
264
- key_count = keys
265
- if self.training:
266
- if use_host_unique:
267
- output = fake_remote_lookup_uniqued(table_id=self.table_id, keys=keys,
268
- actual_keys_num=actual_keys_input,
269
- unique_indices=unique_indices, key_count=key_count,
270
- max_grad_norm=self.max_grad_norm,
271
- embedding_dim=self.embedding_dim,
272
- initializer_mode=self.es_initializer.initializer_mode,
273
- constant_value=self.es_initializer.constant_value,
274
- min=self.es_initializer.min,
275
- max=self.es_initializer.max,
276
- mu=self.es_initializer.mu,
277
- sigma=self.es_initializer.sigma,
278
- seed=self.es_initializer.seed,
279
- seed2=self.es_initializer.seed,
280
- value_total_len=self.value_total_len,
281
- filter_mode=self.filter_mode,
282
- filter_freq=self.filter_freq,
283
- default_key_or_value=self.default_key_or_value,
284
- default_key=self.default_key,
285
- default_value=self.default_value,
286
- optimizer_mode=self.optimizer_mode,
287
- optimizer_params=self.optimizer_params,
288
- _max_key_num=self.max_key_num, _table_id=self._table_id,
289
- _use_counter_filter=use_counter_filter,
290
- backward_mode=self.optimizer_mode,
291
- backward_int_params=self.backward_int_params,
292
- backward_float_params=self.backward_float_params,
293
- completion_key=self.completion_key,
294
- completion_key_mask=self.completion_key_mask,
295
- parameter=self.b
296
- )
297
- else:
298
- output = embedding_table_find_and_init(self.table_id, keys,
299
- max_grad_norm=self.max_grad_norm,
300
- embedding_dim=self.embedding_dim,
301
- initializer_mode=self.es_initializer.initializer_mode,
302
- constant_value=self.es_initializer.constant_value,
303
- min=self.es_initializer.min,
304
- max=self.es_initializer.max,
305
- mu=self.es_initializer.mu,
306
- sigma=self.es_initializer.sigma,
307
- seed=self.es_initializer.seed,
308
- seed2=self.es_initializer.seed,
309
- value_total_len=self.value_total_len,
310
- filter_mode=self.filter_mode,
311
- filter_freq=self.filter_freq,
312
- default_key_or_value=self.default_key_or_value,
313
- default_key=self.default_key,
314
- default_value=self.default_value,
315
- optimizer_mode=self.optimizer_mode,
316
- optimizer_params=self.optimizer_params,
317
- _max_key_num=self.max_key_num, _table_id=self._table_id,
318
- _use_counter_filter=use_counter_filter,
319
- backward_mode=self.optimizer_mode,
320
- backward_int_params=self.backward_int_params,
321
- backward_float_params=self.backward_float_params,
322
- completion_key=self.completion_key,
323
- completion_key_mask=self.completion_key_mask,
324
- parameter=self.b)
325
- else:
326
- output = embedding_table_find(self.table_id, keys, embedding_dim=self.embedding_dim,
327
- default_value=self.default_value,
328
- _max_key_num=self.max_key_num, _table_id=self._table_id,
329
- _use_counter_filter=use_counter_filter)
330
- if origin_shape is not None:
331
- output = self.reshape(output, origin_shape + (-1,))
332
- return output
333
-
334
-
335
- class ESEmbeddingCKPTExport(nn.Cell):
336
- """
337
- ESEmbeddingCKPTExport.
338
- """
339
- def __init__(self, embedding_dim_list, value_total_len_list, table_name_list, table_id_list,
340
- file_path, steps_to_live_list):
341
- super(ESEmbeddingCKPTExport, self).__init__()
342
- self.embedding_table_export = EmbeddingTableExport(
343
- embedding_dim_list,
344
- value_total_len_list,
345
- table_name=table_name_list,
346
- steps_to_live_list=steps_to_live_list)
347
- self.embedding_compute_var_export = EmbeddingComputeVarExport(table_name_list)
348
- self.file_path = Tensor(np.array(file_path))
349
- self.ps_id_tensor = Tensor(0, ms.int32)
350
- self.table_id_tensor = Tensor(table_id_list, ms.int32)
351
- self.depend = ops.Depend()
352
-
353
- def construct(self, global_step):
354
- export_op1 = self.embedding_table_export(self.file_path, self.ps_id_tensor, self.table_id_tensor, global_step)
355
- z = self.depend(self.file_path, export_op1)
356
- export_op2 = self.embedding_compute_var_export(z, self.ps_id_tensor, self.table_id_tensor, global_step)
357
- return export_op2
358
-
359
-
360
- class ESEmbeddingTableExport(nn.Cell):
361
- """
362
- ESEmbeddingTableExport.
363
- """
364
- def __init__(self, embedding_dim_list, value_total_len_list, table_name_list, table_id_list,
365
- file_path, steps_to_live_list):
366
- super(ESEmbeddingTableExport, self).__init__()
367
- self.op = EmbeddingTableExport(
368
- embedding_dim_list,
369
- value_total_len_list,
370
- table_name=table_name_list,
371
- steps_to_live_list=steps_to_live_list,
372
- only_var_flag=True)
373
- self.file_path = Tensor(np.array(file_path))
374
- self.ps_id_tensor = Tensor(0, ms.int32)
375
- self.table_id_tensor = Tensor(table_id_list, ms.int32)
376
-
377
- def construct(self, global_step):
378
- y = self.op(self.file_path, self.ps_id_tensor, self.table_id_tensor, global_step)
379
- return y
380
-
381
-
382
- class ESIncrementalEmbeddingTableExport(nn.Cell):
383
- """
384
- ESIncrementalEmbeddingTableExport.
385
- """
386
- def __init__(self, embedding_dim_list, value_total_len_list, table_name_list, table_id_list,
387
- file_path, steps_to_live_list):
388
- super(ESIncrementalEmbeddingTableExport, self).__init__()
389
- self.op = EmbeddingTableExport(
390
- embedding_dim_list,
391
- value_total_len_list,
392
- table_name=table_name_list,
393
- steps_to_live_list=steps_to_live_list,
394
- export_mode="new",
395
- only_var_flag=True)
396
- self.file_path = Tensor(np.array(file_path))
397
- self.ps_id_tensor = Tensor(0, ms.int32)
398
- self.table_id_tensor = Tensor(table_id_list, ms.int32)
399
-
400
- def construct(self, global_step):
401
- y = self.op(self.file_path, self.ps_id_tensor, self.table_id_tensor, global_step)
402
- return y
403
-
404
-
405
- class ESEmbeddingCKPTImport(nn.Cell):
406
- """
407
- ESEmbeddingCKPTImport.
408
- """
409
- def __init__(self, embedding_dim_list, value_total_len_list, table_name_list, table_id_list, file_path):
410
- super(ESEmbeddingCKPTImport, self).__init__()
411
- self.embedding_table_import = EmbeddingTableImport(
412
- embedding_dim_list,
413
- value_total_len_list,
414
- table_name=table_name_list)
415
- self.embedding_compute_var_import = EmbeddingComputeVarImport(table_name_list)
416
- self.file_path = Tensor(np.array(file_path))
417
- self.ps_id_tensor = Tensor(0, ms.int32)
418
- self.table_id_tensor = Tensor(table_id_list, ms.int32)
419
- self.depend = ops.Depend()
420
-
421
- def construct(self, global_step):
422
- export_op1 = self.embedding_table_import(self.file_path, self.ps_id_tensor, self.table_id_tensor, global_step)
423
- z = self.depend(self.file_path, export_op1)
424
- export_op2 = self.embedding_compute_var_import(z, self.ps_id_tensor, self.table_id_tensor, global_step)
425
- return export_op2
426
-
427
-
428
- class ESEmbeddingTableImport(nn.Cell):
429
- """
430
- ESEmbeddingTableImport.
431
- """
432
- def __init__(self, embedding_dim_list, value_total_len_list, table_name_list, table_id_list, file_path):
433
- super(ESEmbeddingTableImport, self).__init__()
434
- self.op = EmbeddingTableImport(
435
- embedding_dim_list,
436
- value_total_len_list,
437
- table_name=table_name_list,
438
- only_var_flag=True)
439
- self.file_path = Tensor(np.array(file_path))
440
- self.ps_id_tensor = Tensor(0, ms.int32)
441
- self.table_id_tensor = Tensor(table_id_list, ms.int32)
442
-
443
- def construct(self, global_step):
444
- y = self.op(self.file_path, self.ps_id_tensor, self.table_id_tensor, global_step)
445
- return y
446
-
447
-
448
- class ESEmbeddingTableEvict(nn.Cell):
449
- """
450
- ESEmbeddingTableEvict.
451
- """
452
- def __init__(self, var_handle, global_step, steps_to_live):
453
- super(ESEmbeddingTableEvict, self).__init__()
454
- self.op = EmbeddingTableEvict()
455
- self.var_handle = Tensor(var_handle, ms.int32)
456
- self.global_step = global_step
457
- self.steps_to_live = steps_to_live
458
-
459
- def construct(self):
460
- y = self.op(self.var_handle, self.global_step, self.steps_to_live)
461
- return y
462
-
463
-
464
- class ESEmbeddingFeatureMappingExport(nn.Cell):
465
- """
466
- ESEmbeddingFeatureMappingExport.
467
- """
468
- def __init__(self, file_path, export_value, var, var_name, small_table_embedding_dim):
469
- super(ESEmbeddingFeatureMappingExport, self).__init__()
470
- self.embedding_feature_mapping_table_size = EmbeddingFeatureMappingTableSize()
471
- self.embedding_feature_mapping_find = EmbeddingFeatureMappingFind()
472
- self.embedding_feature_mapping_export = EmbeddingFeatureMappingExport()
473
- self.file_path = file_path
474
- self.export_value = export_value
475
- self.gather = ops.Gather()
476
- self.var = Tensor(var, ms.float32)
477
- self.var_name = Tensor(np.array([var_name]))
478
- self.small_table_embedding_dim = [small_table_embedding_dim]
479
- self.global_step = Tensor([-1], ms.int64)
480
-
481
- def construct(self):
482
- """
483
- ESEmbeddingFeatureMappingExport construct: export feature mapping for data_parallel embedding.
484
- """
485
- feature_size = self.embedding_feature_mapping_table_size(self.var_name)
486
- feature_id, offset_id = self.embedding_feature_mapping_find(self.var_name, feature_size, 1)
487
- values = self.gather(self.var, offset_id, 0)
488
- if self.export_value:
489
- embed_values = values
490
- else:
491
- embed_values = Tensor([0], ms.float32)
492
- feature_mapping_export = self.embedding_feature_mapping_export(self.file_path, self.var_name, self.global_step,
493
- embed_values, self.small_table_embedding_dim,
494
- [feature_id], [offset_id])
495
- return feature_mapping_export
496
-
497
-
498
- class ESEmbeddingFeatureMappingImport(nn.Cell):
499
- """
500
- ESEmbeddingFeatureMappingImport.
501
- """
502
- def __init__(self, file_path, small_table_name, small_table_embedding_dim, only_offset_flag):
503
- super(ESEmbeddingFeatureMappingImport, self).__init__()
504
- self.embedding_feature_mapping_file_size = EmbeddingFeatureMappingFileSize()
505
- self.embedding_feature_mapping_import = EmbeddingFeatureMappingImport()
506
- self.embedding_feature_mapping_insert = EmbeddingFeatureMappingInsert()
507
- self.file_path = file_path
508
- self.small_table_name = Tensor(np.array([small_table_name]))
509
- self.small_table_embedding_dim = [small_table_embedding_dim]
510
- self.only_offset_flag = only_offset_flag
511
- self.global_step = Tensor([-1], ms.int64)
512
-
513
- def construct(self):
514
- """
515
- ESEmbeddingFeatureMappingImport construct: import feature mapping for data_parallel embedding.
516
- """
517
- feature_size = self.embedding_feature_mapping_file_size(self.file_path,
518
- self.small_table_name,
519
- self.global_step,
520
- self.small_table_embedding_dim,
521
- self.only_offset_flag)
522
- feature_id, offset_id = self.embedding_feature_mapping_import(self.file_path,
523
- self.small_table_name,
524
- feature_size, self.global_step,
525
- self.small_table_embedding_dim,
526
- self.only_offset_flag, 1)
527
- feature_mapping_insert = self.embedding_feature_mapping_insert(self.small_table_name, 1,
528
- [feature_id], [offset_id])
529
- return feature_mapping_insert
530
-
531
-
532
- class ESEmbeddingSmallTableLookup(nn.Cell):
533
- r"""
534
- Look up a data_parallel embedding.
535
-
536
- .. warning::
537
- This is an experimental EmbeddingService API that is subject to change.
538
-
539
- Args:
540
- name (str): The data_parallel embedding name.
541
- rank_id (int): The rank id when look up data_parallel embedding key.
542
- rank_size (int): The rank size when look up data_parallel embedding key.
543
- small_table_to_variable (dict[str, parameter]): The dict to restore data_parallel embedding information:
544
- key is table name, value is parameter.
545
-
546
- Inputs:
547
- - **ids_list** (Tensor) - The keys of each feature in data_parallel embedding.
548
-
549
- Supported Platforms:
550
- ``Atlas A2 training series products``
551
- """
552
-
553
- def __init__(self, name, rank_id, rank_size, small_table_to_variable):
554
- super(ESEmbeddingSmallTableLookup, self).__init__()
555
- self.small_table_to_variable = small_table_to_variable[name]
556
- self.small_table_to_variable.feature_name = name
557
- self.allgather = ops.AllGather()
558
- self.gather = ops.Gather()
559
- self.embedding_feature_mapping_v2 = EmbeddingFeatureMappingV2()
560
- self.name = name
561
- self.rank_id = rank_id
562
- self.rank_size = rank_size
563
-
564
- def construct(self, ids_list):
565
- """
566
- Using the EmbeddingFeatureMappingV2 method to mapping hash key to non hash key, and then get embedding value.
567
- """
568
- hash_key_shape = ids_list.shape
569
- if self.rank_size > 1 and (hash_key_shape[0] is not None):
570
- hash_key = ops.stop_gradient(self.allgather(ids_list))
571
- non_hash_key = self.embedding_feature_mapping_v2(self.name, hash_key, [1], [1])
572
- recovery_matrix = []
573
- for i in range(hash_key_shape[0]):
574
- recovery_matrix.append(self.rank_id * hash_key_shape[0] + i)
575
- local_non_hash_keys = self.gather(non_hash_key, Tensor(recovery_matrix), 0)
576
- else:
577
- hash_key = ids_list
578
- local_non_hash_keys = self.embedding_feature_mapping_v2(self.name, hash_key, [1], [1])
579
-
580
- embedding = self.gather(self.small_table_to_variable, local_non_hash_keys, 0)
581
- return embedding
@@ -1,14 +0,0 @@
1
- # Copyright 2020 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.
14
- # ============================================================================