mindspore 2.1.0__cp38-cp38-win_amd64.whl → 2.2.11__cp38-cp38-win_amd64.whl

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

Potentially problematic release.


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

Files changed (511) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +4 -1
  5. mindspore/_c_dataengine.cp38-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp38-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp38-win_amd64.pyd +0 -0
  8. mindspore/_check_jit_forbidden_api.py +3 -1
  9. mindspore/_checkparam.py +23 -29
  10. mindspore/_extends/graph_kernel/__init__.py +0 -1
  11. mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
  12. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  13. mindspore/_extends/graph_kernel/splitter.py +4 -11
  14. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
  15. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
  16. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  17. mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
  18. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
  19. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
  20. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  21. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  22. mindspore/_extends/parse/__init__.py +13 -15
  23. mindspore/_extends/parse/namespace.py +7 -33
  24. mindspore/_extends/parse/parser.py +67 -72
  25. mindspore/_extends/parse/resources.py +1 -1
  26. mindspore/_extends/parse/standard_method.py +86 -106
  27. mindspore/_extends/parse/trope.py +1 -1
  28. mindspore/_extends/remote/kernel_build_server.py +25 -7
  29. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  30. mindspore/_install_custom.py +43 -0
  31. mindspore/amp.py +47 -11
  32. mindspore/atlprov.dll +0 -0
  33. mindspore/boost/boost.py +1 -8
  34. mindspore/boost/boost_cell_wrapper.py +3 -2
  35. mindspore/boost/grad_accumulation.py +1 -1
  36. mindspore/boost/group_loss_scale_manager.py +8 -7
  37. mindspore/c1.dll +0 -0
  38. mindspore/c1xx.dll +0 -0
  39. mindspore/c2.dll +0 -0
  40. mindspore/common/__init__.py +5 -3
  41. mindspore/common/_jit_fallback_utils.py +6 -0
  42. mindspore/common/_register_for_adapter.py +2 -0
  43. mindspore/common/_register_for_tensor.py +2 -2
  44. mindspore/common/_stub_tensor.py +13 -0
  45. mindspore/common/_utils.py +29 -0
  46. mindspore/common/api.py +174 -259
  47. mindspore/common/auto_dynamic_shape.py +494 -0
  48. mindspore/common/dtype.py +18 -11
  49. mindspore/common/dump.py +6 -4
  50. mindspore/common/initializer.py +14 -14
  51. mindspore/common/jit_config.py +33 -15
  52. mindspore/common/lazy_inline.py +126 -7
  53. mindspore/common/mindir_util.py +101 -0
  54. mindspore/common/parameter.py +51 -41
  55. mindspore/common/seed.py +4 -4
  56. mindspore/common/sparse_tensor.py +13 -14
  57. mindspore/common/tensor.py +243 -165
  58. mindspore/communication/__init__.py +7 -4
  59. mindspore/communication/_comm_helper.py +83 -4
  60. mindspore/communication/management.py +152 -84
  61. mindspore/config/op_info.config +14 -3
  62. mindspore/context.py +152 -61
  63. mindspore/dataset/__init__.py +5 -5
  64. mindspore/dataset/audio/__init__.py +2 -2
  65. mindspore/dataset/audio/transforms.py +52 -52
  66. mindspore/dataset/callback/ds_callback.py +16 -2
  67. mindspore/dataset/core/config.py +68 -51
  68. mindspore/dataset/engine/cache_client.py +33 -7
  69. mindspore/dataset/engine/datasets.py +250 -112
  70. mindspore/dataset/engine/datasets_audio.py +43 -211
  71. mindspore/dataset/engine/datasets_standard_format.py +16 -35
  72. mindspore/dataset/engine/datasets_text.py +43 -67
  73. mindspore/dataset/engine/datasets_user_defined.py +86 -100
  74. mindspore/dataset/engine/datasets_vision.py +219 -1029
  75. mindspore/dataset/engine/iterators.py +11 -4
  76. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
  77. mindspore/dataset/engine/obs/util.py +3 -0
  78. mindspore/dataset/engine/samplers.py +1 -1
  79. mindspore/dataset/engine/validators.py +19 -5
  80. mindspore/dataset/text/__init__.py +3 -3
  81. mindspore/dataset/text/transforms.py +101 -127
  82. mindspore/dataset/text/utils.py +205 -138
  83. mindspore/dataset/transforms/__init__.py +1 -1
  84. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  85. mindspore/dataset/transforms/transforms.py +95 -40
  86. mindspore/dataset/utils/browse_dataset.py +8 -2
  87. mindspore/dataset/utils/line_reader.py +17 -19
  88. mindspore/dataset/vision/__init__.py +3 -3
  89. mindspore/dataset/vision/c_transforms.py +6 -3
  90. mindspore/dataset/vision/transforms.py +409 -287
  91. mindspore/dataset/vision/utils.py +13 -14
  92. mindspore/dataset/vision/validators.py +11 -1
  93. mindspore/dnnl.dll +0 -0
  94. mindspore/dpcmi.dll +0 -0
  95. mindspore/experimental/map_parameter.py +14 -0
  96. mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
  97. mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
  98. mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
  99. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  100. mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
  101. mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
  102. mindspore/gen_ops.py +273 -0
  103. mindspore/include/OWNERS +0 -1
  104. mindspore/include/api/data_type.h +2 -1
  105. mindspore/include/api/graph.h +0 -15
  106. mindspore/include/api/kernel.h +2 -0
  107. mindspore/include/api/kernel_api.h +37 -12
  108. mindspore/include/api/model.h +17 -14
  109. mindspore/include/api/status.h +8 -3
  110. mindspore/include/api/types.h +37 -4
  111. mindspore/include/c_api/ms/abstract.h +67 -0
  112. mindspore/include/c_api/ms/attribute.h +197 -0
  113. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  114. mindspore/include/c_api/ms/base/macros.h +32 -0
  115. mindspore/include/c_api/ms/base/status.h +33 -0
  116. mindspore/include/c_api/ms/base/types.h +282 -0
  117. mindspore/include/c_api/ms/context.h +102 -0
  118. mindspore/include/c_api/ms/graph.h +160 -0
  119. mindspore/include/c_api/ms/node.h +606 -0
  120. mindspore/include/c_api/ms/tensor.h +161 -0
  121. mindspore/include/c_api/ms/value.h +84 -0
  122. mindspore/include/dataset/constants.h +6 -5
  123. mindspore/include/dataset/execute.h +23 -13
  124. mindspore/include/dataset/text.h +26 -26
  125. mindspore/include/dataset/transforms.h +13 -13
  126. mindspore/include/dataset/vision.h +60 -60
  127. mindspore/include/dataset/vision_ascend.h +5 -6
  128. mindspore/include/dataset/vision_lite.h +17 -17
  129. mindspore/jpeg62.dll +0 -0
  130. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  131. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  132. mindspore/mindspore_backend.dll +0 -0
  133. mindspore/mindspore_common.dll +0 -0
  134. mindspore/mindspore_core.dll +0 -0
  135. mindspore/mindspore_glog.dll +0 -0
  136. mindspore/mindspore_shared_lib.dll +0 -0
  137. mindspore/msobj140.dll +0 -0
  138. mindspore/mspdb140.dll +0 -0
  139. mindspore/mspdbcore.dll +0 -0
  140. mindspore/mspdbst.dll +0 -0
  141. mindspore/mspft140.dll +0 -0
  142. mindspore/msvcdis140.dll +0 -0
  143. mindspore/msvcp140_1.dll +0 -0
  144. mindspore/msvcp140_2.dll +0 -0
  145. mindspore/msvcp140_atomic_wait.dll +0 -0
  146. mindspore/msvcp140_codecvt_ids.dll +0 -0
  147. mindspore/nn/__init__.py +0 -2
  148. mindspore/nn/cell.py +313 -74
  149. mindspore/nn/dynamic_lr.py +21 -21
  150. mindspore/nn/layer/activation.py +22 -30
  151. mindspore/nn/layer/basic.py +15 -13
  152. mindspore/nn/layer/channel_shuffle.py +1 -1
  153. mindspore/nn/layer/container.py +271 -9
  154. mindspore/nn/layer/conv.py +323 -204
  155. mindspore/nn/layer/dense.py +8 -5
  156. mindspore/nn/layer/embedding.py +33 -27
  157. mindspore/nn/layer/flash_attention.py +61 -95
  158. mindspore/nn/layer/image.py +8 -6
  159. mindspore/nn/layer/math.py +16 -25
  160. mindspore/nn/layer/normalization.py +107 -66
  161. mindspore/nn/layer/padding.py +1 -1
  162. mindspore/nn/layer/pooling.py +131 -109
  163. mindspore/nn/layer/rnn_cells.py +27 -22
  164. mindspore/nn/layer/rnns.py +13 -16
  165. mindspore/nn/layer/thor_layer.py +1 -1
  166. mindspore/nn/layer/transformer.py +221 -154
  167. mindspore/nn/learning_rate_schedule.py +9 -1
  168. mindspore/nn/loss/loss.py +235 -174
  169. mindspore/nn/optim/ada_grad.py +2 -1
  170. mindspore/nn/optim/adadelta.py +1 -0
  171. mindspore/nn/optim/adafactor.py +2 -1
  172. mindspore/nn/optim/adam.py +7 -4
  173. mindspore/nn/optim/adamax.py +3 -2
  174. mindspore/nn/optim/adasum.py +2 -2
  175. mindspore/nn/optim/asgd.py +2 -3
  176. mindspore/nn/optim/ftrl.py +6 -5
  177. mindspore/nn/optim/lamb.py +7 -4
  178. mindspore/nn/optim/lars.py +1 -1
  179. mindspore/nn/optim/lazyadam.py +5 -3
  180. mindspore/nn/optim/momentum.py +2 -1
  181. mindspore/nn/optim/optimizer.py +53 -4
  182. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  183. mindspore/nn/optim/rmsprop.py +4 -3
  184. mindspore/nn/optim/rprop.py +23 -12
  185. mindspore/nn/optim/sgd.py +26 -11
  186. mindspore/nn/optim/thor.py +9 -7
  187. mindspore/nn/probability/bijector/bijector.py +5 -5
  188. mindspore/nn/probability/bijector/power_transform.py +27 -27
  189. mindspore/nn/probability/bijector/softplus.py +3 -3
  190. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  191. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  192. mindspore/nn/probability/distribution/beta.py +3 -3
  193. mindspore/nn/probability/distribution/categorical.py +7 -7
  194. mindspore/nn/probability/distribution/cauchy.py +0 -1
  195. mindspore/nn/probability/distribution/distribution.py +3 -3
  196. mindspore/nn/probability/distribution/gamma.py +3 -3
  197. mindspore/nn/probability/distribution/geometric.py +4 -4
  198. mindspore/nn/probability/distribution/gumbel.py +4 -4
  199. mindspore/nn/probability/distribution/log_normal.py +2 -2
  200. mindspore/nn/probability/distribution/logistic.py +2 -2
  201. mindspore/nn/probability/distribution/poisson.py +4 -4
  202. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  203. mindspore/nn/probability/distribution/uniform.py +6 -6
  204. mindspore/nn/wrap/__init__.py +4 -2
  205. mindspore/nn/wrap/cell_wrapper.py +87 -34
  206. mindspore/nn/wrap/grad_reducer.py +8 -5
  207. mindspore/nn/wrap/loss_scale.py +105 -42
  208. mindspore/numpy/array_creations.py +1 -2
  209. mindspore/numpy/array_ops.py +3 -2
  210. mindspore/numpy/utils_const.py +5 -5
  211. mindspore/opencv_core452.dll +0 -0
  212. mindspore/opencv_imgcodecs452.dll +0 -0
  213. mindspore/opencv_imgproc452.dll +0 -0
  214. mindspore/ops/_grad_experimental/__init__.py +0 -5
  215. mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
  216. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  217. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  218. mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
  219. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  220. mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
  221. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  222. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  223. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  224. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  225. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  226. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  227. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  228. mindspore/ops/_op_impl/{_custom_op/flash_attention/constants.py → aicpu/eps.py} +18 -27
  229. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  230. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +21 -2
  231. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  232. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  233. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  234. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  235. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  236. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  237. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  238. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  239. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  240. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  241. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  242. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  243. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  244. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  245. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  246. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  247. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  248. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  249. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  250. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  251. mindspore/ops/_primitive_cache.py +1 -1
  252. mindspore/ops/_tracefunc.py +45 -13
  253. mindspore/ops/_utils/utils.py +6 -1
  254. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  255. mindspore/ops/_vmap/vmap_base.py +3 -3
  256. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  257. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  258. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  259. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  260. mindspore/ops/arg_dtype_cast.py +54 -0
  261. mindspore/ops/composite/base.py +37 -10
  262. mindspore/ops/composite/math_ops.py +5 -4
  263. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  264. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  265. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  266. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  267. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  268. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  269. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  270. mindspore/ops/deprecated.py +304 -0
  271. mindspore/ops/function/__init__.py +4 -1
  272. mindspore/ops/function/array_func.py +174 -193
  273. mindspore/ops/function/clip_func.py +81 -13
  274. mindspore/ops/function/debug_func.py +1 -1
  275. mindspore/ops/function/grad/grad_func.py +18 -9
  276. mindspore/ops/function/image_func.py +10 -4
  277. mindspore/ops/function/linalg_func.py +5 -5
  278. mindspore/ops/function/math_func.py +575 -386
  279. mindspore/ops/function/nn_func.py +568 -260
  280. mindspore/ops/function/random_func.py +88 -57
  281. mindspore/ops/function/sparse_func.py +1 -1
  282. mindspore/ops/function/sparse_unary_func.py +14 -12
  283. mindspore/ops/function/vmap_func.py +6 -5
  284. mindspore/ops/functional.py +15 -10
  285. mindspore/ops/op_info_register.py +244 -25
  286. mindspore/ops/operations/__init__.py +31 -19
  287. mindspore/ops/operations/_grad_ops.py +71 -7
  288. mindspore/ops/operations/_inner_ops.py +350 -17
  289. mindspore/ops/operations/_quant_ops.py +4 -8
  290. mindspore/ops/operations/_sequence_ops.py +42 -0
  291. mindspore/ops/operations/array_ops.py +68 -282
  292. mindspore/ops/operations/comm_ops.py +107 -59
  293. mindspore/ops/operations/custom_ops.py +94 -70
  294. mindspore/ops/operations/debug_ops.py +8 -4
  295. mindspore/ops/operations/image_ops.py +18 -12
  296. mindspore/ops/operations/inner_ops.py +26 -3
  297. mindspore/ops/operations/math_ops.py +192 -144
  298. mindspore/ops/operations/nn_ops.py +857 -489
  299. mindspore/ops/operations/other_ops.py +0 -22
  300. mindspore/ops/operations/random_ops.py +53 -111
  301. mindspore/ops/operations/sparse_ops.py +3 -1
  302. mindspore/ops/primitive.py +24 -18
  303. mindspore/parallel/_auto_parallel_context.py +68 -8
  304. mindspore/parallel/_cost_model_context.py +2 -2
  305. mindspore/parallel/_offload_context.py +17 -3
  306. mindspore/parallel/_parallel_serialization.py +12 -5
  307. mindspore/parallel/_ps_context.py +12 -0
  308. mindspore/parallel/_tensor.py +18 -13
  309. mindspore/parallel/_transformer/layers.py +5 -3
  310. mindspore/parallel/_transformer/loss.py +1 -0
  311. mindspore/parallel/_transformer/moe.py +2 -2
  312. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  313. mindspore/parallel/_transformer/transformer.py +23 -3
  314. mindspore/parallel/_utils.py +11 -7
  315. mindspore/parallel/algo_parameter_config.py +85 -5
  316. mindspore/parallel/checkpoint_transform.py +19 -12
  317. mindspore/parallel/shard.py +21 -14
  318. mindspore/pgodb140.dll +0 -0
  319. mindspore/pgort140.dll +0 -0
  320. mindspore/profiler/common/struct_type.py +3 -3
  321. mindspore/profiler/common/util.py +4 -2
  322. mindspore/profiler/envprofiling.py +1 -1
  323. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  324. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  325. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  326. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  327. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  328. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  329. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  330. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  331. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  332. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  333. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  334. mindspore/profiler/parser/flops_parser.py +15 -11
  335. mindspore/profiler/parser/framework_parser.py +38 -22
  336. mindspore/profiler/parser/hccl_parser.py +16 -12
  337. mindspore/profiler/parser/integrator.py +22 -11
  338. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  339. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  340. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  341. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  342. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  343. mindspore/profiler/parser/optime_parser.py +1 -1
  344. mindspore/profiler/parser/profiler_info.py +21 -2
  345. mindspore/profiler/parser/step_trace_parser.py +11 -14
  346. mindspore/profiler/profiling.py +179 -89
  347. mindspore/rewrite/api/node.py +102 -19
  348. mindspore/rewrite/api/node_type.py +5 -1
  349. mindspore/rewrite/api/pattern_engine.py +1 -1
  350. mindspore/rewrite/api/scoped_value.py +9 -17
  351. mindspore/rewrite/api/symbol_tree.py +131 -47
  352. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  353. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  354. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  355. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  356. mindspore/rewrite/common/rewrite_elog.py +5 -1
  357. mindspore/rewrite/namer.py +33 -24
  358. mindspore/rewrite/namespace.py +14 -5
  359. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  360. mindspore/rewrite/node/call_function.py +79 -0
  361. mindspore/rewrite/node/cell_container.py +135 -0
  362. mindspore/rewrite/node/control_flow.py +88 -0
  363. mindspore/rewrite/{node.py → node/node.py} +273 -234
  364. mindspore/rewrite/node/node_manager.py +254 -0
  365. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  366. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  367. mindspore/rewrite/parsers/assign_parser.py +216 -221
  368. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  369. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  370. mindspore/rewrite/parsers/constant_parser.py +9 -6
  371. mindspore/rewrite/parsers/container_parser.py +9 -7
  372. mindspore/rewrite/parsers/for_parser.py +42 -21
  373. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  374. mindspore/rewrite/parsers/if_parser.py +28 -24
  375. mindspore/rewrite/parsers/module_parser.py +196 -25
  376. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  377. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  378. mindspore/rewrite/parsers/return_parser.py +6 -6
  379. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  380. mindspore/rewrite/sparsify/utils.py +1 -1
  381. mindspore/rewrite/symbol_tree.py +523 -578
  382. mindspore/rewrite/symbol_tree_builder.py +9 -193
  383. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  384. mindspore/run_check/_check_version.py +6 -4
  385. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  386. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  387. mindspore/tbbmalloc.dll +0 -0
  388. mindspore/tinyxml2.dll +0 -0
  389. mindspore/train/_utils.py +7 -3
  390. mindspore/train/amp.py +323 -123
  391. mindspore/train/anf_ir_pb2.py +14 -2
  392. mindspore/train/callback/_backup_and_restore.py +2 -12
  393. mindspore/train/callback/_callback.py +29 -4
  394. mindspore/train/callback/_checkpoint.py +23 -8
  395. mindspore/train/callback/_early_stop.py +2 -2
  396. mindspore/train/callback/_landscape.py +4 -4
  397. mindspore/train/callback/_loss_monitor.py +2 -2
  398. mindspore/train/callback/_on_request_exit.py +2 -2
  399. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  400. mindspore/train/callback/_summary_collector.py +15 -8
  401. mindspore/train/callback/_time_monitor.py +58 -5
  402. mindspore/train/data_sink.py +5 -11
  403. mindspore/train/dataset_helper.py +84 -57
  404. mindspore/train/loss_scale_manager.py +2 -2
  405. mindspore/train/metrics/__init__.py +3 -3
  406. mindspore/train/metrics/cosine_similarity.py +1 -1
  407. mindspore/train/metrics/hausdorff_distance.py +3 -2
  408. mindspore/train/metrics/mean_surface_distance.py +3 -2
  409. mindspore/train/metrics/metric.py +39 -19
  410. mindspore/train/metrics/roc.py +2 -2
  411. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  412. mindspore/train/mind_ir_pb2.py +85 -36
  413. mindspore/train/model.py +187 -47
  414. mindspore/train/serialization.py +487 -161
  415. mindspore/train/summary/_summary_adapter.py +1 -1
  416. mindspore/train/summary/_writer_pool.py +3 -2
  417. mindspore/train/summary/summary_record.py +37 -17
  418. mindspore/train/train_thor/convert_utils.py +3 -3
  419. mindspore/train/train_thor/dataset_helper.py +1 -1
  420. mindspore/turbojpeg.dll +0 -0
  421. mindspore/vcmeta.dll +0 -0
  422. mindspore/vcruntime140.dll +0 -0
  423. mindspore/vcruntime140_1.dll +0 -0
  424. mindspore/version.py +1 -1
  425. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/METADATA +7 -4
  426. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/RECORD +429 -486
  427. mindspore/_extends/graph_kernel/expander.py +0 -80
  428. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  429. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  430. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  431. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  432. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  433. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  434. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  435. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  436. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  437. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  438. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  439. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  440. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  441. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  442. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  443. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  444. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  445. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  446. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  447. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  448. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  449. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  450. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  451. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  452. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  453. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  454. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  455. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  456. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  457. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  458. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  459. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  460. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  461. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  462. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  463. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  464. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  465. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  466. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  467. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  468. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  469. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  470. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  471. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  472. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  473. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  474. mindspore/dataset/datapreprocess/__init__.py +0 -20
  475. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  476. mindspore/include/api/net.h +0 -142
  477. mindspore/nn/lr_scheduler.py +0 -262
  478. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  479. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  480. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  481. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  482. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  483. mindspore/ops/_op_impl/_custom_op/flash_attention/__init__.py +0 -0
  484. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +0 -350
  485. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +0 -409
  486. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +0 -578
  487. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +0 -199
  488. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +0 -446
  489. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
  490. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +0 -45
  491. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +0 -67
  492. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +0 -62
  493. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  494. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  495. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  496. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  497. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  498. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  499. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  500. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  501. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  502. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  503. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  504. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  505. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  506. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  507. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  508. mindspore/rewrite/node_visitor.py +0 -44
  509. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/WHEEL +0 -0
  510. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/entry_points.txt +0 -0
  511. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/top_level.txt +0 -0
