mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0rc1__cp39-cp39-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 (577) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +13 -6
  3. mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
  6. mindspore/_check_jit_forbidden_api.py +3 -0
  7. mindspore/_checkparam.py +3 -38
  8. mindspore/_deprecated/__init__.py +17 -0
  9. mindspore/_deprecated/jit.py +198 -0
  10. mindspore/_extends/builtin_operations.py +1 -1
  11. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  12. mindspore/_extends/parse/__init__.py +6 -7
  13. mindspore/_extends/parse/compile_config.py +83 -0
  14. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
  16. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  17. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  18. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  19. mindspore/_extends/parse/parser.py +46 -197
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +217 -98
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +11 -5
  27. mindspore/avcodec-59.dll +0 -0
  28. mindspore/avdevice-59.dll +0 -0
  29. mindspore/avfilter-8.dll +0 -0
  30. mindspore/avformat-59.dll +0 -0
  31. mindspore/avutil-57.dll +0 -0
  32. mindspore/boost/__init__.py +2 -2
  33. mindspore/boost/base.py +3 -7
  34. mindspore/boost/boost_cell_wrapper.py +138 -43
  35. mindspore/common/__init__.py +6 -3
  36. mindspore/common/_grad_function.py +56 -0
  37. mindspore/common/_pijit_context.py +14 -5
  38. mindspore/common/_register_for_tensor.py +1 -2
  39. mindspore/common/_stub_tensor.py +30 -14
  40. mindspore/common/_tensor_cpp_method.py +17 -0
  41. mindspore/common/_tensor_docs.py +4760 -0
  42. mindspore/common/api.py +435 -371
  43. mindspore/common/auto_dynamic_shape.py +41 -44
  44. mindspore/common/dtype.py +39 -36
  45. mindspore/common/dump.py +9 -6
  46. mindspore/common/file_system.py +9 -1
  47. mindspore/common/generator.py +2 -0
  48. mindspore/common/hook_handle.py +6 -2
  49. mindspore/common/initializer.py +13 -10
  50. mindspore/common/jit_begin_end.py +94 -0
  51. mindspore/common/jit_config.py +6 -1
  52. mindspore/common/jit_context.py +76 -0
  53. mindspore/common/jit_trace.py +378 -0
  54. mindspore/common/lazy_inline.py +9 -3
  55. mindspore/common/mindir_util.py +10 -2
  56. mindspore/common/mutable.py +5 -4
  57. mindspore/common/parameter.py +135 -52
  58. mindspore/common/seed.py +2 -2
  59. mindspore/common/sparse_tensor.py +23 -17
  60. mindspore/common/tensor.py +951 -1992
  61. mindspore/communication/__init__.py +7 -5
  62. mindspore/communication/_comm_helper.py +52 -2
  63. mindspore/communication/comm_func.py +240 -181
  64. mindspore/communication/management.py +95 -26
  65. mindspore/context.py +314 -566
  66. mindspore/dataset/__init__.py +65 -37
  67. mindspore/dataset/audio/__init__.py +2 -8
  68. mindspore/dataset/audio/transforms.py +3 -17
  69. mindspore/dataset/callback/ds_callback.py +2 -1
  70. mindspore/dataset/core/config.py +87 -6
  71. mindspore/dataset/engine/cache_admin.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +6 -5
  73. mindspore/dataset/engine/datasets.py +292 -267
  74. mindspore/dataset/engine/datasets_audio.py +22 -8
  75. mindspore/dataset/engine/datasets_standard_format.py +46 -27
  76. mindspore/dataset/engine/datasets_text.py +78 -48
  77. mindspore/dataset/engine/datasets_user_defined.py +182 -116
  78. mindspore/dataset/engine/datasets_vision.py +120 -44
  79. mindspore/dataset/engine/iterators.py +283 -63
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/obs/util.py +8 -0
  82. mindspore/dataset/engine/queue.py +40 -0
  83. mindspore/dataset/engine/samplers.py +289 -43
  84. mindspore/dataset/engine/serializer_deserializer.py +3 -2
  85. mindspore/dataset/engine/validators.py +53 -11
  86. mindspore/dataset/text/__init__.py +7 -6
  87. mindspore/dataset/text/transforms.py +6 -5
  88. mindspore/dataset/text/utils.py +3 -3
  89. mindspore/dataset/transforms/__init__.py +0 -9
  90. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  91. mindspore/dataset/transforms/transforms.py +31 -14
  92. mindspore/dataset/utils/browse_dataset.py +1 -1
  93. mindspore/dataset/vision/__init__.py +2 -9
  94. mindspore/dataset/vision/transforms.py +202 -158
  95. mindspore/dataset/vision/utils.py +7 -5
  96. mindspore/dataset/vision/validators.py +1 -2
  97. mindspore/device_context/__init__.py +21 -0
  98. mindspore/device_context/ascend/__init__.py +25 -0
  99. mindspore/device_context/ascend/device.py +72 -0
  100. mindspore/device_context/ascend/op_debug.py +153 -0
  101. mindspore/device_context/ascend/op_precision.py +193 -0
  102. mindspore/device_context/ascend/op_tuning.py +123 -0
  103. mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
  104. mindspore/device_context/cpu/device.py +62 -0
  105. mindspore/device_context/cpu/op_tuning.py +43 -0
  106. mindspore/device_context/gpu/__init__.py +21 -0
  107. mindspore/device_context/gpu/device.py +70 -0
  108. mindspore/device_context/gpu/op_precision.py +67 -0
  109. mindspore/device_context/gpu/op_tuning.py +175 -0
  110. mindspore/device_manager.py +170 -0
  111. mindspore/experimental/es/embedding_service.py +35 -27
  112. mindspore/experimental/llm_boost/__init__.py +1 -0
  113. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  114. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
  115. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  116. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  117. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  118. mindspore/experimental/llm_boost/register.py +1 -0
  119. mindspore/experimental/map_parameter.py +4 -4
  120. mindspore/experimental/optim/adadelta.py +6 -6
  121. mindspore/experimental/optim/adagrad.py +4 -4
  122. mindspore/experimental/optim/adam.py +7 -0
  123. mindspore/experimental/optim/adamax.py +4 -4
  124. mindspore/experimental/optim/adamw.py +4 -0
  125. mindspore/experimental/optim/asgd.py +1 -1
  126. mindspore/experimental/optim/lr_scheduler.py +73 -46
  127. mindspore/experimental/optim/radam.py +34 -31
  128. mindspore/experimental/optim/rprop.py +1 -1
  129. mindspore/experimental/optim/sgd.py +1 -1
  130. mindspore/hal/contiguous_tensors_handle.py +6 -10
  131. mindspore/hal/device.py +55 -53
  132. mindspore/hal/event.py +52 -52
  133. mindspore/hal/memory.py +157 -117
  134. mindspore/hal/stream.py +150 -109
  135. mindspore/include/api/context.h +0 -1
  136. mindspore/include/dataset/constants.h +7 -4
  137. mindspore/include/dataset/execute.h +2 -2
  138. mindspore/jpeg62.dll +0 -0
  139. mindspore/log.py +50 -0
  140. mindspore/mindrecord/__init__.py +21 -8
  141. mindspore/mindrecord/config.py +17 -316
  142. mindspore/mindrecord/filereader.py +1 -9
  143. mindspore/mindrecord/filewriter.py +5 -15
  144. mindspore/mindrecord/mindpage.py +1 -9
  145. mindspore/mindspore_backend_common.dll +0 -0
  146. mindspore/mindspore_backend_manager.dll +0 -0
  147. mindspore/mindspore_common.dll +0 -0
  148. mindspore/mindspore_core.dll +0 -0
  149. mindspore/mindspore_dump.dll +0 -0
  150. mindspore/mindspore_frontend.dll +0 -0
  151. mindspore/mindspore_memory_pool.dll +0 -0
  152. mindspore/mindspore_ms_backend.dll +0 -0
  153. mindspore/mindspore_ops.dll +0 -0
  154. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  155. mindspore/mindspore_ops_kernel_common.dll +0 -0
  156. mindspore/mindspore_profiler.dll +0 -0
  157. mindspore/mindspore_pyboost.dll +0 -0
  158. mindspore/mindspore_pynative.dll +0 -0
  159. mindspore/mindspore_res_manager.dll +0 -0
  160. mindspore/mindspore_runtime_pipeline.dll +0 -0
  161. mindspore/mint/__init__.py +796 -759
  162. mindspore/mint/distributed/__init__.py +70 -4
  163. mindspore/mint/distributed/distributed.py +2679 -44
  164. mindspore/mint/linalg/__init__.py +8 -0
  165. mindspore/mint/nn/__init__.py +743 -22
  166. mindspore/mint/nn/functional.py +716 -23
  167. mindspore/mint/nn/layer/__init__.py +21 -4
  168. mindspore/mint/nn/layer/_functions.py +334 -0
  169. mindspore/mint/nn/layer/activation.py +276 -1
  170. mindspore/mint/nn/layer/basic.py +123 -0
  171. mindspore/mint/nn/layer/conv.py +921 -0
  172. mindspore/mint/nn/layer/normalization.py +223 -28
  173. mindspore/mint/nn/layer/padding.py +797 -0
  174. mindspore/mint/nn/layer/pooling.py +235 -0
  175. mindspore/mint/optim/__init__.py +3 -1
  176. mindspore/mint/optim/adam.py +223 -0
  177. mindspore/mint/optim/adamw.py +26 -19
  178. mindspore/mint/optim/sgd.py +171 -0
  179. mindspore/mint/special/__init__.py +2 -1
  180. mindspore/multiprocessing/__init__.py +5 -0
  181. mindspore/nn/__init__.py +4 -1
  182. mindspore/nn/cell.py +1370 -189
  183. mindspore/nn/dynamic_lr.py +2 -1
  184. mindspore/nn/layer/activation.py +29 -27
  185. mindspore/nn/layer/basic.py +51 -35
  186. mindspore/nn/layer/channel_shuffle.py +3 -3
  187. mindspore/nn/layer/container.py +1 -1
  188. mindspore/nn/layer/conv.py +22 -17
  189. mindspore/nn/layer/embedding.py +12 -11
  190. mindspore/nn/layer/normalization.py +56 -49
  191. mindspore/nn/layer/padding.py +4 -3
  192. mindspore/nn/layer/pooling.py +120 -42
  193. mindspore/nn/layer/rnn_cells.py +1 -1
  194. mindspore/nn/layer/rnns.py +2 -1
  195. mindspore/nn/layer/timedistributed.py +5 -5
  196. mindspore/nn/layer/transformer.py +59 -36
  197. mindspore/nn/learning_rate_schedule.py +8 -4
  198. mindspore/nn/loss/loss.py +58 -55
  199. mindspore/nn/optim/ada_grad.py +7 -5
  200. mindspore/nn/optim/adadelta.py +11 -9
  201. mindspore/nn/optim/adafactor.py +1 -1
  202. mindspore/nn/optim/adam.py +17 -13
  203. mindspore/nn/optim/adamax.py +8 -7
  204. mindspore/nn/optim/adasum.py +5 -5
  205. mindspore/nn/optim/asgd.py +1 -1
  206. mindspore/nn/optim/ftrl.py +11 -9
  207. mindspore/nn/optim/lamb.py +1 -1
  208. mindspore/nn/optim/lars.py +1 -4
  209. mindspore/nn/optim/lazyadam.py +12 -10
  210. mindspore/nn/optim/momentum.py +7 -6
  211. mindspore/nn/optim/optimizer.py +3 -3
  212. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  213. mindspore/nn/optim/rmsprop.py +13 -12
  214. mindspore/nn/optim/rprop.py +11 -9
  215. mindspore/nn/optim/sgd.py +9 -6
  216. mindspore/nn/optim/tft_wrapper.py +5 -2
  217. mindspore/nn/optim/thor.py +2 -1
  218. mindspore/nn/probability/bijector/bijector.py +17 -11
  219. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  220. mindspore/nn/probability/bijector/invert.py +2 -2
  221. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  222. mindspore/nn/probability/bijector/softplus.py +3 -2
  223. mindspore/nn/probability/distribution/beta.py +3 -3
  224. mindspore/nn/probability/distribution/categorical.py +1 -1
  225. mindspore/nn/probability/distribution/cauchy.py +4 -2
  226. mindspore/nn/probability/distribution/exponential.py +6 -7
  227. mindspore/nn/probability/distribution/gamma.py +2 -2
  228. mindspore/nn/probability/distribution/gumbel.py +2 -2
  229. mindspore/nn/probability/distribution/half_normal.py +5 -3
  230. mindspore/nn/probability/distribution/logistic.py +5 -3
  231. mindspore/nn/probability/distribution/poisson.py +1 -1
  232. mindspore/nn/probability/distribution/uniform.py +5 -3
  233. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  234. mindspore/nn/reinforcement/tensor_array.py +1 -1
  235. mindspore/nn/utils/init.py +13 -11
  236. mindspore/nn/wrap/__init__.py +6 -6
  237. mindspore/nn/wrap/cell_wrapper.py +181 -122
  238. mindspore/nn/wrap/grad_reducer.py +45 -36
  239. mindspore/nn/wrap/loss_scale.py +6 -7
  240. mindspore/numpy/array_creations.py +63 -65
  241. mindspore/numpy/array_ops.py +149 -144
  242. mindspore/numpy/logic_ops.py +41 -42
  243. mindspore/numpy/math_ops.py +365 -363
  244. mindspore/numpy/utils.py +17 -18
  245. mindspore/numpy/utils_const.py +5 -6
  246. mindspore/opencv_core452.dll +0 -0
  247. mindspore/opencv_imgcodecs452.dll +0 -0
  248. mindspore/opencv_imgproc452.dll +0 -0
  249. mindspore/ops/__init__.py +5 -3
  250. mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
  251. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
  252. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  253. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  254. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  255. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  256. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  257. mindspore/ops/_register_for_op.py +0 -11
  258. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  259. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
  260. mindspore/ops/_vmap/vmap_array_ops.py +27 -25
  261. mindspore/ops/_vmap/vmap_base.py +0 -2
  262. mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
  263. mindspore/ops/_vmap/vmap_math_ops.py +15 -16
  264. mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
  265. mindspore/ops/auto_generate/__init__.py +4 -3
  266. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +236 -46
  267. mindspore/ops/auto_generate/gen_extend_func.py +764 -124
  268. mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
  269. mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
  270. mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
  271. mindspore/ops/composite/__init__.py +2 -1
  272. mindspore/ops/composite/base.py +20 -25
  273. mindspore/ops/composite/math_ops.py +6 -16
  274. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  275. mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
  276. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  277. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  278. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  279. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  280. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  281. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  282. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  283. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  284. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  285. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  286. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  287. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  288. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  289. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  290. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  291. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  292. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  293. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  294. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  295. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  296. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  297. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  298. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  299. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  300. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  301. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
  302. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  303. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  304. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  305. mindspore/ops/function/__init__.py +40 -2
  306. mindspore/ops/function/_add_attr_func.py +58 -0
  307. mindspore/ops/function/array_func.py +2089 -2403
  308. mindspore/ops/function/clip_func.py +80 -23
  309. mindspore/ops/function/debug_func.py +57 -57
  310. mindspore/ops/function/grad/__init__.py +1 -0
  311. mindspore/ops/function/grad/grad_func.py +104 -71
  312. mindspore/ops/function/image_func.py +2 -2
  313. mindspore/ops/function/linalg_func.py +47 -78
  314. mindspore/ops/function/math_func.py +4501 -3802
  315. mindspore/ops/function/nn_func.py +1726 -620
  316. mindspore/ops/function/other_func.py +159 -1
  317. mindspore/ops/function/parameter_func.py +18 -84
  318. mindspore/ops/function/random_func.py +440 -387
  319. mindspore/ops/function/reshard_func.py +4 -70
  320. mindspore/ops/function/sparse_func.py +3 -3
  321. mindspore/ops/function/sparse_unary_func.py +6 -6
  322. mindspore/ops/function/spectral_func.py +25 -58
  323. mindspore/ops/function/vmap_func.py +24 -17
  324. mindspore/ops/functional.py +22 -7
  325. mindspore/ops/functional_overload.py +1440 -0
  326. mindspore/ops/op_info_register.py +32 -244
  327. mindspore/ops/operations/__init__.py +13 -7
  328. mindspore/ops/operations/_custom_ops_utils.py +247 -0
  329. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  330. mindspore/ops/operations/_grad_ops.py +2 -43
  331. mindspore/ops/operations/_infer_ops.py +2 -1
  332. mindspore/ops/operations/_inner_ops.py +43 -84
  333. mindspore/ops/operations/_ms_kernel.py +4 -10
  334. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  335. mindspore/ops/operations/_scalar_ops.py +3 -2
  336. mindspore/ops/operations/_sequence_ops.py +1 -1
  337. mindspore/ops/operations/_tensor_array.py +1 -1
  338. mindspore/ops/operations/array_ops.py +81 -324
  339. mindspore/ops/operations/comm_ops.py +154 -108
  340. mindspore/ops/operations/custom_ops.py +232 -78
  341. mindspore/ops/operations/debug_ops.py +153 -59
  342. mindspore/ops/operations/inner_ops.py +7 -5
  343. mindspore/ops/operations/linalg_ops.py +1 -57
  344. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  345. mindspore/ops/operations/manually_defined/ops_def.py +928 -180
  346. mindspore/ops/operations/math_ops.py +32 -234
  347. mindspore/ops/operations/nn_ops.py +210 -498
  348. mindspore/ops/operations/other_ops.py +62 -9
  349. mindspore/ops/operations/random_ops.py +13 -7
  350. mindspore/ops/operations/reshard_ops.py +1 -1
  351. mindspore/ops/operations/sparse_ops.py +2 -2
  352. mindspore/ops/primitive.py +66 -53
  353. mindspore/ops/tensor_method.py +1888 -0
  354. mindspore/ops_generate/__init__.py +0 -5
  355. mindspore/ops_generate/aclnn/__init__.py +0 -0
  356. mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
  357. mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
  358. mindspore/ops_generate/api/__init__.py +0 -0
  359. mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
  360. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
  361. mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
  362. mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
  363. mindspore/ops_generate/api/functions_cc_generator.py +237 -0
  364. mindspore/ops_generate/api/gen_api.py +103 -0
  365. mindspore/ops_generate/api/op_api_proto.py +235 -0
  366. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
  367. mindspore/ops_generate/common/__init__.py +0 -0
  368. mindspore/ops_generate/common/base_generator.py +11 -0
  369. mindspore/ops_generate/common/gen_constants.py +91 -0
  370. mindspore/ops_generate/common/gen_utils.py +348 -0
  371. mindspore/ops_generate/common/op_proto.py +473 -0
  372. mindspore/ops_generate/common/template.py +523 -0
  373. mindspore/ops_generate/gen_ops.py +22 -1069
  374. mindspore/ops_generate/op_def/__init__.py +0 -0
  375. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  376. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
  377. mindspore/ops_generate/op_def/ops_def_cc_generator.py +299 -0
  378. mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
  379. mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
  380. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  381. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  382. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  383. mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
  384. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
  385. mindspore/ops_generate/pyboost/__init__.py +0 -0
  386. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
  387. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
  388. mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
  389. mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
  390. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
  391. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
  392. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
  393. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
  394. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
  395. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
  396. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
  397. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
  398. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
  399. mindspore/ops_generate/resources/__init__.py +0 -0
  400. mindspore/ops_generate/resources/resource_list.py +30 -0
  401. mindspore/ops_generate/resources/resource_loader.py +36 -0
  402. mindspore/ops_generate/resources/resource_manager.py +64 -0
  403. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  404. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  405. mindspore/parallel/__init__.py +7 -3
  406. mindspore/parallel/_auto_parallel_context.py +152 -34
  407. mindspore/parallel/_cell_wrapper.py +130 -15
  408. mindspore/parallel/_parallel_serialization.py +107 -5
  409. mindspore/parallel/_ps_context.py +1 -1
  410. mindspore/parallel/_recovery_context.py +7 -2
  411. mindspore/parallel/_tensor.py +142 -18
  412. mindspore/parallel/_utils.py +199 -23
  413. mindspore/parallel/algo_parameter_config.py +4 -4
  414. mindspore/parallel/auto_parallel.py +732 -0
  415. mindspore/parallel/checkpoint_convert.py +159 -0
  416. mindspore/parallel/checkpoint_transform.py +698 -35
  417. mindspore/parallel/cluster/process_entity/_api.py +276 -50
  418. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  419. mindspore/parallel/cluster/run.py +21 -4
  420. mindspore/parallel/function/__init__.py +24 -0
  421. mindspore/parallel/function/reshard_func.py +259 -0
  422. mindspore/parallel/nn/__init__.py +25 -0
  423. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  424. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  425. mindspore/parallel/parameter_broadcast.py +25 -14
  426. mindspore/parallel/shard.py +137 -58
  427. mindspore/parallel/transform_safetensors.py +363 -305
  428. mindspore/profiler/__init__.py +22 -5
  429. mindspore/profiler/analysis/__init__.py +0 -0
  430. mindspore/profiler/analysis/parser/__init__.py +0 -0
  431. mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
  432. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  433. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  434. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  435. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  436. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  437. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
  438. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  439. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +106 -0
  440. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  441. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  442. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  443. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  444. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  445. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  446. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  447. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  448. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  449. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  450. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
  451. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  452. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  453. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  454. mindspore/profiler/analysis/task_manager.py +131 -0
  455. mindspore/profiler/analysis/time_converter.py +84 -0
  456. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  457. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
  458. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  459. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
  460. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
  461. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
  462. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
  463. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  464. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  465. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
  466. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  467. mindspore/profiler/analysis/work_flow.py +73 -0
  468. mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
  469. mindspore/profiler/common/command_executor.py +90 -0
  470. mindspore/profiler/common/constant.py +186 -3
  471. mindspore/profiler/common/file_manager.py +208 -0
  472. mindspore/profiler/common/log.py +130 -0
  473. mindspore/profiler/common/msprof_cmd_tool.py +221 -0
  474. mindspore/profiler/common/path_manager.py +395 -0
  475. mindspore/profiler/common/process_bar.py +168 -0
  476. mindspore/profiler/common/process_pool.py +9 -3
  477. mindspore/profiler/common/profiler_context.py +500 -0
  478. mindspore/profiler/common/profiler_info.py +304 -0
  479. mindspore/profiler/common/profiler_meta_data.py +74 -0
  480. mindspore/profiler/common/profiler_output_path.py +284 -0
  481. mindspore/profiler/common/profiler_parameters.py +251 -0
  482. mindspore/profiler/common/profiler_path_manager.py +179 -0
  483. mindspore/profiler/common/record_function.py +76 -0
  484. mindspore/profiler/common/tlv_decoder.py +76 -0
  485. mindspore/profiler/common/util.py +75 -2
  486. mindspore/profiler/dynamic_profiler.py +341 -75
  487. mindspore/profiler/envprofiler.py +163 -0
  488. mindspore/profiler/experimental_config.py +197 -0
  489. mindspore/profiler/mstx.py +242 -0
  490. mindspore/profiler/platform/__init__.py +21 -0
  491. mindspore/profiler/platform/base_profiler.py +40 -0
  492. mindspore/profiler/platform/cpu_profiler.py +124 -0
  493. mindspore/profiler/platform/gpu_profiler.py +74 -0
  494. mindspore/profiler/platform/npu_profiler.py +335 -0
  495. mindspore/profiler/profiler.py +1073 -90
  496. mindspore/profiler/profiler_action_controller.py +187 -0
  497. mindspore/profiler/profiler_interface.py +118 -0
  498. mindspore/profiler/schedule.py +243 -0
  499. mindspore/rewrite/api/node.py +15 -13
  500. mindspore/rewrite/api/symbol_tree.py +2 -3
  501. mindspore/run_check/_check_version.py +27 -20
  502. mindspore/run_check/run_check.py +1 -1
  503. mindspore/runtime/__init__.py +37 -0
  504. mindspore/runtime/device.py +27 -0
  505. mindspore/runtime/event.py +209 -0
  506. mindspore/runtime/executor.py +177 -0
  507. mindspore/runtime/memory.py +409 -0
  508. mindspore/runtime/stream.py +460 -0
  509. mindspore/runtime/thread_bind_core.py +401 -0
  510. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  511. mindspore/swresample-4.dll +0 -0
  512. mindspore/swscale-6.dll +0 -0
  513. mindspore/tinyxml2.dll +0 -0
  514. mindspore/train/__init__.py +8 -8
  515. mindspore/train/_utils.py +88 -25
  516. mindspore/train/amp.py +9 -5
  517. mindspore/train/callback/__init__.py +2 -2
  518. mindspore/train/callback/_callback.py +2 -16
  519. mindspore/train/callback/_checkpoint.py +53 -55
  520. mindspore/train/callback/_cluster_monitor.py +14 -18
  521. mindspore/train/callback/_early_stop.py +1 -1
  522. mindspore/train/callback/_flops_collector.py +103 -68
  523. mindspore/train/callback/_history.py +8 -5
  524. mindspore/train/callback/_lambda_callback.py +2 -2
  525. mindspore/train/callback/_landscape.py +0 -3
  526. mindspore/train/callback/_loss_monitor.py +2 -1
  527. mindspore/train/callback/_on_request_exit.py +6 -5
  528. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  529. mindspore/train/callback/_summary_collector.py +52 -19
  530. mindspore/train/callback/_time_monitor.py +2 -1
  531. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -107
  532. mindspore/train/data_sink.py +25 -2
  533. mindspore/train/dataset_helper.py +15 -16
  534. mindspore/train/loss_scale_manager.py +8 -7
  535. mindspore/train/metrics/accuracy.py +3 -3
  536. mindspore/train/metrics/confusion_matrix.py +9 -9
  537. mindspore/train/metrics/error.py +3 -3
  538. mindspore/train/metrics/hausdorff_distance.py +4 -4
  539. mindspore/train/metrics/mean_surface_distance.py +3 -3
  540. mindspore/train/metrics/metric.py +0 -12
  541. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  542. mindspore/train/metrics/precision.py +11 -10
  543. mindspore/train/metrics/recall.py +9 -9
  544. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  545. mindspore/train/mind_ir_pb2.py +174 -46
  546. mindspore/train/model.py +184 -113
  547. mindspore/train/serialization.py +622 -978
  548. mindspore/train/summary/_summary_adapter.py +2 -2
  549. mindspore/train/summary/summary_record.py +2 -3
  550. mindspore/train/train_thor/model_thor.py +1 -1
  551. mindspore/turbojpeg.dll +0 -0
  552. mindspore/utils/__init__.py +6 -3
  553. mindspore/utils/dryrun.py +140 -0
  554. mindspore/utils/hooks.py +81 -0
  555. mindspore/utils/runtime_execution_order_check.py +550 -0
  556. mindspore/utils/utils.py +138 -4
  557. mindspore/version.py +1 -1
  558. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
  559. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +562 -393
  560. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +1 -1
  561. mindspore/_install_custom.py +0 -43
  562. mindspore/common/_register_for_adapter.py +0 -74
  563. mindspore/common/_tensor_overload.py +0 -139
  564. mindspore/mindspore_np_dtype.dll +0 -0
  565. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  566. mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
  567. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  568. mindspore/ops_generate/gen_aclnn_implement.py +0 -263
  569. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  570. mindspore/ops_generate/gen_pyboost_func.py +0 -1052
  571. mindspore/ops_generate/gen_utils.py +0 -209
  572. mindspore/ops_generate/op_proto.py +0 -145
  573. mindspore/ops_generate/template.py +0 -261
  574. mindspore/profiler/envprofiling.py +0 -254
  575. mindspore/profiler/profiling.py +0 -1926
  576. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
  577. {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,10 @@ from __future__ import absolute_import
21
21
  import mindspore.ops as ops
22
22
  from mindspore.mint.nn import functional as F
23
23
  from mindspore.nn.cell import Cell
24
+ from mindspore.nn import AdaptiveMaxPool2d
25
+ from mindspore.nn import SoftMarginLoss
24
26
  from mindspore.nn import EmbeddingExt as Embedding, MaxPool2dExt as MaxPool2d, LayerNormExt as LayerNorm, Linear
27
+ import mindspore.nn as nn
25
28
 
26
29
  # 1
27
30
 
@@ -32,6 +35,12 @@ from mindspore.nn.layer.basic import Identity
32
35
  # 4
33
36
 
34
37
  # 5
38
+ from mindspore.mint.nn.layer.padding import (
39
+ ConstantPad1d, ConstantPad2d, ConstantPad3d,
40
+ ZeroPad1d, ZeroPad2d, ZeroPad3d,
41
+ ReflectionPad1d, ReflectionPad2d, ReflectionPad3d,
42
+ ReplicationPad1d, ReplicationPad2d, ReplicationPad3d
43
+ )
35
44
 
36
45
  # 6
37
46
  from mindspore.nn.layer.basic import UnfoldExt as Unfold
@@ -53,7 +62,7 @@ from mindspore.nn.layer import ReLU
53
62
  # 14
54
63
  from mindspore.nn.layer.basic import DropoutExt as Dropout
55
64
  # 15
56
-
65
+ from mindspore.mint.nn.layer.conv import Conv1d, Conv2d, Conv3d, ConvTranspose2d
57
66
  # 16
58
67
  from mindspore.nn.layer import LogSoftmaxExt as LogSoftmax
59
68
  # 17
@@ -105,6 +114,7 @@ from mindspore.nn.layer import PReLUExt as PReLU
105
114
  # 40
106
115
  from mindspore.mint.nn.layer.normalization import GroupNorm
107
116
  from mindspore.mint.nn.layer.normalization import LayerNorm
117
+ from mindspore.mint.nn.layer.normalization import SyncBatchNorm
108
118
  # 41
109
119
 
110
120
  # 42
@@ -116,7 +126,7 @@ from mindspore.mint.nn.layer.normalization import LayerNorm
116
126
  # 45
117
127
 
118
128
  # 46
119
- from mindspore.mint.nn.layer.activation import SiLU, LogSigmoid
129
+ from mindspore.mint.nn.layer.activation import SiLU, LogSigmoid, Sigmoid
120
130
 
121
131
  # 47
122
132
 
@@ -215,17 +225,19 @@ from mindspore.mint.nn.layer.activation import SiLU, LogSigmoid
215
225
  # 94
216
226
 
217
227
  # 95
218
-
228
+ from mindspore.nn.layer import AvgPool3dExt as AvgPool3d
219
229
  # 96
220
230
 
221
231
  # 97
222
232
 
223
233
  # 98
224
-
234
+ from mindspore.nn.layer import AvgPool1dExt as AvgPool1d
225
235
  # 99
226
236
  from mindspore.nn.layer import AvgPool2dExt as AvgPool2d
227
237
  # 100
228
238
  from mindspore.nn.layer import SoftShrink as Softshrink
239
+ # 152
240
+ from mindspore.mint.nn.layer.pooling import AdaptiveAvgPool3d
229
241
  # 159
230
242
 
231
243
  # 220
@@ -237,11 +249,33 @@ from mindspore.nn.layer import HSwish as Hardswish
237
249
  # 238
238
250
  from mindspore.nn.loss import L1LossExt as L1Loss
239
251
 
252
+ # 254
253
+ from mindspore.mint.nn.layer.pooling import MaxUnpool2d
254
+
255
+ # 256
256
+ from mindspore.mint.nn.layer.activation import Threshold
257
+
240
258
  # 257
241
259
 
242
260
  # 258
243
261
  from mindspore.ops.function.nn_func import mse_loss_ext
244
262
 
263
+ # 393
264
+ from mindspore.mint.nn.layer.basic import Dropout2d
265
+
266
+ # 406
267
+ from mindspore.mint.nn.layer.activation import ELU
268
+
269
+ # 407
270
+ from mindspore.mint.nn.layer.basic import Flatten
271
+
272
+ # 421
273
+ from mindspore.mint.nn.layer.activation import Tanh
274
+
275
+ # 536
276
+ from mindspore.mint.nn.layer.activation import GLU
277
+ # 548
278
+ from mindspore.ops.function.nn_func import kl_div_ext
245
279
 
246
280
  # 674
247
281
  from mindspore.mint.nn.layer.normalization import BatchNorm1d
@@ -252,10 +286,217 @@ from mindspore.mint.nn.layer.normalization import BatchNorm2d
252
286
  # 676
253
287
  from mindspore.mint.nn.layer.normalization import BatchNorm3d
254
288
 
289
+ from mindspore.mint.nn.layer.pooling import AdaptiveMaxPool1d
290
+
255
291
  from mindspore.mint.nn.layer.pooling import AdaptiveAvgPool1d
256
292
 
257
293
  from mindspore.mint.nn.layer.pooling import AdaptiveAvgPool2d
258
294
 
295
+ from mindspore.ops.function.nn_func import cross_entropy_ext as cross_entropy
296
+
297
+ from mindspore.ops.function.nn_func import _nllloss_nd as nllloss
298
+
299
+ from mindspore.ops.auto_generate import upsample_nearest2d_op, upsample_bilinear2d_op
300
+
301
+
302
+ class NLLLoss(Cell):
303
+ r"""
304
+ Gets the negative log likelihood loss between inputs and target.
305
+
306
+ The nll loss with reduction=none can be described as:
307
+
308
+ .. math::
309
+
310
+ \ell(x, t)=L=\left\{l_{1}, \ldots, l_{N}\right\}^{\top},
311
+ \quad l_{n}=-w_{t_{n}} x_{n, t_{n}},
312
+ \quad w_{c}=\text { weight }[c] \cdot \mathbb{1}
313
+ \{c \not= \text{ignore_index}\},
314
+
315
+ where :math:`x` is the inputs, :math:`t` is the target, :math:`w` is the weight,
316
+ :math:`N` is the batch size, :math:`c` belonging to :math:`[0, C-1]` is class index,
317
+ where :math:`C` is the number of classes.
318
+
319
+ If `reduction` is not ``'None'`` (default ``'mean'``), then
320
+
321
+ .. math::
322
+
323
+ \ell(x, t)=\left\{\begin{array}{ll}
324
+ \sum_{n=1}^{N} \frac{1}{\sum_{n=1}^{N} w_{t n}} l_{n}, & \text { if reduction }=\text { 'mean', } \\
325
+ \sum_{n=1}^{N} l_{n}, & \text { if reduction }=\text { 'sum' }
326
+ \end{array}\right.
327
+
328
+ .. warning::
329
+ This is an experimental API that is subject to change or deletion.
330
+
331
+ Args:
332
+ weight (Tensor, optional): A rescaling weight applied to the loss of each batch element.
333
+ If not None, the shape is :math:`(C,)`, data type must be float16 or float32 or bfloat16(only supported by
334
+ Atlas A2 training series products). It should have the same data type as `input` . Default: ``None`` .
335
+ ignore_index (int, optional): Specifies a target value that is ignored and does not contribute to the input
336
+ gradient. Only valid in class indices, please set it to a negative number in probabilities.
337
+ Default: ``-100`` .
338
+ reduction (str, optional): Apply specific reduction method to the output: ``'none'`` , ``'mean'`` ,
339
+ ``'sum'`` . Default: ``'mean'`` .
340
+
341
+ - ``'none'``: no reduction will be applied.
342
+ - ``'mean'``: compute and return the weighted mean of elements in the output.
343
+ - ``'sum'``: the output elements will be summed.
344
+
345
+ Inputs:
346
+ - **input** (Tensor) - :math:`(N)` or :math:`(N, C)` where `C = number of classes` , `N = batch size` ,
347
+ or :math:`(N, C, d_1, d_2, ..., d_K)` (for high-dimensional data).
348
+ `input` is expected to be log-probabilities, data type must be float16 or float32 or bfloat16(only supported
349
+ by Atlas A2 training series products).
350
+ - **target** (Tensor) - :math:`()` or :math:`(N)` ,
351
+ where the value range is :math:`[0, C-1]`, or :math:`(N, d_1, d_2, ..., d_K)` for
352
+ high-dimensional loss, data type must be int32 or int64 or uint8.
353
+
354
+ Outputs:
355
+ Tensor, the data type is the same as `input` .
356
+
357
+ Supported Platforms:
358
+ ``Ascend``
359
+
360
+ Examples:
361
+ >>> import mindspore
362
+ >>> import numpy as np
363
+ >>> from mindspore import Tensor, ops
364
+ >>> inputs = mindspore.Tensor(np.random.randn(3, 5), mindspore.float32)
365
+ >>> target = mindspore.Tensor(np.array([1, 0, 4]), mindspore.int32)
366
+ >>> op = mindspore.mint.nn.NLLLoss()
367
+ >>> output = op(inputs, target)
368
+
369
+ """
370
+
371
+ def __init__(self, weight=None, ignore_index=-100, reduction='mean'):
372
+ super(NLLLoss, self).__init__()
373
+ self.weight = weight
374
+ self.ignore_index = ignore_index
375
+ self.reduction = reduction
376
+
377
+ def construct(self, input, target):
378
+ out = nllloss(input, target, self.weight, self.ignore_index, self.reduction)
379
+ return out
380
+
381
+
382
+ class CrossEntropyLoss(Cell):
383
+ r"""
384
+ The cross entropy loss between input and target.
385
+
386
+ The cross entropy supports two kind of targets:
387
+
388
+ - Class indices (int) in the range :math:`[0, C)` where :math:`C` is the number of classes,
389
+ the loss with reduction=none can be described as:
390
+
391
+ .. math::
392
+
393
+ \ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad
394
+ l_n = - w_{y_n} \log \frac{\exp(x_{n,y_n})}{\sum_{c=1}^C \exp(x_{n,c})}
395
+ \cdot \mathbb{1}\{y_n \not= \text{ignore_index}\}
396
+
397
+ where :math:`x` is the inputs, :math:`y` is the target, :math:`w` is the weight, :math:`N` is the batch size,
398
+ :math:`c` belonging to :math:`[0, C-1]` is class index, where :math:`C` is the number of classes.
399
+
400
+ If `reduction` is not ``None`` (default ``'mean'`` ), then
401
+
402
+ .. math::
403
+
404
+ \ell(x, y) = \begin{cases}
405
+ \sum_{n=1}^N \frac{1}{\sum_{n=1}^N w_{y_n} \cdot \mathbb{1}\{y_n \not= \text{ignore_index}\}} l_n, &
406
+ \text{if reduction} = \text{'mean',}\\
407
+ \sum_{n=1}^N l_n, &
408
+ \text{if reduction} = \text{'sum'.}
409
+ \end{cases}
410
+
411
+ - Probabilities (float) for each class, useful when labels beyond a single class per minibatch item
412
+ are required, the loss with reduction=none can be described as:
413
+
414
+ .. math::
415
+
416
+ \ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad
417
+ l_n = - \sum_{c=1}^C w_c \log \frac{\exp(x_{n,c})}{\sum_{i=1}^C \exp(x_{n,i})} y_{n,c}
418
+
419
+ where :math:`x` is the inputs, :math:`y` is the target, :math:`w` is the weight, N is the batch size,
420
+ :math:`c` belonging to :math:`[0, C-1]` is class index, where :math:`C` is the number of classes.
421
+
422
+ If `reduction` is not ``None`` (default ``'mean'`` ), then
423
+
424
+ .. math::
425
+
426
+ \ell(x, y) = \begin{cases}
427
+ \frac{\sum_{n=1}^N l_n}{N}, &
428
+ \text{if reduction} = \text{'mean',}\\
429
+ \sum_{n=1}^N l_n, &
430
+ \text{if reduction} = \text{'sum'.}
431
+ \end{cases}
432
+
433
+ .. warning::
434
+ This is an experimental API that is subject to change or deletion.
435
+
436
+ Note:
437
+ Dynamic shape, dynamic rank and variable constant input are not supported in `strict graph mode
438
+ (jit_syntax_level=mindspore.STRICT)
439
+ <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.JitConfig.html>`_.
440
+
441
+ Args:
442
+ weight (Tensor, optional): A rescaling weight applied to the loss of each batch element.
443
+ If not None, the shape is :math:`(C,)`, data type must be float16 or float32 or bfloat16(only supported by
444
+ Atlas A2 training series products). Default: ``None`` .
445
+ ignore_index (int, optional): Specifies a target value that is ignored and does not contribute to the input
446
+ gradient. Only valid in class indices, please set it to a negative number in probabilities.
447
+ Default: ``-100`` .
448
+ reduction (str, optional): Apply specific reduction method to the output: ``'none'`` , ``'mean'`` ,
449
+ ``'sum'`` . Default: ``'mean'`` .
450
+
451
+ - ``'none'``: no reduction will be applied.
452
+ - ``'mean'``: compute and return the weighted mean of elements in the output.
453
+ - ``'sum'``: the output elements will be summed.
454
+
455
+ label_smoothing (float, optional): Label smoothing values, a regularization tool used to prevent the model
456
+ from overfitting when calculating Loss. The value range is [0.0, 1.0]. Default: ``0.0`` .
457
+
458
+ Inputs:
459
+ - **input** (Tensor) - :math:`(N)` or :math:`(N, C)` where `C = number of classes` or :math:`(N, C, H, W)`
460
+ in case of 2D Loss, or :math:`(N, C, d_1, d_2, ..., d_K)`.
461
+ `input` is expected to be log-probabilities, data type must be float16 or float32 or bfloat16(only supported
462
+ by Atlas A2 training series products).
463
+ - **target** (Tensor) - For class indices, tensor of shape :math:`()`, :math:`(N)` or
464
+ :math:`(N, d_1, d_2, ..., d_K)` , data type must be int32 or int64. For probabilities, tensor of shape
465
+ :math:`(N,)` , :math:`(N, C)` or :math:`(N, C, d_1, d_2, ..., d_K)` , data type must be float16 or float32
466
+ or bfloat16(only supported by Atlas A2 training series products).
467
+
468
+ Outputs:
469
+ Tensor, the data type is the same as `input` .
470
+
471
+ Supported Platforms:
472
+ ``Ascend``
473
+
474
+ Examples:
475
+ >>> import mindspore as ms
476
+ >>> import numpy as np
477
+ >>> # Case 1: Indices labels
478
+ >>> inputs = ms.Tensor(np.random.randn(3, 5), ms.float32)
479
+ >>> target = ms.Tensor(np.array([1, 0, 4]), ms.int32)
480
+ >>> op = ms.mint.nn.CrossEntropyLoss()
481
+ >>> output = op(inputs, target)
482
+ >>> # Case 2: Probability labels
483
+ >>> inputs = ms.Tensor(np.random.randn(3, 5), ms.float32)
484
+ >>> target = ms.Tensor(np.random.randn(3, 5), ms.float32)
485
+ >>> op = ms.mint.nn.CrossEntropyLoss()
486
+ >>> output = op(inputs, target)
487
+ """
488
+
489
+ def __init__(self, weight=None, ignore_index=-100, reduction='mean', label_smoothing=0.0):
490
+ super(CrossEntropyLoss, self).__init__()
491
+ self.weight = weight
492
+ self.ignore_index = ignore_index
493
+ self.reduction = reduction
494
+ self.label_smoothing = label_smoothing
495
+
496
+ def construct(self, input, target):
497
+ out = cross_entropy(input, target, self.weight, self.ignore_index, self.reduction, self.label_smoothing)
498
+ return out
499
+
259
500
 
260
501
  class BCEWithLogitsLoss(Cell):
261
502
  r"""
@@ -384,7 +625,7 @@ class GELU(Cell):
384
625
  :align: center
385
626
 
386
627
  Supported Platforms:
387
- ``Ascend`` ``GPU`` ``CPU``
628
+ ``Ascend``
388
629
 
389
630
  Examples:
390
631
  >>> import mindspore
@@ -394,22 +635,99 @@ class GELU(Cell):
394
635
  >>> gelu = mint.nn.GELU()
395
636
  >>> output = gelu(input)
396
637
  >>> print(output)
397
- [[-1.5880802e-01 3.9999299e+00 -3.1077917e-21]
398
- [ 1.9545976e+00 -2.2918017e-07 9.0000000e+00]]
399
- >>> gelu = mint.nn.GELU(approximate=False)
400
- >>> # CPU not support "approximate=False", using "approximate=True" instead
638
+ [[-1.58655241e-01 3.99987316e+00 -0.00000000e+00]
639
+ [ 1.95449972e+00 -1.41860323e-06 9.0000000e+00]]
640
+ >>> gelu = mint.nn.GELU(approximate="tanh")
401
641
  >>> output = gelu(input)
402
642
  >>> print(output)
403
- [[-1.5865526e-01 3.9998732e+00 -0.0000000e+00]
404
- [ 1.9544997e+00 -1.4901161e-06 9.0000000e+00]]
643
+ [[-1.58808023e-01 3.99992990e+00 -3.10779147e-21]
644
+ [ 1.95459759e+00 -2.29180174e-07 9.0000000e+00]]
405
645
  """
406
646
 
407
- def __init__(self):
647
+ def __init__(self, approximate="none"):
408
648
  """Initialize GELU"""
409
649
  super(GELU, self).__init__()
650
+ self.approximate = approximate
410
651
 
411
652
  def construct(self, input):
412
- return F.gelu(input)
653
+ return F.gelu(input, approximate=self.approximate)
654
+
655
+
656
+
657
+ class Hardtanh(Cell):
658
+ r"""
659
+ Activation function Hardtanh.
660
+
661
+ Refer to :func:`mindspore.mint.nn.functional.hardtanh` for more details.
662
+
663
+ Hardtanh Activation Function Graph:
664
+
665
+ .. image:: ../images/Hardtanh.png
666
+ :align: center
667
+
668
+ Supported Platforms:
669
+ ``Ascend``
670
+
671
+ Examples:
672
+ >>> import mindspore
673
+ >>> from mindspore import Tensor, mint
674
+ >>> import numpy as np
675
+ >>> input = Tensor(np.array([-1, -2, 0, 2, 1]), mindspore.float32)
676
+ >>> hardtanh = mint.nn.Hardtanh(min_val=-1.0, max_val=1.0)
677
+ >>> output = hardtanh(x)
678
+ >>> print(output)
679
+ [-1. -1. 0. 1. 1.]
680
+ """
681
+
682
+ def __init__(self, min_val=-1.0, max_val=1.0, inplace=False):
683
+ """Initialize ReLU6"""
684
+ super(Hardtanh, self).__init__()
685
+ self.min_val = min_val
686
+ self.max_val = max_val
687
+ self.inplace = inplace
688
+
689
+ def construct(self, input):
690
+ if self.inplace:
691
+ return F.hardtanh_(input, self.min_val, self.max_val)
692
+ return F.hardtanh_op(input, self.min_val, self.max_val)
693
+
694
+
695
+ class ReLU6(Cell):
696
+ r"""
697
+ Activation function ReLU6.
698
+
699
+ .. warning::
700
+ This is an experimental API that is subject to change or deletion.
701
+
702
+ Refer to :func:`mindspore.mint.nn.functional.relu6` for more details.
703
+
704
+ ReLU6 Activation Function Graph:
705
+
706
+ .. image:: ../images/ReLU6.png
707
+ :align: center
708
+
709
+ Supported Platforms:
710
+ ``Ascend``
711
+
712
+ Examples:
713
+ >>> import mindspore
714
+ >>> from mindspore import Tensor, mint
715
+ >>> import numpy as np
716
+ >>> input = Tensor(np.array([[-1.0, 4.0, -8.0], [2.0, -5.0, 9.0]]), mindspore.float32)
717
+ >>> relu6 = mint.nn.ReLU6()
718
+ >>> output = relu6(input)
719
+ >>> print(output)
720
+ [[0. 4. 0.]
721
+ [2. 0. 6.]]
722
+ """
723
+
724
+ def __init__(self, inplace=False):
725
+ """Initialize ReLU6"""
726
+ super(ReLU6, self).__init__()
727
+ self.inplace = inplace
728
+
729
+ def construct(self, input):
730
+ return F.relu6(input, self.inplace)
413
731
 
414
732
 
415
733
  class Mish(Cell):
@@ -523,16 +841,388 @@ class MSELoss(Cell):
523
841
  return out
524
842
 
525
843
 
844
+ class SmoothL1Loss(Cell):
845
+ r"""
846
+ Computes smooth L1 loss, a robust L1 loss.
847
+
848
+ Refer to :func:`mindspore.mint.nn.functional.smooth_l1_loss` for more details.
849
+
850
+ .. warning::
851
+ This is an experimental API that is subject to change or deletion.
852
+
853
+ Supported Platforms:
854
+ ``Ascend``
855
+
856
+ Examples:
857
+ >>> import mindspore
858
+ >>> import numpy as np
859
+ >>> from mindspore import Tensor, mint
860
+ >>> input = Tensor(np.array([2, 2, 3]), mindspore.float32)
861
+ >>> target = Tensor(np.array([2, 2, 2]), mindspore.float32)
862
+ >>> beta = 1.0
863
+ >>> reduction_1 = 'none'
864
+ >>> loss1 = mint.nn.SmoothL1Loss(reduction=reduction_1, beta=beta)
865
+ >>> output = loss1(input, target)
866
+ >>> print(output)
867
+ [0. 0. 0.5]
868
+ >>> reduction_2 = 'mean'
869
+ >>> loss2 = mint.nn.SmoothL1Loss(reduction=reduction_2, beta=beta)
870
+ >>> output = loss2(input, target)
871
+ >>> print(output)
872
+ 0.16666667
873
+ >>> reduction_3 = 'sum'
874
+ >>> loss3 = mint.nn.SmoothL1Loss(reduction=reduction_3, beta=beta)
875
+ >>> output = loss3(input, target)
876
+ >>> print(output)
877
+ 0.5
878
+ """
879
+
880
+ def __init__(self, reduction='mean', beta=1.0):
881
+ super(SmoothL1Loss, self).__init__()
882
+ self.smooth_l1_loss = ops.function.smooth_l1_loss
883
+ self.reduction = reduction
884
+ self.beta = beta
885
+
886
+ def construct(self, input, target):
887
+ out = self.smooth_l1_loss(input, target, self.beta, self.reduction)
888
+ return out
889
+
890
+
891
+ class BCELoss(Cell):
892
+ r"""
893
+ Compute the binary cross entropy between the true labels and predicted labels.
894
+
895
+ Set the predicted labels as :math:`x`, true labels as :math:`y`, the output loss as :math:`\ell(x, y)`.
896
+ The formula is as follow:
897
+
898
+ .. math::
899
+ L = \{l_1,\dots,l_n,\dots,l_N\}^\top, \quad
900
+ l_n = - w_n \left[ y_n \cdot \log x_n + (1 - y_n) \cdot \log (1 - x_n) \right]
901
+
902
+ where N is the batch size. Then,
903
+
904
+ .. math::
905
+ \ell(x, y) = \begin{cases}
906
+ L, & \text{if reduction} = \text{'none';}\\
907
+ \operatorname{mean}(L), & \text{if reduction} = \text{'mean';}\\
908
+ \operatorname{sum}(L), & \text{if reduction} = \text{'sum'.}
909
+ \end{cases}
910
+
911
+ .. note::
912
+ Note that the predicted labels should always be the output of sigmoid. Because it is a two-class
913
+ classification, the true labels should be numbers between 0 and 1.
914
+ And if :math:`x_n` is either 0 or 1, one of the log terms would be mathematically undefined in the above loss
915
+ equation.
916
+
917
+ .. warning::
918
+ This is an experimental API that is subject to change or deletion.
919
+
920
+ Args:
921
+ weight (Tensor, optional): A rescaling weight applied to the loss of each batch element.
922
+ And it must have the same shape and data type as `inputs`. Default: ``None`` .
923
+ reduction (str, optional): Apply specific reduction method to the output: ``'none'`` , ``'mean'`` ,
924
+ ``'sum'`` . Default: ``'mean'`` .
925
+
926
+ - ``'none'``: no reduction will be applied.
927
+ - ``'mean'``: compute and return the weighted mean of elements in the output.
928
+ - ``'sum'``: the output elements will be summed.
929
+
930
+ Inputs:
931
+ - **input** (Tensor) - The input tensor with shape :math:`(N, *)` where :math:`*` means, any number
932
+ of additional dimensions. The data type must be float16 or float32 or bfloat16(only supported
933
+ by Atlas A2 training series products).
934
+ - **target** (Tensor) - The label tensor with shape :math:`(N, *)` where :math:`*` means, any number
935
+ of additional dimensions. The same shape and data type as `input`.
936
+
937
+ Outputs:
938
+ Tensor, has the same dtype as `input`. if `reduction` is ``'none'``, then it has the same shape as `input`.
939
+ Otherwise, it is a scalar Tensor.
940
+
941
+ Raises:
942
+ TypeError: If dtype of `input`, `target` or `weight` (if given) is not float16, float32 or bfloat16.
943
+ ValueError: If `reduction` is not one of ``'none'``, ``'mean'``, ``'sum'``.
944
+ ValueError: If shape of `input` is not the same as `target` or `weight` (if given).
945
+
946
+ Supported Platforms:
947
+ ``Ascend``
948
+
949
+ Examples:
950
+ >>> import mindspore as ms
951
+ >>> from mindspore import nn
952
+ >>> import numpy as np
953
+ >>> weight = ms.Tensor(np.array([[1.0, 2.0, 3.0], [4.0, 3.3, 2.2]]), ms.float32)
954
+ >>> loss = nn.BCELoss(weight=weight, reduction='mean')
955
+ >>> input = ms.Tensor(np.array([[0.1, 0.2, 0.3], [0.5, 0.7, 0.9]]), ms.float32)
956
+ >>> target = ms.Tensor(np.array([[0, 1, 0], [0, 0, 1]]), ms.float32)
957
+ >>> output = loss(input, target)
958
+ >>> print(output)
959
+ 1.8952923
960
+ """
961
+
962
+ def __init__(self, weight=None, reduction='mean'):
963
+ super(BCELoss, self).__init__()
964
+ self.bce_loss = nn.loss.BCELoss(weight, reduction)
965
+
966
+ def construct(self, input, target):
967
+ return self.bce_loss(input, target)
968
+
969
+
970
+ class KLDivLoss(Cell):
971
+ r"""
972
+ Computes the Kullback-Leibler divergence between the `input` and the `target`.
973
+
974
+ For tensors of the same shape :math:`x` and :math:`y`,
975
+ the updating formulas of KLDivLoss algorithm are as follows,
976
+
977
+ .. math::
978
+ L(x, y) = y \cdot (\log y - x)
979
+
980
+ Then,
981
+
982
+ .. math::
983
+ \ell(x, y) = \begin{cases}
984
+ L(x, y), & \text{if reduction} = \text{'none';}\\
985
+ \operatorname{mean}(L(x, y)), & \text{if reduction} = \text{'mean';}\\
986
+ \operatorname{sum}(L(x, y)) / x.\operatorname{shape}[0], & \text{if reduction} = \text{'batchmean';}\\
987
+ \operatorname{sum}(L(x, y)), & \text{if reduction} = \text{'sum'.}
988
+ \end{cases}
989
+
990
+ where :math:`x` represents `input`, :math:`y` represents `target`, and :math:`\ell(x, y)` represents the output.
991
+
992
+ Note:
993
+ The output aligns with the mathematical definition of Kullback-Leibler divergence
994
+ only when `reduction` is set to ``'batchmean'``.
995
+
996
+ Args:
997
+ reduction (str, optional): Specifies the reduction to be applied to the output. Default: ``'mean'``.
998
+ log_target (bool, optional): Specifies whether `target` is passed in the log space. Default: ``False``.
999
+
1000
+ Inputs:
1001
+ - **input** (Tensor) - The input Tensor. The data type must be float16, float32 or bfloat16(only supported by
1002
+ Atlas A2 training series products).
1003
+ - **target** (Tensor) - The target Tensor which has the same type as `input`. The shapes of `target` and `input`
1004
+ should be broadcastable.
1005
+
1006
+ Outputs:
1007
+ Tensor, has the same dtype as `input`. If `reduction` is ``'none'``, then output has the shape as broadcast
1008
+ result of the `input` and `target`. Otherwise, it is a scalar Tensor.
1009
+
1010
+ Raises:
1011
+ TypeError: If neither `input` nor `target` is a Tensor.
1012
+ TypeError: If dtype of `input` or `target` is not float16, float32 or bfloat16.
1013
+ TypeError: If dtype of `target` is not the same as `input`.
1014
+ ValueError: If `reduction` is not one of ``'none'``, ``'mean'``, ``'sum'``, ``'batchmean'``.
1015
+ ValueError: If shapes of `target` and `input` can not be broadcastable.
1016
+
1017
+ Supported Platforms:
1018
+ ``Ascend``
1019
+
1020
+ Examples:
1021
+ >>> import mindspore as ms
1022
+ >>> from mindspore import nn
1023
+ >>> import numpy as np
1024
+ >>> input = ms.Tensor(np.array([[0.5, 0.5], [0.4, 0.6]]), ms.float32)
1025
+ >>> target = ms.Tensor(np.array([[0., 1.], [1., 0.]]), ms.float32)
1026
+ >>> loss = nn.KLDivLoss(reduction='mean', log_target=False)
1027
+ >>> output = loss(input, target)
1028
+ >>> print(output)
1029
+ -0.225
1030
+ """
1031
+
1032
+ def __init__(self, reduction='mean', log_target=False):
1033
+ super(KLDivLoss, self).__init__()
1034
+ self.reduction = reduction
1035
+ self.log_target = log_target
1036
+
1037
+ def construct(self, input, target):
1038
+ return kl_div_ext(input, target, self.reduction, self.log_target)
1039
+
1040
+
1041
+ class UpsamplingNearest2d(Cell):
1042
+ r"""
1043
+ Performs nearest neighbor upsampling operation.
1044
+
1045
+ This operator scale up the volumetric input with specified `size` or `scale_factor` factors, using nearest
1046
+ neighbor algorithm.
1047
+
1048
+ .. note::
1049
+ One of `size` or `scale_factor` must be given, and an error will be reported if both are specified.
1050
+
1051
+ .. warning::
1052
+ This is an experimental API that is subject to change or deletion.
1053
+
1054
+ Args:
1055
+ size (Union[tuple[int], list[int]], optional): A tuple or list of int specifying the output volumetric size.
1056
+ Default: ``None``.
1057
+ scale_factor (Union[tuple[float], list[float]], optional): A tuple or list of float specifying the upsampling
1058
+ factors. Default: ``None``.
1059
+
1060
+ Inputs:
1061
+ - **input** (Tensor) - 4D tensor of shape :math:`(N, C, H_{in}, W_{in})`.
1062
+ Supporting types: [uint8, float16, float32, float64].
1063
+
1064
+ Outputs:
1065
+ Upsampled output with the same type as `input` , whose shape is :math:`(N, C, H_{out}, W_{out})`.
1066
+
1067
+ Raises:
1068
+ TypeError: When `size` is not ``None`` and `size` is not list[int] or tuple[int].
1069
+ TypeError: When `scale_factor` is not ``None`` and `scale_factor` is not list[float] or tuple[float].
1070
+ TypeError: If dtype of `input` is not in [uint8, float16, float32, float64].
1071
+ ValueError: If any value of `size` is negative or zero when `size` is not ``None``.
1072
+ ValueError: If any value of `scale_factor` is negative or zero when `scale_factor` is not ``None``.
1073
+ ValueError: If shape of `input` is not 4D.
1074
+ ValueError: If both `scale_factor` and `size` are specified or neither `scale_factor` nor `size` is specified.
1075
+ ValueError: If size of `scale_factor` is not equal to 2 when `scale_factor` is specified.
1076
+ ValueError: If size of `size` is not equal to 2 when `size` is specified.
1077
+
1078
+ Supported Platforms:
1079
+ ``Ascend``
1080
+
1081
+ Examples:
1082
+ >>> import numpy as np
1083
+ >>> from mindspore import Tensor, nn
1084
+ >>> from mindspore import dtype as mstype
1085
+ >>> inut = Tensor(np.arange(12).astype(np.float32).reshape(1, 2, 2, 3))
1086
+ >>> size = [4, 4]
1087
+ >>> net = nn.UpsamplingNearest2d(size, None)
1088
+ >>> output = net(inut)
1089
+ >>> print(output)
1090
+ [[[[0., 0., 1., 2.],
1091
+ [0., 0., 1., 2.],
1092
+ [3., 3., 4., 5.],
1093
+ [3., 3., 4., 5.]],
1094
+ [[6., 6., 7., 8.],
1095
+ [6., 6., 7., 8.],
1096
+ [9., 9., 10., 10.],
1097
+ [9., 9., 10., 10.]]]]
1098
+ """
1099
+
1100
+ def __init__(self, size=None, scale_factor=None):
1101
+ """Initialize UpsamplingNearest2d."""
1102
+ super(UpsamplingNearest2d, self).__init__()
1103
+ self.size = size
1104
+ self.scale_factor = scale_factor
1105
+
1106
+ def construct(self, input):
1107
+ return upsample_nearest2d_op(input, self.size, self.scale_factor)
1108
+
1109
+
1110
+ class UpsamplingBilinear2d(Cell):
1111
+ r"""
1112
+ Performs upsampling with trilinear interpolation across 2dims for 4dim input Tensor.
1113
+
1114
+ This operator scale up the volumetric input with specified `size` or `scale_factor` factors,
1115
+ using trilinear upscaling algorithm.
1116
+
1117
+ Note:
1118
+ One of `scale_factor` and `size` must be specified. And it is an error if both are specified.
1119
+
1120
+ .. warning::
1121
+ This is an experimental API that is subject to change or deletion.
1122
+
1123
+ Args:
1124
+ size (Union[tuple[int], list[int]], optional): A tuple or list of int specifying the output volumetric size.
1125
+ Default: ``None``.
1126
+ scale_factor (Union[tuple[float], list[float]], optional): A tuple or list of float specifying the upsampling
1127
+ factors. Default: ``None``.
1128
+
1129
+ Inputs:
1130
+ - **input** (Tensor) - 4D tensor of shape :math:`(N, C, H_{in}, W_{in})`.
1131
+ Supporting types: [float16, float32, float64].
1132
+
1133
+ Outputs:
1134
+ Upsampled output with the same type as `input` , whose shape is :math:`(N, C, H_{out}, W_{out})`.
1135
+
1136
+ Raises:
1137
+ TypeError: When `size` is not ``None`` and `size` is not list[int] or tuple[int].
1138
+ TypeError: When `scale_factor` is not ``None`` and `scale_factor` is not list[float] or tuple[float].
1139
+ TypeError: If dtype of `input` is not in [float16, float32, float64].
1140
+ ValueError: If any value of `size` is negative or zero when `size` is not ``None``.
1141
+ ValueError: If any value of `scale_factor` is negative or zero when `size` is not ``None``.
1142
+ ValueError: If shape of `input` is not 4D.
1143
+ ValueError: If both `scale_factor` and `size` are specified or neither `scale_factor` nor `size` is specified.
1144
+ ValueError: If size of `size` is not equal to 2 when `size` is specified.
1145
+ ValueError: If size of `scale_factor` is not equal to 2 when `scale_factor` is specified.
1146
+
1147
+ Supported Platforms:
1148
+ ``Ascend``
1149
+
1150
+ Examples:
1151
+ >>> import numpy as np
1152
+ >>> from mindspore import Tensor, nn
1153
+ >>> size=[4, 5]
1154
+ >>> net = nn.UpsampleTrilinear2d(size, None)
1155
+ >>> in_x = Tensor(np.array([[[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]],
1156
+ >>> [[0.7, 0.8, 0.9], [1.0, 1.1, 1.2]]]]).astype(np.float32))
1157
+ >>> out = net(in_x)
1158
+ >>> print(out)
1159
+ [[[[0.1000, 0.1500, 0.2000, 0.2500, 0.3000],
1160
+ [0.2000, 0.2500, 0.3000, 0.3500, 0.4000],
1161
+ [0.3000, 0.3500, 0.4000, 0.4500, 0.5000],
1162
+ [0.4000, 0.4500, 0.5000, 0.5500, 0.6000]],
1163
+ [[0.7000, 0.7500, 0.8000, 0.8500, 0.9000],
1164
+ [0.8000, 0.8500, 0.9000, 0.9500, 1.0000],
1165
+ [0.9000, 0.9500, 1.0000, 1.0500, 1.1000],
1166
+ [1.0000, 1.0500, 1.1000, 1.1500, 1.2000]]]]
1167
+ """
1168
+
1169
+ def __init__(self, size=None, scale_factor=None):
1170
+ """Initialize UpsamplingBilinear2d."""
1171
+ super(UpsamplingBilinear2d, self).__init__()
1172
+ self.size = size
1173
+ self.scale_factor = scale_factor
1174
+
1175
+ def construct(self, input):
1176
+ return upsample_bilinear2d_op(input, self.size, self.scale_factor, True)
1177
+
1178
+
1179
+ class PixelShuffle(Cell):
1180
+ r"""Rearrange elements in a tensor according to an upscaling factor.
1181
+
1182
+ For details, please refer to :func:`mindspore.mint.nn.functional.pixel_shuffle`.
1183
+
1184
+ Supported Platforms:
1185
+ ``Ascend``
1186
+
1187
+ Examples:
1188
+ >>> from mindspore import mint
1189
+ >>> pixel_shuffle = mint.nn.PixelShuffle(3)
1190
+ >>> input = mint.randn(1, 9, 4, 4)
1191
+ >>> output = pixel_shuffle(input)
1192
+ >>> print(output.shape())
1193
+ [1, 1, 12, 12]
1194
+ """
1195
+
1196
+ def __init__(self, upscale_factor):
1197
+ super(PixelShuffle, self).__init__()
1198
+ self.upscale_factor = upscale_factor
1199
+
1200
+ def construct(self, input):
1201
+ return F.pixel_shuffle(input, self.upscale_factor)
1202
+
1203
+
526
1204
  __all__ = [
527
1205
  # 1
528
1206
  'BCEWithLogitsLoss',
529
1207
  # 2
530
-
1208
+ 'PixelShuffle',
531
1209
  # 3
532
1210
  'Identity',
533
1211
  # 4
534
1212
 
535
1213
  # 5
1214
+ 'ConstantPad1d',
1215
+ 'ConstantPad2d',
1216
+ 'ConstantPad3d',
1217
+ 'ZeroPad1d',
1218
+ 'ZeroPad2d',
1219
+ 'ZeroPad3d',
1220
+ 'ReflectionPad1d',
1221
+ 'ReflectionPad2d',
1222
+ 'ReflectionPad3d',
1223
+ 'ReplicationPad1d',
1224
+ 'ReplicationPad2d',
1225
+ 'ReplicationPad3d',
536
1226
 
537
1227
  # 6
538
1228
  'Fold',
@@ -554,11 +1244,13 @@ __all__ = [
554
1244
  # 14
555
1245
 
556
1246
  # 15
557
-
1247
+ 'Conv1d',
1248
+ 'Conv2d',
1249
+ 'Conv3d',
558
1250
  # 16
559
1251
  'LogSoftmax',
560
1252
  # 17
561
-
1253
+ 'ConvTranspose2d',
562
1254
  # 18
563
1255
  'PReLU',
564
1256
  # 19
@@ -622,7 +1314,7 @@ __all__ = [
622
1314
  # 47
623
1315
 
624
1316
  # 48
625
-
1317
+ 'SoftMarginLoss',
626
1318
  # 49
627
1319
 
628
1320
  # 50
@@ -654,7 +1346,7 @@ __all__ = [
654
1346
  # 63
655
1347
 
656
1348
  # 64
657
-
1349
+ 'SyncBatchNorm',
658
1350
  # 65
659
1351
 
660
1352
  # 66
@@ -714,9 +1406,9 @@ __all__ = [
714
1406
  # 93
715
1407
 
716
1408
  # 94
717
-
1409
+ 'AdaptiveMaxPool1d',
718
1410
  # 95
719
-
1411
+ 'AvgPool3d',
720
1412
  # 96
721
1413
  'AdaptiveAvgPool1d',
722
1414
 
@@ -724,11 +1416,13 @@ __all__ = [
724
1416
  'AdaptiveAvgPool2d',
725
1417
 
726
1418
  # 98
727
-
1419
+ 'AvgPool1d',
728
1420
  # 99
729
1421
  'AvgPool2d',
730
1422
  # 100
731
1423
  'SELU',
1424
+ # 152
1425
+ 'AdaptiveAvgPool3d',
732
1426
  # 159
733
1427
  'GELU',
734
1428
  # 220
@@ -739,19 +1433,46 @@ __all__ = [
739
1433
  'Hardswish',
740
1434
  # 238
741
1435
  'L1Loss',
1436
+ # 254
1437
+ 'MaxUnpool2d',
1438
+ # 256
1439
+ 'Threshold',
742
1440
  # 267
743
1441
  'Mish',
744
1442
  # 258
745
1443
  'MSELoss',
746
1444
  # 259
747
1445
 
1446
+ # 294
1447
+ 'SmoothL1Loss',
1448
+
1449
+ # 388
1450
+ 'AdaptiveMaxPool2d',
1451
+
1452
+ # 393
1453
+ 'Dropout2d',
1454
+ # 406
1455
+ 'ELU',
1456
+ # 407
1457
+ 'Flatten',
1458
+ # 412
1459
+ 'Hardtanh',
1460
+ 'ReLU6',
1461
+ # 413
1462
+ 'BCELoss',
1463
+ # 421
1464
+ 'Tanh',
1465
+ # 548
1466
+ 'KLDivLoss',
748
1467
  # 556
749
1468
  'LogSigmoid',
750
-
1469
+ 'Sigmoid',
751
1470
  # 674
752
1471
  'BatchNorm1d',
753
1472
  # 675
754
1473
  'BatchNorm2d',
755
1474
  # 676
756
1475
  'BatchNorm3d',
1476
+ 'UpsamplingNearest2d',
1477
+ 'UpsamplingBilinear2d',
757
1478
  ]