mindspore 2.4.0__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 (1406) hide show
  1. mindspore/.commit_id +1 -0
  2. mindspore/ConcurrencyCheck.dll +0 -0
  3. mindspore/CppBuildInsights.dll +0 -0
  4. mindspore/CppCoreCheck.dll +0 -0
  5. mindspore/EnumIndex.dll +0 -0
  6. mindspore/EspXEngine.dll +0 -0
  7. mindspore/HResultCheck.dll +0 -0
  8. mindspore/KernelTraceControl.dll +0 -0
  9. mindspore/LocalESPC.dll +0 -0
  10. mindspore/Microsoft.Diagnostics.Tracing.EventSource.dll +0 -0
  11. mindspore/Microsoft.VisualStudio.RemoteControl.dll +0 -0
  12. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  13. mindspore/Microsoft.VisualStudio.Utilities.Internal.dll +0 -0
  14. mindspore/Newtonsoft.Json.dll +0 -0
  15. mindspore/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  16. mindspore/VariantClear.dll +0 -0
  17. mindspore/__init__.py +53 -0
  18. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  19. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  20. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  21. mindspore/_check_jit_forbidden_api.py +106 -0
  22. mindspore/_checkparam.py +1419 -0
  23. mindspore/_extends/__init__.py +23 -0
  24. mindspore/_extends/builtin_operations.py +224 -0
  25. mindspore/_extends/graph_kernel/__init__.py +17 -0
  26. mindspore/_extends/graph_kernel/model/__init__.py +19 -0
  27. mindspore/_extends/graph_kernel/model/graph_parallel.py +311 -0
  28. mindspore/_extends/graph_kernel/model/graph_split.py +1348 -0
  29. mindspore/_extends/graph_kernel/model/model.py +553 -0
  30. mindspore/_extends/graph_kernel/model/model_builder.py +216 -0
  31. mindspore/_extends/graph_kernel/parallel_estimate.py +60 -0
  32. mindspore/_extends/graph_kernel/splitter.py +140 -0
  33. mindspore/_extends/graph_kernel/utils.py +28 -0
  34. mindspore/_extends/parallel_compile/__init__.py +19 -0
  35. mindspore/_extends/parallel_compile/akg_compiler/__init__.py +19 -0
  36. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +269 -0
  37. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +529 -0
  38. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +56 -0
  39. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  40. mindspore/_extends/parallel_compile/akg_compiler/get_file_path.py +36 -0
  41. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +556 -0
  42. mindspore/_extends/parallel_compile/akg_compiler/util.py +159 -0
  43. mindspore/_extends/parse/__init__.py +49 -0
  44. mindspore/_extends/parse/compile_config.py +299 -0
  45. mindspore/_extends/parse/namespace.py +136 -0
  46. mindspore/_extends/parse/parser.py +1448 -0
  47. mindspore/_extends/parse/resources.py +213 -0
  48. mindspore/_extends/parse/standard_method.py +4475 -0
  49. mindspore/_extends/parse/trope.py +97 -0
  50. mindspore/_extends/pijit/__init__.py +23 -0
  51. mindspore/_extends/pijit/pijit_func_white_list.py +669 -0
  52. mindspore/_extends/remote/__init__.py +19 -0
  53. mindspore/_extends/remote/kernel_build_server.py +199 -0
  54. mindspore/_extends/remote/kernel_build_server_akg.py +55 -0
  55. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  56. mindspore/_extends/remote/kernel_build_server_ascend.py +75 -0
  57. mindspore/_extends/utils.py +68 -0
  58. mindspore/_install_custom.py +43 -0
  59. mindspore/_profiler.py +30 -0
  60. mindspore/amp.py +433 -0
  61. mindspore/atlprov.dll +0 -0
  62. mindspore/avcodec-59.dll +0 -0
  63. mindspore/avdevice-59.dll +0 -0
  64. mindspore/avfilter-8.dll +0 -0
  65. mindspore/avformat-59.dll +0 -0
  66. mindspore/avutil-57.dll +0 -0
  67. mindspore/boost/__init__.py +42 -0
  68. mindspore/boost/adasum.py +319 -0
  69. mindspore/boost/base.py +535 -0
  70. mindspore/boost/boost.py +400 -0
  71. mindspore/boost/boost_cell_wrapper.py +790 -0
  72. mindspore/boost/dim_reduce.py +323 -0
  73. mindspore/boost/grad_accumulation.py +79 -0
  74. mindspore/boost/grad_freeze.py +382 -0
  75. mindspore/boost/group_loss_scale_manager.py +166 -0
  76. mindspore/boost/less_batch_normalization.py +174 -0
  77. mindspore/c1.dll +0 -0
  78. mindspore/c1xx.dll +0 -0
  79. mindspore/c2.dll +0 -0
  80. mindspore/cfgpersist.dll +0 -0
  81. mindspore/clang_rt.asan_dbg_dynamic-x86_64.dll +0 -0
  82. mindspore/clang_rt.asan_dynamic-x86_64.dll +0 -0
  83. mindspore/common/__init__.py +86 -0
  84. mindspore/common/_auto_dynamic.py +68 -0
  85. mindspore/common/_decorator.py +50 -0
  86. mindspore/common/_jit_fallback_utils.py +110 -0
  87. mindspore/common/_monad.py +25 -0
  88. mindspore/common/_pijit_context.py +190 -0
  89. mindspore/common/_register_for_adapter.py +74 -0
  90. mindspore/common/_register_for_recompute.py +48 -0
  91. mindspore/common/_register_for_tensor.py +46 -0
  92. mindspore/common/_stub_tensor.py +210 -0
  93. mindspore/common/_tensor_overload.py +139 -0
  94. mindspore/common/_utils.py +122 -0
  95. mindspore/common/api.py +2064 -0
  96. mindspore/common/auto_dynamic_shape.py +507 -0
  97. mindspore/common/dtype.py +422 -0
  98. mindspore/common/dump.py +130 -0
  99. mindspore/common/file_system.py +48 -0
  100. mindspore/common/generator.py +254 -0
  101. mindspore/common/hook_handle.py +143 -0
  102. mindspore/common/initializer.py +880 -0
  103. mindspore/common/jit_config.py +98 -0
  104. mindspore/common/lazy_inline.py +240 -0
  105. mindspore/common/mindir_util.py +111 -0
  106. mindspore/common/mutable.py +234 -0
  107. mindspore/common/no_inline.py +54 -0
  108. mindspore/common/np_dtype.py +25 -0
  109. mindspore/common/parameter.py +1081 -0
  110. mindspore/common/recompute.py +292 -0
  111. mindspore/common/seed.py +260 -0
  112. mindspore/common/sparse_tensor.py +1175 -0
  113. mindspore/common/symbol.py +122 -0
  114. mindspore/common/tensor.py +5039 -0
  115. mindspore/communication/__init__.py +37 -0
  116. mindspore/communication/_comm_helper.py +501 -0
  117. mindspore/communication/_hccl_management.py +297 -0
  118. mindspore/communication/comm_func.py +1395 -0
  119. mindspore/communication/management.py +673 -0
  120. mindspore/config/op_info.config +533 -0
  121. mindspore/context.py +2077 -0
  122. mindspore/d3dcompiler_47.dll +0 -0
  123. mindspore/dataset/__init__.py +90 -0
  124. mindspore/dataset/audio/__init__.py +61 -0
  125. mindspore/dataset/audio/transforms.py +3690 -0
  126. mindspore/dataset/audio/utils.py +386 -0
  127. mindspore/dataset/audio/validators.py +1172 -0
  128. mindspore/dataset/callback/__init__.py +20 -0
  129. mindspore/dataset/callback/ds_callback.py +368 -0
  130. mindspore/dataset/callback/validators.py +32 -0
  131. mindspore/dataset/core/__init__.py +13 -0
  132. mindspore/dataset/core/config.py +1095 -0
  133. mindspore/dataset/core/datatypes.py +101 -0
  134. mindspore/dataset/core/py_util_helpers.py +65 -0
  135. mindspore/dataset/core/validator_helpers.py +781 -0
  136. mindspore/dataset/debug/__init__.py +21 -0
  137. mindspore/dataset/debug/debug_hook.py +97 -0
  138. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  139. mindspore/dataset/engine/__init__.py +124 -0
  140. mindspore/dataset/engine/cache_admin.py +47 -0
  141. mindspore/dataset/engine/cache_client.py +129 -0
  142. mindspore/dataset/engine/datasets.py +4582 -0
  143. mindspore/dataset/engine/datasets_audio.py +911 -0
  144. mindspore/dataset/engine/datasets_standard_format.py +543 -0
  145. mindspore/dataset/engine/datasets_text.py +2161 -0
  146. mindspore/dataset/engine/datasets_user_defined.py +1184 -0
  147. mindspore/dataset/engine/datasets_vision.py +4816 -0
  148. mindspore/dataset/engine/iterators.py +371 -0
  149. mindspore/dataset/engine/obs/__init__.py +23 -0
  150. mindspore/dataset/engine/obs/config_loader.py +68 -0
  151. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +508 -0
  152. mindspore/dataset/engine/obs/util.py +482 -0
  153. mindspore/dataset/engine/offload.py +596 -0
  154. mindspore/dataset/engine/queue.py +304 -0
  155. mindspore/dataset/engine/samplers.py +895 -0
  156. mindspore/dataset/engine/serializer_deserializer.py +159 -0
  157. mindspore/dataset/engine/validators.py +2895 -0
  158. mindspore/dataset/text/__init__.py +51 -0
  159. mindspore/dataset/text/transforms.py +1703 -0
  160. mindspore/dataset/text/utils.py +715 -0
  161. mindspore/dataset/text/validators.py +642 -0
  162. mindspore/dataset/transforms/__init__.py +45 -0
  163. mindspore/dataset/transforms/c_transforms.py +638 -0
  164. mindspore/dataset/transforms/py_transforms.py +393 -0
  165. mindspore/dataset/transforms/py_transforms_util.py +255 -0
  166. mindspore/dataset/transforms/transforms.py +1260 -0
  167. mindspore/dataset/transforms/validators.py +410 -0
  168. mindspore/dataset/utils/__init__.py +19 -0
  169. mindspore/dataset/utils/browse_dataset.py +190 -0
  170. mindspore/dataset/utils/line_reader.py +126 -0
  171. mindspore/dataset/vision/__init__.py +65 -0
  172. mindspore/dataset/vision/c_transforms.py +2641 -0
  173. mindspore/dataset/vision/py_transforms.py +2120 -0
  174. mindspore/dataset/vision/py_transforms_util.py +1660 -0
  175. mindspore/dataset/vision/transforms.py +7295 -0
  176. mindspore/dataset/vision/utils.py +863 -0
  177. mindspore/dataset/vision/validators.py +1483 -0
  178. mindspore/default_config.py +2 -0
  179. mindspore/dnnl.dll +0 -0
  180. mindspore/dpcmi.dll +0 -0
  181. mindspore/experimental/__init__.py +20 -0
  182. mindspore/experimental/es/__init__.py +22 -0
  183. mindspore/experimental/es/embedding_service.py +883 -0
  184. mindspore/experimental/es/embedding_service_layer.py +581 -0
  185. mindspore/experimental/llm_boost/__init__.py +21 -0
  186. mindspore/experimental/llm_boost/atb/__init__.py +23 -0
  187. mindspore/experimental/llm_boost/atb/boost_base.py +211 -0
  188. mindspore/experimental/llm_boost/atb/llama_boost.py +115 -0
  189. mindspore/experimental/llm_boost/atb/qwen_boost.py +101 -0
  190. mindspore/experimental/llm_boost/register.py +129 -0
  191. mindspore/experimental/llm_boost/utils.py +31 -0
  192. mindspore/experimental/map_parameter.py +309 -0
  193. mindspore/experimental/optim/__init__.py +40 -0
  194. mindspore/experimental/optim/adadelta.py +161 -0
  195. mindspore/experimental/optim/adagrad.py +168 -0
  196. mindspore/experimental/optim/adam.py +193 -0
  197. mindspore/experimental/optim/adamax.py +170 -0
  198. mindspore/experimental/optim/adamw.py +290 -0
  199. mindspore/experimental/optim/asgd.py +153 -0
  200. mindspore/experimental/optim/lr_scheduler.py +1371 -0
  201. mindspore/experimental/optim/nadam.py +157 -0
  202. mindspore/experimental/optim/optimizer.py +262 -0
  203. mindspore/experimental/optim/radam.py +194 -0
  204. mindspore/experimental/optim/rmsprop.py +154 -0
  205. mindspore/experimental/optim/rprop.py +164 -0
  206. mindspore/experimental/optim/sgd.py +156 -0
  207. mindspore/hal/__init__.py +40 -0
  208. mindspore/hal/_ascend.py +57 -0
  209. mindspore/hal/_base.py +57 -0
  210. mindspore/hal/_cpu.py +56 -0
  211. mindspore/hal/_gpu.py +57 -0
  212. mindspore/hal/contiguous_tensors_handle.py +175 -0
  213. mindspore/hal/device.py +356 -0
  214. mindspore/hal/event.py +179 -0
  215. mindspore/hal/memory.py +326 -0
  216. mindspore/hal/stream.py +357 -0
  217. mindspore/include/OWNERS +7 -0
  218. mindspore/include/api/allocator.h +97 -0
  219. mindspore/include/api/callback/callback.h +93 -0
  220. mindspore/include/api/callback/ckpt_saver.h +41 -0
  221. mindspore/include/api/callback/loss_monitor.h +33 -0
  222. mindspore/include/api/callback/lr_scheduler.h +51 -0
  223. mindspore/include/api/callback/time_monitor.h +34 -0
  224. mindspore/include/api/callback/train_accuracy.h +37 -0
  225. mindspore/include/api/cell.h +90 -0
  226. mindspore/include/api/cfg.h +82 -0
  227. mindspore/include/api/context.h +602 -0
  228. mindspore/include/api/data_type.h +47 -0
  229. mindspore/include/api/delegate.h +178 -0
  230. mindspore/include/api/delegate_api.h +75 -0
  231. mindspore/include/api/dual_abi_helper.h +208 -0
  232. mindspore/include/api/format.h +28 -0
  233. mindspore/include/api/graph.h +46 -0
  234. mindspore/include/api/kernel.h +58 -0
  235. mindspore/include/api/kernel_api.h +168 -0
  236. mindspore/include/api/metrics/accuracy.h +36 -0
  237. mindspore/include/api/metrics/metrics.h +41 -0
  238. mindspore/include/api/model.h +438 -0
  239. mindspore/include/api/model_group.h +91 -0
  240. mindspore/include/api/model_parallel_runner.h +168 -0
  241. mindspore/include/api/serialization.h +185 -0
  242. mindspore/include/api/status.h +192 -0
  243. mindspore/include/api/types.h +431 -0
  244. mindspore/include/api/visible.h +41 -0
  245. mindspore/include/c_api/context_c.h +179 -0
  246. mindspore/include/c_api/data_type_c.h +52 -0
  247. mindspore/include/c_api/format_c.h +46 -0
  248. mindspore/include/c_api/model_c.h +347 -0
  249. mindspore/include/c_api/status_c.h +79 -0
  250. mindspore/include/c_api/tensor_c.h +146 -0
  251. mindspore/include/c_api/types_c.h +67 -0
  252. mindspore/include/dataset/config.h +163 -0
  253. mindspore/include/dataset/constants.h +363 -0
  254. mindspore/include/dataset/execute.h +196 -0
  255. mindspore/include/dataset/text.h +1092 -0
  256. mindspore/include/dataset/transforms.h +638 -0
  257. mindspore/include/dataset/vision.h +2129 -0
  258. mindspore/include/dataset/vision_ascend.h +206 -0
  259. mindspore/include/dataset/vision_lite.h +625 -0
  260. mindspore/jpeg62.dll +0 -0
  261. mindspore/log.py +633 -0
  262. mindspore/mindrecord/__init__.py +43 -0
  263. mindspore/mindrecord/common/__init__.py +17 -0
  264. mindspore/mindrecord/common/constant.py +20 -0
  265. mindspore/mindrecord/common/enums.py +44 -0
  266. mindspore/mindrecord/common/exceptions.py +311 -0
  267. mindspore/mindrecord/config.py +809 -0
  268. mindspore/mindrecord/filereader.py +174 -0
  269. mindspore/mindrecord/filewriter.py +722 -0
  270. mindspore/mindrecord/mindpage.py +210 -0
  271. mindspore/mindrecord/shardheader.py +141 -0
  272. mindspore/mindrecord/shardindexgenerator.py +74 -0
  273. mindspore/mindrecord/shardreader.py +117 -0
  274. mindspore/mindrecord/shardsegment.py +128 -0
  275. mindspore/mindrecord/shardutils.py +185 -0
  276. mindspore/mindrecord/shardwriter.py +237 -0
  277. mindspore/mindrecord/tools/__init__.py +17 -0
  278. mindspore/mindrecord/tools/cifar10.py +140 -0
  279. mindspore/mindrecord/tools/cifar100.py +153 -0
  280. mindspore/mindrecord/tools/cifar100_to_mr.py +185 -0
  281. mindspore/mindrecord/tools/cifar10_to_mr.py +177 -0
  282. mindspore/mindrecord/tools/csv_to_mr.py +200 -0
  283. mindspore/mindrecord/tools/imagenet_to_mr.py +206 -0
  284. mindspore/mindrecord/tools/mnist_to_mr.py +259 -0
  285. mindspore/mindrecord/tools/tfrecord_to_mr.py +360 -0
  286. mindspore/mindspore_backend.dll +0 -0
  287. mindspore/mindspore_common.dll +0 -0
  288. mindspore/mindspore_core.dll +0 -0
  289. mindspore/mindspore_glog.dll +0 -0
  290. mindspore/mindspore_np_dtype.dll +0 -0
  291. mindspore/mindspore_ops.dll +0 -0
  292. mindspore/mint/__init__.py +1586 -0
  293. mindspore/mint/distributed/__init__.py +31 -0
  294. mindspore/mint/distributed/distributed.py +254 -0
  295. mindspore/mint/linalg/__init__.py +22 -0
  296. mindspore/mint/nn/__init__.py +757 -0
  297. mindspore/mint/nn/functional.py +679 -0
  298. mindspore/mint/nn/layer/__init__.py +39 -0
  299. mindspore/mint/nn/layer/activation.py +133 -0
  300. mindspore/mint/nn/layer/normalization.py +477 -0
  301. mindspore/mint/nn/layer/pooling.py +110 -0
  302. mindspore/mint/optim/__init__.py +24 -0
  303. mindspore/mint/optim/adamw.py +206 -0
  304. mindspore/mint/special/__init__.py +63 -0
  305. mindspore/msobj140.dll +0 -0
  306. mindspore/mspdb140.dll +0 -0
  307. mindspore/mspdbcore.dll +0 -0
  308. mindspore/mspdbst.dll +0 -0
  309. mindspore/mspft140.dll +0 -0
  310. mindspore/msvcdis140.dll +0 -0
  311. mindspore/msvcp140.dll +0 -0
  312. mindspore/msvcp140_1.dll +0 -0
  313. mindspore/msvcp140_2.dll +0 -0
  314. mindspore/msvcp140_atomic_wait.dll +0 -0
  315. mindspore/msvcp140_codecvt_ids.dll +0 -0
  316. mindspore/multiprocessing/__init__.py +73 -0
  317. mindspore/nn/__init__.py +47 -0
  318. mindspore/nn/cell.py +2787 -0
  319. mindspore/nn/dynamic_lr.py +482 -0
  320. mindspore/nn/grad/__init__.py +21 -0
  321. mindspore/nn/grad/cell_grad.py +196 -0
  322. mindspore/nn/layer/__init__.py +63 -0
  323. mindspore/nn/layer/activation.py +1822 -0
  324. mindspore/nn/layer/basic.py +1629 -0
  325. mindspore/nn/layer/channel_shuffle.py +90 -0
  326. mindspore/nn/layer/combined.py +248 -0
  327. mindspore/nn/layer/container.py +734 -0
  328. mindspore/nn/layer/conv.py +1505 -0
  329. mindspore/nn/layer/dense.py +204 -0
  330. mindspore/nn/layer/embedding.py +869 -0
  331. mindspore/nn/layer/image.py +661 -0
  332. mindspore/nn/layer/math.py +1069 -0
  333. mindspore/nn/layer/normalization.py +1273 -0
  334. mindspore/nn/layer/padding.py +880 -0
  335. mindspore/nn/layer/pooling.py +2302 -0
  336. mindspore/nn/layer/rnn_cells.py +388 -0
  337. mindspore/nn/layer/rnns.py +849 -0
  338. mindspore/nn/layer/thor_layer.py +963 -0
  339. mindspore/nn/layer/timedistributed.py +155 -0
  340. mindspore/nn/layer/transformer.py +823 -0
  341. mindspore/nn/learning_rate_schedule.py +512 -0
  342. mindspore/nn/loss/__init__.py +36 -0
  343. mindspore/nn/loss/loss.py +2924 -0
  344. mindspore/nn/metrics.py +53 -0
  345. mindspore/nn/optim/__init__.py +45 -0
  346. mindspore/nn/optim/_dist_optimizer_registry.py +111 -0
  347. mindspore/nn/optim/ada_grad.py +217 -0
  348. mindspore/nn/optim/adadelta.py +206 -0
  349. mindspore/nn/optim/adafactor.py +448 -0
  350. mindspore/nn/optim/adam.py +1297 -0
  351. mindspore/nn/optim/adamax.py +220 -0
  352. mindspore/nn/optim/adasum.py +548 -0
  353. mindspore/nn/optim/asgd.py +216 -0
  354. mindspore/nn/optim/ftrl.py +401 -0
  355. mindspore/nn/optim/lamb.py +296 -0
  356. mindspore/nn/optim/lars.py +202 -0
  357. mindspore/nn/optim/lazyadam.py +533 -0
  358. mindspore/nn/optim/momentum.py +239 -0
  359. mindspore/nn/optim/optimizer.py +1034 -0
  360. mindspore/nn/optim/proximal_ada_grad.py +242 -0
  361. mindspore/nn/optim/rmsprop.py +264 -0
  362. mindspore/nn/optim/rprop.py +251 -0
  363. mindspore/nn/optim/sgd.py +237 -0
  364. mindspore/nn/optim/tft_wrapper.py +127 -0
  365. mindspore/nn/optim/thor.py +1310 -0
  366. mindspore/nn/probability/__init__.py +22 -0
  367. mindspore/nn/probability/bijector/__init__.py +35 -0
  368. mindspore/nn/probability/bijector/bijector.py +337 -0
  369. mindspore/nn/probability/bijector/exp.py +65 -0
  370. mindspore/nn/probability/bijector/gumbel_cdf.py +144 -0
  371. mindspore/nn/probability/bijector/invert.py +126 -0
  372. mindspore/nn/probability/bijector/power_transform.py +196 -0
  373. mindspore/nn/probability/bijector/scalar_affine.py +167 -0
  374. mindspore/nn/probability/bijector/softplus.py +189 -0
  375. mindspore/nn/probability/bnn_layers/__init__.py +29 -0
  376. mindspore/nn/probability/bnn_layers/_util.py +46 -0
  377. mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +112 -0
  378. mindspore/nn/probability/bnn_layers/conv_variational.py +267 -0
  379. mindspore/nn/probability/bnn_layers/dense_variational.py +302 -0
  380. mindspore/nn/probability/bnn_layers/layer_distribution.py +123 -0
  381. mindspore/nn/probability/distribution/__init__.py +56 -0
  382. mindspore/nn/probability/distribution/_utils/__init__.py +34 -0
  383. mindspore/nn/probability/distribution/_utils/custom_ops.py +96 -0
  384. mindspore/nn/probability/distribution/_utils/utils.py +362 -0
  385. mindspore/nn/probability/distribution/bernoulli.py +334 -0
  386. mindspore/nn/probability/distribution/beta.py +391 -0
  387. mindspore/nn/probability/distribution/categorical.py +435 -0
  388. mindspore/nn/probability/distribution/cauchy.py +383 -0
  389. mindspore/nn/probability/distribution/distribution.py +827 -0
  390. mindspore/nn/probability/distribution/exponential.py +350 -0
  391. mindspore/nn/probability/distribution/gamma.py +391 -0
  392. mindspore/nn/probability/distribution/geometric.py +335 -0
  393. mindspore/nn/probability/distribution/gumbel.py +257 -0
  394. mindspore/nn/probability/distribution/half_normal.py +133 -0
  395. mindspore/nn/probability/distribution/laplace.py +128 -0
  396. mindspore/nn/probability/distribution/log_normal.py +272 -0
  397. mindspore/nn/probability/distribution/logistic.py +379 -0
  398. mindspore/nn/probability/distribution/normal.py +336 -0
  399. mindspore/nn/probability/distribution/poisson.py +288 -0
  400. mindspore/nn/probability/distribution/student_t.py +149 -0
  401. mindspore/nn/probability/distribution/transformed_distribution.py +235 -0
  402. mindspore/nn/probability/distribution/uniform.py +375 -0
  403. mindspore/nn/reinforcement/__init__.py +24 -0
  404. mindspore/nn/reinforcement/_batch_read_write.py +142 -0
  405. mindspore/nn/reinforcement/_tensors_queue.py +152 -0
  406. mindspore/nn/reinforcement/tensor_array.py +145 -0
  407. mindspore/nn/sparse/__init__.py +23 -0
  408. mindspore/nn/sparse/sparse.py +147 -0
  409. mindspore/nn/wrap/__init__.py +49 -0
  410. mindspore/nn/wrap/cell_wrapper.py +968 -0
  411. mindspore/nn/wrap/grad_reducer.py +608 -0
  412. mindspore/nn/wrap/loss_scale.py +694 -0
  413. mindspore/numpy/__init__.py +121 -0
  414. mindspore/numpy/array_creations.py +2731 -0
  415. mindspore/numpy/array_ops.py +2629 -0
  416. mindspore/numpy/dtypes.py +185 -0
  417. mindspore/numpy/fft.py +966 -0
  418. mindspore/numpy/logic_ops.py +936 -0
  419. mindspore/numpy/math_ops.py +5911 -0
  420. mindspore/numpy/utils.py +214 -0
  421. mindspore/numpy/utils_const.py +565 -0
  422. mindspore/opencv_core452.dll +0 -0
  423. mindspore/opencv_imgcodecs452.dll +0 -0
  424. mindspore/opencv_imgproc452.dll +0 -0
  425. mindspore/ops/__init__.py +56 -0
  426. mindspore/ops/_constants.py +30 -0
  427. mindspore/ops/_grad_experimental/__init__.py +31 -0
  428. mindspore/ops/_grad_experimental/grad_array_ops.py +830 -0
  429. mindspore/ops/_grad_experimental/grad_base.py +143 -0
  430. mindspore/ops/_grad_experimental/grad_comm_ops.py +714 -0
  431. mindspore/ops/_grad_experimental/grad_debug_ops.py +31 -0
  432. mindspore/ops/_grad_experimental/grad_implementations.py +203 -0
  433. mindspore/ops/_grad_experimental/grad_inner_ops.py +79 -0
  434. mindspore/ops/_grad_experimental/grad_math_ops.py +802 -0
  435. mindspore/ops/_grad_experimental/grad_nn_ops.py +231 -0
  436. mindspore/ops/_grad_experimental/grad_quant_ops.py +238 -0
  437. mindspore/ops/_grad_experimental/grad_sparse.py +342 -0
  438. mindspore/ops/_grad_experimental/grad_sparse_ops.py +399 -0
  439. mindspore/ops/_grad_experimental/taylor_rule.py +220 -0
  440. mindspore/ops/_op_impl/__init__.py +23 -0
  441. mindspore/ops/_op_impl/_custom_op/__init__.py +39 -0
  442. mindspore/ops/_op_impl/_custom_op/_basic.py +158 -0
  443. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +279 -0
  444. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +156 -0
  445. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +109 -0
  446. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +125 -0
  447. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +105 -0
  448. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +124 -0
  449. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +116 -0
  450. mindspore/ops/_op_impl/_custom_op/correction_mul.py +89 -0
  451. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +196 -0
  452. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +366 -0
  453. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +162 -0
  454. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +136 -0
  455. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +206 -0
  456. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +88 -0
  457. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +128 -0
  458. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +199 -0
  459. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +88 -0
  460. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +156 -0
  461. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +184 -0
  462. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +143 -0
  463. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +169 -0
  464. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +548 -0
  465. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +881 -0
  466. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +278 -0
  467. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +200 -0
  468. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +334 -0
  469. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +255 -0
  470. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +222 -0
  471. mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +644 -0
  472. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +488 -0
  473. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +87 -0
  474. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +129 -0
  475. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +121 -0
  476. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +352 -0
  477. mindspore/ops/_op_impl/aicpu/__init__.py +441 -0
  478. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  479. mindspore/ops/_op_impl/aicpu/acos.py +32 -0
  480. mindspore/ops/_op_impl/aicpu/acos_grad.py +33 -0
  481. mindspore/ops/_op_impl/aicpu/acosh.py +34 -0
  482. mindspore/ops/_op_impl/aicpu/acosh_grad.py +35 -0
  483. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
  484. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  485. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
  486. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
  487. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
  488. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
  489. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
  490. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
  491. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  492. mindspore/ops/_op_impl/aicpu/add_n.py +41 -0
  493. mindspore/ops/_op_impl/aicpu/add_v2.py +40 -0
  494. mindspore/ops/_op_impl/aicpu/addcdiv.py +41 -0
  495. mindspore/ops/_op_impl/aicpu/addcmul.py +47 -0
  496. mindspore/ops/_op_impl/aicpu/adjust_contrastv2.py +32 -0
  497. mindspore/ops/_op_impl/aicpu/adjust_hue.py +31 -0
  498. mindspore/ops/_op_impl/aicpu/adjust_saturation.py +32 -0
  499. mindspore/ops/_op_impl/aicpu/affine_grid.py +33 -0
  500. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  501. mindspore/ops/_op_impl/aicpu/angle.py +31 -0
  502. mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
  503. mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
  504. mindspore/ops/_op_impl/aicpu/argmax_with_value.py +43 -0
  505. mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
  506. mindspore/ops/_op_impl/aicpu/asin.py +32 -0
  507. mindspore/ops/_op_impl/aicpu/asin_grad.py +33 -0
  508. mindspore/ops/_op_impl/aicpu/asinh.py +34 -0
  509. mindspore/ops/_op_impl/aicpu/asinh_grad.py +35 -0
  510. mindspore/ops/_op_impl/aicpu/atanh.py +34 -0
  511. mindspore/ops/_op_impl/aicpu/avgpool_grad_v1.py +37 -0
  512. mindspore/ops/_op_impl/aicpu/avgpool_v1.py +36 -0
  513. mindspore/ops/_op_impl/aicpu/bartlett_window.py +36 -0
  514. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
  515. mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
  516. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  517. mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
  518. mindspore/ops/_op_impl/aicpu/betainc.py +31 -0
  519. mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
  520. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +42 -0
  521. mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
  522. mindspore/ops/_op_impl/aicpu/blackman_window.py +36 -0
  523. mindspore/ops/_op_impl/aicpu/broadcast_to.py +58 -0
  524. mindspore/ops/_op_impl/aicpu/bucketize.py +34 -0
  525. mindspore/ops/_op_impl/aicpu/cache_swap_table.py +102 -0
  526. mindspore/ops/_op_impl/aicpu/cast.py +225 -0
  527. mindspore/ops/_op_impl/aicpu/cauchy.py +33 -0
  528. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  529. mindspore/ops/_op_impl/aicpu/check_numerics.py +33 -0
  530. mindspore/ops/_op_impl/aicpu/cholesky.py +32 -0
  531. mindspore/ops/_op_impl/aicpu/cholesky_inverse.py +31 -0
  532. mindspore/ops/_op_impl/aicpu/cholesky_solve.py +33 -0
  533. mindspore/ops/_op_impl/aicpu/choleskygrad.py +32 -0
  534. mindspore/ops/_op_impl/aicpu/coalesce.py +37 -0
  535. mindspore/ops/_op_impl/aicpu/col2im.py +38 -0
  536. mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
  537. mindspore/ops/_op_impl/aicpu/compare_and_bitpack.py +37 -0
  538. mindspore/ops/_op_impl/aicpu/complex.py +32 -0
  539. mindspore/ops/_op_impl/aicpu/complex_abs.py +31 -0
  540. mindspore/ops/_op_impl/aicpu/compute_accidental_hits.py +44 -0
  541. mindspore/ops/_op_impl/aicpu/concat.py +57 -0
  542. mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
  543. mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
  544. mindspore/ops/_op_impl/aicpu/conj.py +42 -0
  545. mindspore/ops/_op_impl/aicpu/conjugate_transpose.py +58 -0
  546. mindspore/ops/_op_impl/aicpu/cos.py +34 -0
  547. mindspore/ops/_op_impl/aicpu/cosh.py +34 -0
  548. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  549. mindspore/ops/_op_impl/aicpu/crop_and_resize.py +69 -0
  550. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_boxes.py +68 -0
  551. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
  552. mindspore/ops/_op_impl/aicpu/cross.py +42 -0
  553. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_dense.py +48 -0
  554. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_sparse_tensor.py +51 -0
  555. mindspore/ops/_op_impl/aicpu/ctc_greedy_decoder.py +35 -0
  556. mindspore/ops/_op_impl/aicpu/ctc_loss_v2.py +43 -0
  557. mindspore/ops/_op_impl/aicpu/ctc_loss_v2_grad.py +45 -0
  558. mindspore/ops/_op_impl/aicpu/ctcloss.py +38 -0
  559. mindspore/ops/_op_impl/aicpu/cummax.py +41 -0
  560. mindspore/ops/_op_impl/aicpu/cumprod.py +58 -0
  561. mindspore/ops/_op_impl/aicpu/cumsum.py +58 -0
  562. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
  563. mindspore/ops/_op_impl/aicpu/data_format_vec_permute.py +32 -0
  564. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  565. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  566. mindspore/ops/_op_impl/aicpu/dense_to_csr_sparse_matrix.py +49 -0
  567. mindspore/ops/_op_impl/aicpu/dense_to_dense_set_operation.py +45 -0
  568. mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
  569. mindspore/ops/_op_impl/aicpu/depth_to_space.py +44 -0
  570. mindspore/ops/_op_impl/aicpu/diag.py +36 -0
  571. mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
  572. mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
  573. mindspore/ops/_op_impl/aicpu/digamma.py +31 -0
  574. mindspore/ops/_op_impl/aicpu/div.py +41 -0
  575. mindspore/ops/_op_impl/aicpu/div_no_nan.py +35 -0
  576. mindspore/ops/_op_impl/aicpu/dropout2d.py +42 -0
  577. mindspore/ops/_op_impl/aicpu/dropout3d.py +42 -0
  578. mindspore/ops/_op_impl/aicpu/dropout_genmask.py +41 -0
  579. mindspore/ops/_op_impl/aicpu/dropout_genmask_v3.py +32 -0
  580. mindspore/ops/_op_impl/aicpu/dynamic_stitch.py +42 -0
  581. mindspore/ops/_op_impl/aicpu/edit_distance.py +56 -0
  582. mindspore/ops/_op_impl/aicpu/eig.py +35 -0
  583. mindspore/ops/_op_impl/aicpu/embedding_lookup.py +102 -0
  584. mindspore/ops/_op_impl/aicpu/end_of_sequence.py +30 -0
  585. mindspore/ops/_op_impl/aicpu/environ_create.py +28 -0
  586. mindspore/ops/_op_impl/aicpu/environ_destroy_all.py +28 -0
  587. mindspore/ops/_op_impl/aicpu/environ_get.py +41 -0
  588. mindspore/ops/_op_impl/aicpu/environ_set.py +40 -0
  589. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  590. mindspore/ops/_op_impl/aicpu/equal.py +41 -0
  591. mindspore/ops/_op_impl/aicpu/exp.py +37 -0
  592. mindspore/ops/_op_impl/aicpu/expand.py +45 -0
  593. mindspore/ops/_op_impl/aicpu/expand_dims.py +42 -0
  594. mindspore/ops/_op_impl/aicpu/expm1.py +34 -0
  595. mindspore/ops/_op_impl/aicpu/extract_glimpse.py +35 -0
  596. mindspore/ops/_op_impl/aicpu/eye.py +44 -0
  597. mindspore/ops/_op_impl/aicpu/fft_with_size.py +47 -0
  598. mindspore/ops/_op_impl/aicpu/fill_diagonal.py +39 -0
  599. mindspore/ops/_op_impl/aicpu/fill_v2.py +58 -0
  600. mindspore/ops/_op_impl/aicpu/flatten.py +43 -0
  601. mindspore/ops/_op_impl/aicpu/floor_div.py +38 -0
  602. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  603. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  604. mindspore/ops/_op_impl/aicpu/fractional_avg_pool.py +41 -0
  605. mindspore/ops/_op_impl/aicpu/fractional_avg_pool_grad.py +41 -0
  606. mindspore/ops/_op_impl/aicpu/fractional_max_pool.py +41 -0
  607. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_grad_with_fixed_ksize.py +43 -0
  608. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +65 -0
  609. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad.py +42 -0
  610. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad_with_fixed_ksize.py +42 -0
  611. mindspore/ops/_op_impl/aicpu/fractional_max_pool_with_fixed_ksize.py +49 -0
  612. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  613. mindspore/ops/_op_impl/aicpu/fused_sparse_adam.py +46 -0
  614. mindspore/ops/_op_impl/aicpu/fused_sparse_ftrl.py +41 -0
  615. mindspore/ops/_op_impl/aicpu/fused_sparse_lazy_adam.py +46 -0
  616. mindspore/ops/_op_impl/aicpu/fused_sparse_proximal_adagrad.py +39 -0
  617. mindspore/ops/_op_impl/aicpu/gamma.py +38 -0
  618. mindspore/ops/_op_impl/aicpu/gather.py +46 -0
  619. mindspore/ops/_op_impl/aicpu/gather_d.py +79 -0
  620. mindspore/ops/_op_impl/aicpu/gather_d_grad_v2.py +79 -0
  621. mindspore/ops/_op_impl/aicpu/gather_grad.py +54 -0
  622. mindspore/ops/_op_impl/aicpu/gather_nd.py +56 -0
  623. mindspore/ops/_op_impl/aicpu/gcd.py +32 -0
  624. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +38 -0
  625. mindspore/ops/_op_impl/aicpu/geqrf.py +32 -0
  626. mindspore/ops/_op_impl/aicpu/get_next.py +39 -0
  627. mindspore/ops/_op_impl/aicpu/glu.py +33 -0
  628. mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
  629. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  630. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  631. mindspore/ops/_op_impl/aicpu/grid_sampler_2d.py +35 -0
  632. mindspore/ops/_op_impl/aicpu/grid_sampler_2d_grad.py +38 -0
  633. mindspore/ops/_op_impl/aicpu/grid_sampler_3d.py +34 -0
  634. mindspore/ops/_op_impl/aicpu/grid_sampler_3d_grad.py +38 -0
  635. mindspore/ops/_op_impl/aicpu/hamming_window.py +57 -0
  636. mindspore/ops/_op_impl/aicpu/hard_sigmoid.py +32 -0
  637. mindspore/ops/_op_impl/aicpu/hard_sigmoid_grad.py +33 -0
  638. mindspore/ops/_op_impl/aicpu/heaviside.py +40 -0
  639. mindspore/ops/_op_impl/aicpu/histogram.py +35 -0
  640. mindspore/ops/_op_impl/aicpu/hsv_to_rgb.py +32 -0
  641. mindspore/ops/_op_impl/aicpu/hypot.py +32 -0
  642. mindspore/ops/_op_impl/aicpu/identity.py +42 -0
  643. mindspore/ops/_op_impl/aicpu/identity_n.py +41 -0
  644. mindspore/ops/_op_impl/aicpu/igamma.py +30 -0
  645. mindspore/ops/_op_impl/aicpu/igammac.py +30 -0
  646. mindspore/ops/_op_impl/aicpu/igammagrada.py +30 -0
  647. mindspore/ops/_op_impl/aicpu/im2col.py +43 -0
  648. mindspore/ops/_op_impl/aicpu/imag.py +31 -0
  649. mindspore/ops/_op_impl/aicpu/index_fill.py +54 -0
  650. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  651. mindspore/ops/_op_impl/aicpu/init_data_set_queue.py +27 -0
  652. mindspore/ops/_op_impl/aicpu/inplace_index_add.py +39 -0
  653. mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
  654. mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
  655. mindspore/ops/_op_impl/aicpu/is_finite.py +40 -0
  656. mindspore/ops/_op_impl/aicpu/is_inf.py +31 -0
  657. mindspore/ops/_op_impl/aicpu/is_nan.py +31 -0
  658. mindspore/ops/_op_impl/aicpu/kldivloss.py +34 -0
  659. mindspore/ops/_op_impl/aicpu/kldivlossgrad.py +35 -0
  660. mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
  661. mindspore/ops/_op_impl/aicpu/lcm.py +32 -0
  662. mindspore/ops/_op_impl/aicpu/left_shift.py +38 -0
  663. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  664. mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
  665. mindspore/ops/_op_impl/aicpu/lgamma.py +33 -0
  666. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +57 -0
  667. mindspore/ops/_op_impl/aicpu/linspace.py +33 -0
  668. mindspore/ops/_op_impl/aicpu/list_diff.py +50 -0
  669. mindspore/ops/_op_impl/aicpu/log.py +37 -0
  670. mindspore/ops/_op_impl/aicpu/log1p.py +34 -0
  671. mindspore/ops/_op_impl/aicpu/log_matrix_determinant.py +31 -0
  672. mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
  673. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +37 -0
  674. mindspore/ops/_op_impl/aicpu/logical_xor.py +30 -0
  675. mindspore/ops/_op_impl/aicpu/logit.py +33 -0
  676. mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
  677. mindspore/ops/_op_impl/aicpu/logspace.py +36 -0
  678. mindspore/ops/_op_impl/aicpu/lower_bound.py +47 -0
  679. mindspore/ops/_op_impl/aicpu/lstsq.py +34 -0
  680. mindspore/ops/_op_impl/aicpu/lu.py +39 -0
  681. mindspore/ops/_op_impl/aicpu/lu_solve.py +32 -0
  682. mindspore/ops/_op_impl/aicpu/lu_unpack.py +114 -0
  683. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +49 -0
  684. mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
  685. mindspore/ops/_op_impl/aicpu/masked_scatter.py +40 -0
  686. mindspore/ops/_op_impl/aicpu/masked_select.py +31 -0
  687. mindspore/ops/_op_impl/aicpu/masked_select_grad.py +35 -0
  688. mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
  689. mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
  690. mindspore/ops/_op_impl/aicpu/matrix_determinant.py +30 -0
  691. mindspore/ops/_op_impl/aicpu/matrix_diag_part_v3.py +54 -0
  692. mindspore/ops/_op_impl/aicpu/matrix_diag_v3.py +56 -0
  693. mindspore/ops/_op_impl/aicpu/matrix_exp.py +34 -0
  694. mindspore/ops/_op_impl/aicpu/matrix_inverse.py +31 -0
  695. mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
  696. mindspore/ops/_op_impl/aicpu/matrix_power.py +37 -0
  697. mindspore/ops/_op_impl/aicpu/matrix_set_diag_v3.py +54 -0
  698. mindspore/ops/_op_impl/aicpu/matrix_solve.py +35 -0
  699. mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
  700. mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
  701. mindspore/ops/_op_impl/aicpu/max_pool3d_grad_with_argmax.py +60 -0
  702. mindspore/ops/_op_impl/aicpu/max_pool3d_with_argmax.py +59 -0
  703. mindspore/ops/_op_impl/aicpu/max_unpool2d.py +57 -0
  704. mindspore/ops/_op_impl/aicpu/max_unpool2d_grad.py +58 -0
  705. mindspore/ops/_op_impl/aicpu/max_unpool3d.py +57 -0
  706. mindspore/ops/_op_impl/aicpu/max_unpool3d_grad.py +58 -0
  707. mindspore/ops/_op_impl/aicpu/maximum_grad_grad.py +40 -0
  708. mindspore/ops/_op_impl/aicpu/maxpool_grad_v1.py +46 -0
  709. mindspore/ops/_op_impl/aicpu/maxpool_v1.py +42 -0
  710. mindspore/ops/_op_impl/aicpu/median.py +39 -0
  711. mindspore/ops/_op_impl/aicpu/median_grad.py +45 -0
  712. mindspore/ops/_op_impl/aicpu/meshgrid.py +41 -0
  713. mindspore/ops/_op_impl/aicpu/minimum_grad_grad.py +40 -0
  714. mindspore/ops/_op_impl/aicpu/mirror_pad.py +50 -0
  715. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +48 -0
  716. mindspore/ops/_op_impl/aicpu/mul.py +43 -0
  717. mindspore/ops/_op_impl/aicpu/mul_no_nan.py +42 -0
  718. mindspore/ops/_op_impl/aicpu/multi_margin_loss.py +37 -0
  719. mindspore/ops/_op_impl/aicpu/multi_margin_loss_grad.py +41 -0
  720. mindspore/ops/_op_impl/aicpu/multilabel_margin_loss_grad.py +37 -0
  721. mindspore/ops/_op_impl/aicpu/multinomial.py +47 -0
  722. mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
  723. mindspore/ops/_op_impl/aicpu/mvlgamma.py +32 -0
  724. mindspore/ops/_op_impl/aicpu/mvlgamma_grad.py +33 -0
  725. mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
  726. mindspore/ops/_op_impl/aicpu/neg.py +36 -0
  727. mindspore/ops/_op_impl/aicpu/nextafter.py +32 -0
  728. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  729. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  730. mindspore/ops/_op_impl/aicpu/no_repeat_ngram.py +34 -0
  731. mindspore/ops/_op_impl/aicpu/non_deterministic_ints.py +33 -0
  732. mindspore/ops/_op_impl/aicpu/non_max_suppression.py +36 -0
  733. mindspore/ops/_op_impl/aicpu/non_max_suppression_with_overlaps.py +35 -0
  734. mindspore/ops/_op_impl/aicpu/non_zero.py +43 -0
  735. mindspore/ops/_op_impl/aicpu/not_equal.py +39 -0
  736. mindspore/ops/_op_impl/aicpu/nth_element.py +39 -0
  737. mindspore/ops/_op_impl/aicpu/nuclear_norm.py +33 -0
  738. mindspore/ops/_op_impl/aicpu/one_hot.py +116 -0
  739. mindspore/ops/_op_impl/aicpu/ones_like.py +39 -0
  740. mindspore/ops/_op_impl/aicpu/orgqr.py +34 -0
  741. mindspore/ops/_op_impl/aicpu/pad_and_shift.py +33 -0
  742. mindspore/ops/_op_impl/aicpu/pad_v3.py +61 -0
  743. mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +59 -0
  744. mindspore/ops/_op_impl/aicpu/padding.py +41 -0
  745. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +54 -0
  746. mindspore/ops/_op_impl/aicpu/pdist_grad.py +33 -0
  747. mindspore/ops/_op_impl/aicpu/poisson.py +37 -0
  748. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  749. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  750. mindspore/ops/_op_impl/aicpu/pow.py +39 -0
  751. mindspore/ops/_op_impl/aicpu/print_tensor.py +39 -0
  752. mindspore/ops/_op_impl/aicpu/priority_replay_buffer.py +113 -0
  753. mindspore/ops/_op_impl/aicpu/qr.py +36 -0
  754. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  755. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  756. mindspore/ops/_op_impl/aicpu/ragged_range.py +49 -0
  757. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  758. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
  759. mindspore/ops/_op_impl/aicpu/random_categorical.py +68 -0
  760. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +36 -0
  761. mindspore/ops/_op_impl/aicpu/random_gamma.py +38 -0
  762. mindspore/ops/_op_impl/aicpu/random_poisson.py +134 -0
  763. mindspore/ops/_op_impl/aicpu/random_shuffle.py +47 -0
  764. mindspore/ops/_op_impl/aicpu/randperm.py +38 -0
  765. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  766. mindspore/ops/_op_impl/aicpu/range.py +36 -0
  767. mindspore/ops/_op_impl/aicpu/range_v2.py +35 -0
  768. mindspore/ops/_op_impl/aicpu/real.py +31 -0
  769. mindspore/ops/_op_impl/aicpu/real_div.py +40 -0
  770. mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
  771. mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
  772. mindspore/ops/_op_impl/aicpu/reduce_mean.py +57 -0
  773. mindspore/ops/_op_impl/aicpu/reduce_prod.py +57 -0
  774. mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
  775. mindspore/ops/_op_impl/aicpu/relu_grad_v3.py +41 -0
  776. mindspore/ops/_op_impl/aicpu/relu_v3.py +38 -0
  777. mindspore/ops/_op_impl/aicpu/reservoir_replay_buffer.py +96 -0
  778. mindspore/ops/_op_impl/aicpu/reshape.py +42 -0
  779. mindspore/ops/_op_impl/aicpu/resize_area.py +40 -0
  780. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +20 -0
  781. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +19 -0
  782. mindspore/ops/_op_impl/aicpu/resize_bilinear.py +32 -0
  783. mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +32 -0
  784. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +36 -0
  785. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +35 -0
  786. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  787. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  788. mindspore/ops/_op_impl/aicpu/reverse_sequence.py +55 -0
  789. mindspore/ops/_op_impl/aicpu/reversev2.py +54 -0
  790. mindspore/ops/_op_impl/aicpu/rgb_to_hsv.py +32 -0
  791. mindspore/ops/_op_impl/aicpu/right_shift.py +38 -0
  792. mindspore/ops/_op_impl/aicpu/rnnt_loss.py +35 -0
  793. mindspore/ops/_op_impl/aicpu/round.py +34 -0
  794. mindspore/ops/_op_impl/aicpu/rsqrt.py +33 -0
  795. mindspore/ops/_op_impl/aicpu/rsqrt_grad.py +36 -0
  796. mindspore/ops/_op_impl/aicpu/sample_distorted_bounding_box_v2.py +49 -0
  797. mindspore/ops/_op_impl/aicpu/scale_and_translate.py +52 -0
  798. mindspore/ops/_op_impl/aicpu/scale_and_translate_grad.py +36 -0
  799. mindspore/ops/_op_impl/aicpu/scatter.py +79 -0
  800. mindspore/ops/_op_impl/aicpu/scatter_add_with_axis.py +53 -0
  801. mindspore/ops/_op_impl/aicpu/scatter_elements.py +39 -0
  802. mindspore/ops/_op_impl/aicpu/scatter_nd.py +59 -0
  803. mindspore/ops/_op_impl/aicpu/scatter_nd_max.py +54 -0
  804. mindspore/ops/_op_impl/aicpu/scatter_nd_min.py +54 -0
  805. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +59 -0
  806. mindspore/ops/_op_impl/aicpu/search_sorted.py +44 -0
  807. mindspore/ops/_op_impl/aicpu/segment_max.py +52 -0
  808. mindspore/ops/_op_impl/aicpu/segment_mean.py +56 -0
  809. mindspore/ops/_op_impl/aicpu/segment_min.py +52 -0
  810. mindspore/ops/_op_impl/aicpu/segment_prod.py +56 -0
  811. mindspore/ops/_op_impl/aicpu/segment_sum.py +56 -0
  812. mindspore/ops/_op_impl/aicpu/select.py +45 -0
  813. mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
  814. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  815. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  816. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  817. mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
  818. mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
  819. mindspore/ops/_op_impl/aicpu/set_size.py +38 -0
  820. mindspore/ops/_op_impl/aicpu/sign.py +36 -0
  821. mindspore/ops/_op_impl/aicpu/sin.py +34 -0
  822. mindspore/ops/_op_impl/aicpu/sinc.py +43 -0
  823. mindspore/ops/_op_impl/aicpu/sinh.py +34 -0
  824. mindspore/ops/_op_impl/aicpu/slice.py +59 -0
  825. mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
  826. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  827. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  828. mindspore/ops/_op_impl/aicpu/sort.py +39 -0
  829. mindspore/ops/_op_impl/aicpu/space_to_depth.py +44 -0
  830. mindspore/ops/_op_impl/aicpu/sparse_addmm.py +87 -0
  831. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +80 -0
  832. mindspore/ops/_op_impl/aicpu/sparse_apply_centered_rms_prop.py +105 -0
  833. mindspore/ops/_op_impl/aicpu/sparse_apply_momentum.py +80 -0
  834. mindspore/ops/_op_impl/aicpu/sparse_apply_proximal_gradient_descent.py +79 -0
  835. mindspore/ops/_op_impl/aicpu/sparse_concat.py +59 -0
  836. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  837. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_add.py +58 -0
  838. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_div.py +58 -0
  839. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_mul.py +58 -0
  840. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
  841. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
  842. mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
  843. mindspore/ops/_op_impl/aicpu/sparse_matrix_nnz.py +81 -0
  844. mindspore/ops/_op_impl/aicpu/sparse_matrix_transpose.py +116 -0
  845. mindspore/ops/_op_impl/aicpu/sparse_reorder.py +56 -0
  846. mindspore/ops/_op_impl/aicpu/sparse_reshape.py +34 -0
  847. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_grad.py +36 -0
  848. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_with_num_segments.py +44 -0
  849. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n.py +43 -0
  850. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_grad.py +38 -0
  851. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_with_num_segments.py +44 -0
  852. mindspore/ops/_op_impl/aicpu/sparse_segment_sum.py +49 -0
  853. mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
  854. mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
  855. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
  856. mindspore/ops/_op_impl/aicpu/sparse_softmax.py +33 -0
  857. mindspore/ops/_op_impl/aicpu/sparse_softmax_cross_entropy_with_logits_v2.py +35 -0
  858. mindspore/ops/_op_impl/aicpu/sparse_sparse_maximum.py +53 -0
  859. mindspore/ops/_op_impl/aicpu/sparse_sparse_minimum.py +53 -0
  860. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_add.py +84 -0
  861. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_mat_mul.py +190 -0
  862. mindspore/ops/_op_impl/aicpu/sparse_tensor_to_csr_sparse_matrix.py +51 -0
  863. mindspore/ops/_op_impl/aicpu/sparse_to_dense_v2.py +73 -0
  864. mindspore/ops/_op_impl/aicpu/split.py +45 -0
  865. mindspore/ops/_op_impl/aicpu/sqrt.py +34 -0
  866. mindspore/ops/_op_impl/aicpu/sqrt_grad.py +35 -0
  867. mindspore/ops/_op_impl/aicpu/square.py +35 -0
  868. mindspore/ops/_op_impl/aicpu/squared_difference.py +37 -0
  869. mindspore/ops/_op_impl/aicpu/squeeze.py +42 -0
  870. mindspore/ops/_op_impl/aicpu/sspaddmm.py +97 -0
  871. mindspore/ops/_op_impl/aicpu/stack.py +45 -0
  872. mindspore/ops/_op_impl/aicpu/stack_push_pop.py +87 -0
  873. mindspore/ops/_op_impl/aicpu/standard_laplace.py +34 -0
  874. mindspore/ops/_op_impl/aicpu/standard_normal.py +34 -0
  875. mindspore/ops/_op_impl/aicpu/stateless_dropout_genmask.py +37 -0
  876. mindspore/ops/_op_impl/aicpu/stft.py +70 -0
  877. mindspore/ops/_op_impl/aicpu/strided_slice.py +43 -0
  878. mindspore/ops/_op_impl/aicpu/strided_slice_grad.py +50 -0
  879. mindspore/ops/_op_impl/aicpu/sub.py +41 -0
  880. mindspore/ops/_op_impl/aicpu/sub_and_filter.py +36 -0
  881. mindspore/ops/_op_impl/aicpu/tan.py +34 -0
  882. mindspore/ops/_op_impl/aicpu/tanh.py +34 -0
  883. mindspore/ops/_op_impl/aicpu/tanh_grad.py +35 -0
  884. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  885. mindspore/ops/_op_impl/aicpu/tile.py +56 -0
  886. mindspore/ops/_op_impl/aicpu/topk.py +34 -0
  887. mindspore/ops/_op_impl/aicpu/trace.py +40 -0
  888. mindspore/ops/_op_impl/aicpu/tracegrad.py +41 -0
  889. mindspore/ops/_op_impl/aicpu/trans_data.py +35 -0
  890. mindspore/ops/_op_impl/aicpu/transpose.py +58 -0
  891. mindspore/ops/_op_impl/aicpu/tridiagonal_matmul.py +42 -0
  892. mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
  893. mindspore/ops/_op_impl/aicpu/tril.py +42 -0
  894. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  895. mindspore/ops/_op_impl/aicpu/triplet_margin_loss.py +62 -0
  896. mindspore/ops/_op_impl/aicpu/triu.py +43 -0
  897. mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
  898. mindspore/ops/_op_impl/aicpu/truncated_normal.py +39 -0
  899. mindspore/ops/_op_impl/aicpu/uniform.py +36 -0
  900. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +41 -0
  901. mindspore/ops/_op_impl/aicpu/uniform_int.py +36 -0
  902. mindspore/ops/_op_impl/aicpu/uniform_real.py +33 -0
  903. mindspore/ops/_op_impl/aicpu/unique.py +31 -0
  904. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +47 -0
  905. mindspore/ops/_op_impl/aicpu/unique_with_pad.py +32 -0
  906. mindspore/ops/_op_impl/aicpu/unravel_index.py +32 -0
  907. mindspore/ops/_op_impl/aicpu/unsorted_segment_prod.py +53 -0
  908. mindspore/ops/_op_impl/aicpu/unsorted_segment_sum.py +57 -0
  909. mindspore/ops/_op_impl/aicpu/unstack.py +45 -0
  910. mindspore/ops/_op_impl/aicpu/update_cache.py +44 -0
  911. mindspore/ops/_op_impl/aicpu/upper_bound.py +47 -0
  912. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d.py +42 -0
  913. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +49 -0
  914. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +40 -0
  915. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +50 -0
  916. mindspore/ops/_op_impl/aicpu/xdivy.py +35 -0
  917. mindspore/ops/_op_impl/aicpu/xlogy.py +33 -0
  918. mindspore/ops/_op_impl/aicpu/zeros_like.py +42 -0
  919. mindspore/ops/_op_impl/aicpu/zeta.py +31 -0
  920. mindspore/ops/_op_impl/akg/__init__.py +19 -0
  921. mindspore/ops/_op_impl/akg/ascend/__init__.py +48 -0
  922. mindspore/ops/_op_impl/akg/ascend/abs.py +35 -0
  923. mindspore/ops/_op_impl/akg/ascend/add.py +42 -0
  924. mindspore/ops/_op_impl/akg/ascend/add_n.py +37 -0
  925. mindspore/ops/_op_impl/akg/ascend/batchmatmul.py +33 -0
  926. mindspore/ops/_op_impl/akg/ascend/cast.py +46 -0
  927. mindspore/ops/_op_impl/akg/ascend/equal.py +35 -0
  928. mindspore/ops/_op_impl/akg/ascend/exp.py +35 -0
  929. mindspore/ops/_op_impl/akg/ascend/expand_dims.py +33 -0
  930. mindspore/ops/_op_impl/akg/ascend/greater.py +34 -0
  931. mindspore/ops/_op_impl/akg/ascend/greater_equal.py +35 -0
  932. mindspore/ops/_op_impl/akg/ascend/less.py +31 -0
  933. mindspore/ops/_op_impl/akg/ascend/less_equal.py +35 -0
  934. mindspore/ops/_op_impl/akg/ascend/load_im2col.py +33 -0
  935. mindspore/ops/_op_impl/akg/ascend/log.py +34 -0
  936. mindspore/ops/_op_impl/akg/ascend/maximum.py +36 -0
  937. mindspore/ops/_op_impl/akg/ascend/minimum.py +39 -0
  938. mindspore/ops/_op_impl/akg/ascend/mul.py +41 -0
  939. mindspore/ops/_op_impl/akg/ascend/neg.py +37 -0
  940. mindspore/ops/_op_impl/akg/ascend/pow.py +35 -0
  941. mindspore/ops/_op_impl/akg/ascend/prod_force_se_a.py +33 -0
  942. mindspore/ops/_op_impl/akg/ascend/real_div.py +36 -0
  943. mindspore/ops/_op_impl/akg/ascend/reciprocal.py +32 -0
  944. mindspore/ops/_op_impl/akg/ascend/reduce_max.py +32 -0
  945. mindspore/ops/_op_impl/akg/ascend/reduce_min.py +32 -0
  946. mindspore/ops/_op_impl/akg/ascend/reduce_sum.py +37 -0
  947. mindspore/ops/_op_impl/akg/ascend/rsqrt.py +35 -0
  948. mindspore/ops/_op_impl/akg/ascend/select.py +37 -0
  949. mindspore/ops/_op_impl/akg/ascend/sqrt.py +35 -0
  950. mindspore/ops/_op_impl/akg/ascend/square.py +35 -0
  951. mindspore/ops/_op_impl/akg/ascend/sub.py +42 -0
  952. mindspore/ops/_op_impl/akg/cpu/__init__.py +23 -0
  953. mindspore/ops/_op_impl/akg/cpu/coo2csr.py +29 -0
  954. mindspore/ops/_op_impl/akg/cpu/csr2coo.py +29 -0
  955. mindspore/ops/_op_impl/akg/cpu/csr_gather.py +33 -0
  956. mindspore/ops/_op_impl/akg/cpu/csr_mm.py +34 -0
  957. mindspore/ops/_op_impl/akg/cpu/csr_mul.py +33 -0
  958. mindspore/ops/_op_impl/akg/cpu/csr_mv.py +33 -0
  959. mindspore/ops/_op_impl/akg/cpu/csr_reduce_sum.py +31 -0
  960. mindspore/ops/_op_impl/akg/gpu/__init__.py +24 -0
  961. mindspore/ops/_op_impl/akg/gpu/coo2csr.py +29 -0
  962. mindspore/ops/_op_impl/akg/gpu/csr2coo.py +29 -0
  963. mindspore/ops/_op_impl/akg/gpu/csr_div.py +36 -0
  964. mindspore/ops/_op_impl/akg/gpu/csr_gather.py +33 -0
  965. mindspore/ops/_op_impl/akg/gpu/csr_mm.py +37 -0
  966. mindspore/ops/_op_impl/akg/gpu/csr_mul.py +36 -0
  967. mindspore/ops/_op_impl/akg/gpu/csr_mv.py +36 -0
  968. mindspore/ops/_op_impl/akg/gpu/csr_reduce_sum.py +33 -0
  969. mindspore/ops/_op_impl/cpu/__init__.py +78 -0
  970. mindspore/ops/_op_impl/cpu/adam.py +49 -0
  971. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +47 -0
  972. mindspore/ops/_op_impl/cpu/arg_max.py +30 -0
  973. mindspore/ops/_op_impl/cpu/arg_max_with_value.py +31 -0
  974. mindspore/ops/_op_impl/cpu/arg_min_with_value.py +31 -0
  975. mindspore/ops/_op_impl/cpu/buffer_append.py +28 -0
  976. mindspore/ops/_op_impl/cpu/buffer_get.py +28 -0
  977. mindspore/ops/_op_impl/cpu/buffer_sample.py +28 -0
  978. mindspore/ops/_op_impl/cpu/cast.py +171 -0
  979. mindspore/ops/_op_impl/cpu/concat_offset.py +38 -0
  980. mindspore/ops/_op_impl/cpu/conv2d.py +30 -0
  981. mindspore/ops/_op_impl/cpu/conv3d.py +30 -0
  982. mindspore/ops/_op_impl/cpu/div.py +32 -0
  983. mindspore/ops/_op_impl/cpu/dropout.py +31 -0
  984. mindspore/ops/_op_impl/cpu/dropout_grad.py +30 -0
  985. mindspore/ops/_op_impl/cpu/dynamic_shape.py +42 -0
  986. mindspore/ops/_op_impl/cpu/dynamic_stitch.py +41 -0
  987. mindspore/ops/_op_impl/cpu/equal_count.py +30 -0
  988. mindspore/ops/_op_impl/cpu/gather_d.py +49 -0
  989. mindspore/ops/_op_impl/cpu/gather_d_grad.py +38 -0
  990. mindspore/ops/_op_impl/cpu/gather_d_grad_v2.py +40 -0
  991. mindspore/ops/_op_impl/cpu/gather_v2.py +40 -0
  992. mindspore/ops/_op_impl/cpu/hsigmoid.py +33 -0
  993. mindspore/ops/_op_impl/cpu/hsigmoid_grad.py +34 -0
  994. mindspore/ops/_op_impl/cpu/hswish.py +32 -0
  995. mindspore/ops/_op_impl/cpu/hswish_grad.py +33 -0
  996. mindspore/ops/_op_impl/cpu/identity_n.py +40 -0
  997. mindspore/ops/_op_impl/cpu/is_finite.py +39 -0
  998. mindspore/ops/_op_impl/cpu/l2loss.py +30 -0
  999. mindspore/ops/_op_impl/cpu/layer_norm.py +36 -0
  1000. mindspore/ops/_op_impl/cpu/layer_norm_grad.py +38 -0
  1001. mindspore/ops/_op_impl/cpu/maximum.py +35 -0
  1002. mindspore/ops/_op_impl/cpu/maximum_grad.py +47 -0
  1003. mindspore/ops/_op_impl/cpu/minimum.py +40 -0
  1004. mindspore/ops/_op_impl/cpu/minimum_grad.py +51 -0
  1005. mindspore/ops/_op_impl/cpu/mirror_pad.py +36 -0
  1006. mindspore/ops/_op_impl/cpu/mirror_pad_grad.py +36 -0
  1007. mindspore/ops/_op_impl/cpu/mul.py +32 -0
  1008. mindspore/ops/_op_impl/cpu/one_hot.py +31 -0
  1009. mindspore/ops/_op_impl/cpu/pad.py +32 -0
  1010. mindspore/ops/_op_impl/cpu/pow.py +32 -0
  1011. mindspore/ops/_op_impl/cpu/priority_replay_buffer.py +42 -0
  1012. mindspore/ops/_op_impl/cpu/pyexecute.py +29 -0
  1013. mindspore/ops/_op_impl/cpu/pyfunc.py +29 -0
  1014. mindspore/ops/_op_impl/cpu/range.py +34 -0
  1015. mindspore/ops/_op_impl/cpu/real_div.py +33 -0
  1016. mindspore/ops/_op_impl/cpu/reduce_all.py +29 -0
  1017. mindspore/ops/_op_impl/cpu/reduce_any.py +29 -0
  1018. mindspore/ops/_op_impl/cpu/reduce_max.py +32 -0
  1019. mindspore/ops/_op_impl/cpu/reduce_mean.py +40 -0
  1020. mindspore/ops/_op_impl/cpu/reduce_min.py +32 -0
  1021. mindspore/ops/_op_impl/cpu/reduce_prod.py +40 -0
  1022. mindspore/ops/_op_impl/cpu/reduce_std.py +31 -0
  1023. mindspore/ops/_op_impl/cpu/reduce_sum.py +41 -0
  1024. mindspore/ops/_op_impl/cpu/space_to_batch_nd.py +38 -0
  1025. mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
  1026. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
  1027. mindspore/ops/_op_impl/cpu/split.py +34 -0
  1028. mindspore/ops/_op_impl/cpu/sspaddmm.py +95 -0
  1029. mindspore/ops/_op_impl/cpu/stack.py +38 -0
  1030. mindspore/ops/_op_impl/cpu/sub.py +32 -0
  1031. mindspore/ops/_op_impl/cpu/tensor_copy_slices.py +41 -0
  1032. mindspore/ops/_op_impl/cpu/tile.py +37 -0
  1033. mindspore/ops/_op_impl/cpu/top_k.py +31 -0
  1034. mindspore/ops/_op_impl/cpu/transpose.py +39 -0
  1035. mindspore/ops/_primitive_cache.py +90 -0
  1036. mindspore/ops/_register_for_op.py +73 -0
  1037. mindspore/ops/_utils/__init__.py +20 -0
  1038. mindspore/ops/_utils/utils.py +147 -0
  1039. mindspore/ops/_vmap/__init__.py +25 -0
  1040. mindspore/ops/_vmap/vmap_array_ops.py +2149 -0
  1041. mindspore/ops/_vmap/vmap_base.py +533 -0
  1042. mindspore/ops/_vmap/vmap_convolution_ops.py +441 -0
  1043. mindspore/ops/_vmap/vmap_debug_ops.py +50 -0
  1044. mindspore/ops/_vmap/vmap_grad_math_ops.py +274 -0
  1045. mindspore/ops/_vmap/vmap_grad_nn_ops.py +806 -0
  1046. mindspore/ops/_vmap/vmap_image_ops.py +194 -0
  1047. mindspore/ops/_vmap/vmap_math_ops.py +993 -0
  1048. mindspore/ops/_vmap/vmap_nn_ops.py +2250 -0
  1049. mindspore/ops/_vmap/vmap_other_ops.py +105 -0
  1050. mindspore/ops/_vmap/vmap_random_ops.py +122 -0
  1051. mindspore/ops/_vmap/vmap_sparse_ops.py +89 -0
  1052. mindspore/ops/auto_generate/__init__.py +31 -0
  1053. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +309 -0
  1054. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +252 -0
  1055. mindspore/ops/auto_generate/gen_arg_handler.py +197 -0
  1056. mindspore/ops/auto_generate/gen_extend_func.py +1701 -0
  1057. mindspore/ops/auto_generate/gen_ops_def.py +8482 -0
  1058. mindspore/ops/auto_generate/gen_ops_prim.py +16704 -0
  1059. mindspore/ops/auto_generate/pyboost_inner_prim.py +549 -0
  1060. mindspore/ops/composite/__init__.py +71 -0
  1061. mindspore/ops/composite/base.py +1318 -0
  1062. mindspore/ops/composite/env_ops.py +41 -0
  1063. mindspore/ops/composite/math_ops.py +125 -0
  1064. mindspore/ops/composite/multitype_ops/__init__.py +77 -0
  1065. mindspore/ops/composite/multitype_ops/_compile_utils.py +1459 -0
  1066. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +897 -0
  1067. mindspore/ops/composite/multitype_ops/add_impl.py +606 -0
  1068. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +56 -0
  1069. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +56 -0
  1070. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +56 -0
  1071. mindspore/ops/composite/multitype_ops/div_impl.py +189 -0
  1072. mindspore/ops/composite/multitype_ops/equal_impl.py +335 -0
  1073. mindspore/ops/composite/multitype_ops/floordiv_impl.py +88 -0
  1074. mindspore/ops/composite/multitype_ops/getitem_impl.py +400 -0
  1075. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +109 -0
  1076. mindspore/ops/composite/multitype_ops/greater_impl.py +110 -0
  1077. mindspore/ops/composite/multitype_ops/in_impl.py +196 -0
  1078. mindspore/ops/composite/multitype_ops/left_shift_impl.py +37 -0
  1079. mindspore/ops/composite/multitype_ops/less_equal_impl.py +111 -0
  1080. mindspore/ops/composite/multitype_ops/less_impl.py +112 -0
  1081. mindspore/ops/composite/multitype_ops/logic_not_impl.py +113 -0
  1082. mindspore/ops/composite/multitype_ops/logical_and_impl.py +60 -0
  1083. mindspore/ops/composite/multitype_ops/logical_or_impl.py +61 -0
  1084. mindspore/ops/composite/multitype_ops/mod_impl.py +86 -0
  1085. mindspore/ops/composite/multitype_ops/mul_impl.py +294 -0
  1086. mindspore/ops/composite/multitype_ops/negative_impl.py +79 -0
  1087. mindspore/ops/composite/multitype_ops/not_equal_impl.py +290 -0
  1088. mindspore/ops/composite/multitype_ops/not_in_impl.py +196 -0
  1089. mindspore/ops/composite/multitype_ops/ones_like_impl.py +96 -0
  1090. mindspore/ops/composite/multitype_ops/pow_impl.py +87 -0
  1091. mindspore/ops/composite/multitype_ops/right_shift_impl.py +37 -0
  1092. mindspore/ops/composite/multitype_ops/setitem_impl.py +884 -0
  1093. mindspore/ops/composite/multitype_ops/sub_impl.py +116 -0
  1094. mindspore/ops/composite/multitype_ops/uadd_impl.py +29 -0
  1095. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +228 -0
  1096. mindspore/ops/deprecated.py +315 -0
  1097. mindspore/ops/function/__init__.py +782 -0
  1098. mindspore/ops/function/array_func.py +7226 -0
  1099. mindspore/ops/function/clip_func.py +384 -0
  1100. mindspore/ops/function/debug_func.py +181 -0
  1101. mindspore/ops/function/fft_func.py +44 -0
  1102. mindspore/ops/function/grad/__init__.py +34 -0
  1103. mindspore/ops/function/grad/grad_func.py +1425 -0
  1104. mindspore/ops/function/image_func.py +292 -0
  1105. mindspore/ops/function/linalg_func.py +416 -0
  1106. mindspore/ops/function/math_func.py +12228 -0
  1107. mindspore/ops/function/nn_func.py +8609 -0
  1108. mindspore/ops/function/other_func.py +115 -0
  1109. mindspore/ops/function/parameter_func.py +134 -0
  1110. mindspore/ops/function/random_func.py +1715 -0
  1111. mindspore/ops/function/reshard_func.py +104 -0
  1112. mindspore/ops/function/sparse_func.py +884 -0
  1113. mindspore/ops/function/sparse_unary_func.py +2422 -0
  1114. mindspore/ops/function/spectral_func.py +150 -0
  1115. mindspore/ops/function/vmap_func.py +117 -0
  1116. mindspore/ops/functional.py +464 -0
  1117. mindspore/ops/op_info_register.py +1572 -0
  1118. mindspore/ops/operations/__init__.py +722 -0
  1119. mindspore/ops/operations/_csr_ops.py +403 -0
  1120. mindspore/ops/operations/_custom_grad.py +181 -0
  1121. mindspore/ops/operations/_embedding_cache_ops.py +307 -0
  1122. mindspore/ops/operations/_grad_ops.py +2978 -0
  1123. mindspore/ops/operations/_infer_ops.py +19 -0
  1124. mindspore/ops/operations/_inner_ops.py +2544 -0
  1125. mindspore/ops/operations/_map_tensor_ops.py +112 -0
  1126. mindspore/ops/operations/_ms_kernel.py +601 -0
  1127. mindspore/ops/operations/_ocr_ops.py +379 -0
  1128. mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
  1129. mindspore/ops/operations/_pyfunc_registry.py +58 -0
  1130. mindspore/ops/operations/_quant_ops.py +1844 -0
  1131. mindspore/ops/operations/_rl_inner_ops.py +1231 -0
  1132. mindspore/ops/operations/_scalar_ops.py +106 -0
  1133. mindspore/ops/operations/_sequence_ops.py +1155 -0
  1134. mindspore/ops/operations/_sparse_grad_ops.py +56 -0
  1135. mindspore/ops/operations/_tensor_array.py +359 -0
  1136. mindspore/ops/operations/_thor_ops.py +807 -0
  1137. mindspore/ops/operations/array_ops.py +6124 -0
  1138. mindspore/ops/operations/comm_ops.py +1985 -0
  1139. mindspore/ops/operations/control_ops.py +127 -0
  1140. mindspore/ops/operations/custom_ops.py +1129 -0
  1141. mindspore/ops/operations/debug_ops.py +678 -0
  1142. mindspore/ops/operations/image_ops.py +1041 -0
  1143. mindspore/ops/operations/inner_ops.py +697 -0
  1144. mindspore/ops/operations/linalg_ops.py +95 -0
  1145. mindspore/ops/operations/manually_defined/__init__.py +24 -0
  1146. mindspore/ops/operations/manually_defined/_inner.py +73 -0
  1147. mindspore/ops/operations/manually_defined/ops_def.py +2271 -0
  1148. mindspore/ops/operations/math_ops.py +5095 -0
  1149. mindspore/ops/operations/nn_ops.py +9575 -0
  1150. mindspore/ops/operations/other_ops.py +874 -0
  1151. mindspore/ops/operations/random_ops.py +1288 -0
  1152. mindspore/ops/operations/reshard_ops.py +53 -0
  1153. mindspore/ops/operations/rl_ops.py +288 -0
  1154. mindspore/ops/operations/sparse_ops.py +2753 -0
  1155. mindspore/ops/operations/spectral_ops.py +111 -0
  1156. mindspore/ops/primitive.py +1046 -0
  1157. mindspore/ops/signature.py +54 -0
  1158. mindspore/ops/vm_impl_registry.py +91 -0
  1159. mindspore/ops_generate/__init__.py +27 -0
  1160. mindspore/ops_generate/arg_dtype_cast.py +252 -0
  1161. mindspore/ops_generate/arg_handler.py +197 -0
  1162. mindspore/ops_generate/gen_aclnn_implement.py +263 -0
  1163. mindspore/ops_generate/gen_constants.py +36 -0
  1164. mindspore/ops_generate/gen_ops.py +1099 -0
  1165. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  1166. mindspore/ops_generate/gen_pyboost_func.py +1052 -0
  1167. mindspore/ops_generate/gen_utils.py +209 -0
  1168. mindspore/ops_generate/op_proto.py +145 -0
  1169. mindspore/ops_generate/pyboost_utils.py +367 -0
  1170. mindspore/ops_generate/template.py +261 -0
  1171. mindspore/parallel/__init__.py +30 -0
  1172. mindspore/parallel/_auto_parallel_context.py +1486 -0
  1173. mindspore/parallel/_cell_wrapper.py +174 -0
  1174. mindspore/parallel/_cost_model_context.py +700 -0
  1175. mindspore/parallel/_dp_allreduce_fusion.py +159 -0
  1176. mindspore/parallel/_offload_context.py +275 -0
  1177. mindspore/parallel/_parallel_serialization.py +561 -0
  1178. mindspore/parallel/_ps_context.py +242 -0
  1179. mindspore/parallel/_recovery_context.py +110 -0
  1180. mindspore/parallel/_tensor.py +730 -0
  1181. mindspore/parallel/_transformer/__init__.py +35 -0
  1182. mindspore/parallel/_transformer/layers.py +765 -0
  1183. mindspore/parallel/_transformer/loss.py +251 -0
  1184. mindspore/parallel/_transformer/moe.py +693 -0
  1185. mindspore/parallel/_transformer/op_parallel_config.py +222 -0
  1186. mindspore/parallel/_transformer/transformer.py +3119 -0
  1187. mindspore/parallel/_utils.py +612 -0
  1188. mindspore/parallel/algo_parameter_config.py +400 -0
  1189. mindspore/parallel/checkpoint_transform.py +650 -0
  1190. mindspore/parallel/cluster/__init__.py +15 -0
  1191. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  1192. mindspore/parallel/cluster/process_entity/_api.py +352 -0
  1193. mindspore/parallel/cluster/process_entity/_utils.py +101 -0
  1194. mindspore/parallel/cluster/run.py +136 -0
  1195. mindspore/parallel/mpi/__init__.py +14 -0
  1196. mindspore/parallel/mpi/_mpi_config.py +116 -0
  1197. mindspore/parallel/parameter_broadcast.py +151 -0
  1198. mindspore/parallel/shard.py +481 -0
  1199. mindspore/parallel/transform_safetensors.py +993 -0
  1200. mindspore/perf_msvcbuildinsights.dll +0 -0
  1201. mindspore/pgodb140.dll +0 -0
  1202. mindspore/pgort140.dll +0 -0
  1203. mindspore/profiler/__init__.py +28 -0
  1204. mindspore/profiler/common/__init__.py +14 -0
  1205. mindspore/profiler/common/constant.py +29 -0
  1206. mindspore/profiler/common/exceptions/__init__.py +14 -0
  1207. mindspore/profiler/common/exceptions/error_code.py +83 -0
  1208. mindspore/profiler/common/exceptions/exceptions.py +286 -0
  1209. mindspore/profiler/common/process_pool.py +41 -0
  1210. mindspore/profiler/common/registry.py +47 -0
  1211. mindspore/profiler/common/singleton.py +28 -0
  1212. mindspore/profiler/common/struct_type.py +118 -0
  1213. mindspore/profiler/common/util.py +472 -0
  1214. mindspore/profiler/common/validator/__init__.py +14 -0
  1215. mindspore/profiler/common/validator/validate_path.py +84 -0
  1216. mindspore/profiler/dynamic_profiler.py +694 -0
  1217. mindspore/profiler/envprofiling.py +254 -0
  1218. mindspore/profiler/parser/__init__.py +14 -0
  1219. mindspore/profiler/parser/aicpu_data_parser.py +272 -0
  1220. mindspore/profiler/parser/ascend_analysis/__init__.py +14 -0
  1221. mindspore/profiler/parser/ascend_analysis/constant.py +71 -0
  1222. mindspore/profiler/parser/ascend_analysis/file_manager.py +180 -0
  1223. mindspore/profiler/parser/ascend_analysis/function_event.py +185 -0
  1224. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +136 -0
  1225. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +131 -0
  1226. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +104 -0
  1227. mindspore/profiler/parser/ascend_analysis/path_manager.py +313 -0
  1228. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +123 -0
  1229. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  1230. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +75 -0
  1231. mindspore/profiler/parser/ascend_cluster_generator.py +116 -0
  1232. mindspore/profiler/parser/ascend_communicate_generator.py +314 -0
  1233. mindspore/profiler/parser/ascend_flops_generator.py +116 -0
  1234. mindspore/profiler/parser/ascend_fpbp_generator.py +82 -0
  1235. mindspore/profiler/parser/ascend_hccl_generator.py +271 -0
  1236. mindspore/profiler/parser/ascend_integrate_generator.py +42 -0
  1237. mindspore/profiler/parser/ascend_memory_generator.py +185 -0
  1238. mindspore/profiler/parser/ascend_msprof_exporter.py +282 -0
  1239. mindspore/profiler/parser/ascend_msprof_generator.py +187 -0
  1240. mindspore/profiler/parser/ascend_op_generator.py +334 -0
  1241. mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
  1242. mindspore/profiler/parser/ascend_timeline_generator.py +545 -0
  1243. mindspore/profiler/parser/base_timeline_generator.py +483 -0
  1244. mindspore/profiler/parser/container.py +229 -0
  1245. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +697 -0
  1246. mindspore/profiler/parser/flops_parser.py +531 -0
  1247. mindspore/profiler/parser/framework_enum.py +111 -0
  1248. mindspore/profiler/parser/framework_parser.py +464 -0
  1249. mindspore/profiler/parser/framework_struct.py +61 -0
  1250. mindspore/profiler/parser/gpu_analysis/__init__.py +14 -0
  1251. mindspore/profiler/parser/gpu_analysis/function_event.py +44 -0
  1252. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +89 -0
  1253. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +72 -0
  1254. mindspore/profiler/parser/hccl_parser.py +573 -0
  1255. mindspore/profiler/parser/hwts_log_parser.py +122 -0
  1256. mindspore/profiler/parser/integrator.py +526 -0
  1257. mindspore/profiler/parser/memory_usage_parser.py +277 -0
  1258. mindspore/profiler/parser/minddata_analyzer.py +800 -0
  1259. mindspore/profiler/parser/minddata_parser.py +186 -0
  1260. mindspore/profiler/parser/minddata_pipeline_parser.py +299 -0
  1261. mindspore/profiler/parser/op_intermediate_parser.py +149 -0
  1262. mindspore/profiler/parser/optime_parser.py +250 -0
  1263. mindspore/profiler/parser/profiler_info.py +213 -0
  1264. mindspore/profiler/parser/step_trace_parser.py +666 -0
  1265. mindspore/profiler/profiler.py +153 -0
  1266. mindspore/profiler/profiling.py +1922 -0
  1267. mindspore/rewrite/__init__.py +28 -0
  1268. mindspore/rewrite/api/__init__.py +17 -0
  1269. mindspore/rewrite/api/node.py +519 -0
  1270. mindspore/rewrite/api/node_type.py +53 -0
  1271. mindspore/rewrite/api/pattern_engine.py +490 -0
  1272. mindspore/rewrite/api/scoped_value.py +181 -0
  1273. mindspore/rewrite/api/symbol_tree.py +497 -0
  1274. mindspore/rewrite/ast_helpers/__init__.py +25 -0
  1275. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  1276. mindspore/rewrite/ast_helpers/ast_finder.py +404 -0
  1277. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  1278. mindspore/rewrite/ast_helpers/ast_modifier.py +605 -0
  1279. mindspore/rewrite/ast_helpers/ast_replacer.py +79 -0
  1280. mindspore/rewrite/common/__init__.py +19 -0
  1281. mindspore/rewrite/common/config.py +24 -0
  1282. mindspore/rewrite/common/error_log.py +39 -0
  1283. mindspore/rewrite/common/event.py +28 -0
  1284. mindspore/rewrite/common/namer.py +271 -0
  1285. mindspore/rewrite/common/namespace.py +118 -0
  1286. mindspore/rewrite/common/observable.py +44 -0
  1287. mindspore/rewrite/common/observer.py +54 -0
  1288. mindspore/rewrite/node/__init__.py +22 -0
  1289. mindspore/rewrite/node/call_function.py +95 -0
  1290. mindspore/rewrite/node/cell_container.py +139 -0
  1291. mindspore/rewrite/node/control_flow.py +113 -0
  1292. mindspore/rewrite/node/node.py +1428 -0
  1293. mindspore/rewrite/node/node_manager.py +283 -0
  1294. mindspore/rewrite/node/node_topological_manager.py +223 -0
  1295. mindspore/rewrite/parsers/__init__.py +29 -0
  1296. mindspore/rewrite/parsers/arguments_parser.py +63 -0
  1297. mindspore/rewrite/parsers/assign_parser.py +852 -0
  1298. mindspore/rewrite/parsers/attribute_parser.py +57 -0
  1299. mindspore/rewrite/parsers/class_def_parser.py +289 -0
  1300. mindspore/rewrite/parsers/constant_parser.py +104 -0
  1301. mindspore/rewrite/parsers/container_parser.py +88 -0
  1302. mindspore/rewrite/parsers/expr_parser.py +55 -0
  1303. mindspore/rewrite/parsers/for_parser.py +61 -0
  1304. mindspore/rewrite/parsers/function_def_parser.py +84 -0
  1305. mindspore/rewrite/parsers/if_parser.py +85 -0
  1306. mindspore/rewrite/parsers/module_parser.py +117 -0
  1307. mindspore/rewrite/parsers/parser.py +43 -0
  1308. mindspore/rewrite/parsers/parser_register.py +86 -0
  1309. mindspore/rewrite/parsers/return_parser.py +37 -0
  1310. mindspore/rewrite/parsers/while_parser.py +59 -0
  1311. mindspore/rewrite/sparsify/__init__.py +0 -0
  1312. mindspore/rewrite/sparsify/sparse_transformer.py +457 -0
  1313. mindspore/rewrite/sparsify/sparsify.py +112 -0
  1314. mindspore/rewrite/sparsify/utils.py +179 -0
  1315. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  1316. mindspore/rewrite/symbol_tree/symbol_tree.py +1819 -0
  1317. mindspore/rewrite/symbol_tree/symbol_tree_builder.py +76 -0
  1318. mindspore/rewrite/symbol_tree/symbol_tree_dumper.py +142 -0
  1319. mindspore/run_check/__init__.py +20 -0
  1320. mindspore/run_check/_check_version.py +507 -0
  1321. mindspore/run_check/run_check.py +66 -0
  1322. mindspore/safeguard/__init__.py +18 -0
  1323. mindspore/safeguard/rewrite_obfuscation.py +875 -0
  1324. mindspore/swresample-4.dll +0 -0
  1325. mindspore/swscale-6.dll +0 -0
  1326. mindspore/tbbmalloc.dll +0 -0
  1327. mindspore/tinyxml2.dll +0 -0
  1328. mindspore/train/__init__.py +48 -0
  1329. mindspore/train/_utils.py +465 -0
  1330. mindspore/train/amp.py +935 -0
  1331. mindspore/train/anf_ir_pb2.py +1517 -0
  1332. mindspore/train/callback/__init__.py +44 -0
  1333. mindspore/train/callback/_backup_and_restore.py +117 -0
  1334. mindspore/train/callback/_callback.py +613 -0
  1335. mindspore/train/callback/_checkpoint.py +814 -0
  1336. mindspore/train/callback/_cluster_monitor.py +201 -0
  1337. mindspore/train/callback/_dataset_graph.py +150 -0
  1338. mindspore/train/callback/_early_stop.py +239 -0
  1339. mindspore/train/callback/_flops_collector.py +239 -0
  1340. mindspore/train/callback/_history.py +92 -0
  1341. mindspore/train/callback/_lambda_callback.py +80 -0
  1342. mindspore/train/callback/_landscape.py +1049 -0
  1343. mindspore/train/callback/_loss_monitor.py +107 -0
  1344. mindspore/train/callback/_lr_scheduler_callback.py +76 -0
  1345. mindspore/train/callback/_on_request_exit.py +298 -0
  1346. mindspore/train/callback/_reduce_lr_on_plateau.py +226 -0
  1347. mindspore/train/callback/_summary_collector.py +1184 -0
  1348. mindspore/train/callback/_tft_register.py +352 -0
  1349. mindspore/train/callback/_time_monitor.py +141 -0
  1350. mindspore/train/checkpoint_pb2.py +233 -0
  1351. mindspore/train/data_sink.py +219 -0
  1352. mindspore/train/dataset_helper.py +692 -0
  1353. mindspore/train/lineage_pb2.py +1260 -0
  1354. mindspore/train/loss_scale_manager.py +213 -0
  1355. mindspore/train/memory_profiling_pb2.py +298 -0
  1356. mindspore/train/metrics/__init__.py +175 -0
  1357. mindspore/train/metrics/accuracy.py +133 -0
  1358. mindspore/train/metrics/auc.py +129 -0
  1359. mindspore/train/metrics/bleu_score.py +170 -0
  1360. mindspore/train/metrics/confusion_matrix.py +700 -0
  1361. mindspore/train/metrics/cosine_similarity.py +109 -0
  1362. mindspore/train/metrics/dice.py +116 -0
  1363. mindspore/train/metrics/error.py +175 -0
  1364. mindspore/train/metrics/fbeta.py +167 -0
  1365. mindspore/train/metrics/hausdorff_distance.py +333 -0
  1366. mindspore/train/metrics/loss.py +97 -0
  1367. mindspore/train/metrics/mean_surface_distance.py +189 -0
  1368. mindspore/train/metrics/metric.py +373 -0
  1369. mindspore/train/metrics/occlusion_sensitivity.py +225 -0
  1370. mindspore/train/metrics/perplexity.py +133 -0
  1371. mindspore/train/metrics/precision.py +160 -0
  1372. mindspore/train/metrics/recall.py +159 -0
  1373. mindspore/train/metrics/roc.py +223 -0
  1374. mindspore/train/metrics/root_mean_square_surface_distance.py +191 -0
  1375. mindspore/train/metrics/topk.py +167 -0
  1376. mindspore/train/mind_ir_pb2.py +1908 -0
  1377. mindspore/train/model.py +2252 -0
  1378. mindspore/train/node_strategy_pb2.py +653 -0
  1379. mindspore/train/print_pb2.py +184 -0
  1380. mindspore/train/profiling_parallel_pb2.py +151 -0
  1381. mindspore/train/serialization.py +3325 -0
  1382. mindspore/train/summary/__init__.py +23 -0
  1383. mindspore/train/summary/_lineage_adapter.py +41 -0
  1384. mindspore/train/summary/_summary_adapter.py +496 -0
  1385. mindspore/train/summary/_writer_pool.py +207 -0
  1386. mindspore/train/summary/enums.py +56 -0
  1387. mindspore/train/summary/summary_record.py +581 -0
  1388. mindspore/train/summary/writer.py +167 -0
  1389. mindspore/train/summary_pb2.py +1165 -0
  1390. mindspore/train/train_thor/__init__.py +20 -0
  1391. mindspore/train/train_thor/convert_utils.py +268 -0
  1392. mindspore/train/train_thor/dataset_helper.py +192 -0
  1393. mindspore/train/train_thor/model_thor.py +257 -0
  1394. mindspore/turbojpeg.dll +0 -0
  1395. mindspore/utils/__init__.py +21 -0
  1396. mindspore/utils/utils.py +60 -0
  1397. mindspore/vcmeta.dll +0 -0
  1398. mindspore/vcomp140.dll +0 -0
  1399. mindspore/vcruntime140.dll +0 -0
  1400. mindspore/vcruntime140_1.dll +0 -0
  1401. mindspore/version.py +1 -0
  1402. mindspore-2.4.0.dist-info/METADATA +352 -0
  1403. mindspore-2.4.0.dist-info/RECORD +1406 -0
  1404. mindspore-2.4.0.dist-info/WHEEL +5 -0
  1405. mindspore-2.4.0.dist-info/entry_points.txt +3 -0
  1406. mindspore-2.4.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1092 @@
