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,1572 @@
1
+ # Copyright 2020-2023 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """Operators info register."""
17
+ from __future__ import absolute_import
18
+ from __future__ import division
19
+
20
+ import inspect
21
+ import json
22
+ import os
23
+ import functools
24
+ import platform
25
+ import hashlib
26
+ import shutil
27
+
28
+ from mindspore._c_expression import Oplib
29
+ from mindspore import _checkparam as validator
30
+ from mindspore import log as logger
31
+
32
+ if platform.system() == "Linux":
33
+ import fcntl
34
+
35
+ # path of built-in op info register.
36
+ BUILT_IN_OPS_REGISTER_PATH = "mindspore/ops/_op_impl"
37
+ BUILT_IN_CUSTOM_OPS_REGISTER_PATH = "mindspore/ops/_op_impl/_custom_op"
38
+
39
+ KEY_NAME = "name"
40
+ ASCEND_CUSTOM_OPP_PATH = "ASCEND_CUSTOM_OPP_PATH"
41
+
42
+
43
+ def _get_reg_info_attr(op_info, attr_name, default_value=None):
44
+ """get attr value"""
45
+ for _, item in enumerate(op_info.get("attr", [])):
46
+ if item.get(KEY_NAME) == attr_name:
47
+ return item.get("defaultValue")
48
+ return default_value
49
+
50
+
51
+ class _CustomInstaller:
52
+ """save custom op registration information to a json file which will be used by GE"""
53
+ reg_info_hash = [] # used to avoid writing the same reg info to file multiple times
54
+ copied_paths = [] # used to avoid copying the same file multiple times
55
+
56
+ def __init__(self, op_info, func=None):
57
+ self.op_info = op_info
58
+ self.func = func
59
+ self.op_type = op_info.get("op_name") if not func else func.__name__
60
+ vendor_name = "ms"
61
+ custom_dir = os.path.join(os.path.realpath("./"), "vendors", vendor_name)
62
+ self._set_env(custom_dir)
63
+ op_impl_dir = os.path.join(custom_dir, "op_impl")
64
+ self.ai_core_config_dir = os.path.join(op_impl_dir, "ai_core", "tbe", "config")
65
+ self.ai_core_impl_dir = os.path.join(op_impl_dir, "ai_core", "tbe", vendor_name + "_impl")
66
+ self.ai_cpu_config_dir = os.path.join(op_impl_dir, "cpu", "config")
67
+ self.ai_cpu_impl_dir = os.path.join(op_impl_dir, "cpu", "aicpu_kernel", "impl")
68
+
69
+ @staticmethod
70
+ def _set_env(custom_opp_path):
71
+ """set custom file path to env"""
72
+ if not os.environ.get(ASCEND_CUSTOM_OPP_PATH):
73
+ os.environ[ASCEND_CUSTOM_OPP_PATH] = custom_opp_path
74
+ else:
75
+ paths = os.environ[ASCEND_CUSTOM_OPP_PATH].split(':')
76
+ if custom_opp_path not in paths:
77
+ os.environ[ASCEND_CUSTOM_OPP_PATH] = custom_opp_path + ':' + os.environ[ASCEND_CUSTOM_OPP_PATH]
78
+
79
+ @staticmethod
80
+ def _create_dir(*dir_names):
81
+ """create directory"""
82
+ for dir_name in dir_names:
83
+ if not os.path.isdir(dir_name):
84
+ try:
85
+ os.makedirs(dir_name, mode=0o700, exist_ok=True)
86
+ except OSError as err:
87
+ if err.errno == 17: # File exists
88
+ pass
89
+ else:
90
+ raise err
91
+
92
+ @staticmethod
93
+ def _copy_file(src_path, dst_dir):
94
+ """copy file"""
95
+ if not os.path.exists(src_path) or src_path in _CustomInstaller.copied_paths:
96
+ return
97
+ _CustomInstaller.copied_paths.append(src_path)
98
+ if os.path.isfile(src_path):
99
+ lock_file = os.path.join(dst_dir, "file.lock")
100
+ with os.fdopen(os.open(lock_file, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as f:
101
+ fcntl.flock(f.fileno(), fcntl.LOCK_EX)
102
+ shutil.copy(src_path, dst_dir)
103
+
104
+ def check(self):
105
+ """check if the reg info need written"""
106
+ if platform.system() != "Linux":
107
+ return False
108
+ if not os.environ.get("MS_DEV_CUSTOM_OPP_PATH"):
109
+ # only process the first time import the mindspore module
110
+ return False
111
+ if self.op_info.get("target") in ["GPU", "CPU"]:
112
+ return False
113
+ sha256 = hashlib.sha256()
114
+ value = json.dumps(self.op_info, sort_keys=True).encode()
115
+ sha256.update(value)
116
+ hash_value = sha256.hexdigest()
117
+ if hash_value in _CustomInstaller.reg_info_hash:
118
+ return False
119
+ _CustomInstaller.reg_info_hash.append(hash_value)
120
+ return True
121
+
122
+ def _find_ai_cpu_so_path(self, so_file):
123
+ """find the absolute path of so"""
124
+ current_path = os.path.dirname(os.path.realpath(__file__))
125
+ search_paths = [current_path + "/../lib", current_path + "/../lib/plugin/ascend"]
126
+ for path in search_paths:
127
+ so_path = os.path.join(path, so_file)
128
+ if os.path.exists(so_path):
129
+ return so_path
130
+ logger.warning("For Custom op '{}', can not find the aicpu so file '{}' in the following directories:\n{}"
131
+ .format(self.op_type, so_file, "\n".join(search_paths)))
132
+ return ""
133
+
134
+ def _gen_ai_core_reg_info(self, imply_path, func_name):
135
+ """generate reg info"""
136
+
137
+ def _get_dtype_format(idx):
138
+ data_type = []
139
+ data_format = []
140
+ for _, dtype_format in enumerate(self.op_info.get("dtype_format", [])):
141
+ if not dtype_format[idx][0]:
142
+ data_type = None
143
+ else:
144
+ data_type.append(dtype_format[idx][0])
145
+ if not dtype_format[idx][1]:
146
+ data_format = None
147
+ else:
148
+ if dtype_format[idx][1] == "DefaultFormat":
149
+ data_format.append("ND")
150
+ else:
151
+ data_format.append(dtype_format[idx][1])
152
+ return data_type, data_format
153
+
154
+ op_info = {"opFile": {"value": os.path.splitext(os.path.basename(imply_path))[0]},
155
+ "opInterface": {"value": func_name}}
156
+ # attr
157
+ attrs_name = []
158
+ for _, item in enumerate(self.op_info.get("attr", [])):
159
+ attr_name = item.get(KEY_NAME)
160
+ attrs_name.append(attr_name)
161
+ key = "attr_" + attr_name
162
+ op_info[key] = {}
163
+ for k, v in item.items():
164
+ if k != KEY_NAME:
165
+ op_info[key][k] = v
166
+ if attrs_name:
167
+ op_info["attr"] = {"list": ",".join(attrs_name)}
168
+ # input and output
169
+ inputs = self.op_info.get("inputs", [])
170
+ outputs = self.op_info.get("outputs", [])
171
+ input_num = len(inputs)
172
+ output_num = len(outputs)
173
+ for i in range(input_num + output_num):
174
+ item = inputs[i] if i < input_num else outputs[i - input_num]
175
+ key = "input" if i < input_num else "output"
176
+ key += str(item.get("index"))
177
+ op_info[key] = {KEY_NAME: item.get(KEY_NAME),
178
+ "paramType": item.get("paramType", "required"),
179
+ "shape": item.get("shape", "all")}
180
+ dtype, formats = _get_dtype_format(i)
181
+ if dtype:
182
+ op_info[key]["dtype"] = ",".join(dtype)
183
+ if formats:
184
+ op_info[key]["format"] = ",".join(formats)
185
+ return op_info
186
+
187
+ @staticmethod
188
+ def _gen_ai_cpu_reg_info(so_file):
189
+ """generate reg info"""
190
+ op_info = {"opInfo": {"computeCost": "100",
191
+ "engine": "DNN_VM_AICPU",
192
+ "flagAsync": "False",
193
+ "flagPartial": "False",
194
+ "functionName": "RunCpuKernel",
195
+ "kernelSo": so_file,
196
+ "opKernelLib": "CUSTAICPUKernel",
197
+ "userDefined": "True"}}
198
+ return op_info
199
+
200
+ def _save_op_info(self, dst_dir, file_name, op_info):
201
+ """save op info file"""
202
+ repo = {}
203
+ save_path = os.path.join(dst_dir, file_name)
204
+ lock_file = os.path.join(dst_dir, "file.lock")
205
+ with os.fdopen(os.open(lock_file, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as f:
206
+ fcntl.flock(f.fileno(), fcntl.LOCK_EX)
207
+ if os.path.isfile(save_path):
208
+ with open(save_path, 'r') as fr:
209
+ json_str = fr.read()
210
+ json_str = "{}" if json_str == "" else json_str
211
+ repo = json.loads(json_str)
212
+ repo.update({self.op_type: op_info})
213
+ with os.fdopen(os.open(save_path, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as fw:
214
+ json.dump(repo, fw, sort_keys=True, indent=4, separators=(',', ':'))
215
+
216
+ def run(self):
217
+ """save reg info to file"""
218
+ if not self.check():
219
+ return
220
+ so_name = _get_reg_info_attr(self.op_info, "cust_aicpu")
221
+ if so_name:
222
+ _CustomInstaller._create_dir(self.ai_cpu_config_dir, self.ai_cpu_impl_dir)
223
+ # copy so file
224
+ so_file = "lib" + so_name + ".so"
225
+ imply_path = self._find_ai_cpu_so_path(so_file)
226
+ self._copy_file(imply_path, self.ai_cpu_impl_dir)
227
+ # generate and copy reg info file
228
+ op_info = self._gen_ai_cpu_reg_info(so_file)
229
+ self._save_op_info(self.ai_cpu_config_dir, "cust_aicpu_kernel.json", op_info)
230
+ else:
231
+ _CustomInstaller._create_dir(self.ai_core_config_dir, self.ai_core_impl_dir)
232
+ # copy dsl file
233
+ imply_path = os.path.realpath(inspect.getfile(self.func))
234
+ self._copy_file(imply_path, self.ai_core_impl_dir)
235
+ # generate and copy reg info file
236
+ op_info = self._gen_ai_core_reg_info(imply_path, self.func.__name__)
237
+ self._copy_file(imply_path, self.ai_core_impl_dir)
238
+ for arc_name in ["ascend910", "ascend910b", "ascend910_93", "ascend310p"]:
239
+ arc_dir = os.path.join(self.ai_core_config_dir, arc_name)
240
+ _CustomInstaller._create_dir(arc_dir)
241
+ self._save_op_info(arc_dir, "aic-{}-ops-info.json".format(arc_name), op_info)
242
+
243
+
244
+ def op_info_register(op_info):
245
+ r"""
246
+ A decorator which is used to register an operator.
247
+
248
+ Note:
249
+ 'op_info' should represent the operator information by string with json format.
250
+ The 'op_info' will be added into oplib.
251
+
252
+ Args:
253
+ op_info (Union[str, dict]): operator information in json format.
254
+
255
+ Examples:
256
+ >>> from mindspore.ops import op_info_register, TBERegOp, DataType
257
+ >>> abs_op_info = TBERegOp("Abs") \
258
+ ... .fusion_type("ELEMWISE") \
259
+ ... .async_flag(False) \
260
+ ... .binfile_name("abs.so") \
261
+ ... .compute_cost(10) \
262
+ ... .kernel_name("abs") \
263
+ ... .partial_flag(True) \
264
+ ... .op_pattern("formatAgnostic") \
265
+ ... .input(0, "x", None, "required", None) \
266
+ ... .output(0, "y", True, "required", "all") \
267
+ ... .dtype_format(DataType.F16_None, DataType.F16_None) \
268
+ ... .dtype_format(DataType.F32_None, DataType.F32_None) \
269
+ ... .dtype_format(DataType.I32_None, DataType.I32_None) \
270
+ ... .get_op_info()
271
+ >>>
272
+ >>> @op_info_register(abs_op_info)
273
+ ... def _abs_tbe():
274
+ ... return
275
+ ...
276
+
277
+ Returns:
278
+ Function, returns a decorator for op info register.
279
+ """
280
+
281
+ def register_decorator(func):
282
+ if isinstance(op_info, dict):
283
+ op_info_real = json.dumps(op_info)
284
+ else:
285
+ op_info_real = op_info
286
+ validator.check_value_type("op_info", op_info_real, [str])
287
+ op_lib = Oplib()
288
+ file_path = os.path.realpath(inspect.getfile(func))
289
+ # keep the path custom ops implementation.
290
+ if BUILT_IN_CUSTOM_OPS_REGISTER_PATH in file_path:
291
+ imply_path = file_path
292
+ else:
293
+ imply_path = "" if BUILT_IN_OPS_REGISTER_PATH in file_path else file_path
294
+ if not op_lib.reg_op(op_info_real, imply_path):
295
+ raise ValueError('Invalid op info {}:\n{}\n'.format(file_path, op_info_real))
296
+
297
+ def wrapped_function(*args, **kwargs):
298
+ return func(*args, **kwargs)
299
+
300
+ return wrapped_function
301
+
302
+ return register_decorator
303
+
304
+
305
+ def custom_info_register(*reg_info):
306
+ r"""
307
+ A decorator which is used to bind the registration information to the `func` parameter of
308
+ :class:`mindspore.ops.Custom`.
309
+
310
+ Note:
311
+ The 'reg_info' will be added into oplib.
312
+
313
+ Args:
314
+ reg_info (tuple[str, dict]): Each item represents registration information in json format.
315
+
316
+ Returns:
317
+ Function, returns a decorator for op info register.
318
+
319
+ Raises:
320
+ TypeError: If `reg_info` is not a tuple.
321
+
322
+ Examples:
323
+ >>> from mindspore.ops import custom_info_register, CustomRegOp, DataType
324
+ >>> custom_func_ascend_info = CustomRegOp() \
325
+ ... .input(0, "x", "dynamic") \
326
+ ... .output(0, "y") \
327
+ ... .dtype_format(DataType.F16_Default, DataType.F16_Default) \
328
+ ... .dtype_format(DataType.F32_Default, DataType.F32_Default) \
329
+ ... .target("Ascend") \
330
+ ... .get_op_info()
331
+ >>>
332
+ >>> @custom_info_register(custom_func_ascend_info)
333
+ ... def custom_func(x):
334
+ ... pass
335
+ """
336
+
337
+ def decorator(func):
338
+ setattr(func, "reg_info", reg_info)
339
+ if reg_info:
340
+ used_reg_info = reg_info[0]
341
+ if isinstance(used_reg_info, dict):
342
+ # ai_cpu should be parsed inside CustomRegOp, skip it here
343
+ if not _get_reg_info_attr(used_reg_info, "cust_aicpu"):
344
+ _CustomInstaller(used_reg_info, func).run()
345
+
346
+ @functools.wraps(func)
347
+ def wrapper(*args, **kwargs):
348
+ return func(*args, **kwargs)
349
+
350
+ return wrapper
351
+
352
+ return decorator
353
+
354
+
355
+ class RegOp:
356
+ """
357
+ Base class for op info register.
358
+
359
+ Args:
360
+ op_name (str): Name of operator.
361
+ """
362
+
363
+ def __init__(self, op_name=""):
364
+ if not isinstance(op_name, str):
365
+ raise ValueError("op name value must be string")
366
+ if not op_name.strip():
367
+ raise ValueError("op name is empty")
368
+ self.op_name = op_name
369
+ self.inputs = []
370
+ self.outputs = []
371
+ self.attr_ = []
372
+ self.fusion_type_ = ''
373
+ self.dtype_format_ = []
374
+
375
+ def _is_string(self, value):
376
+ """
377
+ Check if the value is a str type.
378
+
379
+ Args:
380
+ value: Parameter to be checked.
381
+
382
+ Raises:
383
+ TypeError: If the type of value is not a str.
384
+ """
385
+ if not isinstance(value, str):
386
+ raise TypeError("%s value must be str" % str(value))
387
+ return True
388
+
389
+ def _is_int(self, value):
390
+ """
391
+ Check if the value is an int.
392
+
393
+ Args:
394
+ value: Parameter to be checked.
395
+
396
+ Raises:
397
+ TypeError: If the type of value is not an int.
398
+ """
399
+ if not isinstance(value, int):
400
+ raise TypeError("%s value must be int" % str(value))
401
+ return True
402
+
403
+ def _is_bool(self, value):
404
+ """
405
+ Check if the value is a bool.
406
+
407
+ Args:
408
+ value: Parameter to be checked.
409
+
410
+ Raises:
411
+ TypeError: If the type of value is not a bool.
412
+ """
413
+ if not isinstance(value, bool):
414
+ raise TypeError("%s value must be bool" % str(value))
415
+ return True
416
+
417
+ @staticmethod
418
+ def _is_list(value):
419
+ """
420
+ Check if the value is a list.
421
+
422
+ Args:
423
+ value: Parameter to be checked.
424
+
425
+ Raises:
426
+ TypeError: If the type of value is not a list.
427
+ """
428
+ if not isinstance(value, list):
429
+ raise TypeError("%s value must be list" % str(value))
430
+ return True
431
+
432
+ def _check_param(self, param_list, key_list, fn_list, kwargs):
433
+ """
434
+ Check if the parameter type is correct.
435
+
436
+ Args:
437
+ param_list (list): Parameter list to be checked.
438
+ key_list (list): The keys of output dict.
439
+ fn_list (list): Function used for parameter checking. If the function list has only one element,
440
+ all parameters will use the same function.
441
+ kwargs (dict): Other parameter information.
442
+
443
+ Raises:
444
+ TypeError: If the type of value is not list.
445
+ ValueError: If the size of param list is not equal to the size of key list, or
446
+ the size of param list is not equal to the size of function list.
447
+ """
448
+ for i in [param_list, key_list, fn_list]:
449
+ if not isinstance(i, list):
450
+ raise TypeError("%s value must be list type" % str(i))
451
+ if len(param_list) != len(key_list) or (len(fn_list) != 1 and len(param_list) != len(fn_list)):
452
+ raise ValueError("param_list size {}, key_list size {}, must be equal.And fn_list size {}.".
453
+ format(len(param_list), len(key_list), len(fn_list)))
454
+ out_dict = {}
455
+ for idx, element in enumerate(param_list):
456
+ if element is not None:
457
+ if len(fn_list) == 1:
458
+ fn_list[0](element)
459
+ else:
460
+ fn_list[idx](element)
461
+ out_dict[key_list[idx]] = element
462
+ if kwargs:
463
+ out_dict = dict(out_dict, **kwargs)
464
+ return out_dict
465
+
466
+ def fusion_type(self, fusion_type):
467
+ """
468
+ Fusion type of the operator.
469
+
470
+ Args:
471
+ fusion_type (str): Value of fusion type.
472
+ """
473
+ self._is_string(fusion_type)
474
+ self.fusion_type_ = fusion_type
475
+ return self
476
+
477
+ def dtype_format(self, *args):
478
+ """
479
+ A dtype and format supported by the operator.
480
+
481
+ Args:
482
+ args (tuple): Value of dtype and format.
483
+
484
+ Raises:
485
+ ValueError: If the size of args not equal to input size add output size.
486
+ TypeError: If the type of args is not tuple.
487
+ """
488
+ if len(self.inputs) + len(self.outputs) != len(args):
489
+ raise ValueError("input size add output size must be equal to dtype format size")
490
+ dtype_format = []
491
+ for arg in args:
492
+ if not isinstance(arg, tuple) or (len(arg) != 2 and len(arg) != 3):
493
+ raise ValueError("dtype and format value must be tuple of two or three elements")
494
+ self._is_string(arg[0])
495
+ self._is_string(arg[1])
496
+ if len(arg) == 3:
497
+ if self._is_string(arg[2]):
498
+ dtype_format.append(arg)
499
+ else:
500
+ dtype_format.append(arg)
501
+ self.dtype_format_.append(tuple(dtype_format))
502
+ return self
503
+
504
+ def get_op_info(self):
505
+ """
506
+ Return all registration information for this instance.
507
+
508
+ The '_' character ending the key is removed here for compatibility with previous version.
509
+
510
+ Key will be unified into an underlined form later.
511
+ """
512
+ op_info = {}
513
+ for key, value in self.__dict__.items():
514
+ if isinstance(key, str) and key.endswith('_'):
515
+ key = key.rstrip('_')
516
+ key_dic = {"dynamic_shape_support": "dynamicShapeSupport",
517
+ "dynamic_rank_support": "dynamicRankSupport",
518
+ "dynamic_compile_static": "dynamicCompileStatic",
519
+ "need_check_support": "needCheckSupport",
520
+ "dynamic_format": "dynamicFormat"
521
+ }
522
+ key = key_dic.get(key, key)
523
+ op_info[key] = value
524
+ return op_info
525
+
526
+
527
+ class CpuRegOp(RegOp):
528
+ """Class for Cpu op info register"""
529
+
530
+ def __init__(self, op_name):
531
+ super(CpuRegOp, self).__init__(op_name)
532
+ self.imply_type = "CPU"
533
+
534
+ def input(self, index=None, name=None, param_type=None, **kwargs):
535
+ """
536
+ Register Cpu op input information.
537
+
538
+ Args:
539
+ index (int): Order of the input. Default: ``None`` .
540
+ name (str): Name of the input. Default: ``None`` .
541
+ param_type (str): Param type of the input. Default: ``None`` .
542
+ kwargs (dict): Other information of the input.
543
+ """
544
+ param_list = [index, name, param_type]
545
+ key_list = ["index", "name", "paramType"]
546
+ fn_list = [self._is_int, self._is_string, self._is_string]
547
+ input_dict = self._check_param(param_list, key_list, fn_list, kwargs)
548
+ self.inputs.append(input_dict)
549
+ return self
550
+
551
+ def output(self, index=None, name=None, param_type=None, **kwargs):
552
+ """
553
+ Register AiCPU op output information.
554
+
555
+ Args:
556
+ index (int): Order of the output. Default: ``None`` .
557
+ name (str): Name of the output. Default: ``None`` .
558
+ param_type (str): Param type of the output. Default: ``None`` .
559
+ kwargs (dict): Other information of the output.
560
+ """
561
+ param_list = [index, name, param_type]
562
+ key_list = ["index", "name", "paramType"]
563
+ fn_list = [self._is_int, self._is_string, self._is_string]
564
+ output_dict = self._check_param(param_list, key_list, fn_list, kwargs)
565
+ self.outputs.append(output_dict)
566
+ return self
567
+
568
+ def attr(self, name=None, value_type=None, value=None, **kwargs):
569
+ """
570
+ Register AiCPU op attribute information.
571
+
572
+ Args:
573
+ name (str): Name of the attribute. Default: ``None`` .
574
+ value_type (str): Value type of the attribute. Default: ``None`` .
575
+ value (str): Value of the attribute. Default: ``None`` .
576
+ kwargs (dict): Other information of the attribute.
577
+ """
578
+ param_list = [name, value_type, value]
579
+ key_list = ["name", "type", "value"]
580
+ fn_list = [self._is_string]
581
+ attr_dict = self._check_param(param_list, key_list, fn_list, kwargs)
582
+ self.attr_.append(attr_dict)
583
+ return self
584
+
585
+
586
+ class AkgRegOp(RegOp):
587
+ """Class for Akg op info register."""
588
+
589
+ def __init__(self, op_name, processor):
590
+ super(AkgRegOp, self).__init__(op_name)
591
+ self.imply_type = "AKG"
592
+ self.processor = processor
593
+
594
+ def input(self, index=None, name=None, param_type=None, **kwargs):
595
+ """
596
+ Register Akg op input information.
597
+
598
+ Args:
599
+ index (int): Order of the input. Default: ``None`` .
600
+ name (str): Name of the input. Default: ``None`` .
601
+ param_type (str): Param type of the input. Default: ``None`` .
602
+ kwargs (dict): Other information of the input.
603
+ """
604
+ param_list = [index, name, param_type]
605
+ key_list = ["index", "name", "paramType"]
606
+ fn_list = [self._is_int, self._is_string, self._is_string]
607
+ input_dict = self._check_param(param_list, key_list, fn_list, kwargs)
608
+ self.inputs.append(input_dict)
609
+ return self
610
+
611
+ def output(self, index=None, name=None, **kwargs):
612
+ """
613
+ Register Akg op output information.
614
+
615
+ Args:
616
+ index (int): Order of the output. Default: ``None`` .
617
+ name (str): Name of the output. Default: ``None`` .
618
+ kwargs (dict): Other information of the output.
619
+ """
620
+ param_list = [index, name]
621
+ key_list = ["index", "name"]
622
+ fn_list = [self._is_int, self._is_string]
623
+ output_dict = self._check_param(param_list, key_list, fn_list, kwargs)
624
+ self.outputs.append(output_dict)
625
+ return self
626
+
627
+ def attr(self, name=None, param_type=None, value_type=None, **kwargs):
628
+ """
629
+ Register Akg op attribute information.
630
+
631
+ Args:
632
+ name (str): Name of the attribute. Default: ``None`` .
633
+ param_type (str): Param type of the attribute. Default: ``None`` .
634
+ value_type (str): Value type of the attribute. Default: ``None`` .
635
+ kwargs (dict): Other information of the attribute.
636
+ """
637
+ param_list = [name, param_type, value_type]
638
+ key_list = ["name", "paramType", "type"]
639
+ fn_list = [self._is_string]
640
+ attr_dict = self._check_param(param_list, key_list, fn_list, kwargs)
641
+ self.attr_.append(attr_dict)
642
+ return self
643
+
644
+
645
+ class AkgGpuRegOp(AkgRegOp):
646
+ """Class for AkgGpu op info register"""
647
+
648
+ def __init__(self, op_name):
649
+ super(AkgGpuRegOp, self).__init__(op_name, "CUDA")
650
+
651
+
652
+ class AkgAscendRegOp(AkgRegOp):
653
+ """Class for AkgAscend op info register"""
654
+
655
+ def __init__(self, op_name):
656
+ super(AkgAscendRegOp, self).__init__(op_name, "AiCore")
657
+
658
+
659
+ class AkgCpuRegOp(AkgRegOp):
660
+ """Class for AkgCpu op info register"""
661
+
662
+ def __init__(self, op_name):
663
+ super(AkgCpuRegOp, self).__init__(op_name, "CPU")
664
+
665
+
666
+ class AiCPURegOp(CpuRegOp):
667
+ r"""
668
+ Class for AiCPU operator information registration.
669
+
670
+ Args:
671
+ op_name (str): Name of operator.
672
+
673
+ Examples:
674
+ >>> from mindspore.ops import AiCPURegOp, DataType
675
+ >>> stack_op_info = AiCPURegOp("Stack") \
676
+ ... .fusion_type("OPAQUE") \
677
+ ... .attr("axis", "int") \
678
+ ... .input(0, "x", "dynamic") \
679
+ ... .output(0, "y", "required") \
680
+ ... .dtype_format(DataType.I8_Default, DataType.I8_Default) \
681
+ ... .dtype_format(DataType.I16_Default, DataType.I16_Default) \
682
+ ... .dtype_format(DataType.I32_Default, DataType.I32_Default) \
683
+ ... .dtype_format(DataType.I64_Default, DataType.I64_Default) \
684
+ ... .dtype_format(DataType.U8_Default, DataType.U8_Default) \
685
+ ... .dtype_format(DataType.U16_Default, DataType.U16_Default) \
686
+ ... .dtype_format(DataType.U32_Default, DataType.U32_Default) \
687
+ ... .dtype_format(DataType.U64_Default, DataType.U64_Default) \
688
+ ... .dtype_format(DataType.F16_Default, DataType.F16_Default) \
689
+ ... .dtype_format(DataType.F32_Default, DataType.F32_Default) \
690
+ ... .dtype_format(DataType.F64_Default, DataType.F64_Default) \
691
+ ... .dtype_format(DataType.BOOL_Default, DataType.BOOL_Default) \
692
+ ... .get_op_info()
693
+ >>>
694
+ """
695
+
696
+ def __init__(self, op_name):
697
+ super(AiCPURegOp, self).__init__(op_name)
698
+ self.imply_type = "AiCPU"
699
+
700
+
701
+ class TBERegOp(RegOp):
702
+ r"""
703
+ Class for TBE operator information registration. TBE (Tensor Boost Engine) is the Ascend operator development
704
+ tool, which is extended on the basis of the TVM framework to develop custom operators.
705
+
706
+ Args:
707
+ op_name (str): Name of operator.
708
+
709
+ Examples:
710
+ >>> from mindspore.ops import TBERegOp, DataType
711
+ >>> op_name_op_info = TBERegOp("OpName") \
712
+ ... .fusion_type("ELEMWISE") \
713
+ ... .async_flag(False) \
714
+ ... .binfile_name("op_name.so") \
715
+ ... .compute_cost(10) \
716
+ ... .kernel_name("op_name") \
717
+ ... .partial_flag(True) \
718
+ ... .op_pattern("formatAgnostic") \
719
+ ... .need_check_supported(True) \
720
+ ... .dynamic_shape(True) \
721
+ ... .dynamic_rank_support(True) \
722
+ ... .dynamic_compile_static(True) \
723
+ ... .attr("format", "required", "str", "all") \
724
+ ... .input(0, "x1", None, "required", None) \
725
+ ... .input(0, "x2", None, "required", None) \
726
+ ... .input(1, "axis", None, "required", None) \
727
+ ... .output(0, "y", True, "required", "all") \
728
+ ... .real_input_index([1, 0]) \
729
+ ... .input_to_attr_index([2]) \
730
+ ... .unknown_shape_formats(["ND", "ND", "ND", "ND"]) \
731
+ ... .reshape_type("NC") \
732
+ ... .is_dynamic_format(True) \
733
+ ... .dtype_format(DataType.F16_None, DataType.F16_None, DataType.F16_None, DataType.F16_None) \
734
+ ... .dtype_format(DataType.F32_None, DataType.F32_None, DataType.F32_None, DataType.F32_None) \
735
+ ... .dtype_format(DataType.I32_None, DataType.I32_None, DataType.I32_None, DataType.I32_None) \
736
+ ... .get_op_info()
737
+ >>>
738
+ """
739
+
740
+ def __init__(self, op_name):
741
+ super(TBERegOp, self).__init__(op_name)
742
+ self.imply_type = "TBE"
743
+ self.async_flag_ = False
744
+ self.binfile_ = ''
745
+ self.compute_cost_ = 10
746
+ self.kernel_ = ''
747
+ self.partial_flag_ = False
748
+ self.reshape_type_ = ''
749
+ self.dynamic_rank_support_ = False
750
+ self.dynamic_shape_support_ = False
751
+ self.dynamic_compile_static_ = False
752
+ self.need_check_support_ = False
753
+ self.dynamic_format_ = False
754
+ self.op_pattern_ = ""
755
+ self.real_input_index_ = []
756
+ self.input_to_attr_index_ = []
757
+ self.unknown_shape_formats_ = []
758
+
759
+ def unknown_shape_formats(self, unknown_shape_formats):
760
+ """
761
+ Description data arrangement of operator input / output tensor in dynamic shape scene.
762
+
763
+ Args:
764
+ unknown_shape_formats (list): Description data arrangement of operator input / output tensor in dynamic
765
+ shape scene.
766
+ """
767
+ RegOp._is_list(unknown_shape_formats)
768
+ self.unknown_shape_formats_.append(unknown_shape_formats)
769
+ return self
770
+
771
+ def dynamic_rank_support(self, dynamic_rank_support):
772
+ """
773
+ Description whether the operator supports dynamic rank (dynamic dimension).
774
+
775
+ Args:
776
+ dynamic_rank_support (bool): Description whether the operator supports dynamic rank (dynamic dimension).
777
+ True: indicates that dynamic rank is supported, and the operator supports
778
+ shape (- 2), which is used to determine whether dynamic is performed.
779
+ False: indicates that the operator does not support dynamic rank.
780
+ Default: ``False`` .
781
+ """
782
+ if self._is_bool(dynamic_rank_support):
783
+ self.dynamic_rank_support_ = dynamic_rank_support
784
+ return self
785
+
786
+ def real_input_index(self, real_input_index):
787
+ """
788
+ Description operator front end and tbe operator input mapping.
789
+
790
+ Args:
791
+ real_input_index (list): Value of real_input_index. Default: ``()`` .
792
+ """
793
+ RegOp._is_list(real_input_index)
794
+ self.real_input_index_ = real_input_index
795
+ return self
796
+
797
+ def input_to_attr_index(self, input_to_attr_index):
798
+ """
799
+ Description the index of input need to cast to attr.
800
+
801
+ Args:
802
+ input_to_attr_index (list): Value of input_to_attr_index. Default: ``()`` .
803
+ """
804
+ RegOp._is_list(input_to_attr_index)
805
+ self.input_to_attr_index_ = input_to_attr_index
806
+ return self
807
+
808
+ def async_flag(self, async_flag=False):
809
+ """
810
+ Define the calculation efficiency of the operator, whether the asynchronous calculation is supported.
811
+
812
+ Args:
813
+ async_flag (bool): Value of async flag. Default: ``False`` .
814
+ """
815
+ self._is_bool(async_flag)
816
+ self.async_flag_ = async_flag
817
+ return self
818
+
819
+ def binfile_name(self, binfile_name):
820
+ """
821
+ Set the binary file name of the operator, it is optional.
822
+
823
+ Args:
824
+ binfile_name (str): The binary file name of the operator.
825
+ """
826
+ self._is_string(binfile_name)
827
+ self.binfile_ = binfile_name
828
+ return self
829
+
830
+ def compute_cost(self, compute_cost=10):
831
+ """
832
+ Define the calculation efficiency of operator, which refers to the value of the cost model
833
+ in the tiling module.
834
+
835
+ Args:
836
+ compute_cost (int): Value of compute cost. Default: ``10`` .
837
+ """
838
+ self._is_int(compute_cost)
839
+ self.compute_cost_ = compute_cost
840
+ return self
841
+
842
+ def kernel_name(self, kernel_name):
843
+ """
844
+ The name of operator kernel.
845
+
846
+ Args:
847
+ kernel_name (str): Name of operator kernel.
848
+ """
849
+ self._is_string(kernel_name)
850
+ self.kernel_ = kernel_name
851
+ return self
852
+
853
+ def partial_flag(self, partial_flag=True):
854
+ """
855
+ Define the calculation efficiency of operator, whether the partial calculation is supported.
856
+
857
+ Args:
858
+ partial_flag (bool): Value of partial flag. Default: ``True`` .
859
+ """
860
+ self._is_bool(partial_flag)
861
+ self.partial_flag_ = partial_flag
862
+ return self
863
+
864
+ def reshape_type(self, reshape_type):
865
+ """
866
+ Reshape type of operator.
867
+
868
+ Args:
869
+ reshape_type (str): Value of reshape type. For example, if the input shape is :math:`(2, 3)`
870
+ and `reshape_type` is set to "CH", then the new shape is :math:`(1, 2, 3, 1)`.
871
+ "CH" means the C and H dimensions are kept and
872
+ new dimensions are added for N and W dimension.
873
+ """
874
+ self._is_string(reshape_type)
875
+ self.reshape_type_ = reshape_type
876
+ return self
877
+
878
+ def dynamic_shape(self, dynamic_shape=False):
879
+ """
880
+ Whether the operator supports dynamic shape.
881
+
882
+ Args:
883
+ dynamic_shape (bool): Value of dynamic shape. Default: ``False`` .
884
+ """
885
+ self._is_bool(dynamic_shape)
886
+ self.dynamic_shape_support_ = dynamic_shape
887
+ return self
888
+
889
+ def dynamic_compile_static(self, dynamic_compile_static=False):
890
+ """
891
+ Whether the operator supports dynamic compile static.
892
+
893
+ Args:
894
+ dynamic_compile_static (bool): Value of dynamic compile static. Default: ``False`` .
895
+ """
896
+ if self._is_bool(dynamic_compile_static):
897
+ self.dynamic_compile_static_ = dynamic_compile_static
898
+ return self
899
+
900
+ def need_check_supported(self, need_check_supported=False):
901
+ """
902
+ Whether the operator needs check supports.
903
+
904
+ Args:
905
+ need_check_supported (bool): Value of need_check_supported. Default: ``False`` .
906
+ """
907
+ if self._is_bool(need_check_supported):
908
+ self.need_check_support_ = need_check_supported
909
+ return self
910
+
911
+ def is_dynamic_format(self, is_dynamic_format=False):
912
+ """
913
+ Whether the operator needs calop_select_format api.
914
+
915
+ Args:
916
+ is_dynamic_format (bool): Value of is_dynamic_format. Default: ``False`` .
917
+ """
918
+ if self._is_bool(is_dynamic_format):
919
+ self.dynamic_format_ = is_dynamic_format
920
+ return self
921
+
922
+ def op_pattern(self, pattern=None):
923
+ """
924
+ The behavior type of operator, such as broadcast, reduce and so on.
925
+
926
+ Args:
927
+ pattern (str): Value of op pattern, e.g. "broadcast", "reduce". Default: ``None`` .
928
+ """
929
+ if pattern is not None and self._is_string(pattern):
930
+ self.op_pattern_ = pattern
931
+ return self
932
+
933
+ def attr(self, name=None, param_type=None, value_type=None, value=None, default_value=None, **kwargs):
934
+ """
935
+ Register TBE op attribute information.
936
+
937
+ Args:
938
+ name (str): Name of the attribute. Default: ``None`` .
939
+ param_type (str): Param type of the attribute. Default: ``None`` .
940
+ value_type (str): Type of the attribute. Default: ``None`` .
941
+ value (str): Value of the attribute. Default: ``None`` .
942
+ default_value (str): Default value of attribute. Default: ``None`` .
943
+ kwargs (dict): Other information of the attribute.
944
+ """
945
+ param_list = [name, param_type, value_type, value, default_value]
946
+ key_list = ["name", "paramType", "type", "value", "defaultValue"]
947
+ fn_list = [self._is_string]
948
+ attr_dict = self._check_param(param_list, key_list, fn_list, kwargs)
949
+ self.attr_.append(attr_dict)
950
+ return self
951
+
952
+ def input(self, index=None, name=None, need_compile=None, param_type=None, shape=None, value_depend=None, **kwargs):
953
+ """
954
+ Register TBE op input information.
955
+
956
+ Args:
957
+ index (int): Order of the input. Default: ``None`` .
958
+ name (str): Name of the input. Default: ``None`` .
959
+ need_compile (bool): Whether the input needs to be compiled or not. Default: ``None`` .
960
+ param_type (str): Type of the input. Default: ``None`` .
961
+ shape (str): Shape of the input. Default: ``None`` .
962
+ value_depend (str): Whether the input is constant value depend. Default: ``None`` .
963
+ kwargs (dict): Other information of the input.
964
+ """
965
+ param_list = [index, name, need_compile, param_type, shape, value_depend]
966
+ key_list = ["index", "name", "needCompile", "paramType", "shape", "valueDepend"]
967
+ fn_list = [self._is_int, self._is_string, self._is_bool, self._is_string, self._is_string, self._is_string]
968
+ input_dict = self._check_param(param_list, key_list, fn_list, kwargs)
969
+ value_depend_values = ("ignored", "optional", "required")
970
+ if value_depend and value_depend.lower() not in value_depend_values:
971
+ raise ValueError("Operator {} input{}'s value_depend's value ({}) is not in {}.".
972
+ format(self.op_name, index, value_depend, value_depend_values))
973
+ self.inputs.append(input_dict)
974
+ return self
975
+
976
+ def output(self, index=None, name=None, need_compile=None, param_type=None, shape=None, **kwargs):
977
+ """
978
+ Register TBE op output information.
979
+
980
+ Args:
981
+ index (int): Order of the output. Default: ``None`` .
982
+ name (str): Name of the output. Default: ``None`` .
983
+ need_compile (bool): Whether the output needs to be compiled or not. Default: ``None`` .
984
+ param_type (str): Type of the output. Default: ``None`` .
985
+ shape (str): Shape of the output. Default: ``None`` .
986
+ kwargs (dict): Other information of the output.
987
+ """
988
+ param_list = [index, name, need_compile, param_type, shape]
989
+ key_list = ["index", "name", "need_compile", "paramType", "shape"]
990
+ fn_list = [self._is_int, self._is_string, self._is_bool, self._is_string, self._is_string]
991
+ output_dict = self._check_param(param_list, key_list, fn_list, kwargs)
992
+ self.outputs.append(output_dict)
993
+ return self
994
+
995
+
996
+ class CustomRegOp(RegOp):
997
+ r"""
998
+ Class used for generating the registration information for the `func` parameter of :class:`mindspore.ops.Custom`.
999
+ The registration information mainly specifies the supported data types and formats of input and output tensors,
1000
+ attributes and target of `func`.
1001
+
1002
+ Args:
1003
+ op_name (str): kernel name. The name will be record in the reg_op_name attr of the kernel node.
1004
+ Besides, the operator will generate a unique name automatically to identify the reg info.
1005
+ Default: ``"Custom"`` .
1006
+
1007
+ Examples:
1008
+ >>> from mindspore.ops import CustomRegOp, DataType
1009
+ >>> custom_op_ascend_info = CustomRegOp() \
1010
+ ... .input(0, "x", "dynamic") \
1011
+ ... .output(0, "y") \
1012
+ ... .dtype_format(DataType.F16_Default, DataType.F16_Default) \
1013
+ ... .dtype_format(DataType.F32_Default, DataType.F32_Default) \
1014
+ ... .target("Ascend") \
1015
+ ... .get_op_info()
1016
+ """
1017
+
1018
+ def __init__(self, op_name="Custom"):
1019
+ super(CustomRegOp, self).__init__(op_name)
1020
+ self.target_ = "UnKnown"
1021
+
1022
+ def input(self, index=None, name=None, param_type="required", **kwargs):
1023
+ """
1024
+ Specifies the input tensor information for the `func` parameter of :class:`mindspore.ops.Custom`. Each
1025
+ invocation of this function will generate one input tensor information, that means, if `func` has two input
1026
+ tensors, then this function should be invoked two times continuously. The input tensor information will be
1027
+ generated as a dict: {"index": `index`, "name": `name`, "param_type": `param_type`}.
1028
+
1029
+ Args:
1030
+ index (int): Index of the input, starts from 0. 0 means the first input tensor, 1 means the second input
1031
+ tensor and so on. If ``None`` , key "index" will not appear in the input tensor information dict.
1032
+ Default: ``None`` .
1033
+ name (str): Name of the `index` 'th input. If ``None`` , key "name" will not appear in the input tensor
1034
+ information dict. Default: ``None`` .
1035
+ param_type (str): Parameter type of the `index` 'th input, can be one of
1036
+ [``"required"`` , ``"dynamic"`` , ``"optional"`` ]. If ``None`` , key "param_type" will not appear in
1037
+ the input tensor information dict. Default: ``"required"`` .
1038
+
1039
+ - ``"required"``: means the `index` 'th input exist and can only be a single tensor.
1040
+ - ``"dynamic":`` means the `index` 'th input exist and may be multiple tensors, such as the input of
1041
+ AddN.
1042
+ - ``"optional"``: means the `index` 'th input may exist and be a single tensor or may not exist.
1043
+
1044
+ kwargs (dict): Other information of the input, used for extension.
1045
+
1046
+ Raises:
1047
+ TypeError: If `index` is neither int nor None.
1048
+ TypeError: If `name` is neither str nor None.
1049
+ TypeError: If `param_type` is neither str nor None.
1050
+ """
1051
+ param_list = [index, name, param_type]
1052
+ key_list = ["index", "name", "paramType"]
1053
+ fn_list = [self._is_int, self._is_string, self._is_string]
1054
+ input_dict = self._check_param(param_list, key_list, fn_list, kwargs)
1055
+ self.inputs.append(input_dict)
1056
+ return self
1057
+
1058
+ def output(self, index=None, name=None, param_type="required", **kwargs):
1059
+ """
1060
+ Specifies the output tensor information for the `func` parameter of :class:`mindspore.ops.Custom`. Each
1061
+ invocation of this function will generate one output tensor information, which means, if `func` has two output
1062
+ tensors, then this function should be invoked two times continuously. The output tensor information will be
1063
+ generated as a dict: {"index": `index`, "name": `name`, "param_type": `param_type`}.
1064
+
1065
+ Args:
1066
+ index (int): Index of the output, starts from 0. 0 means the first output tensor, 1 means the second output
1067
+ tensor and so on. If ``None`` , key "index" will not appear in the output tensor information dict.
1068
+ Default: ``None`` .
1069
+ name (str): Name of the `index` 'th output. If ``None`` , key "name" will not appear in the output tensor
1070
+ information dict. Default: ``None`` .
1071
+ param_type (str): Parameter type of the `index` 'th output, can be one of
1072
+ [ ``"required"`` , ``"dynamic"`` , ``"optional"`` ]. If ``None`` , key "param_type" will not appear in
1073
+ the output tensor information dict. Default: ``"required"`` .
1074
+
1075
+ - ``"required"``: means the `index` 'th output exist and can only be a single tensor.
1076
+ - ``"dynamic"``: means the `index` 'th output exist and may be multiple tensors.
1077
+ - ``"optional"``: means the `index` 'th output may exist and be a single tensor or may not exist.
1078
+
1079
+ kwargs (dict): Other information of the output, used for extension.
1080
+
1081
+ Raises:
1082
+ TypeError: If `index` is neither int nor None.
1083
+ TypeError: If `name` is neither str nor None.
1084
+ TypeError: If `param_type` is neither str nor None.
1085
+ """
1086
+ param_list = [index, name, param_type]
1087
+ key_list = ["index", "name", "paramType"]
1088
+ fn_list = [self._is_int, self._is_string, self._is_string]
1089
+ output_dict = self._check_param(param_list, key_list, fn_list, kwargs)
1090
+ self.outputs.append(output_dict)
1091
+ return self
1092
+
1093
+ def dtype_format(self, *args):
1094
+ """
1095
+ Specifies the supported data type and format of each input tensor and output tensor for the `func` parameter
1096
+ of :class:`mindspore.ops.Custom`. This function should be invoked after `input` and `output` function as shown
1097
+ in the above example.
1098
+
1099
+ Args:
1100
+ args (tuple): A tuple of (data type, format) pair, the length of `args` should be equal to the sum of input
1101
+ tensors and output tensors. Each item in `args` is also a tuple, tuple[0] and tuple[1] are both str
1102
+ type, which specifies the data type and format of a tensor respectively. :class:`mindspore.ops.DataType`
1103
+ provides many predefined (data type, format) combinations, for example, `DataType.F16_Default` means the
1104
+ data type is float16 and the format is default format.
1105
+
1106
+ Raises:
1107
+ ValueError: If the size of `args` not equal to the sum of input tensors and output tensors.
1108
+ """
1109
+ io_nums = len(self.inputs) + len(self.outputs)
1110
+ if len(args) != io_nums:
1111
+ raise ValueError("The size of 'args' must be equal to the sum of input tensors and output tensors, but got "
1112
+ "{} vs {}".format(len(args), io_nums))
1113
+ return super(CustomRegOp, self).dtype_format(*args)
1114
+
1115
+ def attr(self, name=None, param_type=None, value_type=None, default_value=None, **kwargs):
1116
+ """
1117
+ Specifies the attributes information for the `func` parameter of :class:`mindspore.ops.Custom`. Each
1118
+ invocation of this function will generate one attribute information, that means, if `func` has two attributes,
1119
+ then this function should be invoked two times continuously. The attributes information will be
1120
+ generated as a dict: {"name": `name`, "param_type": `param_type`, "value_type": `value_type`, "default_value":
1121
+ `default_value`}.
1122
+
1123
+ Args:
1124
+ name (str): Name of the attribute. If ``None`` , key "name" will not appear in the attributes tensor
1125
+ information dict. Default: ``None`` .
1126
+ param_type (str): Parameter type of the attribute, can be one of ["required", "optional"]. If ``None`` ,
1127
+ key "param_type" will not appear in the attributes tensor information dict. Default: ``None`` .
1128
+
1129
+ - "required": means must provide a value for this attribute either by setting a default value in the
1130
+ registration information or providing an input value when calling the Custom operator.
1131
+ - "optional": means does not have to provide a value for this attribute.
1132
+
1133
+ value_type (str): Value type of the attribute, can be one of ["int", "str", "bool", "float", "listInt",
1134
+ "listStr", "listBool", "listFloat"]. If ``None`` , key "value_type" will not appear in the attributes
1135
+ tensor information dict. Default: ``None`` .
1136
+
1137
+ - "int": string representation of Python type int.
1138
+ - "str": string representation of Python type str.
1139
+ - "bool": string representation of Python type bool.
1140
+ - "float": string representation of Python type float.
1141
+ - "listInt": string representation of Python type list of int.
1142
+ - "listStr": string representation of Python type list of str.
1143
+ - "listBool": string representation of Python type list of bool.
1144
+ - "listFloat": string representation of Python type list of float.
1145
+
1146
+ default_value (str): Default value of the attribute. `default_value` and `value_type` are used together.
1147
+ If the real default value of the attribute is float type with value 1.0, then the `value_type` should be
1148
+ "float" and `default_value` should be "1.0". If the real default value of the attribute is a list of int
1149
+ with value [1, 2, 3], then the `value_type` should be "listInt" and `default_value` should be "1,2,3",
1150
+ each item should split by ','. If ``None`` , means the attribute has no default value and key
1151
+ "default_value" will not appear in the attributes tensor information dict. It is used for "akg",
1152
+ "aicpu" and "tbe" Custom operators currently. Default: ``None`` .
1153
+ kwargs (dict): Other information of the attribute, used for extension.
1154
+
1155
+ Raises:
1156
+ TypeError: If `name` is neither str nor None.
1157
+ TypeError: If `param_type` is neither str nor None.
1158
+ TypeError: If `value_type` is neither str nor None.
1159
+ TypeError: If `default_value` is neither str nor None.
1160
+ """
1161
+ param_list = [name, param_type, value_type, default_value]
1162
+ key_list = ["name", "paramType", "type", "defaultValue"]
1163
+ fn_list = [self._is_string]
1164
+ attr_dict = self._check_param(param_list, key_list, fn_list, kwargs)
1165
+ self.attr_.append(attr_dict)
1166
+ return self
1167
+
1168
+ def target(self, target=None):
1169
+ """
1170
+ Specifies the target that this registration information is used for.
1171
+
1172
+ Args:
1173
+ target (str): Device target for current operator information, should be one of ["Ascend", "GPU", "CPU"].
1174
+ For the same `func` of :class:`mindspore.ops.Custom`, it may support different data types and formats
1175
+ on different targets, use `target` to specify which target that this registration information is used
1176
+ for. If ``None`` , it will be inferred automatically inside :class:`mindspore.ops.Custom`.
1177
+ Default: ``None`` .
1178
+
1179
+ Raises:
1180
+ TypeError: If `target` is neither str nor None.
1181
+ """
1182
+ if target is not None:
1183
+ self._is_string(target)
1184
+ self.target_ = target
1185
+ return self
1186
+
1187
+ def get_op_info(self):
1188
+ """
1189
+ Return the generated registration information as a dict. This function should be invoked at last on the
1190
+ `CustomRegOp` instance as shown in the above example.
1191
+ """
1192
+ op_info = {}
1193
+ for k, v in self.__dict__.items():
1194
+ if isinstance(k, str) and k.endswith('_'):
1195
+ k = k.rstrip('_')
1196
+ op_info[k] = v
1197
+ if _get_reg_info_attr(op_info, "cust_aicpu"):
1198
+ _CustomInstaller(op_info).run()
1199
+ return op_info
1200
+
1201
+
1202
+ class DataType:
1203
+ r"""
1204
+ Various combinations of dtype and format of Ascend ops.
1205
+
1206
+ current support:
1207
+
1208
+ .. code-block::
1209
+
1210
+ None_None = ("", "")
1211
+ None_Default = ("", "DefaultFormat")
1212
+ BOOL_None = ("bool", "")
1213
+ BOOL_Default = ("bool", "DefaultFormat")
1214
+ BOOL_5HD = ("bool", "NC1HWC0")
1215
+ BOOL_FracZ = ("bool", "FRACTAL_Z")
1216
+ BOOL_FracNZ = ("bool", "FRACTAL_NZ")
1217
+ BOOL_C1HWNCoC0 = ("bool", "C1HWNCoC0")
1218
+ BOOL_NCHW = ("bool", "NCHW")
1219
+ BOOL_NHWC = ("bool", "NHWC")
1220
+ BOOL_HWCN = ("bool", "HWCN")
1221
+ BOOL_NDHWC = ("bool", "NDHWC")
1222
+ BOOL_ChannelLast = ("bool", "ChannelLast")
1223
+
1224
+ I8_None = ("int8", "")
1225
+ I8_Default = ("int8", "DefaultFormat")
1226
+ I8_5HD = ("int8", "NC1HWC0")
1227
+ I8_FracZ = ("int8", "FRACTAL_Z")
1228
+ I8_FracNZ = ("int8", "FRACTAL_NZ")
1229
+ I8_C1HWNCoC0 = ("int8", "C1HWNCoC0")
1230
+ I8_NCHW = ("int8", "NCHW")
1231
+ I8_NHWC = ("int8", "NHWC")
1232
+ I8_HWCN = ("int8", "HWCN")
1233
+ I8_NDHWC = ("int8", "NDHWC")
1234
+ I8_ChannelLast = ("int8", "ChannelLast")
1235
+ I8_NDC1HWC0 = ("int8", "NDC1HWC0")
1236
+
1237
+ U8_None = ("uint8", "")
1238
+ U8_Default = ("uint8", "DefaultFormat")
1239
+ U8_5HD = ("uint8", "NC1HWC0")
1240
+ U8_FracZ = ("uint8", "FRACTAL_Z")
1241
+ U8_FracNZ = ("uint8", "FRACTAL_NZ")
1242
+ U8_C1HWNCoC0 = ("uint8", "C1HWNCoC0")
1243
+ U8_NCHW = ("uint8", "NCHW")
1244
+ U8_NHWC = ("uint8", "NHWC")
1245
+ U8_HWCN = ("uint8", "HWCN")
1246
+ U8_NDHWC = ("uint8", "NDHWC")
1247
+ U8_ChannelLast = ("uint8", "ChannelLast")
1248
+ U8_NDC1HWC0 = ("uint8", "NDC1HWC0")
1249
+
1250
+ I16_None = ("int16", "")
1251
+ I16_Default = ("int16", "DefaultFormat")
1252
+ I16_5HD = ("int16", "NC1HWC0")
1253
+ I16_FracZ = ("int16", "FRACTAL_Z")
1254
+ I16_FracNZ = ("int16", "FRACTAL_NZ")
1255
+ I16_C1HWNCoC0 = ("int16", "C1HWNCoC0")
1256
+ I16_NCHW = ("int16", "NCHW")
1257
+ I16_NHWC = ("int16", "NHWC")
1258
+ I16_HWCN = ("int16", "HWCN")
1259
+ I16_NDHWC = ("int16", "NDHWC")
1260
+ I16_ChannelLast = ("int16", "ChannelLast")
1261
+
1262
+ U16_None = ("uint16", "")
1263
+ U16_Default = ("uint16", "DefaultFormat")
1264
+ U16_5HD = ("uint16", "NC1HWC0")
1265
+ U16_FracZ = ("uint16", "FRACTAL_Z")
1266
+ U16_FracNZ = ("uint16", "FRACTAL_NZ")
1267
+ U16_C1HWNCoC0 = ("uint16", "C1HWNCoC0")
1268
+ U16_NCHW = ("uint16", "NCHW")
1269
+ U16_NHWC = ("uint16", "NHWC")
1270
+ U16_HWCN = ("uint16", "HWCN")
1271
+ U16_NDHWC = ("uint16", "NDHWC")
1272
+ U16_ChannelLast = ("uint16", "ChannelLast")
1273
+
1274
+ I32_None = ("int32", "")
1275
+ I32_Default = ("int32", "DefaultFormat")
1276
+ I32_5HD = ("int32", "NC1HWC0")
1277
+ I32_FracZ = ("int32", "FRACTAL_Z")
1278
+ I32_FracNZ = ("int32", "FRACTAL_NZ")
1279
+ I32_C1HWNCoC0 = ("int32", "C1HWNCoC0")
1280
+ I32_NCHW = ("int32", "NCHW")
1281
+ I32_NHWC = ("int32", "NHWC")
1282
+ I32_HWCN = ("int32", "HWCN")
1283
+ I32_NDHWC = ("int32", "NDHWC")
1284
+ I32_ChannelLast = ("int32", "ChannelLast")
1285
+
1286
+ U32_None = ("uint32", "")
1287
+ U32_Default = ("uint32", "DefaultFormat")
1288
+ U32_5HD = ("uint32", "NC1HWC0")
1289
+ U32_FracZ = ("uint32", "FRACTAL_Z")
1290
+ U32_FracNZ = ("uint32", "FRACTAL_NZ")
1291
+ U32_C1HWNCoC0 = ("uint32", "C1HWNCoC0")
1292
+ U32_NCHW = ("uint32", "NCHW")
1293
+ U32_NHWC = ("uint32", "NHWC")
1294
+ U32_HWCN = ("uint32", "HWCN")
1295
+ U32_NDHWC = ("uint32", "NDHWC")
1296
+ U32_ChannelLast = ("uint32", "ChannelLast")
1297
+
1298
+ I64_None = ("int64", "")
1299
+ I64_Default = ("int64", "DefaultFormat")
1300
+ I64_5HD = ("int64", "NC1HWC0")
1301
+ I64_FracZ = ("int64", "FRACTAL_Z")
1302
+ I64_FracNZ = ("int64", "FRACTAL_NZ")
1303
+ I64_C1HWNCoC0 = ("int64", "C1HWNCoC0")
1304
+ I64_NCHW = ("int64", "NCHW")
1305
+ I64_NHWC = ("int64", "NHWC")
1306
+ I64_HWCN = ("int64", "HWCN")
1307
+ I64_NDHWC = ("int64", "NDHWC")
1308
+ I64_ChannelLast = ("int64", "ChannelLast")
1309
+
1310
+ U64_None = ("uint64", "")
1311
+ U64_Default = ("uint64", "DefaultFormat")
1312
+ U64_5HD = ("uint64", "NC1HWC0")
1313
+ U64_FracZ = ("uint64", "FRACTAL_Z")
1314
+ U64_FracNZ = ("uint64", "FRACTAL_NZ")
1315
+ U64_C1HWNCoC0 = ("uint64", "C1HWNCoC0")
1316
+ U64_NCHW = ("uint64", "NCHW")
1317
+ U64_NHWC = ("uint64", "NHWC")
1318
+ U64_HWCN = ("uint64", "HWCN")
1319
+ U64_NDHWC = ("uint64", "NDHWC")
1320
+ U64_ChannelLast = ("uint64", "ChannelLast")
1321
+
1322
+ F16_None = ("float16", "")
1323
+ F16_Default = ("float16", "DefaultFormat")
1324
+ F16_5HD = ("float16", "NC1HWC0")
1325
+ F16_FracZ = ("float16", "FRACTAL_Z")
1326
+ F16_FracNZ = ("float16", "FRACTAL_NZ")
1327
+ F16_C1HWNCoC0 = ("float16", "C1HWNCoC0")
1328
+ F16_NCHW = ("float16", "NCHW")
1329
+ F16_NHWC = ("float16", "NHWC")
1330
+ F16_HWCN = ("float16", "HWCN")
1331
+ F16_NDHWC = ("float16", "NDHWC")
1332
+ F16_NCDHW = ("float16", "NCDHW")
1333
+ F16_DHWCN = ("float16", "DHWCN")
1334
+ F16_NDC1HWC0 = ("float16", "NDC1HWC0")
1335
+ F16_FRACTAL_Z_3D = ("float16", "FRACTAL_Z_3D")
1336
+ F16_FracZNLSTM = ("float16", "FRACTAL_ZN_LSTM")
1337
+ F16_FracZNRNN = ("float16", "FRACTAL_ZN_RNN")
1338
+ F16_ND_RNNBIAS = ("float16", "ND_RNN_BIAS")
1339
+ F16_ChannelLast = ("float16", "ChannelLast")
1340
+
1341
+ F32_None = ("float32", "")
1342
+ F32_Default = ("float32", "DefaultFormat")
1343
+ F32_5HD = ("float32", "NC1HWC0")
1344
+ F32_FracZ = ("float32", "FRACTAL_Z")
1345
+ F32_FracNZ = ("float32", "FRACTAL_NZ")
1346
+ F32_C1HWNCoC0 = ("float32", "C1HWNCoC0")
1347
+ F32_NCHW = ("float32", "NCHW")
1348
+ F32_NHWC = ("float32", "NHWC")
1349
+ F32_HWCN = ("float32", "HWCN")
1350
+ F32_NDHWC = ("float32", "NDHWC")
1351
+ F32_NCDHW = ("float32", "NCDHW")
1352
+ F32_DHWCN = ("float32", "DHWCN")
1353
+ F32_NDC1HWC0 = ("float32", "NDC1HWC0")
1354
+ F32_FRACTAL_Z_3D = ("float32", "FRACTAL_Z_3D")
1355
+ F32_FracZNLSTM = ("float32", "FRACTAL_ZN_LSTM")
1356
+ F32_FracZNRNN = ("float32", "FRACTAL_ZN_RNN")
1357
+ F32_ND_RNNBIAS = ("float32", "ND_RNN_BIAS")
1358
+ F32_ChannelLast = ("float32", "ChannelLast")
1359
+
1360
+ F64_None = ("float64", "")
1361
+ F64_Default = ("float64", "DefaultFormat")
1362
+ F64_5HD = ("float64", "NC1HWC0")
1363
+ F64_FracZ = ("float64", "FRACTAL_Z")
1364
+ F64_FracNZ = ("float64", "FRACTAL_NZ")
1365
+ F64_C1HWNCoC0 = ("float64", "C1HWNCoC0")
1366
+ F64_NCHW = ("float64", "NCHW")
1367
+ F64_NHWC = ("float64", "NHWC")
1368
+ F64_HWCN = ("float64", "HWCN")
1369
+ F64_NDHWC = ("float64", "NDHWC")
1370
+ F64_ChannelLast = ("float64", "ChannelLast")
1371
+
1372
+ C64_Default = ("complex64", "DefaultFormat")
1373
+ C128_Default = ("complex128", "DefaultFormat")
1374
+ """
1375
+
1376
+ None_None = ("", "")
1377
+ None_Default = ("", "DefaultFormat")
1378
+
1379
+ BOOL_None = ("bool", "")
1380
+ BOOL_Default = ("bool", "DefaultFormat")
1381
+ BOOL_5HD = ("bool", "NC1HWC0")
1382
+ BOOL_FracZ = ("bool", "FRACTAL_Z")
1383
+ BOOL_FracNZ = ("bool", "FRACTAL_NZ")
1384
+ BOOL_C1HWNCoC0 = ("bool", "C1HWNCoC0")
1385
+ BOOL_NCHW = ("bool", "NCHW")
1386
+ BOOL_NHWC = ("bool", "NHWC")
1387
+ BOOL_HWCN = ("bool", "HWCN")
1388
+ BOOL_NDHWC = ("bool", "NDHWC")
1389
+ BOOL_ChannelLast = ("bool", "ChannelLast")
1390
+ BOOL_Default_Tuple = ("bool", "DefaultFormat", "tuple")
1391
+ BOOL_Default_List = ("bool", "DefaultFormat", "list")
1392
+
1393
+ I8_None = ("int8", "")
1394
+ I8_Default = ("int8", "DefaultFormat")
1395
+ I8_5HD = ("int8", "NC1HWC0")
1396
+ I8_FracZ = ("int8", "FRACTAL_Z")
1397
+ I8_FracNZ = ("int8", "FRACTAL_NZ")
1398
+ I8_C1HWNCoC0 = ("int8", "C1HWNCoC0")
1399
+ I8_NCHW = ("int8", "NCHW")
1400
+ I8_NHWC = ("int8", "NHWC")
1401
+ I8_HWCN = ("int8", "HWCN")
1402
+ I8_NDHWC = ("int8", "NDHWC")
1403
+ I8_NCDHW = ("int8", "NCDHW")
1404
+ I8_ChannelLast = ("int8", "ChannelLast")
1405
+ I8_NDC1HWC0 = ("int8", "NDC1HWC0")
1406
+ I8_NC1HWC0 = ("int8", "NC1HWC0")
1407
+ I8_Default_Tuple = ("int8", "DefaultFormat", "tuple")
1408
+ I8_Default_List = ("int8", "DefaultFormat", "list")
1409
+
1410
+ U8_None = ("uint8", "")
1411
+ U8_Default = ("uint8", "DefaultFormat")
1412
+ U8_5HD = ("uint8", "NC1HWC0")
1413
+ U8_FracZ = ("uint8", "FRACTAL_Z")
1414
+ U8_FracNZ = ("uint8", "FRACTAL_NZ")
1415
+ U8_C1HWNCoC0 = ("uint8", "C1HWNCoC0")
1416
+ U8_NCHW = ("uint8", "NCHW")
1417
+ U8_NHWC = ("uint8", "NHWC")
1418
+ U8_HWCN = ("uint8", "HWCN")
1419
+ U8_NDHWC = ("uint8", "NDHWC")
1420
+ U8_NCDHW = ("uint8", "NCDHW")
1421
+ U8_ChannelLast = ("uint8", "ChannelLast")
1422
+ U8_NDC1HWC0 = ("uint8", "NDC1HWC0")
1423
+ U8_NC1HWC0 = ("uint8", "NC1HWC0")
1424
+ U8_Default_Tuple = ("uint8", "DefaultFormat", "tuple")
1425
+ U8_Default_List = ("uint8", "DefaultFormat", "list")
1426
+
1427
+ I16_None = ("int16", "")
1428
+ I16_Default = ("int16", "DefaultFormat")
1429
+ I16_5HD = ("int16", "NC1HWC0")
1430
+ I16_FracZ = ("int16", "FRACTAL_Z")
1431
+ I16_FracNZ = ("int16", "FRACTAL_NZ")
1432
+ I16_C1HWNCoC0 = ("int16", "C1HWNCoC0")
1433
+ I16_NCHW = ("int16", "NCHW")
1434
+ I16_NHWC = ("int16", "NHWC")
1435
+ I16_HWCN = ("int16", "HWCN")
1436
+ I16_NDHWC = ("int16", "NDHWC")
1437
+ I16_ChannelLast = ("int16", "ChannelLast")
1438
+ I16_Default_Tuple = ("int16", "DefaultFormat", "tuple")
1439
+ I16_Default_List = ("int16", "DefaultFormat", "list")
1440
+
1441
+ U16_None = ("uint16", "")
1442
+ U16_Default = ("uint16", "DefaultFormat")
1443
+ U16_5HD = ("uint16", "NC1HWC0")
1444
+ U16_FracZ = ("uint16", "FRACTAL_Z")
1445
+ U16_FracNZ = ("uint16", "FRACTAL_NZ")
1446
+ U16_C1HWNCoC0 = ("uint16", "C1HWNCoC0")
1447
+ U16_NCHW = ("uint16", "NCHW")
1448
+ U16_NHWC = ("uint16", "NHWC")
1449
+ U16_HWCN = ("uint16", "HWCN")
1450
+ U16_NDHWC = ("uint16", "NDHWC")
1451
+ U16_ChannelLast = ("uint16", "ChannelLast")
1452
+ U16_Default_Tuple = ("uint16", "DefaultFormat", "tuple")
1453
+ U16_Default_List = ("uint16", "DefaultFormat", "list")
1454
+
1455
+ I32_None = ("int32", "")
1456
+ I32_Default = ("int32", "DefaultFormat")
1457
+ I32_5HD = ("int32", "NC1HWC0")
1458
+ I32_FracZ = ("int32", "FRACTAL_Z")
1459
+ I32_FracNZ = ("int32", "FRACTAL_NZ")
1460
+ I32_C1HWNCoC0 = ("int32", "C1HWNCoC0")
1461
+ I32_NCHW = ("int32", "NCHW")
1462
+ I32_NHWC = ("int32", "NHWC")
1463
+ I32_HWCN = ("int32", "HWCN")
1464
+ I32_NDHWC = ("int32", "NDHWC")
1465
+ I32_NDC1HWC0 = ("int32", "NDC1HWC0")
1466
+ I32_NCDHW = ("int32", "NCDHW")
1467
+ I32_ChannelLast = ("int32", "ChannelLast")
1468
+ I32_Default_Tuple = ("int32", "DefaultFormat", "tuple")
1469
+ I32_Default_List = ("int32", "DefaultFormat", "list")
1470
+
1471
+ U32_None = ("uint32", "")
1472
+ U32_Default = ("uint32", "DefaultFormat")
1473
+ U32_5HD = ("uint32", "NC1HWC0")
1474
+ U32_FracZ = ("uint32", "FRACTAL_Z")
1475
+ U32_FracNZ = ("uint32", "FRACTAL_NZ")
1476
+ U32_C1HWNCoC0 = ("uint32", "C1HWNCoC0")
1477
+ U32_NCHW = ("uint32", "NCHW")
1478
+ U32_NHWC = ("uint32", "NHWC")
1479
+ U32_HWCN = ("uint32", "HWCN")
1480
+ U32_NDHWC = ("uint32", "NDHWC")
1481
+ U32_ChannelLast = ("uint32", "ChannelLast")
1482
+ U32_Default_Tuple = ("uint32", "DefaultFormat", "tuple")
1483
+ U32_Default_List = ("uint32", "DefaultFormat", "list")
1484
+
1485
+ I64_None = ("int64", "")
1486
+ I64_Default = ("int64", "DefaultFormat")
1487
+ I64_5HD = ("int64", "NC1HWC0")
1488
+ I64_FracZ = ("int64", "FRACTAL_Z")
1489
+ I64_FracNZ = ("int64", "FRACTAL_NZ")
1490
+ I64_C1HWNCoC0 = ("int64", "C1HWNCoC0")
1491
+ I64_NCHW = ("int64", "NCHW")
1492
+ I64_NHWC = ("int64", "NHWC")
1493
+ I64_HWCN = ("int64", "HWCN")
1494
+ I64_NDHWC = ("int64", "NDHWC")
1495
+ I64_ChannelLast = ("int64", "ChannelLast")
1496
+ I64_Default_Tuple = ("int64", "DefaultFormat", "tuple")
1497
+ I64_Default_List = ("int64", "DefaultFormat", "list")
1498
+
1499
+ U64_None = ("uint64", "")
1500
+ U64_Default = ("uint64", "DefaultFormat")
1501
+ U64_5HD = ("uint64", "NC1HWC0")
1502
+ U64_FracZ = ("uint64", "FRACTAL_Z")
1503
+ U64_FracNZ = ("uint64", "FRACTAL_NZ")
1504
+ U64_C1HWNCoC0 = ("uint64", "C1HWNCoC0")
1505
+ U64_NCHW = ("uint64", "NCHW")
1506
+ U64_NHWC = ("uint64", "NHWC")
1507
+ U64_HWCN = ("uint64", "HWCN")
1508
+ U64_NDHWC = ("uint64", "NDHWC")
1509
+ U64_ChannelLast = ("uint64", "ChannelLast")
1510
+ U64_Default_Tuple = ("uint64", "DefaultFormat", "tuple")
1511
+ U64_Default_List = ("uint64", "DefaultFormat", "list")
1512
+
1513
+ F16_None = ("float16", "")
1514
+ F16_Default = ("float16", "DefaultFormat")
1515
+ F16_5HD = ("float16", "NC1HWC0")
1516
+ F16_FracZ = ("float16", "FRACTAL_Z")
1517
+ F16_FracNZ = ("float16", "FRACTAL_NZ")
1518
+ F16_C1HWNCoC0 = ("float16", "C1HWNCoC0")
1519
+ F16_NCHW = ("float16", "NCHW")
1520
+ F16_NHWC = ("float16", "NHWC")
1521
+ F16_HWCN = ("float16", "HWCN")
1522
+ F16_NDHWC = ("float16", "NDHWC")
1523
+ F16_NCDHW = ("float16", "NCDHW")
1524
+ F16_DHWCN = ("float16", "DHWCN")
1525
+ F16_NDC1HWC0 = ("float16", "NDC1HWC0")
1526
+ F16_FRACTAL_Z_3D = ("float16", "FRACTAL_Z_3D")
1527
+ F16_FracZNLSTM = ("float16", "FRACTAL_ZN_LSTM")
1528
+ F16_FracZNRNN = ("float16", "FRACTAL_ZN_RNN")
1529
+ F16_ND_RNNBIAS = ("float16", "ND_RNN_BIAS")
1530
+ F16_ChannelLast = ("float16", "ChannelLast")
1531
+ F16_Default_Tuple = ("float16", "DefaultFormat", "tuple")
1532
+ F16_Default_List = ("float16", "DefaultFormat", "list")
1533
+
1534
+ F32_None = ("float32", "")
1535
+ F32_Default = ("float32", "DefaultFormat")
1536
+ F32_5HD = ("float32", "NC1HWC0")
1537
+ F32_FracZ = ("float32", "FRACTAL_Z")
1538
+ F32_FracNZ = ("float32", "FRACTAL_NZ")
1539
+ F32_C1HWNCoC0 = ("float32", "C1HWNCoC0")
1540
+ F32_NCHW = ("float32", "NCHW")
1541
+ F32_NHWC = ("float32", "NHWC")
1542
+ F32_HWCN = ("float32", "HWCN")
1543
+ F32_NDHWC = ("float32", "NDHWC")
1544
+ F32_NCDHW = ("float32", "NCDHW")
1545
+ F32_DHWCN = ("float32", "DHWCN")
1546
+ F32_NDC1HWC0 = ("float32", "NDC1HWC0")
1547
+ F32_FRACTAL_Z_3D = ("float32", "FRACTAL_Z_3D")
1548
+ F32_FracZNLSTM = ("float32", "FRACTAL_ZN_LSTM")
1549
+ F32_FracZNRNN = ("float32", "FRACTAL_ZN_RNN")
1550
+ F32_ND_RNNBIAS = ("float32", "ND_RNN_BIAS")
1551
+ F32_ChannelLast = ("float32", "ChannelLast")
1552
+ F32_Default_Tuple = ("float32", "DefaultFormat", "tuple")
1553
+ F32_Default_List = ("float32", "DefaultFormat", "list")
1554
+
1555
+ F64_None = ("float64", "")
1556
+ F64_Default = ("float64", "DefaultFormat")
1557
+ F64_5HD = ("float64", "NC1HWC0")
1558
+ F64_FracZ = ("float64", "FRACTAL_Z")
1559
+ F64_FracNZ = ("float64", "FRACTAL_NZ")
1560
+ F64_C1HWNCoC0 = ("float64", "C1HWNCoC0")
1561
+ F64_NCHW = ("float64", "NCHW")
1562
+ F64_NHWC = ("float64", "NHWC")
1563
+ F64_HWCN = ("float64", "HWCN")
1564
+ F64_NDHWC = ("float64", "NDHWC")
1565
+ F64_ChannelLast = ("float64", "ChannelLast")
1566
+ F64_Default_Tuple = ("float64", "DefaultFormat", "tuple")
1567
+ F64_Default_List = ("float64", "DefaultFormat", "list")
1568
+
1569
+ C64_Default = ("complex64", "DefaultFormat")
1570
+ C128_Default = ("complex128", "DefaultFormat")
1571
+ C64_Default_Tuple = ("complex64", "DefaultFormat", "tuple")
1572
+ C128_Default_Tuple = ("complex128", "DefaultFormat", "tuple")