mindspore 2.3.0__cp310-cp310-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1400) 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 +51 -0
  18. mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
  19. mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
  20. mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
  21. mindspore/_check_jit_forbidden_api.py +106 -0
  22. mindspore/_checkparam.py +1378 -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 +258 -0
  45. mindspore/_extends/parse/namespace.py +136 -0
  46. mindspore/_extends/parse/parser.py +1446 -0
  47. mindspore/_extends/parse/resources.py +213 -0
  48. mindspore/_extends/parse/standard_method.py +4437 -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 +343 -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 +419 -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 +84 -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/_register_for_adapter.py +74 -0
  89. mindspore/common/_register_for_recompute.py +48 -0
  90. mindspore/common/_register_for_tensor.py +45 -0
  91. mindspore/common/_stub_tensor.py +210 -0
  92. mindspore/common/_utils.py +122 -0
  93. mindspore/common/api.py +2049 -0
  94. mindspore/common/auto_dynamic_shape.py +507 -0
  95. mindspore/common/dtype.py +422 -0
  96. mindspore/common/dump.py +131 -0
  97. mindspore/common/file_system.py +48 -0
  98. mindspore/common/generator.py +260 -0
  99. mindspore/common/hook_handle.py +155 -0
  100. mindspore/common/initializer.py +880 -0
  101. mindspore/common/jit_config.py +98 -0
  102. mindspore/common/lazy_inline.py +240 -0
  103. mindspore/common/mindir_util.py +111 -0
  104. mindspore/common/mutable.py +234 -0
  105. mindspore/common/no_inline.py +54 -0
  106. mindspore/common/np_dtype.py +25 -0
  107. mindspore/common/parameter.py +1048 -0
  108. mindspore/common/recompute.py +262 -0
  109. mindspore/common/seed.py +260 -0
  110. mindspore/common/sparse_tensor.py +1171 -0
  111. mindspore/common/symbol.py +122 -0
  112. mindspore/common/tensor.py +4859 -0
  113. mindspore/communication/__init__.py +37 -0
  114. mindspore/communication/_comm_helper.py +466 -0
  115. mindspore/communication/_hccl_management.py +297 -0
  116. mindspore/communication/comm_func.py +1140 -0
  117. mindspore/communication/management.py +673 -0
  118. mindspore/config/op_info.config +533 -0
  119. mindspore/context.py +1976 -0
  120. mindspore/d3dcompiler_47.dll +0 -0
  121. mindspore/dataset/__init__.py +90 -0
  122. mindspore/dataset/audio/__init__.py +61 -0
  123. mindspore/dataset/audio/transforms.py +3690 -0
  124. mindspore/dataset/audio/utils.py +386 -0
  125. mindspore/dataset/audio/validators.py +1172 -0
  126. mindspore/dataset/callback/__init__.py +20 -0
  127. mindspore/dataset/callback/ds_callback.py +368 -0
  128. mindspore/dataset/callback/validators.py +32 -0
  129. mindspore/dataset/core/__init__.py +13 -0
  130. mindspore/dataset/core/config.py +1088 -0
  131. mindspore/dataset/core/datatypes.py +101 -0
  132. mindspore/dataset/core/py_util_helpers.py +65 -0
  133. mindspore/dataset/core/validator_helpers.py +774 -0
  134. mindspore/dataset/debug/__init__.py +21 -0
  135. mindspore/dataset/debug/debug_hook.py +97 -0
  136. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  137. mindspore/dataset/engine/__init__.py +124 -0
  138. mindspore/dataset/engine/cache_admin.py +47 -0
  139. mindspore/dataset/engine/cache_client.py +129 -0
  140. mindspore/dataset/engine/datasets.py +4554 -0
  141. mindspore/dataset/engine/datasets_audio.py +911 -0
  142. mindspore/dataset/engine/datasets_standard_format.py +493 -0
  143. mindspore/dataset/engine/datasets_text.py +2161 -0
  144. mindspore/dataset/engine/datasets_user_defined.py +1114 -0
  145. mindspore/dataset/engine/datasets_vision.py +4816 -0
  146. mindspore/dataset/engine/iterators.py +342 -0
  147. mindspore/dataset/engine/obs/__init__.py +23 -0
  148. mindspore/dataset/engine/obs/config_loader.py +68 -0
  149. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +508 -0
  150. mindspore/dataset/engine/obs/util.py +475 -0
  151. mindspore/dataset/engine/offload.py +596 -0
  152. mindspore/dataset/engine/queue.py +250 -0
  153. mindspore/dataset/engine/samplers.py +895 -0
  154. mindspore/dataset/engine/serializer_deserializer.py +159 -0
  155. mindspore/dataset/engine/validators.py +2875 -0
  156. mindspore/dataset/text/__init__.py +54 -0
  157. mindspore/dataset/text/transforms.py +1703 -0
  158. mindspore/dataset/text/utils.py +715 -0
  159. mindspore/dataset/text/validators.py +642 -0
  160. mindspore/dataset/transforms/__init__.py +48 -0
  161. mindspore/dataset/transforms/c_transforms.py +638 -0
  162. mindspore/dataset/transforms/py_transforms.py +393 -0
  163. mindspore/dataset/transforms/py_transforms_util.py +255 -0
  164. mindspore/dataset/transforms/transforms.py +1260 -0
  165. mindspore/dataset/transforms/validators.py +410 -0
  166. mindspore/dataset/utils/__init__.py +19 -0
  167. mindspore/dataset/utils/browse_dataset.py +190 -0
  168. mindspore/dataset/utils/line_reader.py +124 -0
  169. mindspore/dataset/vision/__init__.py +68 -0
  170. mindspore/dataset/vision/c_transforms.py +2641 -0
  171. mindspore/dataset/vision/py_transforms.py +2120 -0
  172. mindspore/dataset/vision/py_transforms_util.py +1660 -0
  173. mindspore/dataset/vision/transforms.py +7295 -0
  174. mindspore/dataset/vision/utils.py +863 -0
  175. mindspore/dataset/vision/validators.py +1482 -0
  176. mindspore/default_config.py +2 -0
  177. mindspore/dnnl.dll +0 -0
  178. mindspore/dpcmi.dll +0 -0
  179. mindspore/experimental/__init__.py +20 -0
  180. mindspore/experimental/map_parameter.py +309 -0
  181. mindspore/experimental/optim/__init__.py +40 -0
  182. mindspore/experimental/optim/adadelta.py +161 -0
  183. mindspore/experimental/optim/adagrad.py +168 -0
  184. mindspore/experimental/optim/adam.py +193 -0
  185. mindspore/experimental/optim/adamax.py +170 -0
  186. mindspore/experimental/optim/adamw.py +205 -0
  187. mindspore/experimental/optim/asgd.py +153 -0
  188. mindspore/experimental/optim/lr_scheduler.py +1371 -0
  189. mindspore/experimental/optim/nadam.py +157 -0
  190. mindspore/experimental/optim/optimizer.py +259 -0
  191. mindspore/experimental/optim/radam.py +194 -0
  192. mindspore/experimental/optim/rmsprop.py +154 -0
  193. mindspore/experimental/optim/rprop.py +164 -0
  194. mindspore/experimental/optim/sgd.py +156 -0
  195. mindspore/hal/__init__.py +40 -0
  196. mindspore/hal/_ascend.py +57 -0
  197. mindspore/hal/_base.py +57 -0
  198. mindspore/hal/_cpu.py +56 -0
  199. mindspore/hal/_gpu.py +57 -0
  200. mindspore/hal/device.py +356 -0
  201. mindspore/hal/event.py +179 -0
  202. mindspore/hal/memory.py +326 -0
  203. mindspore/hal/stream.py +339 -0
  204. mindspore/include/OWNERS +7 -0
  205. mindspore/include/api/allocator.h +97 -0
  206. mindspore/include/api/callback/callback.h +93 -0
  207. mindspore/include/api/callback/ckpt_saver.h +41 -0
  208. mindspore/include/api/callback/loss_monitor.h +33 -0
  209. mindspore/include/api/callback/lr_scheduler.h +51 -0
  210. mindspore/include/api/callback/time_monitor.h +34 -0
  211. mindspore/include/api/callback/train_accuracy.h +37 -0
  212. mindspore/include/api/cell.h +90 -0
  213. mindspore/include/api/cfg.h +82 -0
  214. mindspore/include/api/context.h +602 -0
  215. mindspore/include/api/data_type.h +47 -0
  216. mindspore/include/api/delegate.h +178 -0
  217. mindspore/include/api/delegate_api.h +75 -0
  218. mindspore/include/api/dual_abi_helper.h +208 -0
  219. mindspore/include/api/format.h +28 -0
  220. mindspore/include/api/graph.h +46 -0
  221. mindspore/include/api/kernel.h +58 -0
  222. mindspore/include/api/kernel_api.h +168 -0
  223. mindspore/include/api/metrics/accuracy.h +36 -0
  224. mindspore/include/api/metrics/metrics.h +41 -0
  225. mindspore/include/api/model.h +438 -0
  226. mindspore/include/api/model_group.h +79 -0
  227. mindspore/include/api/model_parallel_runner.h +168 -0
  228. mindspore/include/api/serialization.h +185 -0
  229. mindspore/include/api/status.h +192 -0
  230. mindspore/include/api/types.h +431 -0
  231. mindspore/include/api/visible.h +41 -0
  232. mindspore/include/c_api/context_c.h +179 -0
  233. mindspore/include/c_api/data_type_c.h +52 -0
  234. mindspore/include/c_api/format_c.h +46 -0
  235. mindspore/include/c_api/model_c.h +347 -0
  236. mindspore/include/c_api/ms/abstract.h +67 -0
  237. mindspore/include/c_api/ms/attribute.h +197 -0
  238. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  239. mindspore/include/c_api/ms/base/macros.h +32 -0
  240. mindspore/include/c_api/ms/base/status.h +33 -0
  241. mindspore/include/c_api/ms/base/types.h +283 -0
  242. mindspore/include/c_api/ms/context.h +102 -0
  243. mindspore/include/c_api/ms/graph.h +160 -0
  244. mindspore/include/c_api/ms/node.h +606 -0
  245. mindspore/include/c_api/ms/tensor.h +161 -0
  246. mindspore/include/c_api/ms/value.h +84 -0
  247. mindspore/include/c_api/status_c.h +79 -0
  248. mindspore/include/c_api/tensor_c.h +146 -0
  249. mindspore/include/c_api/types_c.h +67 -0
  250. mindspore/include/dataset/config.h +163 -0
  251. mindspore/include/dataset/constants.h +363 -0
  252. mindspore/include/dataset/execute.h +196 -0
  253. mindspore/include/dataset/text.h +1092 -0
  254. mindspore/include/dataset/transforms.h +638 -0
  255. mindspore/include/dataset/vision.h +2125 -0
  256. mindspore/include/dataset/vision_ascend.h +206 -0
  257. mindspore/include/dataset/vision_lite.h +625 -0
  258. mindspore/jpeg62.dll +0 -0
  259. mindspore/log.py +633 -0
  260. mindspore/mindrecord/__init__.py +43 -0
  261. mindspore/mindrecord/common/__init__.py +17 -0
  262. mindspore/mindrecord/common/constant.py +20 -0
  263. mindspore/mindrecord/common/enums.py +44 -0
  264. mindspore/mindrecord/common/exceptions.py +311 -0
  265. mindspore/mindrecord/config.py +809 -0
  266. mindspore/mindrecord/filereader.py +174 -0
  267. mindspore/mindrecord/filewriter.py +705 -0
  268. mindspore/mindrecord/mindpage.py +210 -0
  269. mindspore/mindrecord/shardheader.py +141 -0
  270. mindspore/mindrecord/shardindexgenerator.py +74 -0
  271. mindspore/mindrecord/shardreader.py +117 -0
  272. mindspore/mindrecord/shardsegment.py +128 -0
  273. mindspore/mindrecord/shardutils.py +185 -0
  274. mindspore/mindrecord/shardwriter.py +237 -0
  275. mindspore/mindrecord/tools/__init__.py +17 -0
  276. mindspore/mindrecord/tools/cifar10.py +140 -0
  277. mindspore/mindrecord/tools/cifar100.py +153 -0
  278. mindspore/mindrecord/tools/cifar100_to_mr.py +185 -0
  279. mindspore/mindrecord/tools/cifar10_to_mr.py +177 -0
  280. mindspore/mindrecord/tools/csv_to_mr.py +200 -0
  281. mindspore/mindrecord/tools/imagenet_to_mr.py +206 -0
  282. mindspore/mindrecord/tools/mnist_to_mr.py +259 -0
  283. mindspore/mindrecord/tools/tfrecord_to_mr.py +360 -0
  284. mindspore/mindspore_backend.dll +0 -0
  285. mindspore/mindspore_common.dll +0 -0
  286. mindspore/mindspore_core.dll +0 -0
  287. mindspore/mindspore_glog.dll +0 -0
  288. mindspore/mindspore_np_dtype.dll +0 -0
  289. mindspore/mindspore_shared_lib.dll +0 -0
  290. mindspore/mint/__init__.py +1137 -0
  291. mindspore/mint/linalg/__init__.py +22 -0
  292. mindspore/mint/nn/__init__.py +512 -0
  293. mindspore/mint/nn/functional.py +573 -0
  294. mindspore/mint/optim/__init__.py +24 -0
  295. mindspore/mint/optim/adamw.py +185 -0
  296. mindspore/msobj140.dll +0 -0
  297. mindspore/mspdb140.dll +0 -0
  298. mindspore/mspdbcore.dll +0 -0
  299. mindspore/mspdbst.dll +0 -0
  300. mindspore/mspft140.dll +0 -0
  301. mindspore/msvcdis140.dll +0 -0
  302. mindspore/msvcp140.dll +0 -0
  303. mindspore/msvcp140_1.dll +0 -0
  304. mindspore/msvcp140_2.dll +0 -0
  305. mindspore/msvcp140_atomic_wait.dll +0 -0
  306. mindspore/msvcp140_codecvt_ids.dll +0 -0
  307. mindspore/multiprocessing/__init__.py +72 -0
  308. mindspore/nn/__init__.py +48 -0
  309. mindspore/nn/cell.py +2605 -0
  310. mindspore/nn/dynamic_lr.py +482 -0
  311. mindspore/nn/extend/__init__.py +29 -0
  312. mindspore/nn/extend/basic.py +140 -0
  313. mindspore/nn/extend/embedding.py +143 -0
  314. mindspore/nn/extend/layer/__init__.py +27 -0
  315. mindspore/nn/extend/layer/normalization.py +109 -0
  316. mindspore/nn/extend/pooling.py +117 -0
  317. mindspore/nn/grad/__init__.py +21 -0
  318. mindspore/nn/grad/cell_grad.py +196 -0
  319. mindspore/nn/layer/__init__.py +63 -0
  320. mindspore/nn/layer/activation.py +1655 -0
  321. mindspore/nn/layer/basic.py +1519 -0
  322. mindspore/nn/layer/channel_shuffle.py +90 -0
  323. mindspore/nn/layer/combined.py +248 -0
  324. mindspore/nn/layer/container.py +734 -0
  325. mindspore/nn/layer/conv.py +1505 -0
  326. mindspore/nn/layer/dense.py +204 -0
  327. mindspore/nn/layer/embedding.py +751 -0
  328. mindspore/nn/layer/embedding_service.py +531 -0
  329. mindspore/nn/layer/embedding_service_layer.py +393 -0
  330. mindspore/nn/layer/image.py +661 -0
  331. mindspore/nn/layer/math.py +1069 -0
  332. mindspore/nn/layer/normalization.py +1177 -0
  333. mindspore/nn/layer/padding.py +894 -0
  334. mindspore/nn/layer/pooling.py +2148 -0
  335. mindspore/nn/layer/rnn_cells.py +388 -0
  336. mindspore/nn/layer/rnns.py +849 -0
  337. mindspore/nn/layer/thor_layer.py +963 -0
  338. mindspore/nn/layer/timedistributed.py +155 -0
  339. mindspore/nn/layer/transformer.py +823 -0
  340. mindspore/nn/learning_rate_schedule.py +512 -0
  341. mindspore/nn/loss/__init__.py +36 -0
  342. mindspore/nn/loss/loss.py +2846 -0
  343. mindspore/nn/metrics.py +53 -0
  344. mindspore/nn/optim/__init__.py +44 -0
  345. mindspore/nn/optim/_dist_optimizer_registry.py +111 -0
  346. mindspore/nn/optim/ada_grad.py +217 -0
  347. mindspore/nn/optim/adadelta.py +206 -0
  348. mindspore/nn/optim/adafactor.py +448 -0
  349. mindspore/nn/optim/adam.py +1297 -0
  350. mindspore/nn/optim/adamax.py +220 -0
  351. mindspore/nn/optim/adasum.py +548 -0
  352. mindspore/nn/optim/asgd.py +216 -0
  353. mindspore/nn/optim/ftrl.py +401 -0
  354. mindspore/nn/optim/lamb.py +296 -0
  355. mindspore/nn/optim/lars.py +202 -0
  356. mindspore/nn/optim/lazyadam.py +533 -0
  357. mindspore/nn/optim/momentum.py +239 -0
  358. mindspore/nn/optim/optimizer.py +1034 -0
  359. mindspore/nn/optim/proximal_ada_grad.py +242 -0
  360. mindspore/nn/optim/rmsprop.py +264 -0
  361. mindspore/nn/optim/rprop.py +251 -0
  362. mindspore/nn/optim/sgd.py +237 -0
  363. mindspore/nn/optim/thor.py +1310 -0
  364. mindspore/nn/probability/__init__.py +22 -0
  365. mindspore/nn/probability/bijector/__init__.py +35 -0
  366. mindspore/nn/probability/bijector/bijector.py +337 -0
  367. mindspore/nn/probability/bijector/exp.py +65 -0
  368. mindspore/nn/probability/bijector/gumbel_cdf.py +144 -0
  369. mindspore/nn/probability/bijector/invert.py +126 -0
  370. mindspore/nn/probability/bijector/power_transform.py +196 -0
  371. mindspore/nn/probability/bijector/scalar_affine.py +167 -0
  372. mindspore/nn/probability/bijector/softplus.py +189 -0
  373. mindspore/nn/probability/bnn_layers/__init__.py +29 -0
  374. mindspore/nn/probability/bnn_layers/_util.py +46 -0
  375. mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +112 -0
  376. mindspore/nn/probability/bnn_layers/conv_variational.py +267 -0
  377. mindspore/nn/probability/bnn_layers/dense_variational.py +302 -0
  378. mindspore/nn/probability/bnn_layers/layer_distribution.py +123 -0
  379. mindspore/nn/probability/distribution/__init__.py +56 -0
  380. mindspore/nn/probability/distribution/_utils/__init__.py +34 -0
  381. mindspore/nn/probability/distribution/_utils/custom_ops.py +96 -0
  382. mindspore/nn/probability/distribution/_utils/utils.py +362 -0
  383. mindspore/nn/probability/distribution/bernoulli.py +334 -0
  384. mindspore/nn/probability/distribution/beta.py +391 -0
  385. mindspore/nn/probability/distribution/categorical.py +435 -0
  386. mindspore/nn/probability/distribution/cauchy.py +383 -0
  387. mindspore/nn/probability/distribution/distribution.py +827 -0
  388. mindspore/nn/probability/distribution/exponential.py +350 -0
  389. mindspore/nn/probability/distribution/gamma.py +391 -0
  390. mindspore/nn/probability/distribution/geometric.py +335 -0
  391. mindspore/nn/probability/distribution/gumbel.py +257 -0
  392. mindspore/nn/probability/distribution/half_normal.py +133 -0
  393. mindspore/nn/probability/distribution/laplace.py +128 -0
  394. mindspore/nn/probability/distribution/log_normal.py +272 -0
  395. mindspore/nn/probability/distribution/logistic.py +379 -0
  396. mindspore/nn/probability/distribution/normal.py +336 -0
  397. mindspore/nn/probability/distribution/poisson.py +288 -0
  398. mindspore/nn/probability/distribution/student_t.py +149 -0
  399. mindspore/nn/probability/distribution/transformed_distribution.py +235 -0
  400. mindspore/nn/probability/distribution/uniform.py +375 -0
  401. mindspore/nn/reinforcement/__init__.py +24 -0
  402. mindspore/nn/reinforcement/_batch_read_write.py +142 -0
  403. mindspore/nn/reinforcement/_tensors_queue.py +152 -0
  404. mindspore/nn/reinforcement/tensor_array.py +145 -0
  405. mindspore/nn/sparse/__init__.py +23 -0
  406. mindspore/nn/sparse/sparse.py +147 -0
  407. mindspore/nn/wrap/__init__.py +49 -0
  408. mindspore/nn/wrap/cell_wrapper.py +979 -0
  409. mindspore/nn/wrap/grad_reducer.py +608 -0
  410. mindspore/nn/wrap/loss_scale.py +680 -0
  411. mindspore/numpy/__init__.py +121 -0
  412. mindspore/numpy/array_creations.py +2734 -0
  413. mindspore/numpy/array_ops.py +2625 -0
  414. mindspore/numpy/dtypes.py +185 -0
  415. mindspore/numpy/fft.py +431 -0
  416. mindspore/numpy/logic_ops.py +935 -0
  417. mindspore/numpy/math_ops.py +5910 -0
  418. mindspore/numpy/utils.py +214 -0
  419. mindspore/numpy/utils_const.py +565 -0
  420. mindspore/opencv_core452.dll +0 -0
  421. mindspore/opencv_imgcodecs452.dll +0 -0
  422. mindspore/opencv_imgproc452.dll +0 -0
  423. mindspore/ops/__init__.py +54 -0
  424. mindspore/ops/_constants.py +30 -0
  425. mindspore/ops/_grad_experimental/__init__.py +31 -0
  426. mindspore/ops/_grad_experimental/grad_array_ops.py +830 -0
  427. mindspore/ops/_grad_experimental/grad_base.py +143 -0
  428. mindspore/ops/_grad_experimental/grad_comm_ops.py +670 -0
  429. mindspore/ops/_grad_experimental/grad_debug_ops.py +31 -0
  430. mindspore/ops/_grad_experimental/grad_implementations.py +203 -0
  431. mindspore/ops/_grad_experimental/grad_inner_ops.py +79 -0
  432. mindspore/ops/_grad_experimental/grad_math_ops.py +824 -0
  433. mindspore/ops/_grad_experimental/grad_nn_ops.py +231 -0
  434. mindspore/ops/_grad_experimental/grad_quant_ops.py +238 -0
  435. mindspore/ops/_grad_experimental/grad_sparse.py +342 -0
  436. mindspore/ops/_grad_experimental/grad_sparse_ops.py +399 -0
  437. mindspore/ops/_grad_experimental/taylor_rule.py +220 -0
  438. mindspore/ops/_op_impl/__init__.py +23 -0
  439. mindspore/ops/_op_impl/_custom_op/__init__.py +39 -0
  440. mindspore/ops/_op_impl/_custom_op/_basic.py +158 -0
  441. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +279 -0
  442. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +156 -0
  443. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +109 -0
  444. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +125 -0
  445. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +105 -0
  446. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +124 -0
  447. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +116 -0
  448. mindspore/ops/_op_impl/_custom_op/correction_mul.py +89 -0
  449. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +196 -0
  450. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +366 -0
  451. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +162 -0
  452. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +136 -0
  453. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +206 -0
  454. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +88 -0
  455. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +128 -0
  456. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +199 -0
  457. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +88 -0
  458. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +156 -0
  459. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +184 -0
  460. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +143 -0
  461. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +169 -0
  462. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +548 -0
  463. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +881 -0
  464. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +278 -0
  465. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +200 -0
  466. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +334 -0
  467. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +255 -0
  468. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +222 -0
  469. mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +644 -0
  470. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +488 -0
  471. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +87 -0
  472. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +129 -0
  473. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +121 -0
  474. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +352 -0
  475. mindspore/ops/_op_impl/aicpu/__init__.py +441 -0
  476. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  477. mindspore/ops/_op_impl/aicpu/acos.py +32 -0
  478. mindspore/ops/_op_impl/aicpu/acos_grad.py +33 -0
  479. mindspore/ops/_op_impl/aicpu/acosh.py +34 -0
  480. mindspore/ops/_op_impl/aicpu/acosh_grad.py +35 -0
  481. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
  482. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  483. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
  484. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
  485. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
  486. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
  487. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
  488. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
  489. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  490. mindspore/ops/_op_impl/aicpu/add_n.py +41 -0
  491. mindspore/ops/_op_impl/aicpu/add_v2.py +40 -0
  492. mindspore/ops/_op_impl/aicpu/addcdiv.py +41 -0
  493. mindspore/ops/_op_impl/aicpu/addcmul.py +47 -0
  494. mindspore/ops/_op_impl/aicpu/adjust_contrastv2.py +32 -0
  495. mindspore/ops/_op_impl/aicpu/adjust_hue.py +31 -0
  496. mindspore/ops/_op_impl/aicpu/adjust_saturation.py +32 -0
  497. mindspore/ops/_op_impl/aicpu/affine_grid.py +33 -0
  498. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  499. mindspore/ops/_op_impl/aicpu/angle.py +31 -0
  500. mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
  501. mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
  502. mindspore/ops/_op_impl/aicpu/argmax_with_value.py +43 -0
  503. mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
  504. mindspore/ops/_op_impl/aicpu/asin.py +32 -0
  505. mindspore/ops/_op_impl/aicpu/asin_grad.py +33 -0
  506. mindspore/ops/_op_impl/aicpu/asinh.py +34 -0
  507. mindspore/ops/_op_impl/aicpu/asinh_grad.py +35 -0
  508. mindspore/ops/_op_impl/aicpu/atanh.py +34 -0
  509. mindspore/ops/_op_impl/aicpu/avgpool_grad_v1.py +37 -0
  510. mindspore/ops/_op_impl/aicpu/avgpool_v1.py +36 -0
  511. mindspore/ops/_op_impl/aicpu/bartlett_window.py +36 -0
  512. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
  513. mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
  514. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  515. mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
  516. mindspore/ops/_op_impl/aicpu/betainc.py +31 -0
  517. mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
  518. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +42 -0
  519. mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
  520. mindspore/ops/_op_impl/aicpu/blackman_window.py +36 -0
  521. mindspore/ops/_op_impl/aicpu/broadcast_to.py +58 -0
  522. mindspore/ops/_op_impl/aicpu/bucketize.py +34 -0
  523. mindspore/ops/_op_impl/aicpu/cache_swap_table.py +102 -0
  524. mindspore/ops/_op_impl/aicpu/cast.py +225 -0
  525. mindspore/ops/_op_impl/aicpu/cauchy.py +33 -0
  526. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  527. mindspore/ops/_op_impl/aicpu/check_numerics.py +33 -0
  528. mindspore/ops/_op_impl/aicpu/cholesky.py +32 -0
  529. mindspore/ops/_op_impl/aicpu/cholesky_inverse.py +31 -0
  530. mindspore/ops/_op_impl/aicpu/cholesky_solve.py +33 -0
  531. mindspore/ops/_op_impl/aicpu/choleskygrad.py +32 -0
  532. mindspore/ops/_op_impl/aicpu/coalesce.py +37 -0
  533. mindspore/ops/_op_impl/aicpu/col2im.py +38 -0
  534. mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
  535. mindspore/ops/_op_impl/aicpu/compare_and_bitpack.py +37 -0
  536. mindspore/ops/_op_impl/aicpu/complex.py +32 -0
  537. mindspore/ops/_op_impl/aicpu/complex_abs.py +31 -0
  538. mindspore/ops/_op_impl/aicpu/compute_accidental_hits.py +44 -0
  539. mindspore/ops/_op_impl/aicpu/concat.py +57 -0
  540. mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
  541. mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
  542. mindspore/ops/_op_impl/aicpu/conj.py +42 -0
  543. mindspore/ops/_op_impl/aicpu/conjugate_transpose.py +58 -0
  544. mindspore/ops/_op_impl/aicpu/cos.py +34 -0
  545. mindspore/ops/_op_impl/aicpu/cosh.py +34 -0
  546. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  547. mindspore/ops/_op_impl/aicpu/crop_and_resize.py +69 -0
  548. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_boxes.py +68 -0
  549. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
  550. mindspore/ops/_op_impl/aicpu/cross.py +42 -0
  551. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_dense.py +48 -0
  552. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_sparse_tensor.py +51 -0
  553. mindspore/ops/_op_impl/aicpu/ctc_greedy_decoder.py +35 -0
  554. mindspore/ops/_op_impl/aicpu/ctc_loss_v2.py +43 -0
  555. mindspore/ops/_op_impl/aicpu/ctc_loss_v2_grad.py +45 -0
  556. mindspore/ops/_op_impl/aicpu/ctcloss.py +38 -0
  557. mindspore/ops/_op_impl/aicpu/cummax.py +41 -0
  558. mindspore/ops/_op_impl/aicpu/cumprod.py +58 -0
  559. mindspore/ops/_op_impl/aicpu/cumsum.py +58 -0
  560. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
  561. mindspore/ops/_op_impl/aicpu/data_format_vec_permute.py +32 -0
  562. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  563. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  564. mindspore/ops/_op_impl/aicpu/dense_to_csr_sparse_matrix.py +49 -0
  565. mindspore/ops/_op_impl/aicpu/dense_to_dense_set_operation.py +45 -0
  566. mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
  567. mindspore/ops/_op_impl/aicpu/depth_to_space.py +44 -0
  568. mindspore/ops/_op_impl/aicpu/diag.py +36 -0
  569. mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
  570. mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
  571. mindspore/ops/_op_impl/aicpu/digamma.py +31 -0
  572. mindspore/ops/_op_impl/aicpu/div.py +41 -0
  573. mindspore/ops/_op_impl/aicpu/div_no_nan.py +35 -0
  574. mindspore/ops/_op_impl/aicpu/dropout2d.py +42 -0
  575. mindspore/ops/_op_impl/aicpu/dropout3d.py +42 -0
  576. mindspore/ops/_op_impl/aicpu/dropout_genmask.py +41 -0
  577. mindspore/ops/_op_impl/aicpu/dropout_genmask_v3.py +32 -0
  578. mindspore/ops/_op_impl/aicpu/dynamic_stitch.py +42 -0
  579. mindspore/ops/_op_impl/aicpu/edit_distance.py +56 -0
  580. mindspore/ops/_op_impl/aicpu/eig.py +35 -0
  581. mindspore/ops/_op_impl/aicpu/embedding_lookup.py +102 -0
  582. mindspore/ops/_op_impl/aicpu/end_of_sequence.py +30 -0
  583. mindspore/ops/_op_impl/aicpu/environ_create.py +28 -0
  584. mindspore/ops/_op_impl/aicpu/environ_destroy_all.py +28 -0
  585. mindspore/ops/_op_impl/aicpu/environ_get.py +41 -0
  586. mindspore/ops/_op_impl/aicpu/environ_set.py +40 -0
  587. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  588. mindspore/ops/_op_impl/aicpu/equal.py +41 -0
  589. mindspore/ops/_op_impl/aicpu/exp.py +37 -0
  590. mindspore/ops/_op_impl/aicpu/expand.py +45 -0
  591. mindspore/ops/_op_impl/aicpu/expand_dims.py +42 -0
  592. mindspore/ops/_op_impl/aicpu/expm1.py +34 -0
  593. mindspore/ops/_op_impl/aicpu/extract_glimpse.py +35 -0
  594. mindspore/ops/_op_impl/aicpu/eye.py +44 -0
  595. mindspore/ops/_op_impl/aicpu/fft_with_size.py +47 -0
  596. mindspore/ops/_op_impl/aicpu/fill_diagonal.py +39 -0
  597. mindspore/ops/_op_impl/aicpu/fill_v2.py +58 -0
  598. mindspore/ops/_op_impl/aicpu/flatten.py +43 -0
  599. mindspore/ops/_op_impl/aicpu/floor_div.py +38 -0
  600. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  601. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  602. mindspore/ops/_op_impl/aicpu/fractional_avg_pool.py +41 -0
  603. mindspore/ops/_op_impl/aicpu/fractional_avg_pool_grad.py +41 -0
  604. mindspore/ops/_op_impl/aicpu/fractional_max_pool.py +41 -0
  605. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_grad_with_fixed_ksize.py +43 -0
  606. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +65 -0
  607. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad.py +42 -0
  608. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad_with_fixed_ksize.py +42 -0
  609. mindspore/ops/_op_impl/aicpu/fractional_max_pool_with_fixed_ksize.py +49 -0
  610. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  611. mindspore/ops/_op_impl/aicpu/fused_sparse_adam.py +46 -0
  612. mindspore/ops/_op_impl/aicpu/fused_sparse_ftrl.py +41 -0
  613. mindspore/ops/_op_impl/aicpu/fused_sparse_lazy_adam.py +46 -0
  614. mindspore/ops/_op_impl/aicpu/fused_sparse_proximal_adagrad.py +39 -0
  615. mindspore/ops/_op_impl/aicpu/gamma.py +38 -0
  616. mindspore/ops/_op_impl/aicpu/gather.py +46 -0
  617. mindspore/ops/_op_impl/aicpu/gather_d.py +79 -0
  618. mindspore/ops/_op_impl/aicpu/gather_d_grad_v2.py +79 -0
  619. mindspore/ops/_op_impl/aicpu/gather_grad.py +54 -0
  620. mindspore/ops/_op_impl/aicpu/gather_nd.py +56 -0
  621. mindspore/ops/_op_impl/aicpu/gcd.py +32 -0
  622. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +38 -0
  623. mindspore/ops/_op_impl/aicpu/geqrf.py +32 -0
  624. mindspore/ops/_op_impl/aicpu/get_next.py +39 -0
  625. mindspore/ops/_op_impl/aicpu/glu.py +33 -0
  626. mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
  627. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  628. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  629. mindspore/ops/_op_impl/aicpu/grid_sampler_2d.py +35 -0
  630. mindspore/ops/_op_impl/aicpu/grid_sampler_2d_grad.py +38 -0
  631. mindspore/ops/_op_impl/aicpu/grid_sampler_3d.py +34 -0
  632. mindspore/ops/_op_impl/aicpu/grid_sampler_3d_grad.py +38 -0
  633. mindspore/ops/_op_impl/aicpu/hamming_window.py +57 -0
  634. mindspore/ops/_op_impl/aicpu/hard_sigmoid.py +32 -0
  635. mindspore/ops/_op_impl/aicpu/hard_sigmoid_grad.py +33 -0
  636. mindspore/ops/_op_impl/aicpu/heaviside.py +40 -0
  637. mindspore/ops/_op_impl/aicpu/histogram.py +35 -0
  638. mindspore/ops/_op_impl/aicpu/hsv_to_rgb.py +32 -0
  639. mindspore/ops/_op_impl/aicpu/hypot.py +32 -0
  640. mindspore/ops/_op_impl/aicpu/identity.py +42 -0
  641. mindspore/ops/_op_impl/aicpu/identity_n.py +41 -0
  642. mindspore/ops/_op_impl/aicpu/igamma.py +30 -0
  643. mindspore/ops/_op_impl/aicpu/igammac.py +30 -0
  644. mindspore/ops/_op_impl/aicpu/igammagrada.py +30 -0
  645. mindspore/ops/_op_impl/aicpu/im2col.py +43 -0
  646. mindspore/ops/_op_impl/aicpu/imag.py +31 -0
  647. mindspore/ops/_op_impl/aicpu/index_fill.py +54 -0
  648. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  649. mindspore/ops/_op_impl/aicpu/init_data_set_queue.py +27 -0
  650. mindspore/ops/_op_impl/aicpu/inplace_index_add.py +39 -0
  651. mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
  652. mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
  653. mindspore/ops/_op_impl/aicpu/is_finite.py +40 -0
  654. mindspore/ops/_op_impl/aicpu/is_inf.py +31 -0
  655. mindspore/ops/_op_impl/aicpu/is_nan.py +31 -0
  656. mindspore/ops/_op_impl/aicpu/kldivloss.py +34 -0
  657. mindspore/ops/_op_impl/aicpu/kldivlossgrad.py +35 -0
  658. mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
  659. mindspore/ops/_op_impl/aicpu/lcm.py +32 -0
  660. mindspore/ops/_op_impl/aicpu/left_shift.py +38 -0
  661. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  662. mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
  663. mindspore/ops/_op_impl/aicpu/lgamma.py +33 -0
  664. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +57 -0
  665. mindspore/ops/_op_impl/aicpu/linspace.py +33 -0
  666. mindspore/ops/_op_impl/aicpu/list_diff.py +50 -0
  667. mindspore/ops/_op_impl/aicpu/log.py +37 -0
  668. mindspore/ops/_op_impl/aicpu/log1p.py +34 -0
  669. mindspore/ops/_op_impl/aicpu/log_matrix_determinant.py +31 -0
  670. mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
  671. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +37 -0
  672. mindspore/ops/_op_impl/aicpu/logical_xor.py +30 -0
  673. mindspore/ops/_op_impl/aicpu/logit.py +33 -0
  674. mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
  675. mindspore/ops/_op_impl/aicpu/logspace.py +36 -0
  676. mindspore/ops/_op_impl/aicpu/lower_bound.py +47 -0
  677. mindspore/ops/_op_impl/aicpu/lstsq.py +34 -0
  678. mindspore/ops/_op_impl/aicpu/lu.py +39 -0
  679. mindspore/ops/_op_impl/aicpu/lu_solve.py +32 -0
  680. mindspore/ops/_op_impl/aicpu/lu_unpack.py +114 -0
  681. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +49 -0
  682. mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
  683. mindspore/ops/_op_impl/aicpu/masked_scatter.py +40 -0
  684. mindspore/ops/_op_impl/aicpu/masked_select.py +31 -0
  685. mindspore/ops/_op_impl/aicpu/masked_select_grad.py +35 -0
  686. mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
  687. mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
  688. mindspore/ops/_op_impl/aicpu/matrix_determinant.py +30 -0
  689. mindspore/ops/_op_impl/aicpu/matrix_diag_part_v3.py +54 -0
  690. mindspore/ops/_op_impl/aicpu/matrix_diag_v3.py +56 -0
  691. mindspore/ops/_op_impl/aicpu/matrix_exp.py +34 -0
  692. mindspore/ops/_op_impl/aicpu/matrix_inverse.py +31 -0
  693. mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
  694. mindspore/ops/_op_impl/aicpu/matrix_power.py +37 -0
  695. mindspore/ops/_op_impl/aicpu/matrix_set_diag_v3.py +54 -0
  696. mindspore/ops/_op_impl/aicpu/matrix_solve.py +35 -0
  697. mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
  698. mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
  699. mindspore/ops/_op_impl/aicpu/max_pool3d_grad_with_argmax.py +60 -0
  700. mindspore/ops/_op_impl/aicpu/max_pool3d_with_argmax.py +59 -0
  701. mindspore/ops/_op_impl/aicpu/max_unpool2d.py +57 -0
  702. mindspore/ops/_op_impl/aicpu/max_unpool2d_grad.py +58 -0
  703. mindspore/ops/_op_impl/aicpu/max_unpool3d.py +57 -0
  704. mindspore/ops/_op_impl/aicpu/max_unpool3d_grad.py +58 -0
  705. mindspore/ops/_op_impl/aicpu/maximum_grad_grad.py +40 -0
  706. mindspore/ops/_op_impl/aicpu/maxpool_grad_v1.py +46 -0
  707. mindspore/ops/_op_impl/aicpu/maxpool_v1.py +42 -0
  708. mindspore/ops/_op_impl/aicpu/median.py +39 -0
  709. mindspore/ops/_op_impl/aicpu/median_grad.py +45 -0
  710. mindspore/ops/_op_impl/aicpu/meshgrid.py +41 -0
  711. mindspore/ops/_op_impl/aicpu/minimum_grad_grad.py +40 -0
  712. mindspore/ops/_op_impl/aicpu/mirror_pad.py +50 -0
  713. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +48 -0
  714. mindspore/ops/_op_impl/aicpu/mul.py +43 -0
  715. mindspore/ops/_op_impl/aicpu/mul_no_nan.py +42 -0
  716. mindspore/ops/_op_impl/aicpu/multi_margin_loss.py +37 -0
  717. mindspore/ops/_op_impl/aicpu/multi_margin_loss_grad.py +41 -0
  718. mindspore/ops/_op_impl/aicpu/multilabel_margin_loss_grad.py +37 -0
  719. mindspore/ops/_op_impl/aicpu/multinomial.py +47 -0
  720. mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
  721. mindspore/ops/_op_impl/aicpu/mvlgamma.py +32 -0
  722. mindspore/ops/_op_impl/aicpu/mvlgamma_grad.py +33 -0
  723. mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
  724. mindspore/ops/_op_impl/aicpu/neg.py +36 -0
  725. mindspore/ops/_op_impl/aicpu/nextafter.py +32 -0
  726. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  727. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  728. mindspore/ops/_op_impl/aicpu/no_repeat_ngram.py +34 -0
  729. mindspore/ops/_op_impl/aicpu/non_deterministic_ints.py +33 -0
  730. mindspore/ops/_op_impl/aicpu/non_max_suppression.py +36 -0
  731. mindspore/ops/_op_impl/aicpu/non_max_suppression_with_overlaps.py +35 -0
  732. mindspore/ops/_op_impl/aicpu/non_zero.py +43 -0
  733. mindspore/ops/_op_impl/aicpu/not_equal.py +39 -0
  734. mindspore/ops/_op_impl/aicpu/nth_element.py +39 -0
  735. mindspore/ops/_op_impl/aicpu/nuclear_norm.py +33 -0
  736. mindspore/ops/_op_impl/aicpu/one_hot.py +116 -0
  737. mindspore/ops/_op_impl/aicpu/ones_like.py +39 -0
  738. mindspore/ops/_op_impl/aicpu/orgqr.py +34 -0
  739. mindspore/ops/_op_impl/aicpu/pad_and_shift.py +33 -0
  740. mindspore/ops/_op_impl/aicpu/pad_v3.py +61 -0
  741. mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +59 -0
  742. mindspore/ops/_op_impl/aicpu/padding.py +41 -0
  743. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +54 -0
  744. mindspore/ops/_op_impl/aicpu/pdist_grad.py +33 -0
  745. mindspore/ops/_op_impl/aicpu/poisson.py +37 -0
  746. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  747. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  748. mindspore/ops/_op_impl/aicpu/pow.py +39 -0
  749. mindspore/ops/_op_impl/aicpu/print_tensor.py +39 -0
  750. mindspore/ops/_op_impl/aicpu/priority_replay_buffer.py +113 -0
  751. mindspore/ops/_op_impl/aicpu/qr.py +36 -0
  752. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  753. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  754. mindspore/ops/_op_impl/aicpu/ragged_range.py +49 -0
  755. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  756. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
  757. mindspore/ops/_op_impl/aicpu/random_categorical.py +68 -0
  758. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +36 -0
  759. mindspore/ops/_op_impl/aicpu/random_gamma.py +38 -0
  760. mindspore/ops/_op_impl/aicpu/random_poisson.py +134 -0
  761. mindspore/ops/_op_impl/aicpu/random_shuffle.py +47 -0
  762. mindspore/ops/_op_impl/aicpu/randperm.py +38 -0
  763. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  764. mindspore/ops/_op_impl/aicpu/range.py +36 -0
  765. mindspore/ops/_op_impl/aicpu/range_v2.py +35 -0
  766. mindspore/ops/_op_impl/aicpu/real.py +31 -0
  767. mindspore/ops/_op_impl/aicpu/real_div.py +40 -0
  768. mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
  769. mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
  770. mindspore/ops/_op_impl/aicpu/reduce_mean.py +57 -0
  771. mindspore/ops/_op_impl/aicpu/reduce_prod.py +57 -0
  772. mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
  773. mindspore/ops/_op_impl/aicpu/relu_grad_v3.py +41 -0
  774. mindspore/ops/_op_impl/aicpu/relu_v3.py +38 -0
  775. mindspore/ops/_op_impl/aicpu/reservoir_replay_buffer.py +96 -0
  776. mindspore/ops/_op_impl/aicpu/reshape.py +42 -0
  777. mindspore/ops/_op_impl/aicpu/resize_area.py +40 -0
  778. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +20 -0
  779. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +19 -0
  780. mindspore/ops/_op_impl/aicpu/resize_bilinear.py +32 -0
  781. mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +32 -0
  782. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +36 -0
  783. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +35 -0
  784. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  785. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  786. mindspore/ops/_op_impl/aicpu/reverse_sequence.py +55 -0
  787. mindspore/ops/_op_impl/aicpu/reversev2.py +54 -0
  788. mindspore/ops/_op_impl/aicpu/rgb_to_hsv.py +32 -0
  789. mindspore/ops/_op_impl/aicpu/right_shift.py +38 -0
  790. mindspore/ops/_op_impl/aicpu/rnnt_loss.py +35 -0
  791. mindspore/ops/_op_impl/aicpu/round.py +34 -0
  792. mindspore/ops/_op_impl/aicpu/rsqrt.py +33 -0
  793. mindspore/ops/_op_impl/aicpu/rsqrt_grad.py +36 -0
  794. mindspore/ops/_op_impl/aicpu/sample_distorted_bounding_box_v2.py +49 -0
  795. mindspore/ops/_op_impl/aicpu/scale_and_translate.py +52 -0
  796. mindspore/ops/_op_impl/aicpu/scale_and_translate_grad.py +36 -0
  797. mindspore/ops/_op_impl/aicpu/scatter.py +79 -0
  798. mindspore/ops/_op_impl/aicpu/scatter_add_with_axis.py +53 -0
  799. mindspore/ops/_op_impl/aicpu/scatter_elements.py +39 -0
  800. mindspore/ops/_op_impl/aicpu/scatter_nd.py +59 -0
  801. mindspore/ops/_op_impl/aicpu/scatter_nd_max.py +54 -0
  802. mindspore/ops/_op_impl/aicpu/scatter_nd_min.py +54 -0
  803. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +59 -0
  804. mindspore/ops/_op_impl/aicpu/search_sorted.py +44 -0
  805. mindspore/ops/_op_impl/aicpu/segment_max.py +52 -0
  806. mindspore/ops/_op_impl/aicpu/segment_mean.py +56 -0
  807. mindspore/ops/_op_impl/aicpu/segment_min.py +52 -0
  808. mindspore/ops/_op_impl/aicpu/segment_prod.py +56 -0
  809. mindspore/ops/_op_impl/aicpu/segment_sum.py +56 -0
  810. mindspore/ops/_op_impl/aicpu/select.py +45 -0
  811. mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
  812. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  813. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  814. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  815. mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
  816. mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
  817. mindspore/ops/_op_impl/aicpu/set_size.py +38 -0
  818. mindspore/ops/_op_impl/aicpu/sign.py +36 -0
  819. mindspore/ops/_op_impl/aicpu/sin.py +34 -0
  820. mindspore/ops/_op_impl/aicpu/sinc.py +43 -0
  821. mindspore/ops/_op_impl/aicpu/sinh.py +34 -0
  822. mindspore/ops/_op_impl/aicpu/slice.py +59 -0
  823. mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
  824. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  825. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  826. mindspore/ops/_op_impl/aicpu/sort.py +39 -0
  827. mindspore/ops/_op_impl/aicpu/space_to_depth.py +44 -0
  828. mindspore/ops/_op_impl/aicpu/sparse_addmm.py +87 -0
  829. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +80 -0
  830. mindspore/ops/_op_impl/aicpu/sparse_apply_centered_rms_prop.py +105 -0
  831. mindspore/ops/_op_impl/aicpu/sparse_apply_momentum.py +80 -0
  832. mindspore/ops/_op_impl/aicpu/sparse_apply_proximal_gradient_descent.py +79 -0
  833. mindspore/ops/_op_impl/aicpu/sparse_concat.py +59 -0
  834. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  835. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_add.py +58 -0
  836. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_div.py +58 -0
  837. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_mul.py +58 -0
  838. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
  839. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
  840. mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
  841. mindspore/ops/_op_impl/aicpu/sparse_matrix_nnz.py +81 -0
  842. mindspore/ops/_op_impl/aicpu/sparse_matrix_transpose.py +116 -0
  843. mindspore/ops/_op_impl/aicpu/sparse_reorder.py +56 -0
  844. mindspore/ops/_op_impl/aicpu/sparse_reshape.py +34 -0
  845. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_grad.py +36 -0
  846. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_with_num_segments.py +44 -0
  847. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n.py +43 -0
  848. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_grad.py +38 -0
  849. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_with_num_segments.py +44 -0
  850. mindspore/ops/_op_impl/aicpu/sparse_segment_sum.py +49 -0
  851. mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
  852. mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
  853. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
  854. mindspore/ops/_op_impl/aicpu/sparse_softmax.py +33 -0
  855. mindspore/ops/_op_impl/aicpu/sparse_softmax_cross_entropy_with_logits_v2.py +35 -0
  856. mindspore/ops/_op_impl/aicpu/sparse_sparse_maximum.py +53 -0
  857. mindspore/ops/_op_impl/aicpu/sparse_sparse_minimum.py +53 -0
  858. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_add.py +84 -0
  859. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_mat_mul.py +190 -0
  860. mindspore/ops/_op_impl/aicpu/sparse_tensor_to_csr_sparse_matrix.py +51 -0
  861. mindspore/ops/_op_impl/aicpu/sparse_to_dense_v2.py +73 -0
  862. mindspore/ops/_op_impl/aicpu/split.py +45 -0
  863. mindspore/ops/_op_impl/aicpu/sqrt.py +34 -0
  864. mindspore/ops/_op_impl/aicpu/sqrt_grad.py +35 -0
  865. mindspore/ops/_op_impl/aicpu/square.py +35 -0
  866. mindspore/ops/_op_impl/aicpu/squared_difference.py +37 -0
  867. mindspore/ops/_op_impl/aicpu/squeeze.py +42 -0
  868. mindspore/ops/_op_impl/aicpu/sspaddmm.py +97 -0
  869. mindspore/ops/_op_impl/aicpu/stack.py +45 -0
  870. mindspore/ops/_op_impl/aicpu/stack_push_pop.py +87 -0
  871. mindspore/ops/_op_impl/aicpu/standard_laplace.py +34 -0
  872. mindspore/ops/_op_impl/aicpu/standard_normal.py +34 -0
  873. mindspore/ops/_op_impl/aicpu/stateless_dropout_genmask.py +37 -0
  874. mindspore/ops/_op_impl/aicpu/stft.py +70 -0
  875. mindspore/ops/_op_impl/aicpu/strided_slice.py +43 -0
  876. mindspore/ops/_op_impl/aicpu/strided_slice_grad.py +50 -0
  877. mindspore/ops/_op_impl/aicpu/strided_slice_v2.py +93 -0
  878. mindspore/ops/_op_impl/aicpu/strided_slice_v2_grad.py +66 -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 +2151 -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 +977 -0
  1048. mindspore/ops/_vmap/vmap_nn_ops.py +2209 -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 +231 -0
  1054. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +250 -0
  1055. mindspore/ops/auto_generate/gen_arg_handler.py +197 -0
  1056. mindspore/ops/auto_generate/gen_extend_func.py +980 -0
  1057. mindspore/ops/auto_generate/gen_ops_def.py +6443 -0
  1058. mindspore/ops/auto_generate/gen_ops_prim.py +13167 -0
  1059. mindspore/ops/auto_generate/pyboost_inner_prim.py +429 -0
  1060. mindspore/ops/composite/__init__.py +71 -0
  1061. mindspore/ops/composite/base.py +1281 -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 +1458 -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/extend/__init__.py +53 -0
  1098. mindspore/ops/extend/array_func.py +218 -0
  1099. mindspore/ops/extend/math_func.py +76 -0
  1100. mindspore/ops/extend/nn_func.py +308 -0
  1101. mindspore/ops/function/__init__.py +760 -0
  1102. mindspore/ops/function/array_func.py +6889 -0
  1103. mindspore/ops/function/clip_func.py +384 -0
  1104. mindspore/ops/function/debug_func.py +69 -0
  1105. mindspore/ops/function/fft_func.py +31 -0
  1106. mindspore/ops/function/grad/__init__.py +34 -0
  1107. mindspore/ops/function/grad/grad_func.py +1424 -0
  1108. mindspore/ops/function/image_func.py +292 -0
  1109. mindspore/ops/function/linalg_func.py +416 -0
  1110. mindspore/ops/function/math_func.py +11877 -0
  1111. mindspore/ops/function/nn_func.py +8175 -0
  1112. mindspore/ops/function/other_func.py +114 -0
  1113. mindspore/ops/function/parameter_func.py +134 -0
  1114. mindspore/ops/function/random_func.py +1539 -0
  1115. mindspore/ops/function/reshard_func.py +102 -0
  1116. mindspore/ops/function/sparse_func.py +884 -0
  1117. mindspore/ops/function/sparse_unary_func.py +2422 -0
  1118. mindspore/ops/function/spectral_func.py +150 -0
  1119. mindspore/ops/function/vmap_func.py +116 -0
  1120. mindspore/ops/functional.py +454 -0
  1121. mindspore/ops/op_info_register.py +1572 -0
  1122. mindspore/ops/operations/__init__.py +717 -0
  1123. mindspore/ops/operations/_csr_ops.py +403 -0
  1124. mindspore/ops/operations/_custom_grad.py +181 -0
  1125. mindspore/ops/operations/_embedding_cache_ops.py +307 -0
  1126. mindspore/ops/operations/_grad_ops.py +3052 -0
  1127. mindspore/ops/operations/_infer_ops.py +19 -0
  1128. mindspore/ops/operations/_inner_ops.py +2567 -0
  1129. mindspore/ops/operations/_map_tensor_ops.py +112 -0
  1130. mindspore/ops/operations/_ms_kernel.py +601 -0
  1131. mindspore/ops/operations/_ocr_ops.py +379 -0
  1132. mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
  1133. mindspore/ops/operations/_pyfunc_registry.py +58 -0
  1134. mindspore/ops/operations/_quant_ops.py +1844 -0
  1135. mindspore/ops/operations/_rl_inner_ops.py +1231 -0
  1136. mindspore/ops/operations/_scalar_ops.py +106 -0
  1137. mindspore/ops/operations/_sequence_ops.py +1155 -0
  1138. mindspore/ops/operations/_sparse_grad_ops.py +56 -0
  1139. mindspore/ops/operations/_tensor_array.py +359 -0
  1140. mindspore/ops/operations/_thor_ops.py +807 -0
  1141. mindspore/ops/operations/array_ops.py +6258 -0
  1142. mindspore/ops/operations/comm_ops.py +1996 -0
  1143. mindspore/ops/operations/control_ops.py +127 -0
  1144. mindspore/ops/operations/custom_ops.py +1065 -0
  1145. mindspore/ops/operations/debug_ops.py +646 -0
  1146. mindspore/ops/operations/image_ops.py +1041 -0
  1147. mindspore/ops/operations/inner_ops.py +697 -0
  1148. mindspore/ops/operations/linalg_ops.py +95 -0
  1149. mindspore/ops/operations/manually_defined/__init__.py +24 -0
  1150. mindspore/ops/operations/manually_defined/_inner.py +61 -0
  1151. mindspore/ops/operations/manually_defined/ops_def.py +2016 -0
  1152. mindspore/ops/operations/math_ops.py +5306 -0
  1153. mindspore/ops/operations/nn_ops.py +9669 -0
  1154. mindspore/ops/operations/other_ops.py +871 -0
  1155. mindspore/ops/operations/random_ops.py +1243 -0
  1156. mindspore/ops/operations/reshard_ops.py +53 -0
  1157. mindspore/ops/operations/rl_ops.py +288 -0
  1158. mindspore/ops/operations/sparse_ops.py +2753 -0
  1159. mindspore/ops/operations/spectral_ops.py +111 -0
  1160. mindspore/ops/primitive.py +1034 -0
  1161. mindspore/ops/signature.py +54 -0
  1162. mindspore/ops/silent_check.py +162 -0
  1163. mindspore/ops/vm_impl_registry.py +91 -0
  1164. mindspore/ops_generate/__init__.py +27 -0
  1165. mindspore/ops_generate/arg_dtype_cast.py +250 -0
  1166. mindspore/ops_generate/arg_handler.py +197 -0
  1167. mindspore/ops_generate/gen_aclnn_implement.py +263 -0
  1168. mindspore/ops_generate/gen_ops.py +1084 -0
  1169. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  1170. mindspore/ops_generate/gen_pyboost_func.py +968 -0
  1171. mindspore/ops_generate/gen_utils.py +209 -0
  1172. mindspore/ops_generate/op_proto.py +138 -0
  1173. mindspore/ops_generate/pyboost_utils.py +354 -0
  1174. mindspore/ops_generate/template.py +239 -0
  1175. mindspore/parallel/__init__.py +28 -0
  1176. mindspore/parallel/_auto_parallel_context.py +1466 -0
  1177. mindspore/parallel/_cell_wrapper.py +91 -0
  1178. mindspore/parallel/_cost_model_context.py +700 -0
  1179. mindspore/parallel/_dp_allreduce_fusion.py +159 -0
  1180. mindspore/parallel/_offload_context.py +275 -0
  1181. mindspore/parallel/_parallel_serialization.py +533 -0
  1182. mindspore/parallel/_ps_context.py +242 -0
  1183. mindspore/parallel/_recovery_context.py +110 -0
  1184. mindspore/parallel/_tensor.py +660 -0
  1185. mindspore/parallel/_transformer/__init__.py +35 -0
  1186. mindspore/parallel/_transformer/layers.py +765 -0
  1187. mindspore/parallel/_transformer/loss.py +251 -0
  1188. mindspore/parallel/_transformer/moe.py +693 -0
  1189. mindspore/parallel/_transformer/op_parallel_config.py +222 -0
  1190. mindspore/parallel/_transformer/transformer.py +3119 -0
  1191. mindspore/parallel/_utils.py +600 -0
  1192. mindspore/parallel/algo_parameter_config.py +400 -0
  1193. mindspore/parallel/checkpoint_transform.py +643 -0
  1194. mindspore/parallel/cluster/__init__.py +15 -0
  1195. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  1196. mindspore/parallel/cluster/process_entity/_api.py +344 -0
  1197. mindspore/parallel/cluster/process_entity/_utils.py +126 -0
  1198. mindspore/parallel/cluster/run.py +136 -0
  1199. mindspore/parallel/mpi/__init__.py +14 -0
  1200. mindspore/parallel/mpi/_mpi_config.py +116 -0
  1201. mindspore/parallel/parameter_broadcast.py +152 -0
  1202. mindspore/parallel/shard.py +350 -0
  1203. mindspore/perf_msvcbuildinsights.dll +0 -0
  1204. mindspore/pgodb140.dll +0 -0
  1205. mindspore/pgort140.dll +0 -0
  1206. mindspore/profiler/__init__.py +27 -0
  1207. mindspore/profiler/common/__init__.py +14 -0
  1208. mindspore/profiler/common/exceptions/__init__.py +14 -0
  1209. mindspore/profiler/common/exceptions/error_code.py +83 -0
  1210. mindspore/profiler/common/exceptions/exceptions.py +286 -0
  1211. mindspore/profiler/common/process_pool.py +41 -0
  1212. mindspore/profiler/common/singleton.py +28 -0
  1213. mindspore/profiler/common/struct_type.py +118 -0
  1214. mindspore/profiler/common/util.py +444 -0
  1215. mindspore/profiler/common/validator/__init__.py +14 -0
  1216. mindspore/profiler/common/validator/validate_path.py +84 -0
  1217. mindspore/profiler/envprofiling.py +256 -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 +53 -0
  1222. mindspore/profiler/parser/ascend_analysis/file_manager.py +159 -0
  1223. mindspore/profiler/parser/ascend_analysis/function_event.py +161 -0
  1224. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +131 -0
  1225. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +85 -0
  1226. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +57 -0
  1227. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +116 -0
  1228. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  1229. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +68 -0
  1230. mindspore/profiler/parser/ascend_cluster_generator.py +116 -0
  1231. mindspore/profiler/parser/ascend_communicate_generator.py +314 -0
  1232. mindspore/profiler/parser/ascend_flops_generator.py +116 -0
  1233. mindspore/profiler/parser/ascend_fpbp_generator.py +82 -0
  1234. mindspore/profiler/parser/ascend_hccl_generator.py +271 -0
  1235. mindspore/profiler/parser/ascend_integrate_generator.py +42 -0
  1236. mindspore/profiler/parser/ascend_memory_generator.py +185 -0
  1237. mindspore/profiler/parser/ascend_msprof_exporter.py +281 -0
  1238. mindspore/profiler/parser/ascend_msprof_generator.py +187 -0
  1239. mindspore/profiler/parser/ascend_op_generator.py +334 -0
  1240. mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
  1241. mindspore/profiler/parser/ascend_timeline_generator.py +543 -0
  1242. mindspore/profiler/parser/base_timeline_generator.py +489 -0
  1243. mindspore/profiler/parser/container.py +229 -0
  1244. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +684 -0
  1245. mindspore/profiler/parser/flops_parser.py +531 -0
  1246. mindspore/profiler/parser/framework_enum.py +111 -0
  1247. mindspore/profiler/parser/framework_parser.py +854 -0
  1248. mindspore/profiler/parser/framework_struct.py +61 -0
  1249. mindspore/profiler/parser/hccl_parser.py +573 -0
  1250. mindspore/profiler/parser/hwts_log_parser.py +122 -0
  1251. mindspore/profiler/parser/integrator.py +526 -0
  1252. mindspore/profiler/parser/memory_usage_parser.py +431 -0
  1253. mindspore/profiler/parser/minddata_analyzer.py +800 -0
  1254. mindspore/profiler/parser/minddata_parser.py +186 -0
  1255. mindspore/profiler/parser/minddata_pipeline_parser.py +299 -0
  1256. mindspore/profiler/parser/msadvisor_analyzer.py +82 -0
  1257. mindspore/profiler/parser/msadvisor_parser.py +240 -0
  1258. mindspore/profiler/parser/op_intermediate_parser.py +149 -0
  1259. mindspore/profiler/parser/optime_parser.py +250 -0
  1260. mindspore/profiler/parser/profiler_info.py +141 -0
  1261. mindspore/profiler/parser/step_trace_parser.py +666 -0
  1262. mindspore/profiler/profiling.py +2054 -0
  1263. mindspore/rewrite/__init__.py +29 -0
  1264. mindspore/rewrite/api/__init__.py +17 -0
  1265. mindspore/rewrite/api/node.py +519 -0
  1266. mindspore/rewrite/api/node_type.py +53 -0
  1267. mindspore/rewrite/api/pattern_engine.py +490 -0
  1268. mindspore/rewrite/api/scoped_value.py +181 -0
  1269. mindspore/rewrite/api/symbol_tree.py +497 -0
  1270. mindspore/rewrite/ast_helpers/__init__.py +25 -0
  1271. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  1272. mindspore/rewrite/ast_helpers/ast_finder.py +404 -0
  1273. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  1274. mindspore/rewrite/ast_helpers/ast_modifier.py +605 -0
  1275. mindspore/rewrite/ast_helpers/ast_replacer.py +79 -0
  1276. mindspore/rewrite/common/__init__.py +19 -0
  1277. mindspore/rewrite/common/config.py +24 -0
  1278. mindspore/rewrite/common/error_log.py +39 -0
  1279. mindspore/rewrite/common/event.py +28 -0
  1280. mindspore/rewrite/common/namer.py +271 -0
  1281. mindspore/rewrite/common/namespace.py +118 -0
  1282. mindspore/rewrite/common/observable.py +44 -0
  1283. mindspore/rewrite/common/observer.py +54 -0
  1284. mindspore/rewrite/node/__init__.py +22 -0
  1285. mindspore/rewrite/node/call_function.py +95 -0
  1286. mindspore/rewrite/node/cell_container.py +139 -0
  1287. mindspore/rewrite/node/control_flow.py +113 -0
  1288. mindspore/rewrite/node/node.py +1428 -0
  1289. mindspore/rewrite/node/node_manager.py +283 -0
  1290. mindspore/rewrite/node/node_topological_manager.py +223 -0
  1291. mindspore/rewrite/parsers/__init__.py +29 -0
  1292. mindspore/rewrite/parsers/arguments_parser.py +63 -0
  1293. mindspore/rewrite/parsers/assign_parser.py +852 -0
  1294. mindspore/rewrite/parsers/attribute_parser.py +57 -0
  1295. mindspore/rewrite/parsers/class_def_parser.py +289 -0
  1296. mindspore/rewrite/parsers/constant_parser.py +104 -0
  1297. mindspore/rewrite/parsers/container_parser.py +88 -0
  1298. mindspore/rewrite/parsers/expr_parser.py +55 -0
  1299. mindspore/rewrite/parsers/for_parser.py +61 -0
  1300. mindspore/rewrite/parsers/function_def_parser.py +84 -0
  1301. mindspore/rewrite/parsers/if_parser.py +85 -0
  1302. mindspore/rewrite/parsers/module_parser.py +117 -0
  1303. mindspore/rewrite/parsers/parser.py +43 -0
  1304. mindspore/rewrite/parsers/parser_register.py +86 -0
  1305. mindspore/rewrite/parsers/return_parser.py +37 -0
  1306. mindspore/rewrite/parsers/while_parser.py +59 -0
  1307. mindspore/rewrite/sparsify/__init__.py +0 -0
  1308. mindspore/rewrite/sparsify/sparse_transformer.py +457 -0
  1309. mindspore/rewrite/sparsify/sparsify.py +112 -0
  1310. mindspore/rewrite/sparsify/utils.py +179 -0
  1311. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  1312. mindspore/rewrite/symbol_tree/symbol_tree.py +1819 -0
  1313. mindspore/rewrite/symbol_tree/symbol_tree_builder.py +76 -0
  1314. mindspore/rewrite/symbol_tree/symbol_tree_dumper.py +142 -0
  1315. mindspore/run_check/__init__.py +20 -0
  1316. mindspore/run_check/_check_version.py +574 -0
  1317. mindspore/run_check/run_check.py +66 -0
  1318. mindspore/safeguard/__init__.py +18 -0
  1319. mindspore/safeguard/rewrite_obfuscation.py +531 -0
  1320. mindspore/swresample-4.dll +0 -0
  1321. mindspore/swscale-6.dll +0 -0
  1322. mindspore/tbbmalloc.dll +0 -0
  1323. mindspore/tinyxml2.dll +0 -0
  1324. mindspore/train/__init__.py +47 -0
  1325. mindspore/train/_utils.py +439 -0
  1326. mindspore/train/amp.py +817 -0
  1327. mindspore/train/anf_ir_pb2.py +1517 -0
  1328. mindspore/train/callback/__init__.py +44 -0
  1329. mindspore/train/callback/_backup_and_restore.py +117 -0
  1330. mindspore/train/callback/_callback.py +613 -0
  1331. mindspore/train/callback/_checkpoint.py +751 -0
  1332. mindspore/train/callback/_cluster_monitor.py +201 -0
  1333. mindspore/train/callback/_dataset_graph.py +150 -0
  1334. mindspore/train/callback/_early_stop.py +239 -0
  1335. mindspore/train/callback/_flops_collector.py +238 -0
  1336. mindspore/train/callback/_history.py +92 -0
  1337. mindspore/train/callback/_lambda_callback.py +80 -0
  1338. mindspore/train/callback/_landscape.py +1049 -0
  1339. mindspore/train/callback/_loss_monitor.py +107 -0
  1340. mindspore/train/callback/_lr_scheduler_callback.py +76 -0
  1341. mindspore/train/callback/_mindio_ttp.py +443 -0
  1342. mindspore/train/callback/_on_request_exit.py +195 -0
  1343. mindspore/train/callback/_reduce_lr_on_plateau.py +226 -0
  1344. mindspore/train/callback/_summary_collector.py +1184 -0
  1345. mindspore/train/callback/_time_monitor.py +141 -0
  1346. mindspore/train/checkpoint_pb2.py +233 -0
  1347. mindspore/train/data_sink.py +219 -0
  1348. mindspore/train/dataset_helper.py +688 -0
  1349. mindspore/train/lineage_pb2.py +1260 -0
  1350. mindspore/train/loss_scale_manager.py +213 -0
  1351. mindspore/train/memory_profiling_pb2.py +298 -0
  1352. mindspore/train/metrics/__init__.py +175 -0
  1353. mindspore/train/metrics/accuracy.py +133 -0
  1354. mindspore/train/metrics/auc.py +129 -0
  1355. mindspore/train/metrics/bleu_score.py +170 -0
  1356. mindspore/train/metrics/confusion_matrix.py +700 -0
  1357. mindspore/train/metrics/cosine_similarity.py +109 -0
  1358. mindspore/train/metrics/dice.py +116 -0
  1359. mindspore/train/metrics/error.py +175 -0
  1360. mindspore/train/metrics/fbeta.py +167 -0
  1361. mindspore/train/metrics/hausdorff_distance.py +333 -0
  1362. mindspore/train/metrics/loss.py +97 -0
  1363. mindspore/train/metrics/mean_surface_distance.py +189 -0
  1364. mindspore/train/metrics/metric.py +373 -0
  1365. mindspore/train/metrics/occlusion_sensitivity.py +225 -0
  1366. mindspore/train/metrics/perplexity.py +133 -0
  1367. mindspore/train/metrics/precision.py +160 -0
  1368. mindspore/train/metrics/recall.py +159 -0
  1369. mindspore/train/metrics/roc.py +223 -0
  1370. mindspore/train/metrics/root_mean_square_surface_distance.py +191 -0
  1371. mindspore/train/metrics/topk.py +167 -0
  1372. mindspore/train/mind_ir_pb2.py +1903 -0
  1373. mindspore/train/model.py +2176 -0
  1374. mindspore/train/node_strategy_pb2.py +653 -0
  1375. mindspore/train/print_pb2.py +184 -0
  1376. mindspore/train/profiling_parallel_pb2.py +151 -0
  1377. mindspore/train/serialization.py +3101 -0
  1378. mindspore/train/summary/__init__.py +23 -0
  1379. mindspore/train/summary/_lineage_adapter.py +41 -0
  1380. mindspore/train/summary/_summary_adapter.py +496 -0
  1381. mindspore/train/summary/_writer_pool.py +207 -0
  1382. mindspore/train/summary/enums.py +56 -0
  1383. mindspore/train/summary/summary_record.py +581 -0
  1384. mindspore/train/summary/writer.py +167 -0
  1385. mindspore/train/summary_pb2.py +1165 -0
  1386. mindspore/train/train_thor/__init__.py +20 -0
  1387. mindspore/train/train_thor/convert_utils.py +268 -0
  1388. mindspore/train/train_thor/dataset_helper.py +192 -0
  1389. mindspore/train/train_thor/model_thor.py +257 -0
  1390. mindspore/turbojpeg.dll +0 -0
  1391. mindspore/vcmeta.dll +0 -0
  1392. mindspore/vcomp140.dll +0 -0
  1393. mindspore/vcruntime140.dll +0 -0
  1394. mindspore/vcruntime140_1.dll +0 -0
  1395. mindspore/version.py +1 -0
  1396. mindspore-2.3.0.dist-info/METADATA +351 -0
  1397. mindspore-2.3.0.dist-info/RECORD +1400 -0
  1398. mindspore-2.3.0.dist-info/WHEEL +5 -0
  1399. mindspore-2.3.0.dist-info/entry_points.txt +4 -0
  1400. mindspore-2.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1177 @@
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
+ """normalization"""
16
+ from __future__ import absolute_import
17
+ from __future__ import division
18
+
19
+ import itertools
20
+ import numbers
21
+ import hashlib
22
+
23
+ from mindspore.ops import operations as P
24
+ from mindspore.ops.operations import _inner_ops as inner
25
+ from mindspore.common.parameter import Parameter
26
+ from mindspore.common.initializer import initializer, Initializer
27
+ from mindspore.common.tensor import Tensor
28
+ from mindspore.ops.primitive import constexpr, _primexpr
29
+ import mindspore.context as context
30
+ from mindspore import _checkparam as validator
31
+ from mindspore._extends import cell_attr_register
32
+ from mindspore.communication.management import get_group_size, get_rank
33
+ from mindspore.communication import management
34
+ from mindspore.common import dtype as mstype
35
+ from mindspore.parallel._utils import _is_in_auto_parallel_mode
36
+ from mindspore.nn.cell import Cell
37
+ from mindspore import log as logger
38
+ from mindspore.ops import group_norm
39
+
40
+ __all__ = ['BatchNorm1d', 'BatchNorm2d', 'BatchNorm3d', 'LayerNorm', 'GroupNorm',
41
+ 'SyncBatchNorm', 'InstanceNorm1d', 'InstanceNorm2d', 'InstanceNorm3d']
42
+
43
+
44
+ def _check_dim(val, target, cls_name):
45
+ def _check(val, target, cls_name):
46
+ if val != target:
47
+ raise ValueError(f"For '{cls_name}', the in_shape must have {target} dims, but got {val}.")
48
+ _check(val, target, cls_name)
49
+
50
+
51
+ class _BatchNorm(Cell):
52
+ """Batch Normalization base class."""
53
+
54
+ @cell_attr_register
55
+ def __init__(self,
56
+ num_features,
57
+ eps=1e-5,
58
+ momentum=0.9,
59
+ affine=True,
60
+ gamma_init='ones',
61
+ beta_init='zeros',
62
+ moving_mean_init='zeros',
63
+ moving_var_init='ones',
64
+ use_batch_statistics=None,
65
+ data_format='NCHW',
66
+ dtype=mstype.float32):
67
+ """Initialize _BatchNorm."""
68
+ super(_BatchNorm, self).__init__()
69
+ validator.check_value_type('num_features', num_features, [int], self.cls_name)
70
+ if num_features < 1:
71
+ raise ValueError(f"For '{self.cls_name}', the 'num_features' must be at least 1, but got {num_features}.")
72
+
73
+ if momentum < 0 or momentum > 1:
74
+ raise ValueError(f"For '{self.cls_name}', the 'momentum' must be a number in range [0, 1], "
75
+ f"but got {momentum}.")
76
+ self.format = validator.check_string(data_format, ['NCHW', 'NHWC'], 'format', self.cls_name)
77
+ if context.get_context("device_target") != "GPU" and self.format == "NHWC":
78
+ raise ValueError(f"For '{self.cls_name}', the 'NHWC' format only support in GPU target, but got device "
79
+ f"target {context.get_context('device_target')}.")
80
+ self.use_batch_statistics = use_batch_statistics
81
+ if self.use_batch_statistics is not None and not isinstance(self.use_batch_statistics, bool):
82
+ raise ValueError(f"For '{self.cls_name}', the 'use_batch_statistics' must be a boolean value or None,"
83
+ f" but got {use_batch_statistics}.")
84
+ self.num_features = num_features
85
+ self.eps = eps
86
+ self.beta_init = beta_init
87
+ self.gamma_init = gamma_init
88
+ self.moving_mean_init = moving_mean_init
89
+ self.moving_var_init = moving_var_init
90
+ self.moving_mean = Parameter(initializer(
91
+ moving_mean_init, num_features, dtype=dtype), name="mean", requires_grad=False)
92
+ self.moving_variance = Parameter(initializer(
93
+ moving_var_init, num_features, dtype=dtype), name="variance", requires_grad=False)
94
+ self.gamma = Parameter(initializer(
95
+ gamma_init, num_features, dtype=dtype), name="gamma", requires_grad=affine)
96
+ self.beta = Parameter(initializer(
97
+ beta_init, num_features, dtype=dtype), name="beta", requires_grad=affine)
98
+
99
+ self.parallel_mode = context.get_auto_parallel_context("parallel_mode")
100
+
101
+ self.shape = P.Shape()
102
+ self.reduce_mean = P.ReduceMean(keep_dims=True)
103
+ self.square = P.Square()
104
+ self.sqrt = P.Sqrt()
105
+ self.cast = P.Cast()
106
+ self.dtype = P.DType()
107
+ self.reshape = P.Reshape()
108
+ self._target = context.get_context("device_target")
109
+ self.is_graph_mode = context.get_context("mode") == context.GRAPH_MODE
110
+ self.momentum = 1.0 - momentum
111
+
112
+ self.bn_train = P.BatchNorm(is_training=True,
113
+ epsilon=self.eps,
114
+ momentum=self.momentum,
115
+ data_format=self.format)
116
+
117
+ self.bn_infer = P.BatchNorm(is_training=False, epsilon=self.eps, data_format=self.format)
118
+ if _is_in_auto_parallel_mode():
119
+ data_parallel_strategy = ((1,), (1,))
120
+ data_parallel_strategy_one = ((1,), ())
121
+ else:
122
+ data_parallel_strategy = None
123
+ data_parallel_strategy_one = None
124
+ self.sub_mean = P.Sub().shard(data_parallel_strategy)
125
+ self.sub_var = P.Sub().shard(data_parallel_strategy)
126
+ self.mul_mean = P.Mul().shard(data_parallel_strategy_one)
127
+ self.mul_var = P.Mul().shard(data_parallel_strategy_one)
128
+ self.assign_sub_mean = P.AssignSub().shard(data_parallel_strategy)
129
+ self.assign_sub_var = P.AssignSub().shard(data_parallel_strategy)
130
+
131
+ @staticmethod
132
+ @_primexpr
133
+ def _check_input_dim(shape, cls_name):
134
+ raise NotImplementedError
135
+
136
+ def construct(self, x):
137
+ self._check_input_dim(self.shape(x), self.cls_name)
138
+ x_shape = self.shape(x)
139
+ reshaped_x = x
140
+ if len(x_shape) == 2:
141
+ reshaped_x = self.reshape(x, (x_shape[0], x_shape[1], 1, 1))
142
+ elif len(x_shape) == 3:
143
+ reshaped_x = self.reshape(x, (x_shape[0], x_shape[1], x_shape[2], 1))
144
+ if self.use_batch_statistics is None:
145
+ if self.training:
146
+ return self.bn_train(x,
147
+ self.gamma,
148
+ self.beta,
149
+ self.moving_mean,
150
+ self.moving_variance)[0]
151
+ if not self.training:
152
+ bn_out = self.bn_infer(reshaped_x,
153
+ self.gamma,
154
+ self.beta,
155
+ self.moving_mean,
156
+ self.moving_variance)[0]
157
+ if len(x_shape) < 4:
158
+ bn_out = self.reshape(bn_out, x_shape)
159
+ return bn_out
160
+
161
+ if self.use_batch_statistics:
162
+ return self.bn_train(x,
163
+ self.gamma,
164
+ self.beta,
165
+ self.moving_mean,
166
+ self.moving_variance)[0]
167
+
168
+ bn_out = self.bn_infer(reshaped_x,
169
+ self.gamma,
170
+ self.beta,
171
+ self.moving_mean,
172
+ self.moving_variance)[0]
173
+ if len(x_shape) < 4:
174
+ bn_out = self.reshape(bn_out, x_shape)
175
+ return bn_out
176
+
177
+ def extend_repr(self):
178
+ return 'num_features={}, eps={}, momentum={}, gamma={}, beta={}, moving_mean={}, moving_variance={}'.format(
179
+ self.num_features, self.eps, 1.0 - self.momentum, self.gamma, self.beta, \
180
+ self.moving_mean, self.moving_variance)
181
+
182
+
183
+ class BatchNorm1d(_BatchNorm):
184
+ r"""
185
+ This layer
186
+ applies Batch Normalization over a 2D or 3D input (a mini-batch of 1D or 2D inputs) to
187
+ reduce internal covariate shift. Batch Normalization is widely used in convolutional networks.
188
+ For the setailed contents, refer to `Batch Normalization: Accelerating Deep Network Training by
189
+ Reducing Internal Covariate Shift <https://arxiv.org/abs/1502.03167>`_. It
190
+ rescales and recenters the feature using a mini-batch of data and
191
+ the learned parameters which can be described in the following formula.
192
+
193
+ .. math::
194
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
195
+
196
+ Note:
197
+ The implementation of BatchNorm is different in graph mode and pynative mode, therefore the mode is not
198
+ recommended to be changed after net was initialized.
199
+
200
+ Args:
201
+ num_features (int): number of features or channels `C` of the input `x` .
202
+ eps (float): :math:`\epsilon` added to the denominator for numerical stability. Default: ``1e-5`` .
203
+ momentum (float): A floating hyperparameter of the momentum for the
204
+ running_mean and running_var computation. Default: ``0.9`` .
205
+ affine (bool): A bool value. When set to ``True`` , :math:`\gamma` and :math:`\beta` can be learned.
206
+ Default: ``True`` .
207
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\gamma` weight.
208
+ The values of str refer to the function `mindspore.common.initializer
209
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
210
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'ones'`` .
211
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\beta` weight.
212
+ The values of str refer to the function `mindspore.common.initializer
213
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
214
+ including ``'zeros'`` , ``'ones'``, etc. Default: ``'zeros'`` .
215
+ moving_mean_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving mean.
216
+ The values of str refer to the function `mindspore.common.initializer
217
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
218
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'zeros'`` .
219
+ moving_var_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving variance.
220
+ The values of str refer to the function `mindspore.common.initializer
221
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
222
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'ones'`` .
223
+ use_batch_statistics (bool): If ``true`` , use the mean value and variance value of current batch data. If
224
+ ``false`` , use the mean value and variance value of specified value. If ``None`` , the training process
225
+ will use the mean and variance of current batch data and track the running mean and variance, the
226
+ evaluation process will use the running mean and variance. Default: ``None`` .
227
+ data_format (str): The optional value for data format, is ``'NHWC'`` or ``'NCHW'`` .
228
+ Default: ``'NCHW'`` .
229
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
230
+
231
+ Inputs:
232
+ - **x** (Tensor) - Tensor of shape :math:`(N, C)` or :math:`(N, C, L)` ,
233
+ where `N` is the batch size, `C` is the number of features or channels, and `L` is the sequence length.
234
+ Supported types: float16, float32.
235
+
236
+ Outputs:
237
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C)` or :math:`(N, C, L)` .
238
+
239
+ Raises:
240
+ TypeError: If `num_features` is not an int.
241
+ TypeError: If `eps` is not a float.
242
+ ValueError: If `num_features` is less than 1.
243
+ ValueError: If `momentum` is not in range [0, 1].
244
+
245
+ Supported Platforms:
246
+ ``Ascend`` ``GPU`` ``CPU``
247
+
248
+ Examples:
249
+ >>> import numpy as np
250
+ >>> import mindspore as ms
251
+ >>> net = ms.nn.BatchNorm1d(num_features=4)
252
+ >>> x = ms.Tensor(np.array([[0.7, 0.5, 0.5, 0.6],
253
+ ... [0.5, 0.4, 0.6, 0.9]]).astype(np.float32))
254
+ >>> output = net(x)
255
+ >>> print(output)
256
+ [[ 0.6999965 0.4999975 0.4999975 0.59999704 ]
257
+ [ 0.4999975 0.399998 0.59999704 0.89999545 ]]
258
+ """
259
+
260
+ @staticmethod
261
+ @_primexpr
262
+ def _check_input_dim(shape, cls_name):
263
+ def _check(dim):
264
+ if dim not in (2, 3):
265
+ raise ValueError(f"For '{cls_name}', the must have 2 dims or 3 dims, but got {dim}.")
266
+ dim = len(shape)
267
+ _check(dim)
268
+
269
+
270
+ class BatchNorm2d(_BatchNorm):
271
+ r"""
272
+ Batch Normalization is widely used in convolutional networks. This layer
273
+ applies Batch Normalization over a 4D input (a mini-batch of 2D inputs with
274
+ additional channel dimension) to avoid internal covariate shift as described
275
+ in the paper `Batch Normalization: Accelerating Deep Network Training by
276
+ Reducing Internal Covariate Shift <https://arxiv.org/abs/1502.03167>`_. It
277
+ rescales and recenters the feature using a mini-batch of data and
278
+ the learned parameters which can be described in the following formula.
279
+
280
+ .. math::
281
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
282
+
283
+ Note:
284
+ The implementation of BatchNorm is different in graph mode and pynative mode, therefore that mode can not be
285
+ changed after net was initialized.
286
+ Note that the formula for updating the :math:`moving\_mean` and :math:`moving\_var` is
287
+
288
+ .. math::
289
+ \text{moving_mean}=\text{moving_mean*momentum}+μ_β\text{*(1−momentum)}\\
290
+ \text{moving_var}=\text{moving_var*momentum}+σ^2_β\text{*(1−momentum)}
291
+
292
+ where :math:`moving\_mean` is the updated mean, :math:`moving\_var` is the updated variance,
293
+ :math:`μ_β, σ^2_β` are the observed value (mean and variance) of each batch of data.
294
+
295
+ Args:
296
+ num_features (int): The number of channels of the input tensor. Expected input size is :math:`(N, C, H, W)`,
297
+ `C` represents the number of channels.
298
+ eps (float): :math:`\epsilon` added to the denominator for numerical stability. Default: ``1e-5`` .
299
+ momentum (float): A floating hyperparameter of the momentum for the
300
+ running_mean and running_var computation. Default: ``0.9`` .
301
+ affine (bool): A bool value. When set to ``True`` , :math:`\gamma` and :math:`\beta` can be learned.
302
+ Default: ``True`` .
303
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\gamma` weight.
304
+ The values of str refer to the function `mindspore.common.initializer
305
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
306
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'ones'`` .
307
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\beta` weight.
308
+ The values of str refer to the function `mindspore.common.initializer
309
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
310
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'zeros'`` .
311
+ moving_mean_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving mean.
312
+ The values of str refer to the function `mindspore.common.initializer
313
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
314
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'zeros'`` .
315
+ moving_var_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving variance.
316
+ The values of str refer to the function `mindspore.common.initializer
317
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
318
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'ones'`` .
319
+ use_batch_statistics (bool): Default: ``None`` .
320
+
321
+ - If ``true`` , use the mean value and variance value of current batch data and track running mean
322
+ and running variance.
323
+ - If ``false`` , use the mean value and variance value of specified value, and not track statistical value.
324
+ - If ``None`` , the use_batch_statistics is automatically set to ``true`` or ``false`` according to the
325
+ training and evaluation mode. During training, the parameter is set to true, and during evaluation, the
326
+ parameter is set to false.
327
+
328
+ data_format (str): The optional value for data format, is ``'NHWC'`` or ``'NCHW'`` .
329
+ Default: ``'NCHW'`` .
330
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
331
+
332
+ Inputs:
333
+ - **x** (Tensor) - Tensor of shape :math:`(N, C, H, W)`. Supported types: float16, float32.
334
+
335
+ Outputs:
336
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C, H, W)`.
337
+
338
+ Raises:
339
+ TypeError: If `num_features` is not an int.
340
+ TypeError: If `eps` is not a float.
341
+ ValueError: If `num_features` is less than 1.
342
+ ValueError: If `momentum` is not in range [0, 1].
343
+ ValueError: If `data_format` is neither 'NHWC' not 'NCHW'.
344
+
345
+ Supported Platforms:
346
+ ``Ascend`` ``GPU`` ``CPU``
347
+
348
+ Examples:
349
+ >>> import numpy as np
350
+ >>> import mindspore as ms
351
+ >>> net = ms.nn.BatchNorm2d(num_features=3)
352
+ >>> x = ms.Tensor(np.ones([1, 3, 2, 2]).astype(np.float32))
353
+ >>> output = net(x)
354
+ >>> print(output)
355
+ [[[[ 0.999995 0.999995 ]
356
+ [ 0.999995 0.999995 ]]
357
+ [[ 0.999995 0.999995 ]
358
+ [ 0.999995 0.999995 ]]
359
+ [[ 0.999995 0.999995 ]
360
+ [ 0.999995 0.999995 ]]]]
361
+ """
362
+
363
+ @staticmethod
364
+ @_primexpr
365
+ def _check_input_dim(shape, cls_name):
366
+ dim = len(shape)
367
+ _check_dim(dim, 4, cls_name)
368
+
369
+
370
+ class BatchNorm3d(Cell):
371
+ r"""
372
+ Batch Normalization is widely used in convolutional networks. This layer
373
+ applies Batch Normalization over a 5D input (a mini-batch of 3D inputs with
374
+ additional channel dimension) to avoid internal covariate shift.
375
+
376
+ .. math::
377
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
378
+
379
+ Note:
380
+ The implementation of BatchNorm is different in graph mode and pynative mode, therefore that mode can not be
381
+ changed after net was initialized.
382
+ Note that the formula for updating the running_mean and running_var is
383
+ :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}`,
384
+ where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the new observed value.
385
+
386
+ Args:
387
+ num_features (int): `C` from an expected input of size :math:`(N, C, D, H, W)` .
388
+ eps (float): A value added to the denominator for numerical stability. Default: ``1e-5`` .
389
+ momentum (float): A floating hyperparameter of the momentum for the
390
+ running_mean and running_var computation. Default: ``0.9`` .
391
+ affine (bool): A bool value. When set to ``True`` , gamma and beta can be learned. Default: ``True`` .
392
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the gamma weight.
393
+ The values of str refer to the function `mindspore.common.initializer
394
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
395
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'ones'`` .
396
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the beta weight.
397
+ The values of str refer to the function `mindspore.common.initializer
398
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
399
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'zeros'`` .
400
+ moving_mean_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving mean.
401
+ The values of str refer to the function `mindspore.common.initializer
402
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
403
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'zeros'`` .
404
+ moving_var_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving variance.
405
+ The values of str refer to the function `mindspore.common.initializer
406
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore.common.initializer.html>`_
407
+ including ``'zeros'`` , ``'ones'`` , etc. Default: ``'ones'`` .
408
+ use_batch_statistics (bool): If true, use the mean value and variance value of current batch data. If
409
+ ``false``, use the mean value and variance value of specified value. If ``None`` , the training process
410
+ will use the mean and variance of current batch data and track the running mean and variance, the
411
+ evaluation process will use the running mean and variance. Default: ``None`` .
412
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
413
+
414
+ Inputs:
415
+ - **x** (Tensor) - Tensor of shape :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})`.
416
+ Supported types: float16, float32.
417
+
418
+ Outputs:
419
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C_{out}, D_{out},H_{out}, W_{out})`.
420
+
421
+ Raises:
422
+ TypeError: If `num_features` is not an int.
423
+ TypeError: If `eps` is not a float.
424
+ ValueError: If `num_features` is less than 1.
425
+ ValueError: If `momentum` is not in range [0, 1].
426
+
427
+ Supported Platforms:
428
+ ``Ascend`` ``GPU`` ``CPU``
429
+
430
+ Examples:
431
+ >>> import numpy as np
432
+ >>> import mindspore as ms
433
+ >>> net = ms.nn.BatchNorm3d(num_features=3)
434
+ >>> x = ms.Tensor(np.ones([16, 3, 10, 32, 32]).astype(np.float32))
435
+ >>> output = net(x)
436
+ >>> print(output.shape)
437
+ (16, 3, 10, 32, 32)
438
+ """
439
+
440
+ def __init__(self,
441
+ num_features,
442
+ eps=1e-5,
443
+ momentum=0.9,
444
+ affine=True,
445
+ gamma_init='ones',
446
+ beta_init='zeros',
447
+ moving_mean_init='zeros',
448
+ moving_var_init='ones',
449
+ use_batch_statistics=None,
450
+ dtype=mstype.float32):
451
+ """Initialize BatchNorm3d."""
452
+ super(BatchNorm3d, self).__init__()
453
+ self.bn2d = BatchNorm2d(num_features=num_features,
454
+ eps=eps,
455
+ momentum=momentum,
456
+ affine=affine,
457
+ gamma_init=gamma_init,
458
+ beta_init=beta_init,
459
+ moving_mean_init=moving_mean_init,
460
+ moving_var_init=moving_var_init,
461
+ use_batch_statistics=use_batch_statistics,
462
+ data_format="NCHW",
463
+ dtype=dtype)
464
+ self.shape = P.Shape()
465
+ self.reshape = P.Reshape()
466
+
467
+ @staticmethod
468
+ @_primexpr
469
+ def _check_input_dim(shape, cls_name):
470
+ dim = len(shape)
471
+ _check_dim(dim, 5, cls_name)
472
+
473
+ def construct(self, x):
474
+ x_shape = self.shape(x)
475
+ self._check_input_dim(x_shape, self.cls_name)
476
+ x = self.reshape(x, (x_shape[0], x_shape[1], x_shape[2] * x_shape[3], x_shape[4]))
477
+ bn2d_out = self.bn2d(x)
478
+ bn3d_out = self.reshape(bn2d_out, x_shape)
479
+ return bn3d_out
480
+
481
+
482
+ SYNCBN_GROUP_DICT = None
483
+
484
+
485
+ def _syncbatchnorm_group_dict():
486
+ global SYNCBN_GROUP_DICT
487
+ if SYNCBN_GROUP_DICT is None:
488
+ SYNCBN_GROUP_DICT = dict()
489
+ return SYNCBN_GROUP_DICT
490
+
491
+
492
+ class SyncBatchNorm(_BatchNorm):
493
+ r"""
494
+ Sync Batch Normalization layer over a N-dimension input.
495
+
496
+ Sync Batch Normalization is cross device synchronized Batch Normalization. The implementation of Batch
497
+ Normalization only normalizes the data within each device. Sync Batch Normalization will normalize the input
498
+ within the group. It has been described in the paper `Batch Normalization: Accelerating Deep Network Training by
499
+ Reducing Internal Covariate Shift <https://arxiv.org/abs/1502.03167>`_. It rescales and recenters the
500
+ feature using a mini-batch of data and the learned parameters which can be described in the following formula.
501
+
502
+ .. math::
503
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
504
+
505
+ Note:
506
+ Currently, SyncBatchNorm only supports 2D and 4D inputs.
507
+ :math:`\gamma` and :math:`\beta` are trainable scale and shift.
508
+
509
+ Args:
510
+ num_features (int): `C` from an expected input of size :math:`(N, C, H, W)`.
511
+ eps (float): :math:`\epsilon`, a value added to the denominator for numerical stability. Default: ``1e-5`` .
512
+ momentum (float): A floating hyperparameter of the momentum for the
513
+ running_mean and running_var computation. Default: ``0.9`` .
514
+ affine (bool): A bool value. When set to ``True`` , :math:`\gamma` and :math:`\beta` can be learned.
515
+ Default: ``True`` .
516
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\gamma` weight.
517
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
518
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'ones'`` .
519
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\beta` weight.
520
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
521
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'zeros'`` .
522
+ moving_mean_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving mean.
523
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
524
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'zeros'`` .
525
+ moving_var_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the moving variance.
526
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
527
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'ones'`` .
528
+ use_batch_statistics (bool): If ``true`` , use the mean value and variance value of current batch data. If
529
+ ``false`` , use the mean value and variance value of specified value. If ``None`` , training process will
530
+ use the mean and variance of current batch data and track the running mean and variance, eval process will
531
+ use the running mean and variance. Default: ``None`` .
532
+ process_groups (list): A list to divide devices into different sync groups, containing N subtraction lists.
533
+ Each subtraction list contains int numbers identifying rank ids which need to be synchronized in the same
534
+ group. All int values must be in [0, rank_size) and different from each other. Default: ``None`` ,
535
+ indicating synchronization across all devices.
536
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
537
+
538
+ Inputs:
539
+ - **x** (Tensor) - Tensor of shape :math:`(N, C_{in}, H_{in}, W_{in})`.
540
+
541
+ Outputs:
542
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C_{out}, H_{out}, W_{out})`.
543
+
544
+ Raises:
545
+ TypeError: If `num_features` is not an int.
546
+ TypeError: If `eps` is not a float.
547
+ TypeError: If `process_groups` is not a list.
548
+ ValueError: If `num_features` is less than 1.
549
+ ValueError: If `momentum` is not in range [0, 1].
550
+ ValueError: If rank_id in `process_groups` is not in range [0, rank_size).
551
+
552
+ Supported Platforms:
553
+ ``Ascend``
554
+
555
+ Examples:
556
+ .. note::
557
+ Before running the following examples, you need to configure the communication environment variables.
558
+
559
+ For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
560
+ Please see the `Ascend tutorial
561
+ <https://www.mindspore.cn/tutorials/experts/en/master/parallel/rank_table.html>`_
562
+ for more details.
563
+
564
+ For the GPU devices, users need to prepare the host file and mpi, please see the `mpirun Startup
565
+ <https://www.mindspore.cn/tutorials/experts/en/master/parallel/mpirun.html>`_ .
566
+
567
+ For the CPU device, users need to write a dynamic cluster startup script, please see the `Dynamic Cluster
568
+ Startup <https://www.mindspore.cn/tutorials/experts/en/master/parallel/dynamic_cluster.html>`_ .
569
+
570
+ This example should be run with multiple devices.
571
+
572
+ >>> import numpy as np
573
+ >>> import mindspore as ms
574
+ >>> from mindspore.communication import init
575
+ >>>
576
+ >>> ms.set_context(mode=ms.GRAPH_MODE)
577
+ >>> init()
578
+ >>> ms.reset_auto_parallel_context()
579
+ >>> ms.set_auto_parallel_context(parallel_mode=ms.ParallelMode.DATA_PARALLEL)
580
+ >>> sync_bn_op = ms.nn.SyncBatchNorm(num_features=3, process_groups=[[0, 1], [2, 3]])
581
+ >>> x = ms.Tensor(np.ones([1, 3, 2, 2]), ms.float32)
582
+ >>> output = sync_bn_op(x)
583
+ >>> print(output)
584
+ [[[[ 0.999995 0.999995 ]
585
+ [ 0.999995 0.999995 ]]
586
+ [[ 0.999995 0.999995 ]
587
+ [ 0.999995 0.999995 ]]
588
+ [[ 0.999995 0.999995 ]
589
+ [ 0.999995 0.999995 ]]]]
590
+ """
591
+ @cell_attr_register(attrs=['num_features', 'process_groups'])
592
+ def __init__(self,
593
+ num_features,
594
+ eps=1e-5,
595
+ momentum=0.9,
596
+ affine=True,
597
+ gamma_init='ones',
598
+ beta_init='zeros',
599
+ moving_mean_init='zeros',
600
+ moving_var_init='ones',
601
+ use_batch_statistics=None,
602
+ process_groups=None,
603
+ dtype=mstype.float32):
604
+ """Initialize SyncBatchNorm."""
605
+ super(SyncBatchNorm, self).__init__(num_features,
606
+ eps,
607
+ momentum,
608
+ affine,
609
+ gamma_init,
610
+ beta_init,
611
+ moving_mean_init,
612
+ moving_var_init,
613
+ use_batch_statistics,
614
+ dtype=dtype)
615
+ self.is_global = False
616
+ self.group_name = None
617
+ self.process_groups = process_groups
618
+ if self.process_groups != 0:
619
+ self.rank_id = get_rank()
620
+ self.rank_size = get_group_size()
621
+ if self.process_groups is not None:
622
+ validator.check_isinstance("process_groups", self.process_groups, list)
623
+ self._check_rank_ids(self.process_groups, self.rank_size)
624
+ self._create_sync_groups()
625
+ elif self.rank_size > 1:
626
+ self.is_global = True
627
+ self.group_device_num = self.rank_size
628
+ if context.get_context("device_target") == "Ascend":
629
+ self.group_name = "hccl_world_group"
630
+ elif context.get_context("device_target") == "GPU":
631
+ self.group_name = "nccl_world_group"
632
+
633
+ if self.is_global:
634
+ self.bn_train = inner.SyncBatchNorm(epsilon=self.eps,
635
+ momentum=self.momentum,
636
+ group=self.group_name,
637
+ device_num=self.group_device_num)
638
+
639
+ def _create_sync_groups(self):
640
+ """ create groups by process groups. """
641
+ for sub_group in self.process_groups:
642
+ validator.check_isinstance("sub group", sub_group, list)
643
+ self.group_device_num = len(sub_group)
644
+ if self.rank_id in sub_group and self.group_device_num > 1:
645
+ self.is_global = True
646
+ rank_list_name = '_'.join('%s' % id for id in sub_group)
647
+ group_dict = _syncbatchnorm_group_dict()
648
+ if rank_list_name not in group_dict:
649
+ md5 = hashlib.md5()
650
+ md5.update(rank_list_name.encode('utf-8'))
651
+ hash_name = md5.hexdigest()
652
+ self.group_name = str(self.group_device_num) + '_' + hash_name
653
+ group_dict[rank_list_name] = self.group_name
654
+ management.create_group(self.group_name, sub_group)
655
+ logger.info("create group for sync batchnorm, the rank list is {}, the group name is {}".format(
656
+ rank_list_name, self.group_name))
657
+ else:
658
+ self.group_name = group_dict[rank_list_name]
659
+ logger.info("the group for {} already exists, no need to create".format(rank_list_name))
660
+
661
+ def _check_rank_ids(self, process_groups, rank_size):
662
+ seen = set()
663
+ for rid in itertools.chain(*process_groups):
664
+ validator.check_int_range(rid, 0, rank_size, validator.INC_LEFT, "rank id in process_groups", self.cls_name)
665
+ if rid in seen:
666
+ raise ValueError(f"For '{self.cls_name}', rank id in 'process_groups' must not be duplicated, "
667
+ f"but got {process_groups}.")
668
+ seen.add(rid)
669
+
670
+ @staticmethod
671
+ @_primexpr
672
+ def _check_input_dim(shape, cls_name):
673
+ def _check(dim):
674
+ if dim not in (2, 4):
675
+ raise ValueError(f"For '{cls_name}', the must have 2 dims or 4 dims, but got {dim}.")
676
+ dim = len(shape)
677
+ _check(dim)
678
+
679
+
680
+ class LayerNorm(Cell):
681
+ r"""
682
+ Applies Layer Normalization over a mini-batch of inputs.
683
+
684
+ Layer Normalization is widely used in recurrent neural networks. It applies
685
+ normalization on a mini-batch of inputs for each single training case as described
686
+ in the paper `Layer Normalization <https://arxiv.org/pdf/1607.06450.pdf>`_. Unlike Batch
687
+ Normalization, Layer Normalization performs exactly the same computation at training and
688
+ testing time. It is applied across all channels and pixel but only one batch size.
689
+ :math:`\gamma` and :math:`\beta` are trainable scale and shift.
690
+ It can be described using the following formula:
691
+
692
+ .. math::
693
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
694
+
695
+ Args:
696
+ normalized_shape (Union(tuple[int], list[int])): The normalization is performed over axis
697
+ `begin_norm_axis ... R - 1`. R is the dimension size of input `x`.
698
+ begin_norm_axis (int): The first normalization dimension: normalization will be performed along dimensions
699
+ `begin_norm_axis: R`, the value should be in [-1, R). Default: ``-1`` .
700
+ begin_params_axis (int): The begin axis of the parameter input :math:`(\gamma, \beta)` to
701
+ apply LayerNorm, the value should be in [-1, R). Default: ``-1`` .
702
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\gamma` weight.
703
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
704
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'ones'`` .
705
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the :math:`\beta` weight.
706
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
707
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'zeros'`` .
708
+ epsilon (float): A value added to the denominator for numerical stability(:math:`\epsilon`). Default: ``1e-7`` .
709
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
710
+
711
+ Inputs:
712
+ - **x** (Tensor) - The shape of `x` is :math:`(x_1, x_2, ..., x_R)`,
713
+ and `input_shape[begin_norm_axis:]` is equal to `normalized_shape`.
714
+
715
+ Outputs:
716
+ Tensor, the normalized and scaled offset tensor, has the same shape and data type as the `x`.
717
+
718
+ Raises:
719
+ TypeError: If `normalized_shape` is neither a list nor tuple.
720
+ TypeError: If `begin_norm_axis` or `begin_params_axis` is not an int.
721
+ TypeError: If `epsilon` is not a float.
722
+
723
+ Supported Platforms:
724
+ ``Ascend`` ``GPU`` ``CPU``
725
+
726
+ Examples:
727
+ >>> import mindspore as ms
728
+ >>> import numpy as np
729
+ >>> x = ms.Tensor(np.ones([20, 5, 10, 10]), ms.float32)
730
+ >>> shape1 = x.shape[1:]
731
+ >>> m = ms.nn.LayerNorm(shape1, begin_norm_axis=1, begin_params_axis=1)
732
+ >>> output = m(x).shape
733
+ >>> print(output)
734
+ (20, 5, 10, 10)
735
+ """
736
+
737
+ def __init__(self,
738
+ normalized_shape,
739
+ begin_norm_axis=-1,
740
+ begin_params_axis=-1,
741
+ gamma_init='ones',
742
+ beta_init='zeros',
743
+ epsilon=1e-7,
744
+ dtype=mstype.float32
745
+ ):
746
+ """Initialize LayerNorm."""
747
+ super(LayerNorm, self).__init__()
748
+ if not isinstance(normalized_shape, (tuple, list)):
749
+ raise TypeError(f"For '{self.cls_name}', the type of 'normalized_shape' must be tuple[int] or list[int], "
750
+ f"but got {normalized_shape} and the type is {type(normalized_shape)}.")
751
+ if not normalized_shape:
752
+ raise ValueError(
753
+ f"Expected normalized_shape to be at least 1-dimensional, i.e., containing at "
754
+ f"least one element, but got normalized_shape = {normalized_shape}"
755
+ )
756
+ self.normalized_shape = normalized_shape
757
+ self.begin_norm_axis = begin_norm_axis
758
+ self.begin_params_axis = begin_params_axis
759
+ self.epsilon = epsilon
760
+ self.gamma = Parameter(initializer(
761
+ gamma_init, normalized_shape, dtype=dtype), name="gamma")
762
+ self.beta = Parameter(initializer(
763
+ beta_init, normalized_shape, dtype=dtype), name="beta")
764
+ self.layer_norm = P.LayerNorm(begin_norm_axis=self.begin_norm_axis,
765
+ begin_params_axis=self.begin_params_axis,
766
+ epsilon=self.epsilon)
767
+
768
+ def construct(self, input_x):
769
+ y, _, _ = self.layer_norm(input_x, self.gamma.astype(input_x.dtype), self.beta.astype(input_x.dtype))
770
+ return y
771
+
772
+ def extend_repr(self):
773
+ return 'normalized_shape={}, begin_norm_axis={}, begin_params_axis={}, gamma{}, beta={}'.format(
774
+ self.normalized_shape, self.begin_norm_axis, self.begin_params_axis, self.gamma, self.beta)
775
+
776
+
777
+ class _InstanceNorm(Cell):
778
+ """Instance Normalization base class."""
779
+ @cell_attr_register
780
+ def __init__(self,
781
+ num_features,
782
+ eps=1e-5,
783
+ momentum=0.1,
784
+ affine=True,
785
+ gamma_init='ones',
786
+ beta_init='zeros',
787
+ dtype=mstype.float32):
788
+ """Initialize Normalization base class."""
789
+ super(_InstanceNorm, self).__init__()
790
+ validator.check_value_type('num_features', num_features, [int], self.cls_name)
791
+ validator.check_value_type('eps', eps, [float], self.cls_name)
792
+ validator.check_value_type('momentum', momentum, [float], self.cls_name)
793
+ validator.check_value_type('affine', affine, [bool], self.cls_name)
794
+ args_input = {"gamma_init": gamma_init, "beta_init": beta_init}
795
+ self.check_types_valid(args_input, 'InstanceNorm2d')
796
+ if num_features < 1:
797
+ raise ValueError(f"For '{self.cls_name}', the 'num_features' must be at least 1, but got {num_features}.")
798
+
799
+ if momentum < 0 or momentum > 1:
800
+ raise ValueError(f"For '{self.cls_name}', the 'momentum' must be a number in range [0, 1], "
801
+ f"but got {momentum}.")
802
+ self.num_features = num_features
803
+ self.eps = eps
804
+ self.moving_mean = Parameter(initializer('zeros', num_features, dtype=dtype), name="mean", requires_grad=False)
805
+ self.moving_variance = Parameter(initializer('ones', num_features, dtype=dtype), name="variance",
806
+ requires_grad=False)
807
+ self.gamma = Parameter(initializer(
808
+ gamma_init, num_features, dtype=dtype), name="gamma", requires_grad=affine)
809
+ self.beta = Parameter(initializer(
810
+ beta_init, num_features, dtype=dtype), name="beta", requires_grad=affine)
811
+
812
+ self.shape = P.Shape()
813
+ self.momentum = momentum
814
+ self.instance_bn = P.InstanceNorm(epsilon=self.eps, momentum=self.momentum)
815
+
816
+ def construct(self, x):
817
+ self._check_input_dim(self.shape(x), self.cls_name)
818
+ return self.instance_bn(x,
819
+ self.gamma,
820
+ self.beta,
821
+ self.moving_mean,
822
+ self.moving_variance)[0]
823
+
824
+ def extend_repr(self):
825
+ return 'num_features={}, eps={}, momentum={}, gamma={}, beta={}, moving_mean={}, moving_variance={}'.format(
826
+ self.num_features, self.eps, self.momentum, self.gamma, self.beta, self.moving_mean, self.moving_variance)
827
+
828
+ def check_types_valid(self, args_dict, name):
829
+ for key, _ in args_dict.items():
830
+ val = args_dict[key]
831
+ if not isinstance(val, (Tensor, numbers.Number, str, Initializer)):
832
+ raise TypeError(f"For '{self.cls_name}', the type of '{key}' must be in "
833
+ f"[Tensor, numbers.Number, str, Initializer], but got type {type(val).__name__}.")
834
+ if isinstance(val, Tensor) and val.dtype != mstype.float32:
835
+ raise TypeError(f"For '{self.cls_name}', the type of '{key}' must be float32, "
836
+ f"but got {val.dtype}.")
837
+
838
+
839
+ class InstanceNorm1d(_InstanceNorm):
840
+ r"""
841
+ This layer applies Instance Normalization over a 3D input (a mini-batch of 1D inputs with
842
+ additional channel dimension). Refer to the paper `Instance Normalization: The Missing Ingredient for
843
+ Fast Stylization <https://arxiv.org/abs/1607.08022>`_. It rescales and recenters the feature using a mini-batch
844
+ of data and the learned parameters which can be described in the following formula.
845
+
846
+ .. math::
847
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
848
+
849
+ The size of :math:`\gamma` and :math:`\beta`, learnable parameters vectors, is num_features if affine is True.
850
+ The standard-deviation is calculated via the biased estimator.
851
+
852
+ This layer uses instance statistics computed from input data in both training and evaluation modes.
853
+
854
+ InstanceNorm1d and BatchNorm1d are very similar, but have some differences. InstanceNorm1d is applied on each
855
+ channel of channeled data like RGB images, but BatchNorm1d is usually applied on each batch of batched data.
856
+
857
+ Note:
858
+ Note that the formula for updating the running_mean and running_var is
859
+ :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}`,
860
+ where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the new observed value.
861
+
862
+ Args:
863
+ num_features (int): `C` from an expected input of size :math:`(N, C, L)`.
864
+ eps (float): A value added to the denominator for numerical stability. Default: ``1e-5`` .
865
+ momentum (float): A floating hyperparameter of the momentum for the
866
+ running_mean and running_var computation. Default: ``0.1`` .
867
+ affine (bool): A bool value. When set to True, gamma and beta can be learned. Default: ``True`` .
868
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the gamma weight.
869
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` , etc.
870
+ When initialized with Tensor, the shape should be :math:`(C)`. Default: ``'ones'`` .
871
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the beta weight.
872
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` , etc.
873
+ When initialized with Tensor, the shape should be :math:`(C)`. Default: ``'zeros'`` .
874
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
875
+
876
+ Inputs:
877
+ - **x** (Tensor) - Tensor of shape :math:`(N, C, L)`. Data type: float16 or float32.
878
+
879
+ Outputs:
880
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C, L)`. Same type and
881
+ shape as the `x`.
882
+
883
+ Raises:
884
+ TypeError: If the type of `num_features` is not int.
885
+ TypeError: If the type of `eps` is not float.
886
+ TypeError: If the type of `momentum` is not float.
887
+ TypeError: If the type of `affine` is not bool.
888
+ TypeError: If the type of `gamma_init`/`beta_init` is not same, or if the initialized element type is not
889
+ float32.
890
+ ValueError: If `num_features` is less than 1.
891
+ ValueError: If `momentum` is not in range [0, 1].
892
+ ValueError: If the shape of `gamma_init` / `beta_init` is not :math:`(C)`.
893
+ KeyError: If any of `gamma_init`/`beta_init` is str and the homonymous class inheriting from `Initializer` not
894
+ exists.
895
+
896
+ Supported Platforms:
897
+ ``GPU``
898
+
899
+ Examples:
900
+ >>> import mindspore as ms
901
+ >>> import numpy as np
902
+ >>> net = ms.nn.InstanceNorm1d(3)
903
+ >>> x = ms.Tensor(np.ones([2, 3, 5]), ms.float32)
904
+ >>> output = net(x)
905
+ >>> print(output.shape)
906
+ (2, 3, 5)
907
+ """
908
+
909
+ @staticmethod
910
+ @_primexpr
911
+ def _check_input_dim(shape, cls_name):
912
+ dim = len(shape)
913
+ _check_dim(dim, 3, cls_name)
914
+
915
+
916
+
917
+ class InstanceNorm2d(_InstanceNorm):
918
+ r"""
919
+ This layer applies Instance Normalization over a 4D input (a mini-batch of 2D inputs with
920
+ additional channel dimension). Refer to the paper `Instance Normalization: The Missing Ingredient for
921
+ Fast Stylization <https://arxiv.org/abs/1607.08022>`_. It rescales and recenters the feature using a mini-batch
922
+ of data and the learned parameters which can be described in the following formula.
923
+
924
+ .. math::
925
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
926
+
927
+ :math:`\gamma` and :math:`\beta` are learnable parameter vectors of size num_features if affine is True.
928
+ The standard-deviation is calculated via the biased estimator.
929
+
930
+ This layer uses instance statistics computed from input data in both training and evaluation modes.
931
+
932
+ InstanceNorm2d and BatchNorm2d are very similar, but have some differences. InstanceNorm2d is applied on each
933
+ channel of channeled data like RGB images, but BatchNorm2d is usually applied on each batch of batched data.
934
+
935
+ Note:
936
+ Note that the formula for updating the running_mean and running_var is
937
+ :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}`,
938
+ where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the new observed value.
939
+
940
+ Args:
941
+ num_features (int): `C` from an expected input of size :math:`(N, C, H, W)`.
942
+ eps (float): A value added to the denominator for numerical stability. Default: ``1e-5`` .
943
+ momentum (float): A floating hyperparameter of the momentum for the
944
+ running_mean and running_var computation. Default: ``0.1`` .
945
+ affine (bool): A bool value. When set to ``True`` , gamma and beta can be learned. Default: ``True`` .
946
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the gamma weight.
947
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` , etc.
948
+ When initialized with Tensor, the shape should be :math:`(C)`. Default: ``'ones'`` .
949
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the beta weight.
950
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` , etc.
951
+ When initialized with Tensor, the shape should be :math:`(C)`. Default: ``'zeros'`` .
952
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
953
+
954
+ Inputs:
955
+ - **x** (Tensor) - Tensor of shape :math:`(N, C, H, W)`. Data type: float16 or float32.
956
+
957
+ Outputs:
958
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C, H, W)`. Same type and
959
+ shape as the `x`.
960
+
961
+ Raises:
962
+ TypeError: If the type of `num_features` is not int.
963
+ TypeError: If the type of `eps` is not float.
964
+ TypeError: If the type of `momentum` is not float.
965
+ TypeError: If the type of `affine` is not bool.
966
+ TypeError: If the type of `gamma_init`/`beta_init` is not same, or if the initialized element type is not
967
+ float32.
968
+ ValueError: If `num_features` is less than 1.
969
+ ValueError: If `momentum` is not in range [0, 1].
970
+ ValueError: If the shape of `gamma_init` / `beta_init` is not :math:`(C)`.
971
+ KeyError: If any of `gamma_init`/`beta_init` is str and the homonymous class inheriting from `Initializer` not
972
+ exists.
973
+
974
+ Supported Platforms:
975
+ ``GPU``
976
+
977
+ Examples:
978
+ >>> import mindspore as ms
979
+ >>> import numpy as np
980
+ >>> net = ms.nn.InstanceNorm2d(3)
981
+ >>> x = ms.Tensor(np.ones([2, 3, 2, 2]), ms.float32)
982
+ >>> output = net(x)
983
+ >>> print(output.shape)
984
+ (2, 3, 2, 2)
985
+ """
986
+
987
+ @staticmethod
988
+ @_primexpr
989
+ def _check_input_dim(shape, cls_name):
990
+ dim = len(shape)
991
+ _check_dim(dim, 4, cls_name)
992
+
993
+
994
+ class InstanceNorm3d(_InstanceNorm):
995
+ r"""
996
+ This layer applies Instance Normalization over a 5D input (a mini-batch of 3D inputs with
997
+ additional channel dimension). Refer to the paper `Instance Normalization: The Missing Ingredient for
998
+ Fast Stylization <https://arxiv.org/abs/1607.08022>`_. It rescales and recenters the feature using a mini-batch
999
+ of data and the learned parameters which can be described in the following formula.
1000
+
1001
+ .. math::
1002
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
1003
+
1004
+ :math:`\gamma` and :math:`\beta` are learnable parameter vectors of size num_features if affine is True.
1005
+ The standard-deviation is calculated via the biased estimator.
1006
+
1007
+ This layer uses instance statistics computed from input data in both training and evaluation modes.
1008
+
1009
+ InstanceNorm3d and BatchNorm3d are very similar, but have some differences. InstanceNorm3d is applied on each
1010
+ channel of channeled data like RGB images, but BatchNorm3d is usually applied on each batch of batched data.
1011
+
1012
+ Note:
1013
+ Note that the formula for updating the running_mean and running_var is
1014
+ :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times x_t + \text{momentum} \times \hat{x}`,
1015
+ where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the new observed value.
1016
+
1017
+ Args:
1018
+ num_features (int): `C` from an expected input of size :math:`(N, C, D, H, W)`.
1019
+ eps (float): A value added to the denominator for numerical stability. Default: ``1e-5`` .
1020
+ momentum (float): A floating hyperparameter of the momentum for the
1021
+ running_mean and running_var computation. Default: ``0.1`` .
1022
+ affine (bool): A bool value. When set to ``True`` , gamma and beta can be learned. Default: ``True`` .
1023
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the gamma weight.
1024
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` , etc.
1025
+ When initialized with Tensor, the shape should be :math:`(C)`. Default: ``'ones'`` .
1026
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the beta weight.
1027
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` , etc.
1028
+ When initialized with Tensor, the shape should be :math:`(C)`. Default: ``'zeros'`` .
1029
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
1030
+
1031
+ Inputs:
1032
+ - **x** (Tensor) - Tensor of shape :math:`(N, C, D, H, W)`. Data type: float16 or float32.
1033
+
1034
+ Outputs:
1035
+ Tensor, the normalized, scaled, offset tensor, of shape :math:`(N, C, D, H, W)`. Same type and
1036
+ shape as the `x`.
1037
+
1038
+ Raises:
1039
+ TypeError: If the type of `num_features` is not int.
1040
+ TypeError: If the type of `eps` is not float.
1041
+ TypeError: If the type of `momentum` is not float.
1042
+ TypeError: If the type of `affine` is not bool.
1043
+ TypeError: If the type of `gamma_init`/`beta_init` is not same, or if the initialized element type is not
1044
+ float32.
1045
+ ValueError: If `num_features` is less than 1.
1046
+ ValueError: If `momentum` is not in range [0, 1].
1047
+ ValueError: If the shape of `gamma_init` / `beta_init` is not :math:`(C)`.
1048
+ KeyError: If any of `gamma_init`/`beta_init` is str and the homonymous class inheriting from `Initializer` not
1049
+ exists.
1050
+
1051
+ Supported Platforms:
1052
+ ``GPU``
1053
+
1054
+ Examples:
1055
+ >>> import mindspore as ms
1056
+ >>> import numpy as np
1057
+ >>> net = ms.nn.InstanceNorm3d(3)
1058
+ >>> x = ms.Tensor(np.ones([2, 3, 5, 2, 2]), ms.float32)
1059
+ >>> output = net(x)
1060
+ >>> print(output.shape)
1061
+ (2, 3, 5, 2, 2)
1062
+ """
1063
+
1064
+ @staticmethod
1065
+ @_primexpr
1066
+ def _check_input_dim(shape, cls_name):
1067
+ dim = len(shape)
1068
+ _check_dim(dim, 5, cls_name)
1069
+
1070
+
1071
+ class GroupNorm(Cell):
1072
+ r"""
1073
+ Group Normalization over a mini-batch of inputs.
1074
+
1075
+ Group Normalization is widely used in recurrent neural networks. It applies
1076
+ normalization on a mini-batch of inputs for each single training case as described
1077
+ in the paper `Group Normalization <https://arxiv.org/pdf/1803.08494.pdf>`_. Group Normalization
1078
+ divides the channels into groups and computes within each group the mean and variance for normalization,
1079
+ and it performs very stable over a wide range of batch size. :math:`\gamma` and :math:`\beta` are trainable scale
1080
+ and shift.
1081
+ It can be described using the following formula:
1082
+
1083
+ .. math::
1084
+ y = \frac{x - \mathrm{E}[x]}{\sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta
1085
+
1086
+ Args:
1087
+ num_groups (int): The number of groups to be divided along the channel dimension.
1088
+ num_channels (int): The number of input channels.
1089
+ eps (float): A value added to the denominator for numerical stability. Default: ``1e-05`` .
1090
+ affine (bool): A bool value, this layer will have learnable affine parameters when set to ``true`` .
1091
+ Default: ``True`` .
1092
+ gamma_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the gamma weight.
1093
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
1094
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'ones'`` . If gamma_init is a Tensor, the shape
1095
+ must be :math:`(num\_channels)`.
1096
+ beta_init (Union[Tensor, str, Initializer, numbers.Number]): Initializer for the beta weight.
1097
+ The values of str refer to the function `initializer` including ``'zeros'`` , ``'ones'`` ,
1098
+ ``'xavier_uniform'`` , ``'he_uniform'`` , etc. Default: ``'zeros'`` . If beta_init is a Tensor, the shape
1099
+ must be :math:`(num\_channels)`.
1100
+ dtype (:class:`mindspore.dtype`): Dtype of Parameters. Default: ``mstype.float32`` .
1101
+
1102
+ Inputs:
1103
+ - **x** (Tensor) - The input feature with shape :math:`(N, C, *)`, where :math:`*` means, any number of
1104
+ additional dimensions.
1105
+
1106
+ Outputs:
1107
+ Tensor, the normalized and scaled offset tensor, has the same shape and data type as the `x`.
1108
+
1109
+ Raises:
1110
+ TypeError: If `num_groups` or `num_channels` is not an int.
1111
+ TypeError: If `eps` is not a float.
1112
+ TypeError: If `affine` is not a bool.
1113
+ ValueError: If `num_groups` or `num_channels` is less than 1.
1114
+ ValueError: If `num_channels` is not divided by `num_groups`.
1115
+
1116
+ Supported Platforms:
1117
+ ``Ascend`` ``GPU`` ``CPU``
1118
+
1119
+ Examples:
1120
+ >>> import mindspore as ms
1121
+ >>> import numpy as np
1122
+ >>> group_norm_op = ms.nn.GroupNorm(2, 2)
1123
+ >>> x = ms.Tensor(np.ones([1, 2, 4, 4], np.float32))
1124
+ >>> output = group_norm_op(x)
1125
+ >>> print(output)
1126
+ [[[[0. 0. 0. 0.]
1127
+ [0. 0. 0. 0.]
1128
+ [0. 0. 0. 0.]
1129
+ [0. 0. 0. 0.]]
1130
+ [[0. 0. 0. 0.]
1131
+ [0. 0. 0. 0.]
1132
+ [0. 0. 0. 0.]
1133
+ [0. 0. 0. 0.]]]]
1134
+ """
1135
+
1136
+ def __init__(self, num_groups, num_channels, eps=1e-05, affine=True, gamma_init='ones', beta_init='zeros',
1137
+ dtype=mstype.float32):
1138
+ """Initialize GroupNorm."""
1139
+ super(GroupNorm, self).__init__()
1140
+ self.num_groups = validator.check_positive_int(num_groups, "num_groups", self.cls_name)
1141
+ self.num_channels = validator.check_positive_int(num_channels, "num_channels", self.cls_name)
1142
+ if num_channels % num_groups != 0:
1143
+ raise ValueError(f"For '{self.cls_name}', the 'num_channels' must be divided by 'num_groups', "
1144
+ f"but got 'num_channels': {num_channels}, 'num_groups': {num_groups}.")
1145
+ self.eps = validator.check_value_type('eps', eps, (float,), type(self).__name__)
1146
+ self.affine = validator.check_bool(affine, arg_name="affine", prim_name=self.cls_name)
1147
+
1148
+ self.gamma = Parameter(initializer(
1149
+ gamma_init, self.num_channels, dtype=dtype), name="gamma", requires_grad=affine)
1150
+ self.beta = Parameter(initializer(
1151
+ beta_init, self.num_channels, dtype=dtype), name="beta", requires_grad=affine)
1152
+
1153
+ def _cal_output(self, x):
1154
+ """calculate groupnorm output"""
1155
+ return group_norm(x, self.num_groups, self.gamma.to(x.dtype), self.beta.to(x.dtype), self.eps)
1156
+
1157
+ @staticmethod
1158
+ @_primexpr
1159
+ def _channel_check(channel, num_channel, prim_name=None):
1160
+ def _check():
1161
+ msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
1162
+ if channel != num_channel:
1163
+ raise ValueError(f"{msg_prefix} channel(the second dim of the input 'x') must be equal to "
1164
+ f"num_channels, but got channel: {channel}, num_channels: {num_channel}.")
1165
+ _check()
1166
+
1167
+ @staticmethod
1168
+ @constexpr
1169
+ def _check_dtype(dtype, valid_dtypes, prim_name=None):
1170
+ validator.check_type_name("input", dtype, valid_dtypes, prim_name)
1171
+
1172
+ def extend_repr(self):
1173
+ return 'num_groups={}, num_channels={}'.format(self.num_groups, self.num_channels)
1174
+
1175
+ def construct(self, x):
1176
+ output = self._cal_output(x)
1177
+ return output