1
+ /**
2
+ * Copyright 2020-2023 Huawei Technologies Co., Ltd
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #ifndef MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_TEXT_H_
18
+ #define MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_TEXT_H_
19
+
20
+ #include <memory>
21
+ #include <optional>
22
+ #include <string>
23
+ #include <unordered_map>
24
+ #include <utility>
25
+ #include <vector>
26
+
27
+ #include "include/api/dual_abi_helper.h"
28
+ #include "include/api/status.h"
29
+ #include "include/dataset/constants.h"
30
+ #include "include/dataset/transforms.h"
31
+
32
+ namespace mindspore {
33
+ namespace dataset {
34
+ class TensorOperation;
35
+ class Vectors;
36
+
37
+ using WordIdType = int32_t;
38
+ using WordType = std::string;
39
+
40
+ /// \brief Vocab object that is used to save pairs of words and ids.
41
+ /// \note It contains a map that maps each word(str) to an id(int) or reverse.
42
+ class Vocab {
43
+ public:
44
+ /// \brief Build a vocab from an unordered_map. IDs should be no duplicate and continuous.
45
+ /// \param[in] words An unordered_map containing word id pair.
46
+ /// \param[out] vocab A vocab object.
47
+ /// \return Status code.
48
+ /// \par Example
49
+ /// \code
50
+ /// // Build a map
51
+ /// std::unordered_map<std::string, int32_t> dict;
52
+ /// dict["banana"] = 0;
53
+ /// dict["apple"] = 1;
54
+ /// dict["cat"] = 2;
55
+ /// dict["dog"] = 3;
56
+ /// // Build vocab from map
57
+ /// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
58
+ /// Status s = Vocab::BuildFromUnorderedMap(dict, &vocab);
59
+ /// \endcode
60
+ static Status BuildFromUnorderedMap(const std::unordered_map<WordType, WordIdType> &words,
61
+ std::shared_ptr<Vocab> *vocab);
62
+
63
+ /// \brief Build a vocab from a c++ vector. id no duplicate and continuous.
64
+ /// \param[in] words A vector of string containing words.
65
+ /// \param[in] special_tokens A vector of string containing special tokens.
66
+ /// \param[in] prepend_special Whether the special_tokens will be prepended/appended to vocab.
67
+ /// \param[out] vocab A vocab object.
68
+ /// \return Status code.
69
+ /// \par Example
70
+ /// \code
71
+ /// // Build vocab from a vector of words, special tokens are prepended to vocab
72
+ /// std::vector<std::string> list = {"apple", "banana", "cat", "dog", "egg"};
73
+ /// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
74
+ /// Status s = Vocab::BuildFromVector(list, {"<unk>"}, true, &vocab);
75
+ /// \endcode
76
+ static Status BuildFromVector(const std::vector<WordType> &words, const std::vector<WordType> &special_tokens,
77
+ bool prepend_special, std::shared_ptr<Vocab> *vocab);
78
+
79
+ /// \brief Build a vocab from vocab file, IDs will be automatically assigned.
80
+ /// \param[in] path Path to vocab file, each line in file is assumed as a word (including space).
81
+ /// \param[in] delimiter Delimiter to break each line, characters after the delimiter will be deprecated.
82
+ /// \param[in] vocab_size Number of lines to be read from file.
83
+ /// \param[in] special_tokens A vector of string containing special tokens.
84
+ /// \param[in] prepend_special Whether the special_tokens will be prepended/appended to vocab.
85
+ /// \param[out] vocab A vocab object.
86
+ /// \return Status code.
87
+ /// \par Example
88
+ /// \code
89
+ /// // Build vocab from local file
90
+ /// std::string vocab_dir = datasets_root_path_ + "/testVocab/vocab_list.txt";
91
+ /// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
92
+ /// Status s = Vocab::BuildFromFile(vocab_dir, ",", -1, {"<pad>", "<unk>"}, true, &vocab);
93
+ /// \endcode
94
+ static Status BuildFromFile(const std::string &path, const std::string &delimiter, int32_t vocab_size,
95
+ const std::vector<WordType> &special_tokens, bool prepend_special,
96
+ std::shared_ptr<Vocab> *vocab);
97
+
98
+ /// Lookup the id of a word, if the word doesn't exist in vocab, return -1.
99
+ /// \param word Word to be looked up.
100
+ /// \return ID of the word in the vocab.
101
+ /// \par Example
102
+ /// \code
103
+ /// // lookup, convert token to id
104
+ /// auto single_index = vocab->TokensToIds("home");
105
+ /// single_index = vocab->TokensToIds("hello");
106
+ /// \endcode
107
+ WordIdType TokensToIds(const WordType &word) const;
108
+
109
+ /// Lookup the id of a word, if the word doesn't exist in vocab, return -1.
110
+ /// \param words Words to be looked up.
111
+ /// \return ID of the word in the vocab.
112
+ /// \par Example
113
+ /// \code
114
+ /// // lookup multiple tokens
115
+ /// auto multi_indexs = vocab->TokensToIds(std::vector<std::string>{"<pad>", "behind"});
116
+ /// std::vector<int32_t> expected_multi_indexs = {0, 4};
117
+ /// multi_indexs = vocab->TokensToIds(std::vector<std::string>{"<pad>", "apple"});
118
+ /// expected_multi_indexs = {0, -1};
119
+ /// \endcode
120
+ std::vector<WordIdType> TokensToIds(const std::vector<WordType> &words) const;
121
+
122
+ /// Lookup the word of an ID, if ID doesn't exist in vocab, return empty string.
123
+ /// \param id ID to be looked up.
124
+ /// \return Indicates the word corresponding to the ID.
125
+ /// \par Example
126
+ /// \code
127
+ /// // reverse lookup, convert id to token
128
+ /// auto single_word = vocab->IdsToTokens(2);
129
+ /// single_word = vocab->IdsToTokens(-1);
130
+ /// \endcode
131
+ WordType IdsToTokens(const WordIdType &id);
132
+
133
+ /// Lookup the word of an ID, if ID doesn't exist in vocab, return empty string.
134
+ /// \param ids ID to be looked up.
135
+ /// \return Indicates the word corresponding to the ID.
136
+ /// \par Example
137
+ /// \code
138
+ /// // reverse lookup multiple ids
139
+ /// auto multi_words = vocab->IdsToTokens(std::vector<int32_t>{0, 4});
140
+ /// std::vector<std::string> expected_multi_words = {"<pad>", "behind"};
141
+ /// multi_words = vocab->IdsToTokens(std::vector<int32_t>{0, 99});
142
+ /// expected_multi_words = {"<pad>", ""};
143
+ /// \endcode
144
+ std::vector<WordType> IdsToTokens(const std::vector<WordIdType> &ids);
145
+
146
+ /// Constructor, shouldn't be called directly, can't be private due to std::make_unique().
147
+ /// \param map Sanitized word2id map.
148
+ explicit Vocab(std::unordered_map<WordType, WordIdType> map);
149
+
150
+ /// \brief Add one word to vocab, increment it's index automatically.
151
+ /// \param word Word to be added, word will skip if word already exists.
152
+ void AppendWord(const std::string &word);
153
+
154
+ /// \brief Return a read-only vocab in unordered_map type.
155
+ /// \return A unordered_map of word2id.
156
+ const std::unordered_map<WordType, WordIdType> &GetVocab() const { return word2id_; }
157
+
158
+ /// \brief Constructor.
159
+ Vocab() = default;
160
+
161
+ /// \brief Destructor.
162
+ ~Vocab() = default;
163
+
164
+ static const WordIdType kNoTokenExists;
165
+ static const WordType kNoIdExists;
166
+
167
+ private:
168
+ std::unordered_map<WordType, WordIdType> word2id_;
169
+ std::unordered_map<WordIdType, WordType> id2word_;
170
+ };
171
+
172
+ /// \brief SentencePiece object that is used to do words segmentation.
173
+ class SentencePieceVocab {
174
+ public:
175
+ /// \brief Build a SentencePiece object from a file.
176
+ /// \param[in] path_list Path to the file which contains the SentencePiece list.
177
+ /// \param[in] vocab_size Vocabulary size.
178
+ /// \param[in] character_coverage Amount of characters covered by the model, good defaults are: 0.9995 for
179
+ /// languages with rich character set like Japanese or Chinese and 1.0 for other languages with small
180
+ /// character set.
181
+ /// \param[in] model_type It can be any of [SentencePieceModel::kUnigram, SentencePieceModel::kBpe,
182
+ /// SentencePieceModel::kChar, SentencePieceModel::kWord], default is SentencePieceModel::kUnigram. The
183
+ /// input sentence must be pre-tokenized when using SentencePieceModel.WORD type.
184
+ /// - SentencePieceModel.kUnigram, Unigram Language Model means the next word in the sentence is assumed
185
+ /// to be independent of the previous words generated by the model.
186
+ /// - SentencePieceModel.kBpe, refers to byte pair encoding algorithm, which replaces the most frequent
187
+ /// pair of bytes in a sentence with a single, unused byte.
188
+ /// - SentencePieceModel.kChar, refers to char based sentencePiece Model type.
189
+ /// - SentencePieceModel.kWord, refers to word based sentencePiece Model type.
190
+ /// \param[in] params A dictionary with no incoming parameters(The parameters are derived from SentencePiece library).
191
+ /// \param[out] vocab A SentencePieceVocab object.
192
+ /// \return SentencePieceVocab, vocab built from the file.
193
+ /// \par Example
194
+ /// \code
195
+ /// std::string dataset_path;
196
+ /// dataset_path = datasets_root_path_ + "/test_sentencepiece/vocab.txt";
197
+ /// std::vector<std::string> path_list;
198
+ /// path_list.emplace_back(dataset_path);
199
+ /// std::unordered_map<std::string, std::string> param_map;
200
+ /// std::shared_ptr<SentencePieceVocab> spm = std::make_unique<SentencePieceVocab>();
201
+ /// Status rc = SentencePieceVocab::BuildFromFile(path_list, 5000, 0.9995,
202
+ /// SentencePieceModel::kUnigram, param_map, &spm);
203
+ /// \endcode
204
+ static Status BuildFromFile(const std::vector<std::string> &path_list, int32_t vocab_size, float character_coverage,
205
+ const SentencePieceModel &model_type,
206
+ const std::unordered_map<std::string, std::string> &params,
207
+ std::shared_ptr<SentencePieceVocab> *vocab);
208
+
209
+ /// \brief Save the SentencePiece model into given file path.
210
+ /// \param[in] vocab A SentencePiece object to be saved.
211
+ /// \param[in] path Path to store the model.
212
+ /// \param[in] filename The save name of model file.
213
+ /// \par Example
214
+ /// \code
215
+ /// // Save vocab model to local
216
+ /// vocab->SaveModel(&vocab, datasets_root_path_ + "/test_sentencepiece", "m.model");
217
+ /// \endcode
218
+ static Status SaveModel(const std::shared_ptr<SentencePieceVocab> *vocab, const std::string &path,
219
+ const std::string &filename);
220
+
221
+ /// \brief Constructor.
222
+ SentencePieceVocab();
223
+
224
+ /// \brief Destructor.
225
+ ~SentencePieceVocab() = default;
226
+
227
+ const std::string &model_proto();
228
+
229
+ void set_model_proto(const std::string &model_proto);
230
+
231
+ private:
232
+ std::string model_proto_;
233
+ };
234
+
235
+ // Transform operations for text
236
+ namespace text {
237
+ /// \brief Add token to beginning or end of sequence.
238
+ class DATASET_API AddToken final : public TensorTransform {
239
+ public:
240
+ /// \brief Constructor.
241
+ /// \param[in] token The token to be added.
242
+ /// \param[in] begin Whether to insert token at start or end of sequence. Default: true.
243
+ /// \par Example
244
+ /// \code
245
+ /// /* Define operations */
246
+ /// auto add_token_op = text::AddToken(token='TOKEN', begin=True);
247
+ ///
248
+ /// /* dataset is an instance of Dataset object */
249
+ /// dataset = dataset->Map({add_token_op}, // operations
250
+ /// {"text"}); // input columns
251
+ /// \endcode
252
+ explicit AddToken(const std::string &token, bool begin = true);
253
+
254
+ /// \brief Destructor.
255
+ ~AddToken() override = default;
256
+
257
+ protected:
258
+ /// \brief Function to convert TensorTransform object into a TensorOperation object.
259
+ /// \return Shared pointer to TensorOperation object.
260
+ std::shared_ptr<TensorOperation> Parse() override;
261
+
262
+ private:
263
+ struct Data;
264
+ std::shared_ptr<Data> data_;
265
+ };
266
+
267
+ #ifndef _WIN32
268
+ /// \brief Tokenize a scalar tensor of UTF-8 string by specific rules.
269
+ /// \note BasicTokenizer is not supported on the Windows platform yet.
270
+ class DATASET_API BasicTokenizer final : public TensorTransform {
271
+ public:
272
+ /// \brief Constructor.
273
+ /// \param[in] lower_case If true, apply CaseFold, NormalizeUTF8 (NFD mode) and RegexReplace operations to
274
+ /// the input text to fold the text to lower case and strip accents characters. If false, only apply
275
+ /// the NormalizeUTF8('normalization_form' mode) operation to the input text (default=false).
276
+ /// \param[in] keep_whitespace If true, the whitespace will be kept in output tokens (default=false).
277
+ /// \param[in] normalize_form This parameter is used to specify a specific normalize mode. This is only effective
278
+ /// when 'lower_case' is false. See NormalizeUTF8 for details (default=NormalizeForm::kNone).
279
+ /// \param[in] preserve_unused_token If true, do not split special tokens like '[CLS]', '[SEP]', '[UNK]', '[PAD]' and
280
+ /// '[MASK]' (default=true).
281
+ /// \param[in] with_offsets Whether to output offsets of tokens (default=false).
282
+ /// \par Example
283
+ /// \code
284
+ /// /* Define operations */
285
+ /// auto tokenizer_op = text::BasicTokenizer();
286
+ ///
287
+ /// /* dataset is an instance of Dataset object */
288
+ /// dataset = dataset->Map({tokenizer_op}, // operations
289
+ /// {"text"}); // input columns
290
+ /// \endcode
291
+ explicit BasicTokenizer(bool lower_case = false, bool keep_whitespace = false,
292
+ NormalizeForm normalize_form = NormalizeForm::kNone, bool preserve_unused_token = true,
293
+ bool with_offsets = false);
294
+
295
+ /// \brief Destructor
296
+ ~BasicTokenizer() override = default;
297
+
298
+ protected:
299
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
300
+ /// \return Shared pointer to the TensorOperation object.
301
+ std::shared_ptr<TensorOperation> Parse() override;
302
+
303
+ private:
304
+ struct Data;
305
+ std::shared_ptr<Data> data_;
306
+ };
307
+
308
+ /// \brief A tokenizer used for Bert text process.
309
+ /// \note BertTokenizer is not supported on the Windows platform yet.
310
+ class DATASET_API BertTokenizer final : public TensorTransform {
311
+ public:
312
+ /// \brief Constructor.
313
+ /// \param[in] vocab A Vocab object.
314
+ /// \param[in] suffix_indicator This parameter is used to show that the sub-word
315
+ /// is the last part of a word (default='##').
316
+ /// \param[in] max_bytes_per_token Tokens exceeding this length will not be further split (default=100).
317
+ /// \param[in] unknown_token When a token cannot be found, return the token directly if 'unknown_token' is an empty
318
+ /// string, else return the specified string (default='[UNK]').
319
+ /// \param[in] lower_case If true, apply CaseFold, NormalizeUTF8 (NFD mode) and RegexReplace operations to
320
+ /// the input text to fold the text to lower case and strip accents characters. If false, only apply
321
+ /// the NormalizeUTF8('normalization_form' mode) operation to the input text (default=false).
322
+ /// \param[in] keep_whitespace If true, the whitespace will be kept in output tokens (default=false).
323
+ /// \param[in] normalize_form This parameter is used to specify a specific normalize mode. This is only effective
324
+ /// when 'lower_case' is false. See NormalizeUTF8 for details (default=NormalizeForm::kNone).
325
+ /// \param[in] preserve_unused_token If true, do not split special tokens like '[CLS]', '[SEP]', '[UNK]', '[PAD]' and
326
+ /// '[MASK]' (default=true).
327
+ /// \param[in] with_offsets Whether to output offsets of tokens (default=false).
328
+ /// \par Example
329
+ /// \code
330
+ /// /* Define operations */
331
+ /// std::vector<std::string> list = {"a", "b", "c", "d"};
332
+ /// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
333
+ /// Status s = Vocab::BuildFromVector(list, {}, true, &vocab);
334
+ /// auto tokenizer_op = text::BertTokenizer(vocab);
335
+ ///
336
+ /// /* dataset is an instance of Dataset object */
337
+ /// dataset = dataset->Map({tokenizer_op}, // operations
338
+ /// {"text"}); // input columns
339
+ /// \endcode
340
+ explicit BertTokenizer(const std::shared_ptr<Vocab> &vocab, const std::string &suffix_indicator = "##",
341
+ int32_t max_bytes_per_token = 100, const std::string &unknown_token = "[UNK]",
342
+ bool lower_case = false, bool keep_whitespace = false,
343
+ const NormalizeForm normalize_form = NormalizeForm::kNone, bool preserve_unused_token = true,
344
+ bool with_offsets = false)
345
+ : BertTokenizer(vocab, StringToChar(suffix_indicator), max_bytes_per_token, StringToChar(unknown_token),
346
+ lower_case, keep_whitespace, normalize_form, preserve_unused_token, with_offsets) {}
347
+ /// \brief Constructor.
348
+ /// \param[in] vocab A Vocab object.
349
+ /// \param[in] suffix_indicator This parameter is used to show that the sub-word
350
+ /// is the last part of a word (default='##').
351
+ /// \param[in] max_bytes_per_token Tokens exceeding this length will not be further split (default=100).
352
+ /// \param[in] unknown_token When a token cannot be found, return the token directly if 'unknown_token' is an empty
353
+ /// string, else return the specified string (default='[UNK]').
354
+ /// \param[in] lower_case If true, apply CaseFold, NormalizeUTF8 (NFD mode) and RegexReplace operations to
355
+ /// the input text to fold the text to lower case and strip accents characters. If false, only apply
356
+ /// the NormalizeUTF8('normalization_form' mode) operation to the input text (default=false).
357
+ /// \param[in] keep_whitespace If true, the whitespace will be kept in output tokens (default=false).
358
+ /// \param[in] normalize_form This parameter is used to specify a specific normalize mode. This is only effective
359
+ /// when 'lower_case' is false. See NormalizeUTF8 for details (default=NormalizeForm::kNone).
360
+ /// \param[in] preserve_unused_token If true, do not split special tokens like '[CLS]', '[SEP]', '[UNK]', '[PAD]' and
361
+ /// '[MASK]' (default=true).
362
+ /// \param[in] with_offsets Whether to output offsets of tokens (default=false).
363
+ BertTokenizer(const std::shared_ptr<Vocab> &vocab, const std::vector<char> &suffix_indicator,
364
+ int32_t max_bytes_per_token, const std::vector<char> &unknown_token, bool lower_case,
365
+ bool keep_whitespace, NormalizeForm normalize_form, bool preserve_unused_token, bool with_offsets);
366
+
367
+ /// \brief Destructor
368
+ ~BertTokenizer() override = default;
369
+
370
+ protected:
371
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
372
+ /// \return Shared pointer to the TensorOperation object.
373
+ std::shared_ptr<TensorOperation> Parse() override;
374
+
375
+ private:
376
+ struct Data;
377
+ std::shared_ptr<Data> data_;
378
+ };
379
+
380
+ /// \brief Apply case fold operation on UTF-8 string tensors.
381
+ class DATASET_API CaseFold final : public TensorTransform {
382
+ public:
383
+ /// \brief Constructor.
384
+ /// \par Example
385
+ /// \code
386
+ /// /* Define operations */
387
+ /// auto casefold_op = text::CaseFold();
388
+ ///
389
+ /// /* dataset is an instance of Dataset object */
390
+ /// dataset = dataset->Map({casefold_op}, // operations
391
+ /// {"text"}); // input columns
392
+ /// \endcode
393
+ CaseFold();
394
+
395
+ /// \brief Destructor
396
+ ~CaseFold() override = default;
397
+
398
+ protected:
399
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
400
+ /// \return Shared pointer to the TensorOperation object.
401
+ std::shared_ptr<TensorOperation> Parse() override;
402
+ };
403
+
404
+ /// \brief Filter wikipedia xml lines.
405
+ class FilterWikipediaXML final : public TensorTransform {
406
+ public:
407
+ /// \brief Constructor.
408
+ FilterWikipediaXML();
409
+
410
+ /// \brief Destructor
411
+ ~FilterWikipediaXML() override = default;
412
+
413
+ protected:
414
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
415
+ /// \return Shared pointer to the TensorOperation object.
416
+ std::shared_ptr<TensorOperation> Parse() override;
417
+ };
418
+ #endif
419
+
420
+ /// \brief Tokenize a Chinese string into words based on the dictionary.
421
+ /// \note The integrity of the HMMSegment algorithm and MPSegment algorithm files must be confirmed.
422
+ class DATASET_API JiebaTokenizer final : public TensorTransform {
423
+ public:
424
+ /// \brief Constructor.
425
+ /// \param[in] hmm_path Dictionary file is used by the HMMSegment algorithm. The dictionary can be obtained on the
426
+ /// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
427
+ /// \param[in] mp_path Dictionary file is used by the MPSegment algorithm. The dictionary can be obtained on the
428
+ /// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
429
+ /// \param[in] mode Valid values can be any of JiebaMode.kMP, JiebaMode.kHMM and JiebaMode.kMIX
430
+ /// (default=JiebaMode.kMIX).
431
+ /// - JiebaMode.kMP, tokenizes with MPSegment algorithm.
432
+ /// - JiebaMode.kHMM, tokenizes with Hidden Markov Model Segment algorithm.
433
+ /// - JiebaMode.kMIX, tokenizes with a mix of MPSegment and HMMSegment algorithms.
434
+ /// \param[in] with_offsets Whether to output offsets of tokens (default=false).
435
+ /// \par Example
436
+ /// \code
437
+ /// /* Define operations */
438
+ /// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
439
+ ///
440
+ /// /* dataset is an instance of Dataset object */
441
+ /// dataset = dataset->Map({tokenizer_op}, // operations
442
+ /// {"text"}); // input columns
443
+ /// \endcode
444
+ JiebaTokenizer(const std::string &hmm_path, const std::string &mp_path, const JiebaMode &mode = JiebaMode::kMix,
445
+ bool with_offsets = false)
446
+ : JiebaTokenizer(StringToChar(hmm_path), StringToChar(mp_path), mode, with_offsets) {}
447
+
448
+ /// \brief Constructor.
449
+ /// \param[in] hmm_path Dictionary file is used by the HMMSegment algorithm. The dictionary can be obtained on the
450
+ /// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
451
+ /// \param[in] mp_path Dictionary file is used by the MPSegment algorithm. The dictionary can be obtained on the
452
+ /// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
453
+ /// \param[in] mode Valid values can be any of JiebaMode.kMP, JiebaMode.kHMM and JiebaMode.kMIX
454
+ /// (default=JiebaMode.kMIX).
455
+ /// - JiebaMode.kMP, tokenizes with MPSegment algorithm.
456
+ /// - JiebaMode.kHMM, tokenizes with Hidden Markov Model Segment algorithm.
457
+ /// - JiebaMode.kMIX, tokenizes with a mix of MPSegment and HMMSegment algorithms.
458
+ /// \param[in] with_offsets Whether to output offsets of tokens (default=false).
459
+ JiebaTokenizer(const std::vector<char> &hmm_path, const std::vector<char> &mp_path, const JiebaMode &mode,
460
+ bool with_offsets);
461
+
462
+ /// \brief Destructor
463
+ ~JiebaTokenizer() override = default;
464
+
465
+ /// \brief Add a user defined word to the JiebaTokenizer's dictionary.
466
+ /// \param[in] word The word to be added to the JiebaTokenizer instance.
467
+ /// The added word will not be written into the built-in dictionary on disk.
468
+ /// \param[in] freq The frequency of the word to be added. The higher the frequency,
469
+ /// the better chance the word will be tokenized (default=None, use default frequency).
470
+ /// \return Status error code, returns OK if no error is encountered.
471
+ /// \par Example
472
+ /// \code
473
+ /// /* Define operations */
474
+ /// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
475
+ ///
476
+ /// Status s = tokenizer_op.AddWord("hello", 2);
477
+ /// \endcode
478
+ Status AddWord(const std::string &word, int64_t freq = 0) { return AddWordChar(StringToChar(word), freq); }
479
+
480
+ /// \brief Add a user defined dictionary of word-freq pairs to the JiebaTokenizer's dictionary.
481
+ /// \param[in] user_dict Vector of word-freq pairs to be added to the JiebaTokenizer's dictionary.
482
+ /// \return Status error code, returns OK if no error is encountered.
483
+ /// \par Example
484
+ /// \code
485
+ /// /* Define operations */
486
+ /// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
487
+ ///
488
+ /// std::vector<std::pair<std::string, int64_t>> user_dict = {{"a", 1}, {"b", 2}, {"c", 3}};
489
+ /// Status s = tokenizer_op.AddDict(user_dict);
490
+ /// \endcode
491
+ Status AddDict(const std::vector<std::pair<std::string, int64_t>> &user_dict) {
492
+ return AddDictChar(PairStringInt64ToPairCharInt64(user_dict));
493
+ }
494
+
495
+ /// \brief Add user defined dictionary of word-freq pairs to the JiebaTokenizer's dictionary from a file.
496
+ /// Only valid word-freq pairs in user defined file will be added into the dictionary.
497
+ /// Rows containing invalid inputs will be ignored, no error nor warning status is returned.
498
+ /// \param[in] file_path Path to the dictionary which includes user defined word-freq pairs.
499
+ /// \return Status error code, returns OK if no error is encountered.
500
+ /// \par Example
501
+ /// \code
502
+ /// /* Define operations */
503
+ /// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
504
+ ///
505
+ /// Status s = tokenizer_op.AddDict("/path/to/dict/file");
506
+ /// \endcode
507
+ Status AddDict(const std::string &file_path) { return AddDictChar(StringToChar(file_path)); }
508
+
509
+ protected:
510
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
511
+ /// \return Shared pointer to the TensorOperation object.
512
+ std::shared_ptr<TensorOperation> Parse() override;
513
+
514
+ private:
515
+ /// \brief Parser user defined words by files.
516
+ /// \param[in] file_path Path to the user defined file.
517
+ /// \param[in] user_dict Vector of word-freq pairs extracted from the user defined file.
518
+ Status ParserFile(const std::string &file_path, std::vector<std::pair<std::string, int64_t>> *const user_dict);
519
+
520
+ /// \brief Used to translate all API strings to vector of char and reverse.
521
+ Status AddWordChar(const std::vector<char> &word, int64_t freq = 0);
522
+
523
+ /// \brief Used to translate all API strings to vector of char and reverse.
524
+ Status AddDictChar(const std::vector<std::pair<std::vector<char>, int64_t>> &user_dict);
525
+
526
+ /// \brief Used to translate all API strings to vector of char and reverse.
527
+ Status AddDictChar(const std::vector<char> &file_path);
528
+
529
+ struct Data;
530
+ std::shared_ptr<Data> data_;
531
+ };
532
+
533
+ /// \brief Look up a word into an id according to the input vocabulary table.
534
+ class DATASET_API Lookup final : public TensorTransform {
535
+ public:
536
+ /// \brief Constructor.
537
+ /// \param[in] vocab a Vocab object.
538
+ /// \param[in] unknown_token Word is used for lookup. In case of the word is out of vocabulary (OOV),
539
+ /// the result of lookup will be replaced to unknown_token. If the unknown_token is not specified or it is OOV,
540
+ /// runtime error will be thrown (default={}, means no unknown_token is specified).
541
+ /// \param[in] data_type mindspore::DataType of the tensor after lookup; must be numeric, including bool.
542
+ /// (default=mindspore::DataType::kNumberTypeInt32).
543
+ /// \par Example
544
+ /// \code
545
+ /// /* Define operations */
546
+ /// std::vector<std::string> list = {"a", "b", "c", "d"};
547
+ /// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
548
+ /// Status s = Vocab::BuildFromVector(list, {}, true, &vocab);
549
+ /// auto lookup_op = text::Lookup(vocab, "[unk]");
550
+ ///
551
+ /// /* dataset is an instance of Dataset object */
552
+ /// dataset = dataset->Map({lookup_op}, // operations
553
+ /// {"text"}); // input columns
554
+ /// \endcode
555
+ explicit Lookup(const std::shared_ptr<Vocab> &vocab, const std::optional<std::string> &unknown_token = {},
556
+ mindspore::DataType data_type = mindspore::DataType::kNumberTypeInt32) {
557
+ std::optional<std::vector<char>> unknown_token_c = std::nullopt;
558
+ if (unknown_token != std::nullopt) {
559
+ unknown_token_c = std::vector<char>(unknown_token->begin(), unknown_token->end());
560
+ }
561
+ new (this) Lookup(vocab, unknown_token_c, data_type);
562
+ }
563
+
564
+ /// \brief Constructor.
565
+ /// \param[in] vocab a Vocab object.
566
+ /// \param[in] unknown_token Word is used for lookup. In case of the word is out of vocabulary (OOV),
567
+ /// the result of lookup will be replaced to unknown_token. If the unknown_token is not specified or it is OOV,
568
+ /// runtime error will be thrown (default={}, means no unknown_token is specified).
569
+ /// \param[in] data_type mindspore::DataType of the tensor after lookup; must be numeric, including bool.
570
+ /// (default=mindspore::DataType::kNumberTypeInt32).
571
+ Lookup(const std::shared_ptr<Vocab> &vocab, const std::optional<std::vector<char>> &unknown_token,
572
+ mindspore::DataType data_type = mindspore::DataType::kNumberTypeInt32);
573
+
574
+ /// \brief Destructor
575
+ ~Lookup() override = default;
576
+
577
+ protected:
578
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
579
+ /// \return Shared pointer to the TensorOperation object.
580
+ std::shared_ptr<TensorOperation> Parse() override;
581
+
582
+ private:
583
+ struct Data;
584
+ std::shared_ptr<Data> data_;
585
+ };
586
+
587
+ /// \brief Generate n-gram from a 1-D string Tensor.
588
+ class DATASET_API Ngram final : public TensorTransform {
589
+ public:
590
+ /// \brief Constructor.
591
+ /// \param[in] ngrams ngrams is a vector of positive integers. For example, if ngrams={4, 3}, then the result
592
+ /// would be a 4-gram followed by a 3-gram in the same tensor. If the number of words is not enough to make up
593
+ /// a n-gram, an empty string will be returned.
594
+ /// \param[in] left_pad {"pad_token", pad_width}. Padding performed on left side of the sequence. pad_width will
595
+ /// be capped at n-1. left_pad=("_",2) would pad the left side of the sequence with "__" (default={"", 0}}).
596
+ /// \param[in] right_pad {"pad_token", pad_width}. Padding performed on right side of the sequence.pad_width will
597
+ /// be capped at n-1. right_pad=("-",2) would pad the right side of the sequence with "--" (default={"", 0}}).
598
+ /// \param[in] separator Symbol used to join strings together (default=" ").
599
+ /// \par Example
600
+ /// \code
601
+ /// /* Define operations */
602
+ /// auto ngram_op = text::Ngram({2, 3}, {"&", 2}, {"&", 2}, "-");
603
+ ///
604
+ /// /* dataset is an instance of Dataset object */
605
+ /// dataset = dataset->Map({ngram_op}, // operations
606
+ /// {"text"}); // input columns
607
+ /// \endcode
608
+ explicit Ngram(const std::vector<int32_t> &ngrams, const std::pair<std::string, int32_t> &left_pad = {"", 0},
609
+ const std::pair<std::string, int32_t> &right_pad = {"", 0}, const std::string &separator = " ")
610
+ : Ngram(ngrams, PairStringToChar(left_pad), PairStringToChar(right_pad), StringToChar(separator)) {}
611
+
612
+ /// \brief Constructor.
613
+ /// \param[in] ngrams ngrams is a vector of positive integers. For example, if ngrams={4, 3}, then the result
614
+ /// would be a 4-gram followed by a 3-gram in the same tensor. If the number of words is not enough to make up
615
+ /// a n-gram, an empty string will be returned.
616
+ /// \param[in] left_pad {"pad_token", pad_width}. Padding performed on left side of the sequence. pad_width will
617
+ /// be capped at n-1. left_pad=("_",2) would pad the left side of the sequence with "__" (default={"", 0}}).
618
+ /// \param[in] right_pad {"pad_token", pad_width}. Padding performed on right side of the sequence.pad_width will
619
+ /// be capped at n-1. right_pad=("-",2) would pad the right side of the sequence with "--" (default={"", 0}}).
620
+ /// \param[in] separator Symbol used to join strings together (default=" ").
621
+ Ngram(const std::vector<int32_t> &ngrams, const std::pair<std::vector<char>, int32_t> &left_pad,
622
+ const std::pair<std::vector<char>, int32_t> &right_pad, const std::vector<char> &separator);
623
+
624
+ /// \brief Destructor
625
+ ~Ngram() override = default;
626
+
627
+ protected:
628
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
629
+ /// \return Shared pointer to the TensorOperation object.
630
+ std::shared_ptr<TensorOperation> Parse() override;
631
+
632
+ private:
633
+ struct Data;
634
+ std::shared_ptr<Data> data_;
635
+ };
636
+
637
+ #ifndef _WIN32
638
+ /// \brief Apply normalize operation to UTF-8 string tensors.
639
+ class DATASET_API NormalizeUTF8 final : public TensorTransform {
640
+ public:
641
+ /// \brief Constructor.
642
+ /// \param[in] normalize_form Valid values can be any of [NormalizeForm::kNone,NormalizeForm::kNfc,
643
+ /// NormalizeForm::kNfkc, NormalizeForm::kNfd, NormalizeForm::kNfkd](default=NormalizeForm::kNfkc).
644
+ /// See <http://unicode.org/reports/tr15/> for details.
645
+ /// - NormalizeForm.kNone, remain the input string tensor unchanged.
646
+ /// - NormalizeForm.kNfc, normalizes with Normalization Form C.
647
+ /// - NormalizeForm.kNfkc, normalizes with Normalization Form KC.
648
+ /// - NormalizeForm.kNfd, normalizes with Normalization Form D.
649
+ /// - NormalizeForm.kNfkd, normalizes with Normalization Form KD.
650
+ /// \par Example
651
+ /// \code
652
+ /// /* Define operations */
653
+ /// auto normalizeutf8_op = text::NormalizeUTF8();
654
+ ///
655
+ /// /* dataset is an instance of Dataset object */
656
+ /// dataset = dataset->Map({normalizeutf8_op}, // operations
657
+ /// {"text"}); // input columns
658
+ /// \endcode
659
+ explicit NormalizeUTF8(NormalizeForm normalize_form = NormalizeForm::kNfkc);
660
+
661
+ /// \brief Destructor
662
+ ~NormalizeUTF8() override = default;
663
+
664
+ protected:
665
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
666
+ /// \return Shared pointer to the TensorOperation object.
667
+ std::shared_ptr<TensorOperation> Parse() override;
668
+
669
+ private:
670
+ struct Data;
671
+ std::shared_ptr<Data> data_;
672
+ };
673
+
674
+ /// \brief Replace a UTF-8 string tensor with 'replace' according to regular expression 'pattern'.
675
+ class DATASET_API RegexReplace final : public TensorTransform {
676
+ public:
677
+ /// \brief Constructor.
678
+ /// \param[in] pattern The regex expression patterns.
679
+ /// \param[in] replace The string to replace the matched element.
680
+ /// \param[in] replace_all Confirm whether to replace all. If false, only replace the first matched element;
681
+ /// if true, replace all matched elements (default=true).
682
+ /// \par Example
683
+ /// \code
684
+ /// /* Define operations */
685
+ /// auto regex_op = text::RegexReplace("\\s+", "_", true);
686
+ ///
687
+ /// /* dataset is an instance of Dataset object */
688
+ /// dataset = dataset->Map({regex_op}, // operations
689
+ /// {"text"}); // input columns
690
+ /// \endcode
691
+ RegexReplace(const std::string &pattern, const std::string &replace, bool replace_all = true)
692
+ : RegexReplace(StringToChar(pattern), StringToChar(replace), replace_all) {}
693
+
694
+ /// \brief Constructor.
695
+ /// \param[in] pattern The regex expression patterns. Type should be char of vector.
696
+ /// \param[in] replace The string to replace the matched element.
697
+ /// \param[in] replace_all Confirm whether to replace all. If false, only replace the first matched element;
698
+ /// if true, replace all matched elements (default=true).
699
+ RegexReplace(const std::vector<char> &pattern, const std::vector<char> &replace, bool replace_all);
700
+
701
+ /// \brief Destructor
702
+ ~RegexReplace() override = default;
703
+
704
+ protected:
705
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
706
+ /// \return Shared pointer to the TensorOperation object.
707
+ std::shared_ptr<TensorOperation> Parse() override;
708
+
709
+ private:
710
+ struct Data;
711
+ std::shared_ptr<Data> data_;
712
+ };
713
+
714
+ /// \brief Tokenize a scalar tensor of UTF-8 string by the regex expression pattern.
715
+ class DATASET_API RegexTokenizer final : public TensorTransform {
716
+ public:
717
+ /// \brief Constructor.
718
+ /// \param[in] delim_pattern The pattern of regex delimiters.
719
+ /// \param[in] keep_delim_pattern The string matched with 'delim_pattern' can be kept as a token if it can be
720
+ /// matched by 'keep_delim_pattern'. The default value is an empty string ("").
721
+ /// which means that delimiters will not be kept as an output token (default="").
722
+ /// \param[in] with_offsets Whether to output offsets of tokens (default=false).
723
+ /// \par Example
724
+ /// \code
725
+ /// /* Define operations */
726
+ /// auto regex_op = text::RegexTokenizer("\\s+", "\\s+", false);
727
+ ///
728
+ /// /* dataset is an instance of Dataset object */
729
+ /// dataset = dataset->Map({regex_op}, // operations
730
+ /// {"text"}); // input columns
731
+ /// \endcode
732
+ explicit RegexTokenizer(const std::string &delim_pattern, const std::string &keep_delim_pattern = "",
733
+ bool with_offsets = false)
734
+ : RegexTokenizer(StringToChar(delim_pattern), StringToChar(keep_delim_pattern), with_offsets) {}
735
+
736
+ explicit RegexTokenizer(const std::vector<char> &delim_pattern, const std::vector<char> &keep_delim_pattern,
737
+ bool with_offsets);
738
+
739
+ /// \brief Destructor
740
+ ~RegexTokenizer() override = default;
741
+
742
+ protected:
743
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
744
+ /// \return Shared pointer to the TensorOperation object.
745
+ std::shared_ptr<TensorOperation> Parse() override;
746
+
747
+ private:
748
+ struct Data;
749
+ std::shared_ptr<Data> data_;
750
+ };
751
+ #endif
752
+
753
+ /// \brief Tokenize a scalar token or a 1-D token to tokens by sentencepiece.
754
+ class DATASET_API SentencePieceTokenizer final : public TensorTransform {
755
+ public:
756
+ /// \brief Constructor.
757
+ /// \param[in] vocab a SentencePieceVocab object.
758
+ /// \param[in] out_type The type of the output.
759
+ /// \par Example
760
+ /// \code
761
+ /// /* Define operations */
762
+ /// std::shared_ptr<Dataset> ds_vocab = TextFile({"/path/to/vocab/file"}, 0, ShuffleMode::kFalse);
763
+ /// std::shared_ptr<SentencePieceVocab> vocab =
764
+ /// ds_vocab->BuildSentencePieceVocab({}, 0, 0.9995, SentencePieceModel::kUnigram, {});
765
+ /// auto tokenizer_op = text::SentencePieceTokenizer(vocab, mindspore::dataset::SPieceTokenizerOutType::kString);
766
+ ///
767
+ /// /* dataset is an instance of Dataset object */
768
+ /// dataset = dataset->Map({tokenizer_op}, // operations
769
+ /// {"text"}); // input columns
770
+ /// \endcode
771
+ SentencePieceTokenizer(const std::shared_ptr<SentencePieceVocab> &vocab,
772
+ mindspore::dataset::SPieceTokenizerOutType out_type);
773
+
774
+ /// \brief Constructor.
775
+ /// \param[in] vocab_path vocab model file path.
776
+ /// \param[in] out_type The type of the output.
777
+ /// \par Example
778
+ /// \code
779
+ /// /* Define operations */
780
+ /// auto tokenizer_op = text::SentencePieceTokenizer("/path/to/model",
781
+ /// mindspore::dataset::SPieceTokenizerOutType::kInt);
782
+ ///
783
+ /// /* dataset is an instance of Dataset object */
784
+ /// dataset = dataset->Map({tokenizer_op}, // operations
785
+ /// {"text"}); // input columns
786
+ /// \endcode
787
+ SentencePieceTokenizer(const std::string &vocab_path, mindspore::dataset::SPieceTokenizerOutType out_type)
788
+ : SentencePieceTokenizer(StringToChar(vocab_path), out_type) {}
789
+
790
+ /// \brief Constructor.
791
+ /// \param[in] vocab_path vocab model file path. type should be char of vector.
792
+ /// \param[in] out_type The type of the output.
793
+ SentencePieceTokenizer(const std::vector<char> &vocab_path, mindspore::dataset::SPieceTokenizerOutType out_type);
794
+
795
+ /// \brief Destructor
796
+ ~SentencePieceTokenizer() override = default;
797
+
798
+ protected:
799
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
800
+ /// \return Shared pointer to the TensorOperation object.
801
+ std::shared_ptr<TensorOperation> Parse() override;
802
+
803
+ private:
804
+ struct Data;
805
+ std::shared_ptr<Data> data_;
806
+ };
807
+
808
+ /// \brief Construct a tensor from data (only 1-D for now), where each element in the dimension
809
+ /// axis is a slice of data starting at the corresponding position, with a specified width.
810
+ class DATASET_API SlidingWindow final : public TensorTransform {
811
+ public:
812
+ /// \brief Constructor.
813
+ /// \param[in] width The width of the window. It must be an integer and greater than zero.
814
+ /// \param[in] axis The axis where the sliding window is computed (default=0), axis only
815
+ /// supports 0 or -1 for now.
816
+ /// \par Example
817
+ /// \code
818
+ /// /* Define operations */
819
+ /// auto slidingwindow_op = text::SlidingWindow(5, 0);
820
+ ///
821
+ /// /* dataset is an instance of Dataset object */
822
+ /// dataset = dataset->Map({slidingwindow_op}, // operations
823
+ /// {"text"}); // input columns
824
+ /// \endcode
825
+ explicit SlidingWindow(int32_t width, int32_t axis = 0);
826
+
827
+ /// \brief Destructor
828
+ ~SlidingWindow() override = default;
829
+
830
+ protected:
831
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
832
+ /// \return Shared pointer to the TensorOperation object.
833
+ std::shared_ptr<TensorOperation> Parse() override;
834
+
835
+ private:
836
+ struct Data;
837
+ std::shared_ptr<Data> data_;
838
+ };
839
+
840
+ /// \brief Convert every element in a string tensor to a number.
841
+ /// Strings are cast according to the rules specified in the following links:
842
+ /// https://en.cppreference.com/w/cpp/string/basic_string/stof,
843
+ /// https://en.cppreference.com/w/cpp/string/basic_string/stoul,
844
+ /// except that any strings which represent negative numbers cannot be cast to an unsigned integer type.
845
+ class DATASET_API ToNumber final : public TensorTransform {
846
+ public:
847
+ /// \brief Constructor.
848
+ /// \param[in] data_type mindspore::DataType of the tensor to be cast to. Must be a numeric type, excluding bool.
849
+ /// \par Example
850
+ /// \code
851
+ /// /* Define operations */
852
+ /// auto to_number_op = text::ToNumber(mindspore::DataType::kNumberTypeInt8);
853
+ ///
854
+ /// /* dataset is an instance of Dataset object */
855
+ /// dataset = dataset->Map({to_number_op}, // operations
856
+ /// {"text"}); // input columns
857
+ /// \endcode
858
+ explicit ToNumber(mindspore::DataType data_type);
859
+
860
+ /// \brief Destructor
861
+ ~ToNumber() override = default;
862
+
863
+ protected:
864
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
865
+ /// \return Shared pointer to the TensorOperation object.
866
+ std::shared_ptr<TensorOperation> Parse() override;
867
+
868
+ private:
869
+ struct Data;
870
+ std::shared_ptr<Data> data_;
871
+ };
872
+
873
+ /// \brief Look up a token into an vector according to the input Vectors table.
874
+ class DATASET_API ToVectors final : public TensorTransform {
875
+ public:
876
+ /// \brief Constructor.
877
+ /// \param[in] vectors A Vectors object.
878
+ /// \param[in] unk_init In case of the token is out-of-vectors (OOV), the result will be initialized with `unk_init`.
879
+ /// (default={}, means to initialize with zero vectors).
880
+ /// \param[in] lower_case_backup Whether to look up the token in the lower case (default=false).
881
+ explicit ToVectors(const std::shared_ptr<Vectors> &vectors, const std::vector<float> &unk_init = {},
882
+ bool lower_case_backup = false);
883
+
884
+ /// \brief Destructor
885
+ ~ToVectors() override = default;
886
+
887
+ protected:
888
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
889
+ /// \return Shared pointer to the TensorOperation object.
890
+ std::shared_ptr<TensorOperation> Parse() override;
891
+
892
+ private:
893
+ struct Data;
894
+ std::shared_ptr<Data> data_;
895
+ };
896
+
897
+ /// \brief Truncate the input sequence so that it does not exceed the maximum length.
898
+ class DATASET_API Truncate final : public TensorTransform {
899
+ public:
900
+ /// \brief Constructor.
901
+ /// \param[in] max_seq_len Maximum allowable length.
902
+ /// \par Example
903
+ /// \code
904
+ /// /* Define operations */
905
+ /// auto truncate_op = text::Truncate(5);
906
+ ///
907
+ /// /* dataset is an instance of Dataset object */
908
+ /// dataset = dataset->Map({truncate_op}, // operations
909
+ /// {"text"}); // input columns
910
+ /// \endcode
911
+ explicit Truncate(int32_t max_seq_len);
912
+
913
+ /// \brief Destructor.
914
+ ~Truncate() override = default;
915
+
916
+ protected:
917
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
918
+ /// \return Shared pointer to the TensorOperation object.
919
+ std::shared_ptr<TensorOperation> Parse() override;
920
+
921
+ private:
922
+ struct Data;
923
+ std::shared_ptr<Data> data_;
924
+ };
925
+
926
+ /// \brief Truncate a pair of rank-1 tensors such that the total length is less than max_length.
927
+ class DATASET_API TruncateSequencePair final : public TensorTransform {
928
+ public:
929
+ /// \brief Constructor.
930
+ /// \param[in] max_length Maximum length required.
931
+ /// \par Example
932
+ /// \code
933
+ /// /* Define operations */
934
+ /// auto truncate_op = text::TruncateSequencePair(5);
935
+ ///
936
+ /// /* dataset is an instance of Dataset object */
937
+ /// dataset = dataset->Map({truncate_op}, // operations
938
+ /// {"text"}); // input columns
939
+ /// \endcode
940
+ explicit TruncateSequencePair(int32_t max_length);
941
+
942
+ /// \brief Destructor
943
+ ~TruncateSequencePair() override = default;
944
+
945
+ protected:
946
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
947
+ /// \return Shared pointer to the TensorOperation object.
948
+ std::shared_ptr<TensorOperation> Parse() override;
949
+
950
+ private:
951
+ struct Data;
952
+ std::shared_ptr<Data> data_;
953
+ };
954
+
955
+ /// \brief Tokenize a scalar tensor of UTF-8 string to Unicode characters.
956
+ class DATASET_API UnicodeCharTokenizer final : public TensorTransform {
957
+ public:
958
+ /// \brief Constructor.
959
+ /// \param[in] with_offsets whether to output offsets of tokens (default=false).
960
+ /// \par Example
961
+ /// \code
962
+ /// /* Define operations */
963
+ /// auto tokenizer_op = text::UnicodeCharTokenizer();
964
+ ///
965
+ /// /* dataset is an instance of Dataset object */
966
+ /// dataset = dataset->Map({tokenizer_op}, // operations
967
+ /// {"text"}); // input columns
968
+ /// \endcode
969
+ explicit UnicodeCharTokenizer(bool with_offsets = false);
970
+
971
+ /// \brief Destructor
972
+ ~UnicodeCharTokenizer() override = default;
973
+
974
+ protected:
975
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
976
+ /// \return Shared pointer to the TensorOperation object.
977
+ std::shared_ptr<TensorOperation> Parse() override;
978
+
979
+ private:
980
+ struct Data;
981
+ std::shared_ptr<Data> data_;
982
+ };
983
+
984
+ /// \brief Tokenize scalar token or 1-D tokens to 1-D sub-word tokens.
985
+ class DATASET_API WordpieceTokenizer final : public TensorTransform {
986
+ public:
987
+ /// \brief Constructor.
988
+ /// \param[in] vocab A Vocab object.
989
+ /// \param[in] suffix_indicator This parameter is used to show that the sub-word
990
+ /// is the last part of a word (default='##').
991
+ /// \param[in] max_bytes_per_token Tokens exceeding this length will not be further split (default=100).
992
+ /// \param[in] unknown_token When a token cannot be found, return the token directly if 'unknown_token' is an empty
993
+ /// string, else return the specified string (default='[UNK]').
994
+ /// \param[in] with_offsets whether to output offsets of tokens (default=false).
995
+ /// \par Example
996
+ /// \code
997
+ /// /* Define operations */
998
+ /// std::vector<std::string> word_list = {"book", "apple", "rabbit"};
999
+ /// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
1000
+ /// Status s = Vocab::BuildFromVector(word_list, {}, true, &vocab);
1001
+ /// auto tokenizer_op = text::WordpieceTokenizer(vocab);
1002
+ ///
1003
+ /// /* dataset is an instance of Dataset object */
1004
+ /// dataset = dataset->Map({tokenizer_op}, // operations
1005
+ /// {"text"}); // input columns
1006
+ /// \endcode
1007
+ explicit WordpieceTokenizer(const std::shared_ptr<Vocab> &vocab, const std::string &suffix_indicator = "##",
1008
+ int32_t max_bytes_per_token = 100, const std::string &unknown_token = "[UNK]",
1009
+ bool with_offsets = false)
1010
+ : WordpieceTokenizer(vocab, StringToChar(suffix_indicator), max_bytes_per_token, StringToChar(unknown_token),
1011
+ with_offsets) {}
1012
+
1013
+ explicit WordpieceTokenizer(const std::shared_ptr<Vocab> &vocab, const std::vector<char> &suffix_indicator,
1014
+ int32_t max_bytes_per_token, const std::vector<char> &unknown_token, bool with_offsets);
1015
+
1016
+ /// \brief Destructor
1017
+ ~WordpieceTokenizer() override = default;
1018
+
1019
+ protected:
1020
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
1021
+ /// \return Shared pointer to the TensorOperation object.
1022
+ std::shared_ptr<TensorOperation> Parse() override;
1023
+
1024
+ private:
1025
+ struct Data;
1026
+ std::shared_ptr<Data> data_;
1027
+ };
1028
+
1029
+ #ifndef _WIN32
1030
+ /// \brief Tokenize a scalar tensor of UTF-8 string on Unicode script boundaries.
1031
+ class DATASET_API UnicodeScriptTokenizer final : public TensorTransform {
1032
+ public:
1033
+ /// \brief Constructor.
1034
+ /// \param[in] keep_whitespace whether to emit whitespace tokens (default=false).
1035
+ /// \param[in] with_offsets whether to output offsets of tokens (default=false).
1036
+ /// \par Example
1037
+ /// \code
1038
+ /// /* Define operations */
1039
+ /// auto tokenizer_op = text::UnicodeScriptTokenizer(false, true);
1040
+ ///
1041
+ /// /* dataset is an instance of Dataset object */
1042
+ /// dataset = dataset->Map({tokenizer_op}, // operations
1043
+ /// {"text"}); // input columns
1044
+ /// \endcode
1045
+ explicit UnicodeScriptTokenizer(bool keep_whitespace = false, bool with_offsets = false);
1046
+
1047
+ /// \brief Destructor
1048
+ ~UnicodeScriptTokenizer() override = default;
1049
+
1050
+ protected:
1051
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
1052
+ /// \return Shared pointer to the TensorOperation object.
1053
+ std::shared_ptr<TensorOperation> Parse() override;
1054
+
1055
+ private:
1056
+ struct Data;
1057
+ std::shared_ptr<Data> data_;
1058
+ };
1059
+
1060
+ /// \brief Tokenize a scalar tensor of UTF-8 string on ICU4C defined whitespaces.
1061
+ class DATASET_API WhitespaceTokenizer final : public TensorTransform {
1062
+ public:
1063
+ /// \brief Constructor.
1064
+ /// \param[in] with_offsets whether to output offsets of tokens (default=false).
1065
+ /// \par Example
1066
+ /// \code
1067
+ /// /* Define operations */
1068
+ /// auto tokenizer_op = text::WhitespaceTokenizer(false);
1069
+ ///
1070
+ /// /* dataset is an instance of Dataset object */
1071
+ /// dataset = dataset->Map({tokenizer_op}, // operations
1072
+ /// {"text"}); // input columns
1073
+ /// \endcode
1074
+ explicit WhitespaceTokenizer(bool with_offsets = false);
1075
+
1076
+ /// \brief Destructor
1077
+ ~WhitespaceTokenizer() override = default;
1078
+
1079
+ protected:
1080
+ /// \brief The function to convert a TensorTransform object into a TensorOperation object.
1081
+ /// \return Shared pointer to the TensorOperation object.
1082
+ std::shared_ptr<TensorOperation> Parse() override;
1083
+
1084
+ private:
1085
+ struct Data;
1086
+ std::shared_ptr<Data> data_;
1087
+ };
1088
+ #endif
1089
+ } // namespace text
1090
+ } // namespace dataset
1091
+ } // namespace mindspore
1092
+ #endif // MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_TEXT_H_