@@ -143,8 +143,8 @@ def _infer_out_shape(*shapes):
143
143
  shape_out = list()
144
144
  max_len = max([len(it) for it in shapes])
145
145
  for i in range(max_len):
146
- items = [it[i-max_len+len(it)] if i-max_len +
147
- len(it) >= 0 else 1 for it in shapes]
146
+ items = [
147
+ it[i - max_len + len(it)] if i - max_len + len(it) >= 0 else 1 for it in shapes]
148
148
  max_size = 0 if 0 in items else max(items)
149
149
  _check()
150
150
  shape_out.append(max_size)
@@ -158,8 +158,8 @@ def _can_broadcast(*shapes):
158
158
  """
159
159
  max_len = max([len(it) for it in shapes])
160
160
  for i in range(max_len):
161
- items = [it[i-max_len+len(it)] if i-max_len +
162
- len(it) >= 0 else 1 for it in shapes]
161
+ items = [
162
+ it[i - max_len + len(it)] if i - max_len + len(it) >= 0 else 1 for it in shapes]
163
163
  max_size = 0 if 0 in items else max(items)
164
164
  if any(item not in (1, max_size) for item in items):
165
165
  return False
@@ -399,7 +399,7 @@ def _broadcast_tuples(tup1, tup2):
399
399
  if not isinstance(tup1, (tuple, list)) or not isinstance(tup2, (tuple, list)):
400
400
  raise TypeError("input shift and axis must be tuple or list or int.")
401
401
  if len(tup1) == len(tup2) or len(tup1) == 1 or len(tup2) == 1:
402
- return None
402
+ return
403
403
  raise ValueError("shape mismatch: objects cannot be broadcast to a single shape")
404
404
 
405
405
  tup1 = (tup1,) if isinstance(tup1, int) else tup1
Binary file
Binary file
Binary file
@@ -17,20 +17,15 @@
17
17
  from __future__ import absolute_import
18
18
  from mindspore.ops._grad_experimental.grad_base import get_bprop_fn, get_taylor_fprop_fn
19
19
  from mindspore.ops._grad_experimental import grad_array_ops
20
- from mindspore.ops._grad_experimental import grad_image_ops
21
20
  from mindspore.ops._grad_experimental import grad_inner_ops
22
21
  from mindspore.ops._grad_experimental import grad_nn_ops
23
22
  from mindspore.ops._grad_experimental import grad_math_ops
24
- from mindspore.ops._grad_experimental import grad_linalg_ops
25
23
  from mindspore.ops._grad_experimental import grad_sparse
26
24
  from mindspore.ops._grad_experimental import grad_sparse_ops
27
- from mindspore.ops._grad_experimental import grad_scalar_ops
28
25
  from mindspore.ops._grad_experimental import grad_comm_ops
29
26
  from mindspore.ops._grad_experimental import grad_debug_ops
30
27
  from mindspore.ops._grad_experimental import grad_implementations
31
- from mindspore.ops._grad_experimental import grad_other_ops
32
28
  from mindspore.ops._grad_experimental import grad_quant_ops
33
- from mindspore.ops._grad_experimental import grad_sequence_ops
34
29
  from mindspore.ops._grad_experimental import taylor_rule
35
30
 
36
31
  __all__ = ['get_bprop_fn', 'get_taylor_fprop_fn']
@@ -203,7 +203,7 @@ def get_bprop_index_put(self):
203
203
  if is_ascend:
204
204
  indices_ms = [convert_idx_positive(indices_ms[i], x1.shape[i]) for i in range(len(indices_ms))]
205
205
  indices_me = stack(indices_ms)
206
- indices_grad = F.transpose(indices_me, F.make_range(F.rank(indices_me)-1, -1, -1))
206
+ indices_grad = F.transpose(indices_me, F.make_range(F.rank(indices_me) - 1, -1, -1))
207
207
  values_grad = gather_nd(dout, indices_grad)
208
208
  if equal(cast(x2.shape[0], mstype.int32), Tensor(1)):
209
209
  values_grad = values_grad.sum().reshape(1)
@@ -398,7 +398,6 @@ def get_bprop_extract_volume_patches(self):
398
398
  expend_dims = P.ExpandDims()
399
399
  scatter_nd = P.ScatterNd()
400
400
  slice_op = P.Slice()
401
- fill = P.Fill()
402
401
  dtype = P.DType()
403
402
  cast = P.Cast()
404
403
  matmul = P.MatMul()
@@ -466,7 +465,7 @@ def get_bprop_extract_volume_patches(self):
466
465
  idx_tensor = concat((expend_dims(x_idx_patched, -1), expend_dims(out_idx, -1)))
467
466
  idx_map = P.Reshape()(idx_tensor, (-1, 2))
468
467
  sp_shape = (x_indices_num, out_indices_num)
469
- sp_mat_full = scatter_nd(idx_map, fill(dtype(dout), (out_indices_num,), 1), sp_shape)
468
+ sp_mat_full = scatter_nd(idx_map, F.fill(dtype(dout), (out_indices_num,), 1), sp_shape)
470
469
  sp_tensor = slice_op(sp_mat_full, (1, 0), (x_indices_num - 1, out_indices_num))
471
470
 
472
471
  grad = P.Transpose()(dout, (0, 2, 3, 4, 1))
@@ -98,6 +98,7 @@ def get_bprop_send(self):
98
98
  def bprop(x, out, dout):
99
99
  dx = send_grad(virtual_input)
100
100
  return (dx,)
101
+
101
102
  return bprop
102
103
 
103
104
 
@@ -117,14 +118,17 @@ def get_bprop_receive(self):
117
118
  else:
118
119
  dx = depend(cast(out_tensor, F.dtype(x)), send_out)
119
120
  return (dx,)
121
+
120
122
  return bprop
121
123
 
122
124
 
123
125
  @bprop_getters.register(_VirtualAdd)
124
126
  def get_bprop_virtual_add(self):
125
127
  """Generate bprop for _VirtualAdd"""
128
+
126
129
  def bprop(x, grad_accu, out, dout):
127
130
  return (dout + grad_accu, zeros_like(grad_accu))
131
+
128
132
  return bprop
129
133
 
130
134
 
@@ -181,7 +185,8 @@ def get_bprop_mirror_micro_step_operator(self):
181
185
  scale = 1 / dev_num
182
186
 
183
187
  all_reduce = AllReduce(group=group)
184
-
188
+ if "segment" in self.get_attr_dict():
189
+ all_reduce.add_prim_attr("segment", self.get_attr_dict()["segment"])
185
190
  fusion = self.get_attr_dict()["fusion"]
186
191
  all_reduce.add_prim_attr("fusion", fusion)
187
192
  if hasattr(self, 'parameter'):
@@ -218,6 +223,7 @@ def get_bprop_mirror_micro_step_operator(self):
218
223
  return (real_grad, cast(out_tensor, dtype(z)))
219
224
  return F.depend((cast(out_tensor, dtype(x)), cast(out_tensor, dtype(z))), assign(z, real_grad))
220
225
  return F.depend((cast(out_tensor, dtype(x)), cast(out_tensor, dtype(z))), assign_out)
226
+
221
227
  return bprop
222
228
 
223
229
 
@@ -227,6 +233,7 @@ def get_bprop_broad_cast(self):
227
233
 
228
234
  def bprop(x, out, dout):
229
235
  return (dout,)
236
+
230
237
  return bprop
231
238
 
232
239
 
@@ -306,6 +313,8 @@ def get_bprop_micro_step_all_gather(self):
306
313
  if do_mirror:
307
314
  scale = 1.0 / self.rank_size
308
315
  all_reduce = AllReduce(ReduceOp.SUM, self.group).add_prim_attr("fusion", fusion)
316
+ if "segment" in self.get_attr_dict():
317
+ all_reduce.add_prim_attr("segment", self.get_attr_dict()["segment"])
309
318
  rank = get_rank(self.group)
310
319
  dev_num = get_group_size(self.group)
311
320
  split = P.Split(output_num=dev_num)
@@ -502,6 +511,7 @@ def get_bprop_mirror_operator(self):
502
511
  dx = RowTensorInner(indices, grad, dout.dense_shape)
503
512
 
504
513
  return (dx,)
514
+
505
515
  return bprop
506
516
 
507
517
 
@@ -555,6 +565,7 @@ def get_bprop_mirror_mini_step_operator(self):
555
565
  dx = zeros_like(x) # The grad accumulation do not support row tensor now
556
566
 
557
567
  return (dx, zeros_like(z))
568
+
558
569
  return bprop
559
570
 
560
571
 
@@ -569,7 +580,7 @@ def get_bprop_virtual_div_operator(self):
569
580
  def bprop(x, out, dout):
570
581
  if issubclass_(F.typeof(dout), mstype.tensor_type):
571
582
  if issubclass_(F.dtype(dout), mstype.bool_) or issubclass_(F.dtype(dout), mstype.int32) \
572
- or issubclass_(F.dtype(dout), mstype.int16):
583
+ or issubclass_(F.dtype(dout), mstype.int16):
573
584
  return (dout,)
574
585
  dx = op(dout, cast(F.scalar_to_tensor(divisor), dtype(dout)))
575
586
  return (dx,)
@@ -588,6 +599,7 @@ def get_bprop_virtual_div_operator(self):
588
599
  ele_grad = op(dout[i], cast(F.scalar_to_tensor(divisor), dtype(dout[i])))
589
600
  dx.append(ele_grad)
590
601
  return (dx,)
602
+
591
603
  return bprop
592
604
 
593
605
 
@@ -597,4 +609,5 @@ def get_bprop_get_tensor_slice_operator(self):
597
609
 
598
610
  def bprop(x, dev_mat, tensor_map, out, dout):
599
611
  return (zeros_like(x),)
612
+
600
613
  return bprop
@@ -16,48 +16,11 @@
16
16
  """Generate bprop for debug ops"""
17
17
 
18
18
  from mindspore.ops import operations as P
19
- from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
20
19
  from mindspore.ops._grad_experimental.grad_base import bprop_getters
21
20
 
22
21
  # Unused parameters are placeholders.
23
22
 
24
23
 
25
- @bprop_getters.register(P.ScalarSummary)
26
- def get_bprop_scalar_summary(self):
27
- """Generate bprop for ScalarSummary"""
28
-
29
- def bprop(tag, x, out, dout):
30
- return tag, zeros_like(x)
31
- return bprop
32
-
33
-
34
- @bprop_getters.register(P.TensorSummary)
35
- def get_bprop_tensor_summary(self):
36
- """Generate bprop for TensorSummary"""
37
-
38
- def bprop(tag, x, out, dout):
39
- return tag, zeros_like(x)
40
- return bprop
41
-
42
-
43
- @bprop_getters.register(P.ImageSummary)
44
- def get_bprop_image_summary(self):
45
- """Generate bprop for ImageSummary"""
46
-
47
- def bprop(tag, x, out, dout):
48
- return tag, zeros_like(x)
49
- return bprop
50
-
51
-
52
- @bprop_getters.register(P.HistogramSummary)
53
- def get_bprop_histogram_summary(self):
54
- """Generate bprop for HistogramSummary"""
55
-
56
- def bprop(tag, x, out, dout):
57
- return tag, zeros_like(x)
58
- return bprop
59
-
60
-
61
24
  @bprop_getters.register(P.InsertGradientOf)
62
25
  def get_bprop_insert_gradient_of(self):
63
26
  """Generate bprop for InsertGradientOf"""
@@ -19,7 +19,7 @@ from mindspore.ops import functional as F
19
19
  from mindspore.ops import operations as P
20
20
  from mindspore.ops.composite import multitype_ops as C
21
21
  from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
22
- from mindspore.ops._grad_experimental.grad_base import bprops
22
+ from mindspore.ops._grad_experimental.grad_base import bprops, bprop_getters
23
23
  from mindspore.common import dtype as mstype
24
24
 
25
25
  get_dtype = P.DType()
@@ -191,3 +191,13 @@ def bprop_scalar_not(x, out, dout):
191
191
  def bprop_tensor_move(x, out, dout):
192
192
  """Backpropagator for primitive `TensorMove`."""
193
193
  return (dout,)
194
+
195
+
196
+ @bprop_getters.register("DictInplaceSetItem")
197
+ def get_bprop_dict_inplace_setitem(self):
198
+ """Generate bprop for dict inplace pop"""
199
+
200
+ def bprop(x, key, target, out, dout):
201
+ return (zeros_like(x), zeros_like(key), zeros_like(target))
202
+
203
+ return bprop
@@ -1,4 +1,4 @@
1
- # Copyright 2021 Huawei Technologies Co., Ltd
1
+ # Copyright 2021-2023 Huawei Technologies Co., Ltd
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -16,57 +16,11 @@
16
16
  """inner_ops"""
17
17
  from __future__ import absolute_import
18
18
 
19
- from mindspore.ops.operations.comm_ops import _VirtualPipelineEnd
20
19
  from mindspore.ops.operations import _inner_ops as inner
21
20
  from mindspore.ops.operations import _grad_ops as G
22
- from mindspore.ops import functional as F
23
21
  from mindspore.ops import operations as P
24
22
  from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
25
- from mindspore.ops.primitive import _primexpr
26
- from mindspore.ops._grad_experimental.grad_base import bprop_getters, sum_grad_reduce_axis
27
- import mindspore as ms
28
-
29
- reshape = P.Reshape()
30
-
31
-
32
- @bprop_getters.register(inner.TensorCopySlices)
33
- def get_bprop_tensor_copy_slices(self):
34
- """Generate bprop for TensorCopySlices"""
35
- tensor_copy_slices = inner.TensorCopySlices()
36
-
37
- def bprop(x, update, begin, end, stride, out, dout):
38
- x_grad = tensor_copy_slices(dout, zeros_like(update), begin, end, stride)
39
- update_grad = F.strided_slice(dout, begin, end, stride)
40
- res = (x_grad, update_grad, zeros_like(begin), zeros_like(end), zeros_like(stride))
41
- return res
42
-
43
- return bprop
44
-
45
-
46
- @bprop_getters.register(_VirtualPipelineEnd)
47
- def get_bprop_virtual_pipeline_end(self):
48
- """Backpropagator for _VirtualPipelineEnd."""
49
- grad = _VirtualPipelineEnd()
50
-
51
- def bprop(x, out, dout):
52
- dx = grad(dout)
53
- return (dx,)
54
- return bprop
55
-
56
-
57
- @bprop_getters.register(inner.DynamicResizeNearestNeighbor)
58
- def get_bprop_dynamic_resize_nearest_neighbor(self):
59
- """Generate bprop for DynamicResizeNearestNeighbor"""
60
- op = G.ResizeNearestNeighborGrad(self.align_corners)
61
- shape_op = P.Shape()
62
-
63
- def bprop(inputs, size, out, dout):
64
- shp = shape_op(inputs)
65
- # 2 and 3 represent the height and width
66
- shp = (shp[2:])
67
- return (op(dout, shp), zeros_like(size))
68
-
69
- return bprop
23
+ from mindspore.ops._grad_experimental.grad_base import bprop_getters
70
24
 
71
25
 
72
26
  @bprop_getters.register(inner.ParallelResizeBilinear)
@@ -82,115 +36,6 @@ def get_bprop_parallel_resize_bilinear(self):
82
36
  return bprop
83
37
 
84
38
 
85
- @bprop_getters.register(inner.ConvertToDynamic)
86
- def get_bprop_gpu_convert_to_dynamic_rank(self):
87
- """Get backprop for ConvertToDynamic."""
88
-
89
- def bprop(x, out, dout):
90
- return (dout,)
91
- return bprop
92
-
93
-
94
- def _get_matrix_diag_assist(x_shape, x_dtype):
95
- base_eye = P.Eye()(x_shape[-1], x_shape[-1], x_dtype).flatten()
96
- tile = P.Tile()(base_eye, x_shape[:-1])
97
- assist = P.Reshape()(tile, x_shape + (x_shape[-1],))
98
- return assist
99
-
100
-
101
- def _get_matrix_diag_part_assist(x_shape, x_dtype):
102
- base_eye = P.Eye()(x_shape[-2], x_shape[-1], x_dtype).flatten()
103
- tile = P.Tile()(base_eye, x_shape[:-2])
104
- assist = P.Reshape()(tile, x_shape)
105
- return assist
106
-
107
-
108
- @_primexpr
109
- def _get_min(x):
110
- return min(x)
111
-
112
-
113
- @bprop_getters.register(inner.MatrixDiag)
114
- def get_bprop_matrix_diag(self):
115
- """Generate bprop for MatrixDiag"""
116
- get_dtype = P.DType()
117
-
118
- def bprop(x, y, out, dout):
119
- shape = F.shape(dout)
120
- dtype = get_dtype(dout)
121
- assist = _get_matrix_diag_part_assist(shape, dtype)
122
- dx = inner.MatrixDiagPart()(dout, assist)
123
- return dx, zeros_like(y)
124
-
125
- return bprop
126
-
127
-
128
- @bprop_getters.register(inner.MatrixDiagPart)
129
- def get_bprop_matrix_diag_part(self):
130
- """Generate bprop for MatrixDiagPart"""
131
- get_dtype = P.DType()
132
-
133
- def bprop(x, y, out, dout):
134
- x_shape = F.shape(x)[-2:]
135
- if x_shape[0] == x_shape[1]:
136
- shape = F.shape(dout)
137
- dtype = get_dtype(dout)
138
- assist = _get_matrix_diag_assist(shape, dtype)
139
- return inner.MatrixDiag()(dout, assist), zeros_like(y)
140
- shape = F.shape(x)
141
- dtype = get_dtype(x)
142
- assist = _get_matrix_diag_part_assist(shape, dtype)
143
- return inner.MatrixSetDiag()(zeros_like(x), dout, assist), zeros_like(y)
144
-
145
- return bprop
146
-
147
-
148
- @bprop_getters.register(inner.MatrixSetDiag)
149
- def get_bprop_matrix_set_diag(self):
150
- """Generate bprop for MatrixSetDiag"""
151
- get_dtype = P.DType()
152
-
153
- def bprop(x, y, z, out, dout):
154
- input_shape = F.shape(x)
155
- batch_shape = input_shape[:-2]
156
- matrix_shape = input_shape[-2:]
157
- diag_shape = batch_shape + (_get_min(matrix_shape),)
158
-
159
- grad_shape = F.shape(dout)
160
- grad_dtype = get_dtype(dout)
161
- assist = _get_matrix_diag_part_assist(grad_shape, grad_dtype)
162
- dx = inner.MatrixSetDiag()(dout, P.Zeros()(diag_shape, grad_dtype), assist)
163
- dy = inner.MatrixDiagPart()(dout, assist)
164
- dz = zeros_like(z)
165
- return dx, dy, dz
166
-
167
- return bprop
168
-
169
-
170
- @bprop_getters.register(inner.DSDMatmul)
171
- def get_dsd_matmul_bprop(self):
172
- def bprop(w1_gm, w2_gm, v_gm, out, dout):
173
- d_w1_gm, d_w2_gm, d_v_gm = inner.DSDGrad()(w1_gm, w2_gm, v_gm, out, dout)
174
- return d_w1_gm, d_w2_gm, d_v_gm
175
-
176
- return bprop
177
-
178
-
179
- @bprop_getters.register(inner.MatmulDDS)
180
- def get_bprop(self):
181
- """brop of the matmulDDS operator"""
182
-
183
- def bprop(q, k, local_mask, global_mask, out, d_out):
184
- lc, gc = out
185
- d_lc, d_gc = d_out
186
- dq, dk = inner.MatmulDDSGrad()(q, k, lc, gc, d_lc, d_gc)
187
- dk = P.Transpose()(dk, (1, 0, 3, 2))
188
- all_d = (dq, dk, zeros_like(local_mask), zeros_like(global_mask))
189
- return all_d
190
-
191
- return bprop
192
-
193
-
194
39
  @bprop_getters.register(inner.PsROIPooling)
195
40
  def get_bprop_ps_roi_pooling(self):
196
41
  """Grad definition for `PsROIPooling` operation."""
@@ -224,62 +69,3 @@ def get_bprop_ps_roi_pooling(self):
224
69
  return dx, zeros_like(rois)
225
70
 
226
71
  return bprop
227
-
228
-
229
- @bprop_getters.register(inner.DynamicBroadcastTo)
230
- def get_bprop_dynamic_broadcast_to(self):
231
- """Generate bprop for DynamicBroadcastTo"""
232
- shape_op = P.Shape()
233
-
234
- def bprop(x, shp, out, dout):
235
- x_shape = shape_op(x)
236
- broadcast_shape = shape_op(out)
237
-
238
- _, reduction_axes = inner.DynamicBroadcastGradientArgs()(broadcast_shape, x_shape)
239
- out_type = dout.dtype
240
- if out_type in (ms.int16, ms.int32, ms.int64):
241
- dout = P.Cast()(dout, ms.float32)
242
- reduced_grad = sum_grad_reduce_axis(dout, reduction_axes, keep_dims=True)
243
- reduced_grad = P.Cast()(reduced_grad, out_type)
244
- else:
245
- reduced_grad = sum_grad_reduce_axis(dout, reduction_axes, keep_dims=True)
246
- dx = reshape(reduced_grad, x_shape)
247
- return dx, zeros_like(shp)
248
-
249
- return bprop
250
-
251
-
252
- @bprop_getters.register(inner.ConvertToAdapterTensor)
253
- def get_bprop_convert_to_adapter_tensor(self):
254
- """Generate bprop for ConvertToAdapterTensor"""
255
-
256
- def bprop(x, out, dout):
257
- return (dout,)
258
-
259
- return bprop
260
-
261
-
262
- @bprop_getters.register(inner.ConvertToMsTensor)
263
- def get_bprop_convert_to_ms_tensor(self):
264
- """Generate bprop for ConvertToMsTensor"""
265
-
266
- def bprop(x, out, dout):
267
- return (dout,)
268
-
269
- return bprop
270
-
271
-
272
- @bprop_getters.register(inner.SiLU)
273
- def get_bprop_silu(self):
274
- """Generate bprop for SiLU"""
275
- sigmoid_grad = G.SigmoidGrad()
276
- mul_func = P.Mul()
277
-
278
- def bprop(x, out, dout):
279
- sigmoid_input = P.Sigmoid()(x)
280
- bc_dx = mul_func(x, dout)
281
- bc_dy = mul_func(sigmoid_input, dout)
282
- dx = sigmoid_grad(sigmoid_input, bc_dx)
283
- return (dx+bc_dy,)
284
-
285
- return bprop