mindspore 2.4.0__cp311-cp311-macosx_11_0_arm64.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 (1387) hide show
  1. mindspore/.commit_id +1 -0
  2. mindspore/__init__.py +53 -0
  3. mindspore/_c_dataengine.cpython-311-darwin.so +0 -0
  4. mindspore/_c_expression.cpython-311-darwin.so +0 -0
  5. mindspore/_c_mindrecord.cpython-311-darwin.so +0 -0
  6. mindspore/_check_jit_forbidden_api.py +106 -0
  7. mindspore/_checkparam.py +1419 -0
  8. mindspore/_extends/__init__.py +23 -0
  9. mindspore/_extends/builtin_operations.py +224 -0
  10. mindspore/_extends/graph_kernel/__init__.py +17 -0
  11. mindspore/_extends/graph_kernel/model/__init__.py +19 -0
  12. mindspore/_extends/graph_kernel/model/graph_parallel.py +311 -0
  13. mindspore/_extends/graph_kernel/model/graph_split.py +1348 -0
  14. mindspore/_extends/graph_kernel/model/model.py +553 -0
  15. mindspore/_extends/graph_kernel/model/model_builder.py +216 -0
  16. mindspore/_extends/graph_kernel/parallel_estimate.py +60 -0
  17. mindspore/_extends/graph_kernel/splitter.py +140 -0
  18. mindspore/_extends/graph_kernel/utils.py +28 -0
  19. mindspore/_extends/parallel_compile/__init__.py +19 -0
  20. mindspore/_extends/parallel_compile/akg_compiler/__init__.py +19 -0
  21. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +269 -0
  22. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +529 -0
  23. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +56 -0
  24. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  25. mindspore/_extends/parallel_compile/akg_compiler/get_file_path.py +36 -0
  26. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +556 -0
  27. mindspore/_extends/parallel_compile/akg_compiler/util.py +159 -0
  28. mindspore/_extends/parse/__init__.py +49 -0
  29. mindspore/_extends/parse/compile_config.py +299 -0
  30. mindspore/_extends/parse/namespace.py +136 -0
  31. mindspore/_extends/parse/parser.py +1448 -0
  32. mindspore/_extends/parse/resources.py +213 -0
  33. mindspore/_extends/parse/standard_method.py +4475 -0
  34. mindspore/_extends/parse/trope.py +97 -0
  35. mindspore/_extends/pijit/__init__.py +23 -0
  36. mindspore/_extends/pijit/pijit_func_white_list.py +669 -0
  37. mindspore/_extends/remote/__init__.py +19 -0
  38. mindspore/_extends/remote/kernel_build_server.py +199 -0
  39. mindspore/_extends/remote/kernel_build_server_akg.py +55 -0
  40. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  41. mindspore/_extends/remote/kernel_build_server_ascend.py +75 -0
  42. mindspore/_extends/utils.py +68 -0
  43. mindspore/_install_custom.py +43 -0
  44. mindspore/_profiler.py +30 -0
  45. mindspore/amp.py +433 -0
  46. mindspore/boost/__init__.py +42 -0
  47. mindspore/boost/adasum.py +319 -0
  48. mindspore/boost/base.py +535 -0
  49. mindspore/boost/boost.py +400 -0
  50. mindspore/boost/boost_cell_wrapper.py +790 -0
  51. mindspore/boost/dim_reduce.py +323 -0
  52. mindspore/boost/grad_accumulation.py +79 -0
  53. mindspore/boost/grad_freeze.py +382 -0
  54. mindspore/boost/group_loss_scale_manager.py +166 -0
  55. mindspore/boost/less_batch_normalization.py +174 -0
  56. mindspore/common/__init__.py +86 -0
  57. mindspore/common/_auto_dynamic.py +68 -0
  58. mindspore/common/_decorator.py +50 -0
  59. mindspore/common/_jit_fallback_utils.py +110 -0
  60. mindspore/common/_monad.py +25 -0
  61. mindspore/common/_pijit_context.py +190 -0
  62. mindspore/common/_register_for_adapter.py +74 -0
  63. mindspore/common/_register_for_recompute.py +48 -0
  64. mindspore/common/_register_for_tensor.py +46 -0
  65. mindspore/common/_stub_tensor.py +210 -0
  66. mindspore/common/_tensor_overload.py +139 -0
  67. mindspore/common/_utils.py +122 -0
  68. mindspore/common/api.py +2064 -0
  69. mindspore/common/auto_dynamic_shape.py +507 -0
  70. mindspore/common/dtype.py +422 -0
  71. mindspore/common/dump.py +130 -0
  72. mindspore/common/file_system.py +48 -0
  73. mindspore/common/generator.py +254 -0
  74. mindspore/common/hook_handle.py +143 -0
  75. mindspore/common/initializer.py +880 -0
  76. mindspore/common/jit_config.py +98 -0
  77. mindspore/common/lazy_inline.py +240 -0
  78. mindspore/common/mindir_util.py +111 -0
  79. mindspore/common/mutable.py +234 -0
  80. mindspore/common/no_inline.py +54 -0
  81. mindspore/common/np_dtype.py +25 -0
  82. mindspore/common/parameter.py +1081 -0
  83. mindspore/common/recompute.py +292 -0
  84. mindspore/common/seed.py +260 -0
  85. mindspore/common/sparse_tensor.py +1175 -0
  86. mindspore/common/symbol.py +122 -0
  87. mindspore/common/tensor.py +5039 -0
  88. mindspore/communication/__init__.py +37 -0
  89. mindspore/communication/_comm_helper.py +501 -0
  90. mindspore/communication/_hccl_management.py +297 -0
  91. mindspore/communication/comm_func.py +1395 -0
  92. mindspore/communication/management.py +673 -0
  93. mindspore/config/op_info.config +533 -0
  94. mindspore/context.py +2077 -0
  95. mindspore/dataset/__init__.py +90 -0
  96. mindspore/dataset/audio/__init__.py +61 -0
  97. mindspore/dataset/audio/transforms.py +3690 -0
  98. mindspore/dataset/audio/utils.py +386 -0
  99. mindspore/dataset/audio/validators.py +1172 -0
  100. mindspore/dataset/callback/__init__.py +20 -0
  101. mindspore/dataset/callback/ds_callback.py +368 -0
  102. mindspore/dataset/callback/validators.py +32 -0
  103. mindspore/dataset/core/__init__.py +13 -0
  104. mindspore/dataset/core/config.py +1095 -0
  105. mindspore/dataset/core/datatypes.py +101 -0
  106. mindspore/dataset/core/py_util_helpers.py +65 -0
  107. mindspore/dataset/core/validator_helpers.py +781 -0
  108. mindspore/dataset/debug/__init__.py +21 -0
  109. mindspore/dataset/debug/debug_hook.py +97 -0
  110. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  111. mindspore/dataset/engine/__init__.py +124 -0
  112. mindspore/dataset/engine/cache_admin.py +47 -0
  113. mindspore/dataset/engine/cache_client.py +129 -0
  114. mindspore/dataset/engine/datasets.py +4582 -0
  115. mindspore/dataset/engine/datasets_audio.py +911 -0
  116. mindspore/dataset/engine/datasets_standard_format.py +543 -0
  117. mindspore/dataset/engine/datasets_text.py +2161 -0
  118. mindspore/dataset/engine/datasets_user_defined.py +1184 -0
  119. mindspore/dataset/engine/datasets_vision.py +4816 -0
  120. mindspore/dataset/engine/iterators.py +371 -0
  121. mindspore/dataset/engine/obs/__init__.py +23 -0
  122. mindspore/dataset/engine/obs/config_loader.py +68 -0
  123. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +508 -0
  124. mindspore/dataset/engine/obs/util.py +482 -0
  125. mindspore/dataset/engine/offload.py +596 -0
  126. mindspore/dataset/engine/queue.py +304 -0
  127. mindspore/dataset/engine/samplers.py +895 -0
  128. mindspore/dataset/engine/serializer_deserializer.py +159 -0
  129. mindspore/dataset/engine/validators.py +2895 -0
  130. mindspore/dataset/text/__init__.py +51 -0
  131. mindspore/dataset/text/transforms.py +1703 -0
  132. mindspore/dataset/text/utils.py +715 -0
  133. mindspore/dataset/text/validators.py +642 -0
  134. mindspore/dataset/transforms/__init__.py +45 -0
  135. mindspore/dataset/transforms/c_transforms.py +638 -0
  136. mindspore/dataset/transforms/py_transforms.py +393 -0
  137. mindspore/dataset/transforms/py_transforms_util.py +255 -0
  138. mindspore/dataset/transforms/transforms.py +1260 -0
  139. mindspore/dataset/transforms/validators.py +410 -0
  140. mindspore/dataset/utils/__init__.py +19 -0
  141. mindspore/dataset/utils/browse_dataset.py +190 -0
  142. mindspore/dataset/utils/line_reader.py +126 -0
  143. mindspore/dataset/vision/__init__.py +65 -0
  144. mindspore/dataset/vision/c_transforms.py +2641 -0
  145. mindspore/dataset/vision/py_transforms.py +2120 -0
  146. mindspore/dataset/vision/py_transforms_util.py +1660 -0
  147. mindspore/dataset/vision/transforms.py +7295 -0
  148. mindspore/dataset/vision/utils.py +863 -0
  149. mindspore/dataset/vision/validators.py +1483 -0
  150. mindspore/default_config.py +2 -0
  151. mindspore/experimental/__init__.py +20 -0
  152. mindspore/experimental/es/__init__.py +22 -0
  153. mindspore/experimental/es/embedding_service.py +883 -0
  154. mindspore/experimental/es/embedding_service_layer.py +581 -0
  155. mindspore/experimental/llm_boost/__init__.py +21 -0
  156. mindspore/experimental/llm_boost/atb/__init__.py +23 -0
  157. mindspore/experimental/llm_boost/atb/boost_base.py +211 -0
  158. mindspore/experimental/llm_boost/atb/llama_boost.py +115 -0
  159. mindspore/experimental/llm_boost/atb/qwen_boost.py +101 -0
  160. mindspore/experimental/llm_boost/register.py +129 -0
  161. mindspore/experimental/llm_boost/utils.py +31 -0
  162. mindspore/experimental/map_parameter.py +309 -0
  163. mindspore/experimental/optim/__init__.py +40 -0
  164. mindspore/experimental/optim/adadelta.py +161 -0
  165. mindspore/experimental/optim/adagrad.py +168 -0
  166. mindspore/experimental/optim/adam.py +193 -0
  167. mindspore/experimental/optim/adamax.py +170 -0
  168. mindspore/experimental/optim/adamw.py +290 -0
  169. mindspore/experimental/optim/asgd.py +153 -0
  170. mindspore/experimental/optim/lr_scheduler.py +1371 -0
  171. mindspore/experimental/optim/nadam.py +157 -0
  172. mindspore/experimental/optim/optimizer.py +262 -0
  173. mindspore/experimental/optim/radam.py +194 -0
  174. mindspore/experimental/optim/rmsprop.py +154 -0
  175. mindspore/experimental/optim/rprop.py +164 -0
  176. mindspore/experimental/optim/sgd.py +156 -0
  177. mindspore/hal/__init__.py +40 -0
  178. mindspore/hal/_ascend.py +57 -0
  179. mindspore/hal/_base.py +57 -0
  180. mindspore/hal/_cpu.py +56 -0
  181. mindspore/hal/_gpu.py +57 -0
  182. mindspore/hal/contiguous_tensors_handle.py +175 -0
  183. mindspore/hal/device.py +356 -0
  184. mindspore/hal/event.py +179 -0
  185. mindspore/hal/memory.py +326 -0
  186. mindspore/hal/stream.py +357 -0
  187. mindspore/include/OWNERS +7 -0
  188. mindspore/include/api/allocator.h +97 -0
  189. mindspore/include/api/callback/callback.h +93 -0
  190. mindspore/include/api/callback/ckpt_saver.h +41 -0
  191. mindspore/include/api/callback/loss_monitor.h +33 -0
  192. mindspore/include/api/callback/lr_scheduler.h +51 -0
  193. mindspore/include/api/callback/time_monitor.h +34 -0
  194. mindspore/include/api/callback/train_accuracy.h +37 -0
  195. mindspore/include/api/cell.h +90 -0
  196. mindspore/include/api/cfg.h +82 -0
  197. mindspore/include/api/context.h +602 -0
  198. mindspore/include/api/data_type.h +47 -0
  199. mindspore/include/api/delegate.h +178 -0
  200. mindspore/include/api/delegate_api.h +75 -0
  201. mindspore/include/api/dual_abi_helper.h +208 -0
  202. mindspore/include/api/format.h +28 -0
  203. mindspore/include/api/graph.h +46 -0
  204. mindspore/include/api/kernel.h +58 -0
  205. mindspore/include/api/kernel_api.h +168 -0
  206. mindspore/include/api/metrics/accuracy.h +36 -0
  207. mindspore/include/api/metrics/metrics.h +41 -0
  208. mindspore/include/api/model.h +438 -0
  209. mindspore/include/api/model_group.h +91 -0
  210. mindspore/include/api/model_parallel_runner.h +168 -0
  211. mindspore/include/api/serialization.h +185 -0
  212. mindspore/include/api/status.h +192 -0
  213. mindspore/include/api/types.h +431 -0
  214. mindspore/include/api/visible.h +41 -0
  215. mindspore/include/c_api/context_c.h +179 -0
  216. mindspore/include/c_api/data_type_c.h +52 -0
  217. mindspore/include/c_api/format_c.h +46 -0
  218. mindspore/include/c_api/model_c.h +347 -0
  219. mindspore/include/c_api/status_c.h +79 -0
  220. mindspore/include/c_api/tensor_c.h +146 -0
  221. mindspore/include/c_api/types_c.h +67 -0
  222. mindspore/include/dataset/config.h +163 -0
  223. mindspore/include/dataset/constants.h +363 -0
  224. mindspore/include/dataset/execute.h +196 -0
  225. mindspore/include/dataset/text.h +1092 -0
  226. mindspore/include/dataset/transforms.h +638 -0
  227. mindspore/include/dataset/vision.h +2129 -0
  228. mindspore/include/dataset/vision_ascend.h +206 -0
  229. mindspore/include/dataset/vision_lite.h +625 -0
  230. mindspore/lib/libavcodec.59.dylib +0 -0
  231. mindspore/lib/libavdevice.59.dylib +0 -0
  232. mindspore/lib/libavfilter.8.dylib +0 -0
  233. mindspore/lib/libavformat.59.dylib +0 -0
  234. mindspore/lib/libavutil.57.dylib +0 -0
  235. mindspore/lib/libdnnl.2.dylib +0 -0
  236. mindspore/lib/libicudata.69.dylib +0 -0
  237. mindspore/lib/libicui18n.69.dylib +0 -0
  238. mindspore/lib/libicuuc.69.dylib +0 -0
  239. mindspore/lib/libmindspore_address_sorting.15.dylib +0 -0
  240. mindspore/lib/libmindspore_backend.dylib +0 -0
  241. mindspore/lib/libmindspore_common.dylib +0 -0
  242. mindspore/lib/libmindspore_core.dylib +0 -0
  243. mindspore/lib/libmindspore_glog.0.dylib +0 -0
  244. mindspore/lib/libmindspore_gpr.15.dylib +0 -0
  245. mindspore/lib/libmindspore_grpc++.1.dylib +0 -0
  246. mindspore/lib/libmindspore_grpc.15.dylib +0 -0
  247. mindspore/lib/libmindspore_np_dtype.dylib +0 -0
  248. mindspore/lib/libmindspore_ops.dylib +0 -0
  249. mindspore/lib/libmindspore_upb.15.dylib +0 -0
  250. mindspore/lib/libnnacl.dylib +0 -0
  251. mindspore/lib/libopencv_core.4.5.dylib +0 -0
  252. mindspore/lib/libopencv_imgcodecs.4.5.dylib +0 -0
  253. mindspore/lib/libopencv_imgproc.4.5.dylib +0 -0
  254. mindspore/lib/libps_cache.dylib +0 -0
  255. mindspore/lib/libswresample.4.dylib +0 -0
  256. mindspore/lib/libswscale.6.dylib +0 -0
  257. mindspore/lib/libtinyxml2.8.dylib +0 -0
  258. mindspore/log.py +633 -0
  259. mindspore/mindrecord/__init__.py +43 -0
  260. mindspore/mindrecord/common/__init__.py +17 -0
  261. mindspore/mindrecord/common/constant.py +20 -0
  262. mindspore/mindrecord/common/enums.py +44 -0
  263. mindspore/mindrecord/common/exceptions.py +311 -0
  264. mindspore/mindrecord/config.py +809 -0
  265. mindspore/mindrecord/filereader.py +174 -0
  266. mindspore/mindrecord/filewriter.py +722 -0
  267. mindspore/mindrecord/mindpage.py +210 -0
  268. mindspore/mindrecord/shardheader.py +141 -0
  269. mindspore/mindrecord/shardindexgenerator.py +74 -0
  270. mindspore/mindrecord/shardreader.py +117 -0
  271. mindspore/mindrecord/shardsegment.py +128 -0
  272. mindspore/mindrecord/shardutils.py +185 -0
  273. mindspore/mindrecord/shardwriter.py +237 -0
  274. mindspore/mindrecord/tools/__init__.py +17 -0
  275. mindspore/mindrecord/tools/cifar10.py +140 -0
  276. mindspore/mindrecord/tools/cifar100.py +153 -0
  277. mindspore/mindrecord/tools/cifar100_to_mr.py +185 -0
  278. mindspore/mindrecord/tools/cifar10_to_mr.py +177 -0
  279. mindspore/mindrecord/tools/csv_to_mr.py +200 -0
  280. mindspore/mindrecord/tools/imagenet_to_mr.py +206 -0
  281. mindspore/mindrecord/tools/mnist_to_mr.py +259 -0
  282. mindspore/mindrecord/tools/tfrecord_to_mr.py +360 -0
  283. mindspore/mint/__init__.py +1586 -0
  284. mindspore/mint/distributed/__init__.py +31 -0
  285. mindspore/mint/distributed/distributed.py +254 -0
  286. mindspore/mint/linalg/__init__.py +22 -0
  287. mindspore/mint/nn/__init__.py +757 -0
  288. mindspore/mint/nn/functional.py +679 -0
  289. mindspore/mint/nn/layer/__init__.py +39 -0
  290. mindspore/mint/nn/layer/activation.py +133 -0
  291. mindspore/mint/nn/layer/normalization.py +477 -0
  292. mindspore/mint/nn/layer/pooling.py +110 -0
  293. mindspore/mint/optim/__init__.py +24 -0
  294. mindspore/mint/optim/adamw.py +206 -0
  295. mindspore/mint/special/__init__.py +63 -0
  296. mindspore/multiprocessing/__init__.py +73 -0
  297. mindspore/nn/__init__.py +47 -0
  298. mindspore/nn/cell.py +2787 -0
  299. mindspore/nn/dynamic_lr.py +482 -0
  300. mindspore/nn/grad/__init__.py +21 -0
  301. mindspore/nn/grad/cell_grad.py +196 -0
  302. mindspore/nn/layer/__init__.py +63 -0
  303. mindspore/nn/layer/activation.py +1822 -0
  304. mindspore/nn/layer/basic.py +1629 -0
  305. mindspore/nn/layer/channel_shuffle.py +90 -0
  306. mindspore/nn/layer/combined.py +248 -0
  307. mindspore/nn/layer/container.py +734 -0
  308. mindspore/nn/layer/conv.py +1505 -0
  309. mindspore/nn/layer/dense.py +204 -0
  310. mindspore/nn/layer/embedding.py +869 -0
  311. mindspore/nn/layer/image.py +661 -0
  312. mindspore/nn/layer/math.py +1069 -0
  313. mindspore/nn/layer/normalization.py +1273 -0
  314. mindspore/nn/layer/padding.py +880 -0
  315. mindspore/nn/layer/pooling.py +2302 -0
  316. mindspore/nn/layer/rnn_cells.py +388 -0
  317. mindspore/nn/layer/rnns.py +849 -0
  318. mindspore/nn/layer/thor_layer.py +963 -0
  319. mindspore/nn/layer/timedistributed.py +155 -0
  320. mindspore/nn/layer/transformer.py +823 -0
  321. mindspore/nn/learning_rate_schedule.py +512 -0
  322. mindspore/nn/loss/__init__.py +36 -0
  323. mindspore/nn/loss/loss.py +2924 -0
  324. mindspore/nn/metrics.py +53 -0
  325. mindspore/nn/optim/__init__.py +45 -0
  326. mindspore/nn/optim/_dist_optimizer_registry.py +111 -0
  327. mindspore/nn/optim/ada_grad.py +217 -0
  328. mindspore/nn/optim/adadelta.py +206 -0
  329. mindspore/nn/optim/adafactor.py +448 -0
  330. mindspore/nn/optim/adam.py +1297 -0
  331. mindspore/nn/optim/adamax.py +220 -0
  332. mindspore/nn/optim/adasum.py +548 -0
  333. mindspore/nn/optim/asgd.py +216 -0
  334. mindspore/nn/optim/ftrl.py +401 -0
  335. mindspore/nn/optim/lamb.py +296 -0
  336. mindspore/nn/optim/lars.py +202 -0
  337. mindspore/nn/optim/lazyadam.py +533 -0
  338. mindspore/nn/optim/momentum.py +239 -0
  339. mindspore/nn/optim/optimizer.py +1034 -0
  340. mindspore/nn/optim/proximal_ada_grad.py +242 -0
  341. mindspore/nn/optim/rmsprop.py +264 -0
  342. mindspore/nn/optim/rprop.py +251 -0
  343. mindspore/nn/optim/sgd.py +237 -0
  344. mindspore/nn/optim/tft_wrapper.py +127 -0
  345. mindspore/nn/optim/thor.py +1310 -0
  346. mindspore/nn/probability/__init__.py +22 -0
  347. mindspore/nn/probability/bijector/__init__.py +35 -0
  348. mindspore/nn/probability/bijector/bijector.py +337 -0
  349. mindspore/nn/probability/bijector/exp.py +65 -0
  350. mindspore/nn/probability/bijector/gumbel_cdf.py +144 -0
  351. mindspore/nn/probability/bijector/invert.py +126 -0
  352. mindspore/nn/probability/bijector/power_transform.py +196 -0
  353. mindspore/nn/probability/bijector/scalar_affine.py +167 -0
  354. mindspore/nn/probability/bijector/softplus.py +189 -0
  355. mindspore/nn/probability/bnn_layers/__init__.py +29 -0
  356. mindspore/nn/probability/bnn_layers/_util.py +46 -0
  357. mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +112 -0
  358. mindspore/nn/probability/bnn_layers/conv_variational.py +267 -0
  359. mindspore/nn/probability/bnn_layers/dense_variational.py +302 -0
  360. mindspore/nn/probability/bnn_layers/layer_distribution.py +123 -0
  361. mindspore/nn/probability/distribution/__init__.py +56 -0
  362. mindspore/nn/probability/distribution/_utils/__init__.py +34 -0
  363. mindspore/nn/probability/distribution/_utils/custom_ops.py +96 -0
  364. mindspore/nn/probability/distribution/_utils/utils.py +362 -0
  365. mindspore/nn/probability/distribution/bernoulli.py +334 -0
  366. mindspore/nn/probability/distribution/beta.py +391 -0
  367. mindspore/nn/probability/distribution/categorical.py +435 -0
  368. mindspore/nn/probability/distribution/cauchy.py +383 -0
  369. mindspore/nn/probability/distribution/distribution.py +827 -0
  370. mindspore/nn/probability/distribution/exponential.py +350 -0
  371. mindspore/nn/probability/distribution/gamma.py +391 -0
  372. mindspore/nn/probability/distribution/geometric.py +335 -0
  373. mindspore/nn/probability/distribution/gumbel.py +257 -0
  374. mindspore/nn/probability/distribution/half_normal.py +133 -0
  375. mindspore/nn/probability/distribution/laplace.py +128 -0
  376. mindspore/nn/probability/distribution/log_normal.py +272 -0
  377. mindspore/nn/probability/distribution/logistic.py +379 -0
  378. mindspore/nn/probability/distribution/normal.py +336 -0
  379. mindspore/nn/probability/distribution/poisson.py +288 -0
  380. mindspore/nn/probability/distribution/student_t.py +149 -0
  381. mindspore/nn/probability/distribution/transformed_distribution.py +235 -0
  382. mindspore/nn/probability/distribution/uniform.py +375 -0
  383. mindspore/nn/reinforcement/__init__.py +24 -0
  384. mindspore/nn/reinforcement/_batch_read_write.py +142 -0
  385. mindspore/nn/reinforcement/_tensors_queue.py +152 -0
  386. mindspore/nn/reinforcement/tensor_array.py +145 -0
  387. mindspore/nn/sparse/__init__.py +23 -0
  388. mindspore/nn/sparse/sparse.py +147 -0
  389. mindspore/nn/wrap/__init__.py +49 -0
  390. mindspore/nn/wrap/cell_wrapper.py +968 -0
  391. mindspore/nn/wrap/grad_reducer.py +608 -0
  392. mindspore/nn/wrap/loss_scale.py +694 -0
  393. mindspore/numpy/__init__.py +121 -0
  394. mindspore/numpy/array_creations.py +2731 -0
  395. mindspore/numpy/array_ops.py +2629 -0
  396. mindspore/numpy/dtypes.py +185 -0
  397. mindspore/numpy/fft.py +966 -0
  398. mindspore/numpy/logic_ops.py +936 -0
  399. mindspore/numpy/math_ops.py +5911 -0
  400. mindspore/numpy/utils.py +214 -0
  401. mindspore/numpy/utils_const.py +565 -0
  402. mindspore/ops/__init__.py +56 -0
  403. mindspore/ops/_constants.py +30 -0
  404. mindspore/ops/_grad_experimental/__init__.py +31 -0
  405. mindspore/ops/_grad_experimental/grad_array_ops.py +830 -0
  406. mindspore/ops/_grad_experimental/grad_base.py +143 -0
  407. mindspore/ops/_grad_experimental/grad_comm_ops.py +714 -0
  408. mindspore/ops/_grad_experimental/grad_debug_ops.py +31 -0
  409. mindspore/ops/_grad_experimental/grad_implementations.py +203 -0
  410. mindspore/ops/_grad_experimental/grad_inner_ops.py +79 -0
  411. mindspore/ops/_grad_experimental/grad_math_ops.py +802 -0
  412. mindspore/ops/_grad_experimental/grad_nn_ops.py +231 -0
  413. mindspore/ops/_grad_experimental/grad_quant_ops.py +238 -0
  414. mindspore/ops/_grad_experimental/grad_sparse.py +342 -0
  415. mindspore/ops/_grad_experimental/grad_sparse_ops.py +399 -0
  416. mindspore/ops/_grad_experimental/taylor_rule.py +220 -0
  417. mindspore/ops/_op_impl/__init__.py +23 -0
  418. mindspore/ops/_op_impl/_custom_op/__init__.py +39 -0
  419. mindspore/ops/_op_impl/_custom_op/_basic.py +158 -0
  420. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +279 -0
  421. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +156 -0
  422. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +109 -0
  423. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +125 -0
  424. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +105 -0
  425. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +124 -0
  426. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +116 -0
  427. mindspore/ops/_op_impl/_custom_op/correction_mul.py +89 -0
  428. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +196 -0
  429. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +366 -0
  430. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +162 -0
  431. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +136 -0
  432. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +206 -0
  433. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +88 -0
  434. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +128 -0
  435. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +199 -0
  436. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +88 -0
  437. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +156 -0
  438. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +184 -0
  439. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +143 -0
  440. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +169 -0
  441. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +548 -0
  442. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +881 -0
  443. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +278 -0
  444. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +200 -0
  445. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +334 -0
  446. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +255 -0
  447. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +222 -0
  448. mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +644 -0
  449. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +488 -0
  450. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +87 -0
  451. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +129 -0
  452. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +121 -0
  453. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +352 -0
  454. mindspore/ops/_op_impl/aicpu/__init__.py +441 -0
  455. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  456. mindspore/ops/_op_impl/aicpu/acos.py +32 -0
  457. mindspore/ops/_op_impl/aicpu/acos_grad.py +33 -0
  458. mindspore/ops/_op_impl/aicpu/acosh.py +34 -0
  459. mindspore/ops/_op_impl/aicpu/acosh_grad.py +35 -0
  460. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
  461. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  462. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
  463. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
  464. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
  465. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
  466. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
  467. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
  468. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  469. mindspore/ops/_op_impl/aicpu/add_n.py +41 -0
  470. mindspore/ops/_op_impl/aicpu/add_v2.py +40 -0
  471. mindspore/ops/_op_impl/aicpu/addcdiv.py +41 -0
  472. mindspore/ops/_op_impl/aicpu/addcmul.py +47 -0
  473. mindspore/ops/_op_impl/aicpu/adjust_contrastv2.py +32 -0
  474. mindspore/ops/_op_impl/aicpu/adjust_hue.py +31 -0
  475. mindspore/ops/_op_impl/aicpu/adjust_saturation.py +32 -0
  476. mindspore/ops/_op_impl/aicpu/affine_grid.py +33 -0
  477. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  478. mindspore/ops/_op_impl/aicpu/angle.py +31 -0
  479. mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
  480. mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
  481. mindspore/ops/_op_impl/aicpu/argmax_with_value.py +43 -0
  482. mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
  483. mindspore/ops/_op_impl/aicpu/asin.py +32 -0
  484. mindspore/ops/_op_impl/aicpu/asin_grad.py +33 -0
  485. mindspore/ops/_op_impl/aicpu/asinh.py +34 -0
  486. mindspore/ops/_op_impl/aicpu/asinh_grad.py +35 -0
  487. mindspore/ops/_op_impl/aicpu/atanh.py +34 -0
  488. mindspore/ops/_op_impl/aicpu/avgpool_grad_v1.py +37 -0
  489. mindspore/ops/_op_impl/aicpu/avgpool_v1.py +36 -0
  490. mindspore/ops/_op_impl/aicpu/bartlett_window.py +36 -0
  491. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
  492. mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
  493. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  494. mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
  495. mindspore/ops/_op_impl/aicpu/betainc.py +31 -0
  496. mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
  497. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +42 -0
  498. mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
  499. mindspore/ops/_op_impl/aicpu/blackman_window.py +36 -0
  500. mindspore/ops/_op_impl/aicpu/broadcast_to.py +58 -0
  501. mindspore/ops/_op_impl/aicpu/bucketize.py +34 -0
  502. mindspore/ops/_op_impl/aicpu/cache_swap_table.py +102 -0
  503. mindspore/ops/_op_impl/aicpu/cast.py +225 -0
  504. mindspore/ops/_op_impl/aicpu/cauchy.py +33 -0
  505. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  506. mindspore/ops/_op_impl/aicpu/check_numerics.py +33 -0
  507. mindspore/ops/_op_impl/aicpu/cholesky.py +32 -0
  508. mindspore/ops/_op_impl/aicpu/cholesky_inverse.py +31 -0
  509. mindspore/ops/_op_impl/aicpu/cholesky_solve.py +33 -0
  510. mindspore/ops/_op_impl/aicpu/choleskygrad.py +32 -0
  511. mindspore/ops/_op_impl/aicpu/coalesce.py +37 -0
  512. mindspore/ops/_op_impl/aicpu/col2im.py +38 -0
  513. mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
  514. mindspore/ops/_op_impl/aicpu/compare_and_bitpack.py +37 -0
  515. mindspore/ops/_op_impl/aicpu/complex.py +32 -0
  516. mindspore/ops/_op_impl/aicpu/complex_abs.py +31 -0
  517. mindspore/ops/_op_impl/aicpu/compute_accidental_hits.py +44 -0
  518. mindspore/ops/_op_impl/aicpu/concat.py +57 -0
  519. mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
  520. mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
  521. mindspore/ops/_op_impl/aicpu/conj.py +42 -0
  522. mindspore/ops/_op_impl/aicpu/conjugate_transpose.py +58 -0
  523. mindspore/ops/_op_impl/aicpu/cos.py +34 -0
  524. mindspore/ops/_op_impl/aicpu/cosh.py +34 -0
  525. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  526. mindspore/ops/_op_impl/aicpu/crop_and_resize.py +69 -0
  527. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_boxes.py +68 -0
  528. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
  529. mindspore/ops/_op_impl/aicpu/cross.py +42 -0
  530. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_dense.py +48 -0
  531. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_sparse_tensor.py +51 -0
  532. mindspore/ops/_op_impl/aicpu/ctc_greedy_decoder.py +35 -0
  533. mindspore/ops/_op_impl/aicpu/ctc_loss_v2.py +43 -0
  534. mindspore/ops/_op_impl/aicpu/ctc_loss_v2_grad.py +45 -0
  535. mindspore/ops/_op_impl/aicpu/ctcloss.py +38 -0
  536. mindspore/ops/_op_impl/aicpu/cummax.py +41 -0
  537. mindspore/ops/_op_impl/aicpu/cumprod.py +58 -0
  538. mindspore/ops/_op_impl/aicpu/cumsum.py +58 -0
  539. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
  540. mindspore/ops/_op_impl/aicpu/data_format_vec_permute.py +32 -0
  541. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  542. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  543. mindspore/ops/_op_impl/aicpu/dense_to_csr_sparse_matrix.py +49 -0
  544. mindspore/ops/_op_impl/aicpu/dense_to_dense_set_operation.py +45 -0
  545. mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
  546. mindspore/ops/_op_impl/aicpu/depth_to_space.py +44 -0
  547. mindspore/ops/_op_impl/aicpu/diag.py +36 -0
  548. mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
  549. mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
  550. mindspore/ops/_op_impl/aicpu/digamma.py +31 -0
  551. mindspore/ops/_op_impl/aicpu/div.py +41 -0
  552. mindspore/ops/_op_impl/aicpu/div_no_nan.py +35 -0
  553. mindspore/ops/_op_impl/aicpu/dropout2d.py +42 -0
  554. mindspore/ops/_op_impl/aicpu/dropout3d.py +42 -0
  555. mindspore/ops/_op_impl/aicpu/dropout_genmask.py +41 -0
  556. mindspore/ops/_op_impl/aicpu/dropout_genmask_v3.py +32 -0
  557. mindspore/ops/_op_impl/aicpu/dynamic_stitch.py +42 -0
  558. mindspore/ops/_op_impl/aicpu/edit_distance.py +56 -0
  559. mindspore/ops/_op_impl/aicpu/eig.py +35 -0
  560. mindspore/ops/_op_impl/aicpu/embedding_lookup.py +102 -0
  561. mindspore/ops/_op_impl/aicpu/end_of_sequence.py +30 -0
  562. mindspore/ops/_op_impl/aicpu/environ_create.py +28 -0
  563. mindspore/ops/_op_impl/aicpu/environ_destroy_all.py +28 -0
  564. mindspore/ops/_op_impl/aicpu/environ_get.py +41 -0
  565. mindspore/ops/_op_impl/aicpu/environ_set.py +40 -0
  566. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  567. mindspore/ops/_op_impl/aicpu/equal.py +41 -0
  568. mindspore/ops/_op_impl/aicpu/exp.py +37 -0
  569. mindspore/ops/_op_impl/aicpu/expand.py +45 -0
  570. mindspore/ops/_op_impl/aicpu/expand_dims.py +42 -0
  571. mindspore/ops/_op_impl/aicpu/expm1.py +34 -0
  572. mindspore/ops/_op_impl/aicpu/extract_glimpse.py +35 -0
  573. mindspore/ops/_op_impl/aicpu/eye.py +44 -0
  574. mindspore/ops/_op_impl/aicpu/fft_with_size.py +47 -0
  575. mindspore/ops/_op_impl/aicpu/fill_diagonal.py +39 -0
  576. mindspore/ops/_op_impl/aicpu/fill_v2.py +58 -0
  577. mindspore/ops/_op_impl/aicpu/flatten.py +43 -0
  578. mindspore/ops/_op_impl/aicpu/floor_div.py +38 -0
  579. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  580. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  581. mindspore/ops/_op_impl/aicpu/fractional_avg_pool.py +41 -0
  582. mindspore/ops/_op_impl/aicpu/fractional_avg_pool_grad.py +41 -0
  583. mindspore/ops/_op_impl/aicpu/fractional_max_pool.py +41 -0
  584. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_grad_with_fixed_ksize.py +43 -0
  585. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +65 -0
  586. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad.py +42 -0
  587. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad_with_fixed_ksize.py +42 -0
  588. mindspore/ops/_op_impl/aicpu/fractional_max_pool_with_fixed_ksize.py +49 -0
  589. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  590. mindspore/ops/_op_impl/aicpu/fused_sparse_adam.py +46 -0
  591. mindspore/ops/_op_impl/aicpu/fused_sparse_ftrl.py +41 -0
  592. mindspore/ops/_op_impl/aicpu/fused_sparse_lazy_adam.py +46 -0
  593. mindspore/ops/_op_impl/aicpu/fused_sparse_proximal_adagrad.py +39 -0
  594. mindspore/ops/_op_impl/aicpu/gamma.py +38 -0
  595. mindspore/ops/_op_impl/aicpu/gather.py +46 -0
  596. mindspore/ops/_op_impl/aicpu/gather_d.py +79 -0
  597. mindspore/ops/_op_impl/aicpu/gather_d_grad_v2.py +79 -0
  598. mindspore/ops/_op_impl/aicpu/gather_grad.py +54 -0
  599. mindspore/ops/_op_impl/aicpu/gather_nd.py +56 -0
  600. mindspore/ops/_op_impl/aicpu/gcd.py +32 -0
  601. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +38 -0
  602. mindspore/ops/_op_impl/aicpu/geqrf.py +32 -0
  603. mindspore/ops/_op_impl/aicpu/get_next.py +39 -0
  604. mindspore/ops/_op_impl/aicpu/glu.py +33 -0
  605. mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
  606. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  607. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  608. mindspore/ops/_op_impl/aicpu/grid_sampler_2d.py +35 -0
  609. mindspore/ops/_op_impl/aicpu/grid_sampler_2d_grad.py +38 -0
  610. mindspore/ops/_op_impl/aicpu/grid_sampler_3d.py +34 -0
  611. mindspore/ops/_op_impl/aicpu/grid_sampler_3d_grad.py +38 -0
  612. mindspore/ops/_op_impl/aicpu/hamming_window.py +57 -0
  613. mindspore/ops/_op_impl/aicpu/hard_sigmoid.py +32 -0
  614. mindspore/ops/_op_impl/aicpu/hard_sigmoid_grad.py +33 -0
  615. mindspore/ops/_op_impl/aicpu/heaviside.py +40 -0
  616. mindspore/ops/_op_impl/aicpu/histogram.py +35 -0
  617. mindspore/ops/_op_impl/aicpu/hsv_to_rgb.py +32 -0
  618. mindspore/ops/_op_impl/aicpu/hypot.py +32 -0
  619. mindspore/ops/_op_impl/aicpu/identity.py +42 -0
  620. mindspore/ops/_op_impl/aicpu/identity_n.py +41 -0
  621. mindspore/ops/_op_impl/aicpu/igamma.py +30 -0
  622. mindspore/ops/_op_impl/aicpu/igammac.py +30 -0
  623. mindspore/ops/_op_impl/aicpu/igammagrada.py +30 -0
  624. mindspore/ops/_op_impl/aicpu/im2col.py +43 -0
  625. mindspore/ops/_op_impl/aicpu/imag.py +31 -0
  626. mindspore/ops/_op_impl/aicpu/index_fill.py +54 -0
  627. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  628. mindspore/ops/_op_impl/aicpu/init_data_set_queue.py +27 -0
  629. mindspore/ops/_op_impl/aicpu/inplace_index_add.py +39 -0
  630. mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
  631. mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
  632. mindspore/ops/_op_impl/aicpu/is_finite.py +40 -0
  633. mindspore/ops/_op_impl/aicpu/is_inf.py +31 -0
  634. mindspore/ops/_op_impl/aicpu/is_nan.py +31 -0
  635. mindspore/ops/_op_impl/aicpu/kldivloss.py +34 -0
  636. mindspore/ops/_op_impl/aicpu/kldivlossgrad.py +35 -0
  637. mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
  638. mindspore/ops/_op_impl/aicpu/lcm.py +32 -0
  639. mindspore/ops/_op_impl/aicpu/left_shift.py +38 -0
  640. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  641. mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
  642. mindspore/ops/_op_impl/aicpu/lgamma.py +33 -0
  643. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +57 -0
  644. mindspore/ops/_op_impl/aicpu/linspace.py +33 -0
  645. mindspore/ops/_op_impl/aicpu/list_diff.py +50 -0
  646. mindspore/ops/_op_impl/aicpu/log.py +37 -0
  647. mindspore/ops/_op_impl/aicpu/log1p.py +34 -0
  648. mindspore/ops/_op_impl/aicpu/log_matrix_determinant.py +31 -0
  649. mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
  650. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +37 -0
  651. mindspore/ops/_op_impl/aicpu/logical_xor.py +30 -0
  652. mindspore/ops/_op_impl/aicpu/logit.py +33 -0
  653. mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
  654. mindspore/ops/_op_impl/aicpu/logspace.py +36 -0
  655. mindspore/ops/_op_impl/aicpu/lower_bound.py +47 -0
  656. mindspore/ops/_op_impl/aicpu/lstsq.py +34 -0
  657. mindspore/ops/_op_impl/aicpu/lu.py +39 -0
  658. mindspore/ops/_op_impl/aicpu/lu_solve.py +32 -0
  659. mindspore/ops/_op_impl/aicpu/lu_unpack.py +114 -0
  660. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +49 -0
  661. mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
  662. mindspore/ops/_op_impl/aicpu/masked_scatter.py +40 -0
  663. mindspore/ops/_op_impl/aicpu/masked_select.py +31 -0
  664. mindspore/ops/_op_impl/aicpu/masked_select_grad.py +35 -0
  665. mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
  666. mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
  667. mindspore/ops/_op_impl/aicpu/matrix_determinant.py +30 -0
  668. mindspore/ops/_op_impl/aicpu/matrix_diag_part_v3.py +54 -0
  669. mindspore/ops/_op_impl/aicpu/matrix_diag_v3.py +56 -0
  670. mindspore/ops/_op_impl/aicpu/matrix_exp.py +34 -0
  671. mindspore/ops/_op_impl/aicpu/matrix_inverse.py +31 -0
  672. mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
  673. mindspore/ops/_op_impl/aicpu/matrix_power.py +37 -0
  674. mindspore/ops/_op_impl/aicpu/matrix_set_diag_v3.py +54 -0
  675. mindspore/ops/_op_impl/aicpu/matrix_solve.py +35 -0
  676. mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
  677. mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
  678. mindspore/ops/_op_impl/aicpu/max_pool3d_grad_with_argmax.py +60 -0
  679. mindspore/ops/_op_impl/aicpu/max_pool3d_with_argmax.py +59 -0
  680. mindspore/ops/_op_impl/aicpu/max_unpool2d.py +57 -0
  681. mindspore/ops/_op_impl/aicpu/max_unpool2d_grad.py +58 -0
  682. mindspore/ops/_op_impl/aicpu/max_unpool3d.py +57 -0
  683. mindspore/ops/_op_impl/aicpu/max_unpool3d_grad.py +58 -0
  684. mindspore/ops/_op_impl/aicpu/maximum_grad_grad.py +40 -0
  685. mindspore/ops/_op_impl/aicpu/maxpool_grad_v1.py +46 -0
  686. mindspore/ops/_op_impl/aicpu/maxpool_v1.py +42 -0
  687. mindspore/ops/_op_impl/aicpu/median.py +39 -0
  688. mindspore/ops/_op_impl/aicpu/median_grad.py +45 -0
  689. mindspore/ops/_op_impl/aicpu/meshgrid.py +41 -0
  690. mindspore/ops/_op_impl/aicpu/minimum_grad_grad.py +40 -0
  691. mindspore/ops/_op_impl/aicpu/mirror_pad.py +50 -0
  692. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +48 -0
  693. mindspore/ops/_op_impl/aicpu/mul.py +43 -0
  694. mindspore/ops/_op_impl/aicpu/mul_no_nan.py +42 -0
  695. mindspore/ops/_op_impl/aicpu/multi_margin_loss.py +37 -0
  696. mindspore/ops/_op_impl/aicpu/multi_margin_loss_grad.py +41 -0
  697. mindspore/ops/_op_impl/aicpu/multilabel_margin_loss_grad.py +37 -0
  698. mindspore/ops/_op_impl/aicpu/multinomial.py +47 -0
  699. mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
  700. mindspore/ops/_op_impl/aicpu/mvlgamma.py +32 -0
  701. mindspore/ops/_op_impl/aicpu/mvlgamma_grad.py +33 -0
  702. mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
  703. mindspore/ops/_op_impl/aicpu/neg.py +36 -0
  704. mindspore/ops/_op_impl/aicpu/nextafter.py +32 -0
  705. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  706. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  707. mindspore/ops/_op_impl/aicpu/no_repeat_ngram.py +34 -0
  708. mindspore/ops/_op_impl/aicpu/non_deterministic_ints.py +33 -0
  709. mindspore/ops/_op_impl/aicpu/non_max_suppression.py +36 -0
  710. mindspore/ops/_op_impl/aicpu/non_max_suppression_with_overlaps.py +35 -0
  711. mindspore/ops/_op_impl/aicpu/non_zero.py +43 -0
  712. mindspore/ops/_op_impl/aicpu/not_equal.py +39 -0
  713. mindspore/ops/_op_impl/aicpu/nth_element.py +39 -0
  714. mindspore/ops/_op_impl/aicpu/nuclear_norm.py +33 -0
  715. mindspore/ops/_op_impl/aicpu/one_hot.py +116 -0
  716. mindspore/ops/_op_impl/aicpu/ones_like.py +39 -0
  717. mindspore/ops/_op_impl/aicpu/orgqr.py +34 -0
  718. mindspore/ops/_op_impl/aicpu/pad_and_shift.py +33 -0
  719. mindspore/ops/_op_impl/aicpu/pad_v3.py +61 -0
  720. mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +59 -0
  721. mindspore/ops/_op_impl/aicpu/padding.py +41 -0
  722. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +54 -0
  723. mindspore/ops/_op_impl/aicpu/pdist_grad.py +33 -0
  724. mindspore/ops/_op_impl/aicpu/poisson.py +37 -0
  725. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  726. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  727. mindspore/ops/_op_impl/aicpu/pow.py +39 -0
  728. mindspore/ops/_op_impl/aicpu/print_tensor.py +39 -0
  729. mindspore/ops/_op_impl/aicpu/priority_replay_buffer.py +113 -0
  730. mindspore/ops/_op_impl/aicpu/qr.py +36 -0
  731. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  732. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  733. mindspore/ops/_op_impl/aicpu/ragged_range.py +49 -0
  734. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  735. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
  736. mindspore/ops/_op_impl/aicpu/random_categorical.py +68 -0
  737. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +36 -0
  738. mindspore/ops/_op_impl/aicpu/random_gamma.py +38 -0
  739. mindspore/ops/_op_impl/aicpu/random_poisson.py +134 -0
  740. mindspore/ops/_op_impl/aicpu/random_shuffle.py +47 -0
  741. mindspore/ops/_op_impl/aicpu/randperm.py +38 -0
  742. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  743. mindspore/ops/_op_impl/aicpu/range.py +36 -0
  744. mindspore/ops/_op_impl/aicpu/range_v2.py +35 -0
  745. mindspore/ops/_op_impl/aicpu/real.py +31 -0
  746. mindspore/ops/_op_impl/aicpu/real_div.py +40 -0
  747. mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
  748. mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
  749. mindspore/ops/_op_impl/aicpu/reduce_mean.py +57 -0
  750. mindspore/ops/_op_impl/aicpu/reduce_prod.py +57 -0
  751. mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
  752. mindspore/ops/_op_impl/aicpu/relu_grad_v3.py +41 -0
  753. mindspore/ops/_op_impl/aicpu/relu_v3.py +38 -0
  754. mindspore/ops/_op_impl/aicpu/reservoir_replay_buffer.py +96 -0
  755. mindspore/ops/_op_impl/aicpu/reshape.py +42 -0
  756. mindspore/ops/_op_impl/aicpu/resize_area.py +40 -0
  757. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +20 -0
  758. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +19 -0
  759. mindspore/ops/_op_impl/aicpu/resize_bilinear.py +32 -0
  760. mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +32 -0
  761. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +36 -0
  762. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +35 -0
  763. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  764. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  765. mindspore/ops/_op_impl/aicpu/reverse_sequence.py +55 -0
  766. mindspore/ops/_op_impl/aicpu/reversev2.py +54 -0
  767. mindspore/ops/_op_impl/aicpu/rgb_to_hsv.py +32 -0
  768. mindspore/ops/_op_impl/aicpu/right_shift.py +38 -0
  769. mindspore/ops/_op_impl/aicpu/rnnt_loss.py +35 -0
  770. mindspore/ops/_op_impl/aicpu/round.py +34 -0
  771. mindspore/ops/_op_impl/aicpu/rsqrt.py +33 -0
  772. mindspore/ops/_op_impl/aicpu/rsqrt_grad.py +36 -0
  773. mindspore/ops/_op_impl/aicpu/sample_distorted_bounding_box_v2.py +49 -0
  774. mindspore/ops/_op_impl/aicpu/scale_and_translate.py +52 -0
  775. mindspore/ops/_op_impl/aicpu/scale_and_translate_grad.py +36 -0
  776. mindspore/ops/_op_impl/aicpu/scatter.py +79 -0
  777. mindspore/ops/_op_impl/aicpu/scatter_add_with_axis.py +53 -0
  778. mindspore/ops/_op_impl/aicpu/scatter_elements.py +39 -0
  779. mindspore/ops/_op_impl/aicpu/scatter_nd.py +59 -0
  780. mindspore/ops/_op_impl/aicpu/scatter_nd_max.py +54 -0
  781. mindspore/ops/_op_impl/aicpu/scatter_nd_min.py +54 -0
  782. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +59 -0
  783. mindspore/ops/_op_impl/aicpu/search_sorted.py +44 -0
  784. mindspore/ops/_op_impl/aicpu/segment_max.py +52 -0
  785. mindspore/ops/_op_impl/aicpu/segment_mean.py +56 -0
  786. mindspore/ops/_op_impl/aicpu/segment_min.py +52 -0
  787. mindspore/ops/_op_impl/aicpu/segment_prod.py +56 -0
  788. mindspore/ops/_op_impl/aicpu/segment_sum.py +56 -0
  789. mindspore/ops/_op_impl/aicpu/select.py +45 -0
  790. mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
  791. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  792. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  793. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  794. mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
  795. mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
  796. mindspore/ops/_op_impl/aicpu/set_size.py +38 -0
  797. mindspore/ops/_op_impl/aicpu/sign.py +36 -0
  798. mindspore/ops/_op_impl/aicpu/sin.py +34 -0
  799. mindspore/ops/_op_impl/aicpu/sinc.py +43 -0
  800. mindspore/ops/_op_impl/aicpu/sinh.py +34 -0
  801. mindspore/ops/_op_impl/aicpu/slice.py +59 -0
  802. mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
  803. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  804. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  805. mindspore/ops/_op_impl/aicpu/sort.py +39 -0
  806. mindspore/ops/_op_impl/aicpu/space_to_depth.py +44 -0
  807. mindspore/ops/_op_impl/aicpu/sparse_addmm.py +87 -0
  808. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +80 -0
  809. mindspore/ops/_op_impl/aicpu/sparse_apply_centered_rms_prop.py +105 -0
  810. mindspore/ops/_op_impl/aicpu/sparse_apply_momentum.py +80 -0
  811. mindspore/ops/_op_impl/aicpu/sparse_apply_proximal_gradient_descent.py +79 -0
  812. mindspore/ops/_op_impl/aicpu/sparse_concat.py +59 -0
  813. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  814. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_add.py +58 -0
  815. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_div.py +58 -0
  816. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_mul.py +58 -0
  817. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
  818. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
  819. mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
  820. mindspore/ops/_op_impl/aicpu/sparse_matrix_nnz.py +81 -0
  821. mindspore/ops/_op_impl/aicpu/sparse_matrix_transpose.py +116 -0
  822. mindspore/ops/_op_impl/aicpu/sparse_reorder.py +56 -0
  823. mindspore/ops/_op_impl/aicpu/sparse_reshape.py +34 -0
  824. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_grad.py +36 -0
  825. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_with_num_segments.py +44 -0
  826. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n.py +43 -0
  827. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_grad.py +38 -0
  828. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_with_num_segments.py +44 -0
  829. mindspore/ops/_op_impl/aicpu/sparse_segment_sum.py +49 -0
  830. mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
  831. mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
  832. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
  833. mindspore/ops/_op_impl/aicpu/sparse_softmax.py +33 -0
  834. mindspore/ops/_op_impl/aicpu/sparse_softmax_cross_entropy_with_logits_v2.py +35 -0
  835. mindspore/ops/_op_impl/aicpu/sparse_sparse_maximum.py +53 -0
  836. mindspore/ops/_op_impl/aicpu/sparse_sparse_minimum.py +53 -0
  837. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_add.py +84 -0
  838. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_mat_mul.py +190 -0
  839. mindspore/ops/_op_impl/aicpu/sparse_tensor_to_csr_sparse_matrix.py +51 -0
  840. mindspore/ops/_op_impl/aicpu/sparse_to_dense_v2.py +73 -0
  841. mindspore/ops/_op_impl/aicpu/split.py +45 -0
  842. mindspore/ops/_op_impl/aicpu/sqrt.py +34 -0
  843. mindspore/ops/_op_impl/aicpu/sqrt_grad.py +35 -0
  844. mindspore/ops/_op_impl/aicpu/square.py +35 -0
  845. mindspore/ops/_op_impl/aicpu/squared_difference.py +37 -0
  846. mindspore/ops/_op_impl/aicpu/squeeze.py +42 -0
  847. mindspore/ops/_op_impl/aicpu/sspaddmm.py +97 -0
  848. mindspore/ops/_op_impl/aicpu/stack.py +45 -0
  849. mindspore/ops/_op_impl/aicpu/stack_push_pop.py +87 -0
  850. mindspore/ops/_op_impl/aicpu/standard_laplace.py +34 -0
  851. mindspore/ops/_op_impl/aicpu/standard_normal.py +34 -0
  852. mindspore/ops/_op_impl/aicpu/stateless_dropout_genmask.py +37 -0
  853. mindspore/ops/_op_impl/aicpu/stft.py +70 -0
  854. mindspore/ops/_op_impl/aicpu/strided_slice.py +43 -0
  855. mindspore/ops/_op_impl/aicpu/strided_slice_grad.py +50 -0
  856. mindspore/ops/_op_impl/aicpu/sub.py +41 -0
  857. mindspore/ops/_op_impl/aicpu/sub_and_filter.py +36 -0
  858. mindspore/ops/_op_impl/aicpu/tan.py +34 -0
  859. mindspore/ops/_op_impl/aicpu/tanh.py +34 -0
  860. mindspore/ops/_op_impl/aicpu/tanh_grad.py +35 -0
  861. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  862. mindspore/ops/_op_impl/aicpu/tile.py +56 -0
  863. mindspore/ops/_op_impl/aicpu/topk.py +34 -0
  864. mindspore/ops/_op_impl/aicpu/trace.py +40 -0
  865. mindspore/ops/_op_impl/aicpu/tracegrad.py +41 -0
  866. mindspore/ops/_op_impl/aicpu/trans_data.py +35 -0
  867. mindspore/ops/_op_impl/aicpu/transpose.py +58 -0
  868. mindspore/ops/_op_impl/aicpu/tridiagonal_matmul.py +42 -0
  869. mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
  870. mindspore/ops/_op_impl/aicpu/tril.py +42 -0
  871. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  872. mindspore/ops/_op_impl/aicpu/triplet_margin_loss.py +62 -0
  873. mindspore/ops/_op_impl/aicpu/triu.py +43 -0
  874. mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
  875. mindspore/ops/_op_impl/aicpu/truncated_normal.py +39 -0
  876. mindspore/ops/_op_impl/aicpu/uniform.py +36 -0
  877. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +41 -0
  878. mindspore/ops/_op_impl/aicpu/uniform_int.py +36 -0
  879. mindspore/ops/_op_impl/aicpu/uniform_real.py +33 -0
  880. mindspore/ops/_op_impl/aicpu/unique.py +31 -0
  881. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +47 -0
  882. mindspore/ops/_op_impl/aicpu/unique_with_pad.py +32 -0
  883. mindspore/ops/_op_impl/aicpu/unravel_index.py +32 -0
  884. mindspore/ops/_op_impl/aicpu/unsorted_segment_prod.py +53 -0
  885. mindspore/ops/_op_impl/aicpu/unsorted_segment_sum.py +57 -0
  886. mindspore/ops/_op_impl/aicpu/unstack.py +45 -0
  887. mindspore/ops/_op_impl/aicpu/update_cache.py +44 -0
  888. mindspore/ops/_op_impl/aicpu/upper_bound.py +47 -0
  889. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d.py +42 -0
  890. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +49 -0
  891. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +40 -0
  892. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +50 -0
  893. mindspore/ops/_op_impl/aicpu/xdivy.py +35 -0
  894. mindspore/ops/_op_impl/aicpu/xlogy.py +33 -0
  895. mindspore/ops/_op_impl/aicpu/zeros_like.py +42 -0
  896. mindspore/ops/_op_impl/aicpu/zeta.py +31 -0
  897. mindspore/ops/_op_impl/akg/__init__.py +19 -0
  898. mindspore/ops/_op_impl/akg/ascend/__init__.py +48 -0
  899. mindspore/ops/_op_impl/akg/ascend/abs.py +35 -0
  900. mindspore/ops/_op_impl/akg/ascend/add.py +42 -0
  901. mindspore/ops/_op_impl/akg/ascend/add_n.py +37 -0
  902. mindspore/ops/_op_impl/akg/ascend/batchmatmul.py +33 -0
  903. mindspore/ops/_op_impl/akg/ascend/cast.py +46 -0
  904. mindspore/ops/_op_impl/akg/ascend/equal.py +35 -0
  905. mindspore/ops/_op_impl/akg/ascend/exp.py +35 -0
  906. mindspore/ops/_op_impl/akg/ascend/expand_dims.py +33 -0
  907. mindspore/ops/_op_impl/akg/ascend/greater.py +34 -0
  908. mindspore/ops/_op_impl/akg/ascend/greater_equal.py +35 -0
  909. mindspore/ops/_op_impl/akg/ascend/less.py +31 -0
  910. mindspore/ops/_op_impl/akg/ascend/less_equal.py +35 -0
  911. mindspore/ops/_op_impl/akg/ascend/load_im2col.py +33 -0
  912. mindspore/ops/_op_impl/akg/ascend/log.py +34 -0
  913. mindspore/ops/_op_impl/akg/ascend/maximum.py +36 -0
  914. mindspore/ops/_op_impl/akg/ascend/minimum.py +39 -0
  915. mindspore/ops/_op_impl/akg/ascend/mul.py +41 -0
  916. mindspore/ops/_op_impl/akg/ascend/neg.py +37 -0
  917. mindspore/ops/_op_impl/akg/ascend/pow.py +35 -0
  918. mindspore/ops/_op_impl/akg/ascend/prod_force_se_a.py +33 -0
  919. mindspore/ops/_op_impl/akg/ascend/real_div.py +36 -0
  920. mindspore/ops/_op_impl/akg/ascend/reciprocal.py +32 -0
  921. mindspore/ops/_op_impl/akg/ascend/reduce_max.py +32 -0
  922. mindspore/ops/_op_impl/akg/ascend/reduce_min.py +32 -0
  923. mindspore/ops/_op_impl/akg/ascend/reduce_sum.py +37 -0
  924. mindspore/ops/_op_impl/akg/ascend/rsqrt.py +35 -0
  925. mindspore/ops/_op_impl/akg/ascend/select.py +37 -0
  926. mindspore/ops/_op_impl/akg/ascend/sqrt.py +35 -0
  927. mindspore/ops/_op_impl/akg/ascend/square.py +35 -0
  928. mindspore/ops/_op_impl/akg/ascend/sub.py +42 -0
  929. mindspore/ops/_op_impl/akg/cpu/__init__.py +23 -0
  930. mindspore/ops/_op_impl/akg/cpu/coo2csr.py +29 -0
  931. mindspore/ops/_op_impl/akg/cpu/csr2coo.py +29 -0
  932. mindspore/ops/_op_impl/akg/cpu/csr_gather.py +33 -0
  933. mindspore/ops/_op_impl/akg/cpu/csr_mm.py +34 -0
  934. mindspore/ops/_op_impl/akg/cpu/csr_mul.py +33 -0
  935. mindspore/ops/_op_impl/akg/cpu/csr_mv.py +33 -0
  936. mindspore/ops/_op_impl/akg/cpu/csr_reduce_sum.py +31 -0
  937. mindspore/ops/_op_impl/akg/gpu/__init__.py +24 -0
  938. mindspore/ops/_op_impl/akg/gpu/coo2csr.py +29 -0
  939. mindspore/ops/_op_impl/akg/gpu/csr2coo.py +29 -0
  940. mindspore/ops/_op_impl/akg/gpu/csr_div.py +36 -0
  941. mindspore/ops/_op_impl/akg/gpu/csr_gather.py +33 -0
  942. mindspore/ops/_op_impl/akg/gpu/csr_mm.py +37 -0
  943. mindspore/ops/_op_impl/akg/gpu/csr_mul.py +36 -0
  944. mindspore/ops/_op_impl/akg/gpu/csr_mv.py +36 -0
  945. mindspore/ops/_op_impl/akg/gpu/csr_reduce_sum.py +33 -0
  946. mindspore/ops/_op_impl/cpu/__init__.py +78 -0
  947. mindspore/ops/_op_impl/cpu/adam.py +49 -0
  948. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +47 -0
  949. mindspore/ops/_op_impl/cpu/arg_max.py +30 -0
  950. mindspore/ops/_op_impl/cpu/arg_max_with_value.py +31 -0
  951. mindspore/ops/_op_impl/cpu/arg_min_with_value.py +31 -0
  952. mindspore/ops/_op_impl/cpu/buffer_append.py +28 -0
  953. mindspore/ops/_op_impl/cpu/buffer_get.py +28 -0
  954. mindspore/ops/_op_impl/cpu/buffer_sample.py +28 -0
  955. mindspore/ops/_op_impl/cpu/cast.py +171 -0
  956. mindspore/ops/_op_impl/cpu/concat_offset.py +38 -0
  957. mindspore/ops/_op_impl/cpu/conv2d.py +30 -0
  958. mindspore/ops/_op_impl/cpu/conv3d.py +30 -0
  959. mindspore/ops/_op_impl/cpu/div.py +32 -0
  960. mindspore/ops/_op_impl/cpu/dropout.py +31 -0
  961. mindspore/ops/_op_impl/cpu/dropout_grad.py +30 -0
  962. mindspore/ops/_op_impl/cpu/dynamic_shape.py +42 -0
  963. mindspore/ops/_op_impl/cpu/dynamic_stitch.py +41 -0
  964. mindspore/ops/_op_impl/cpu/equal_count.py +30 -0
  965. mindspore/ops/_op_impl/cpu/gather_d.py +49 -0
  966. mindspore/ops/_op_impl/cpu/gather_d_grad.py +38 -0
  967. mindspore/ops/_op_impl/cpu/gather_d_grad_v2.py +40 -0
  968. mindspore/ops/_op_impl/cpu/gather_v2.py +40 -0
  969. mindspore/ops/_op_impl/cpu/hsigmoid.py +33 -0
  970. mindspore/ops/_op_impl/cpu/hsigmoid_grad.py +34 -0
  971. mindspore/ops/_op_impl/cpu/hswish.py +32 -0
  972. mindspore/ops/_op_impl/cpu/hswish_grad.py +33 -0
  973. mindspore/ops/_op_impl/cpu/identity_n.py +40 -0
  974. mindspore/ops/_op_impl/cpu/is_finite.py +39 -0
  975. mindspore/ops/_op_impl/cpu/l2loss.py +30 -0
  976. mindspore/ops/_op_impl/cpu/layer_norm.py +36 -0
  977. mindspore/ops/_op_impl/cpu/layer_norm_grad.py +38 -0
  978. mindspore/ops/_op_impl/cpu/maximum.py +35 -0
  979. mindspore/ops/_op_impl/cpu/maximum_grad.py +47 -0
  980. mindspore/ops/_op_impl/cpu/minimum.py +40 -0
  981. mindspore/ops/_op_impl/cpu/minimum_grad.py +51 -0
  982. mindspore/ops/_op_impl/cpu/mirror_pad.py +36 -0
  983. mindspore/ops/_op_impl/cpu/mirror_pad_grad.py +36 -0
  984. mindspore/ops/_op_impl/cpu/mul.py +32 -0
  985. mindspore/ops/_op_impl/cpu/one_hot.py +31 -0
  986. mindspore/ops/_op_impl/cpu/pad.py +32 -0
  987. mindspore/ops/_op_impl/cpu/pow.py +32 -0
  988. mindspore/ops/_op_impl/cpu/priority_replay_buffer.py +42 -0
  989. mindspore/ops/_op_impl/cpu/pyexecute.py +29 -0
  990. mindspore/ops/_op_impl/cpu/pyfunc.py +29 -0
  991. mindspore/ops/_op_impl/cpu/range.py +34 -0
  992. mindspore/ops/_op_impl/cpu/real_div.py +33 -0
  993. mindspore/ops/_op_impl/cpu/reduce_all.py +29 -0
  994. mindspore/ops/_op_impl/cpu/reduce_any.py +29 -0
  995. mindspore/ops/_op_impl/cpu/reduce_max.py +32 -0
  996. mindspore/ops/_op_impl/cpu/reduce_mean.py +40 -0
  997. mindspore/ops/_op_impl/cpu/reduce_min.py +32 -0
  998. mindspore/ops/_op_impl/cpu/reduce_prod.py +40 -0
  999. mindspore/ops/_op_impl/cpu/reduce_std.py +31 -0
  1000. mindspore/ops/_op_impl/cpu/reduce_sum.py +41 -0
  1001. mindspore/ops/_op_impl/cpu/space_to_batch_nd.py +38 -0
  1002. mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
  1003. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
  1004. mindspore/ops/_op_impl/cpu/split.py +34 -0
  1005. mindspore/ops/_op_impl/cpu/sspaddmm.py +95 -0
  1006. mindspore/ops/_op_impl/cpu/stack.py +38 -0
  1007. mindspore/ops/_op_impl/cpu/sub.py +32 -0
  1008. mindspore/ops/_op_impl/cpu/tensor_copy_slices.py +41 -0
  1009. mindspore/ops/_op_impl/cpu/tile.py +37 -0
  1010. mindspore/ops/_op_impl/cpu/top_k.py +31 -0
  1011. mindspore/ops/_op_impl/cpu/transpose.py +39 -0
  1012. mindspore/ops/_primitive_cache.py +90 -0
  1013. mindspore/ops/_register_for_op.py +73 -0
  1014. mindspore/ops/_utils/__init__.py +20 -0
  1015. mindspore/ops/_utils/utils.py +147 -0
  1016. mindspore/ops/_vmap/__init__.py +25 -0
  1017. mindspore/ops/_vmap/vmap_array_ops.py +2149 -0
  1018. mindspore/ops/_vmap/vmap_base.py +533 -0
  1019. mindspore/ops/_vmap/vmap_convolution_ops.py +441 -0
  1020. mindspore/ops/_vmap/vmap_debug_ops.py +50 -0
  1021. mindspore/ops/_vmap/vmap_grad_math_ops.py +274 -0
  1022. mindspore/ops/_vmap/vmap_grad_nn_ops.py +806 -0
  1023. mindspore/ops/_vmap/vmap_image_ops.py +194 -0
  1024. mindspore/ops/_vmap/vmap_math_ops.py +993 -0
  1025. mindspore/ops/_vmap/vmap_nn_ops.py +2250 -0
  1026. mindspore/ops/_vmap/vmap_other_ops.py +105 -0
  1027. mindspore/ops/_vmap/vmap_random_ops.py +122 -0
  1028. mindspore/ops/_vmap/vmap_sparse_ops.py +89 -0
  1029. mindspore/ops/auto_generate/__init__.py +31 -0
  1030. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +309 -0
  1031. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +252 -0
  1032. mindspore/ops/auto_generate/gen_arg_handler.py +197 -0
  1033. mindspore/ops/auto_generate/gen_extend_func.py +1701 -0
  1034. mindspore/ops/auto_generate/gen_ops_def.py +8482 -0
  1035. mindspore/ops/auto_generate/gen_ops_prim.py +16704 -0
  1036. mindspore/ops/auto_generate/pyboost_inner_prim.py +549 -0
  1037. mindspore/ops/composite/__init__.py +71 -0
  1038. mindspore/ops/composite/base.py +1318 -0
  1039. mindspore/ops/composite/env_ops.py +41 -0
  1040. mindspore/ops/composite/math_ops.py +125 -0
  1041. mindspore/ops/composite/multitype_ops/__init__.py +77 -0
  1042. mindspore/ops/composite/multitype_ops/_compile_utils.py +1459 -0
  1043. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +897 -0
  1044. mindspore/ops/composite/multitype_ops/add_impl.py +606 -0
  1045. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +56 -0
  1046. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +56 -0
  1047. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +56 -0
  1048. mindspore/ops/composite/multitype_ops/div_impl.py +189 -0
  1049. mindspore/ops/composite/multitype_ops/equal_impl.py +335 -0
  1050. mindspore/ops/composite/multitype_ops/floordiv_impl.py +88 -0
  1051. mindspore/ops/composite/multitype_ops/getitem_impl.py +400 -0
  1052. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +109 -0
  1053. mindspore/ops/composite/multitype_ops/greater_impl.py +110 -0
  1054. mindspore/ops/composite/multitype_ops/in_impl.py +196 -0
  1055. mindspore/ops/composite/multitype_ops/left_shift_impl.py +37 -0
  1056. mindspore/ops/composite/multitype_ops/less_equal_impl.py +111 -0
  1057. mindspore/ops/composite/multitype_ops/less_impl.py +112 -0
  1058. mindspore/ops/composite/multitype_ops/logic_not_impl.py +113 -0
  1059. mindspore/ops/composite/multitype_ops/logical_and_impl.py +60 -0
  1060. mindspore/ops/composite/multitype_ops/logical_or_impl.py +61 -0
  1061. mindspore/ops/composite/multitype_ops/mod_impl.py +86 -0
  1062. mindspore/ops/composite/multitype_ops/mul_impl.py +294 -0
  1063. mindspore/ops/composite/multitype_ops/negative_impl.py +79 -0
  1064. mindspore/ops/composite/multitype_ops/not_equal_impl.py +290 -0
  1065. mindspore/ops/composite/multitype_ops/not_in_impl.py +196 -0
  1066. mindspore/ops/composite/multitype_ops/ones_like_impl.py +96 -0
  1067. mindspore/ops/composite/multitype_ops/pow_impl.py +87 -0
  1068. mindspore/ops/composite/multitype_ops/right_shift_impl.py +37 -0
  1069. mindspore/ops/composite/multitype_ops/setitem_impl.py +884 -0
  1070. mindspore/ops/composite/multitype_ops/sub_impl.py +116 -0
  1071. mindspore/ops/composite/multitype_ops/uadd_impl.py +29 -0
  1072. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +228 -0
  1073. mindspore/ops/deprecated.py +315 -0
  1074. mindspore/ops/function/__init__.py +782 -0
  1075. mindspore/ops/function/array_func.py +7226 -0
  1076. mindspore/ops/function/clip_func.py +384 -0
  1077. mindspore/ops/function/debug_func.py +181 -0
  1078. mindspore/ops/function/fft_func.py +44 -0
  1079. mindspore/ops/function/grad/__init__.py +34 -0
  1080. mindspore/ops/function/grad/grad_func.py +1425 -0
  1081. mindspore/ops/function/image_func.py +292 -0
  1082. mindspore/ops/function/linalg_func.py +416 -0
  1083. mindspore/ops/function/math_func.py +12228 -0
  1084. mindspore/ops/function/nn_func.py +8609 -0
  1085. mindspore/ops/function/other_func.py +115 -0
  1086. mindspore/ops/function/parameter_func.py +134 -0
  1087. mindspore/ops/function/random_func.py +1715 -0
  1088. mindspore/ops/function/reshard_func.py +104 -0
  1089. mindspore/ops/function/sparse_func.py +884 -0
  1090. mindspore/ops/function/sparse_unary_func.py +2422 -0
  1091. mindspore/ops/function/spectral_func.py +150 -0
  1092. mindspore/ops/function/vmap_func.py +117 -0
  1093. mindspore/ops/functional.py +464 -0
  1094. mindspore/ops/op_info_register.py +1572 -0
  1095. mindspore/ops/operations/__init__.py +722 -0
  1096. mindspore/ops/operations/_csr_ops.py +403 -0
  1097. mindspore/ops/operations/_custom_grad.py +181 -0
  1098. mindspore/ops/operations/_embedding_cache_ops.py +307 -0
  1099. mindspore/ops/operations/_grad_ops.py +2978 -0
  1100. mindspore/ops/operations/_infer_ops.py +19 -0
  1101. mindspore/ops/operations/_inner_ops.py +2544 -0
  1102. mindspore/ops/operations/_map_tensor_ops.py +112 -0
  1103. mindspore/ops/operations/_ms_kernel.py +601 -0
  1104. mindspore/ops/operations/_ocr_ops.py +379 -0
  1105. mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
  1106. mindspore/ops/operations/_pyfunc_registry.py +58 -0
  1107. mindspore/ops/operations/_quant_ops.py +1844 -0
  1108. mindspore/ops/operations/_rl_inner_ops.py +1231 -0
  1109. mindspore/ops/operations/_scalar_ops.py +106 -0
  1110. mindspore/ops/operations/_sequence_ops.py +1155 -0
  1111. mindspore/ops/operations/_sparse_grad_ops.py +56 -0
  1112. mindspore/ops/operations/_tensor_array.py +359 -0
  1113. mindspore/ops/operations/_thor_ops.py +807 -0
  1114. mindspore/ops/operations/array_ops.py +6124 -0
  1115. mindspore/ops/operations/comm_ops.py +1985 -0
  1116. mindspore/ops/operations/control_ops.py +127 -0
  1117. mindspore/ops/operations/custom_ops.py +1129 -0
  1118. mindspore/ops/operations/debug_ops.py +678 -0
  1119. mindspore/ops/operations/image_ops.py +1041 -0
  1120. mindspore/ops/operations/inner_ops.py +697 -0
  1121. mindspore/ops/operations/linalg_ops.py +95 -0
  1122. mindspore/ops/operations/manually_defined/__init__.py +24 -0
  1123. mindspore/ops/operations/manually_defined/_inner.py +73 -0
  1124. mindspore/ops/operations/manually_defined/ops_def.py +2271 -0
  1125. mindspore/ops/operations/math_ops.py +5095 -0
  1126. mindspore/ops/operations/nn_ops.py +9575 -0
  1127. mindspore/ops/operations/other_ops.py +874 -0
  1128. mindspore/ops/operations/random_ops.py +1288 -0
  1129. mindspore/ops/operations/reshard_ops.py +53 -0
  1130. mindspore/ops/operations/rl_ops.py +288 -0
  1131. mindspore/ops/operations/sparse_ops.py +2753 -0
  1132. mindspore/ops/operations/spectral_ops.py +111 -0
  1133. mindspore/ops/primitive.py +1046 -0
  1134. mindspore/ops/signature.py +54 -0
  1135. mindspore/ops/vm_impl_registry.py +91 -0
  1136. mindspore/ops_generate/__init__.py +27 -0
  1137. mindspore/ops_generate/arg_dtype_cast.py +252 -0
  1138. mindspore/ops_generate/arg_handler.py +197 -0
  1139. mindspore/ops_generate/gen_aclnn_implement.py +263 -0
  1140. mindspore/ops_generate/gen_constants.py +36 -0
  1141. mindspore/ops_generate/gen_ops.py +1099 -0
  1142. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  1143. mindspore/ops_generate/gen_pyboost_func.py +1052 -0
  1144. mindspore/ops_generate/gen_utils.py +209 -0
  1145. mindspore/ops_generate/op_proto.py +145 -0
  1146. mindspore/ops_generate/pyboost_utils.py +367 -0
  1147. mindspore/ops_generate/template.py +261 -0
  1148. mindspore/parallel/__init__.py +30 -0
  1149. mindspore/parallel/_auto_parallel_context.py +1486 -0
  1150. mindspore/parallel/_cell_wrapper.py +174 -0
  1151. mindspore/parallel/_cost_model_context.py +700 -0
  1152. mindspore/parallel/_dp_allreduce_fusion.py +159 -0
  1153. mindspore/parallel/_offload_context.py +275 -0
  1154. mindspore/parallel/_parallel_serialization.py +561 -0
  1155. mindspore/parallel/_ps_context.py +242 -0
  1156. mindspore/parallel/_recovery_context.py +110 -0
  1157. mindspore/parallel/_tensor.py +730 -0
  1158. mindspore/parallel/_transformer/__init__.py +35 -0
  1159. mindspore/parallel/_transformer/layers.py +765 -0
  1160. mindspore/parallel/_transformer/loss.py +251 -0
  1161. mindspore/parallel/_transformer/moe.py +693 -0
  1162. mindspore/parallel/_transformer/op_parallel_config.py +222 -0
  1163. mindspore/parallel/_transformer/transformer.py +3119 -0
  1164. mindspore/parallel/_utils.py +612 -0
  1165. mindspore/parallel/algo_parameter_config.py +400 -0
  1166. mindspore/parallel/checkpoint_transform.py +650 -0
  1167. mindspore/parallel/cluster/__init__.py +15 -0
  1168. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  1169. mindspore/parallel/cluster/process_entity/_api.py +352 -0
  1170. mindspore/parallel/cluster/process_entity/_utils.py +101 -0
  1171. mindspore/parallel/cluster/run.py +136 -0
  1172. mindspore/parallel/mpi/__init__.py +14 -0
  1173. mindspore/parallel/mpi/_mpi_config.py +116 -0
  1174. mindspore/parallel/parameter_broadcast.py +151 -0
  1175. mindspore/parallel/shard.py +481 -0
  1176. mindspore/parallel/transform_safetensors.py +993 -0
  1177. mindspore/profiler/__init__.py +28 -0
  1178. mindspore/profiler/common/__init__.py +14 -0
  1179. mindspore/profiler/common/constant.py +29 -0
  1180. mindspore/profiler/common/exceptions/__init__.py +14 -0
  1181. mindspore/profiler/common/exceptions/error_code.py +83 -0
  1182. mindspore/profiler/common/exceptions/exceptions.py +286 -0
  1183. mindspore/profiler/common/process_pool.py +41 -0
  1184. mindspore/profiler/common/registry.py +47 -0
  1185. mindspore/profiler/common/singleton.py +28 -0
  1186. mindspore/profiler/common/struct_type.py +118 -0
  1187. mindspore/profiler/common/util.py +472 -0
  1188. mindspore/profiler/common/validator/__init__.py +14 -0
  1189. mindspore/profiler/common/validator/validate_path.py +84 -0
  1190. mindspore/profiler/dynamic_profiler.py +694 -0
  1191. mindspore/profiler/envprofiling.py +254 -0
  1192. mindspore/profiler/parser/__init__.py +14 -0
  1193. mindspore/profiler/parser/aicpu_data_parser.py +272 -0
  1194. mindspore/profiler/parser/ascend_analysis/__init__.py +14 -0
  1195. mindspore/profiler/parser/ascend_analysis/constant.py +71 -0
  1196. mindspore/profiler/parser/ascend_analysis/file_manager.py +180 -0
  1197. mindspore/profiler/parser/ascend_analysis/function_event.py +185 -0
  1198. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +136 -0
  1199. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +131 -0
  1200. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +104 -0
  1201. mindspore/profiler/parser/ascend_analysis/path_manager.py +313 -0
  1202. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +123 -0
  1203. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  1204. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +75 -0
  1205. mindspore/profiler/parser/ascend_cluster_generator.py +116 -0
  1206. mindspore/profiler/parser/ascend_communicate_generator.py +314 -0
  1207. mindspore/profiler/parser/ascend_flops_generator.py +116 -0
  1208. mindspore/profiler/parser/ascend_fpbp_generator.py +82 -0
  1209. mindspore/profiler/parser/ascend_hccl_generator.py +271 -0
  1210. mindspore/profiler/parser/ascend_integrate_generator.py +42 -0
  1211. mindspore/profiler/parser/ascend_memory_generator.py +185 -0
  1212. mindspore/profiler/parser/ascend_msprof_exporter.py +282 -0
  1213. mindspore/profiler/parser/ascend_msprof_generator.py +187 -0
  1214. mindspore/profiler/parser/ascend_op_generator.py +334 -0
  1215. mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
  1216. mindspore/profiler/parser/ascend_timeline_generator.py +545 -0
  1217. mindspore/profiler/parser/base_timeline_generator.py +483 -0
  1218. mindspore/profiler/parser/container.py +229 -0
  1219. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +697 -0
  1220. mindspore/profiler/parser/flops_parser.py +531 -0
  1221. mindspore/profiler/parser/framework_enum.py +111 -0
  1222. mindspore/profiler/parser/framework_parser.py +464 -0
  1223. mindspore/profiler/parser/framework_struct.py +61 -0
  1224. mindspore/profiler/parser/gpu_analysis/__init__.py +14 -0
  1225. mindspore/profiler/parser/gpu_analysis/function_event.py +44 -0
  1226. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +89 -0
  1227. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +72 -0
  1228. mindspore/profiler/parser/hccl_parser.py +573 -0
  1229. mindspore/profiler/parser/hwts_log_parser.py +122 -0
  1230. mindspore/profiler/parser/integrator.py +526 -0
  1231. mindspore/profiler/parser/memory_usage_parser.py +277 -0
  1232. mindspore/profiler/parser/minddata_analyzer.py +800 -0
  1233. mindspore/profiler/parser/minddata_parser.py +186 -0
  1234. mindspore/profiler/parser/minddata_pipeline_parser.py +299 -0
  1235. mindspore/profiler/parser/op_intermediate_parser.py +149 -0
  1236. mindspore/profiler/parser/optime_parser.py +250 -0
  1237. mindspore/profiler/parser/profiler_info.py +213 -0
  1238. mindspore/profiler/parser/step_trace_parser.py +666 -0
  1239. mindspore/profiler/profiler.py +153 -0
  1240. mindspore/profiler/profiling.py +1922 -0
  1241. mindspore/rewrite/__init__.py +28 -0
  1242. mindspore/rewrite/api/__init__.py +17 -0
  1243. mindspore/rewrite/api/node.py +519 -0
  1244. mindspore/rewrite/api/node_type.py +53 -0
  1245. mindspore/rewrite/api/pattern_engine.py +490 -0
  1246. mindspore/rewrite/api/scoped_value.py +181 -0
  1247. mindspore/rewrite/api/symbol_tree.py +497 -0
  1248. mindspore/rewrite/ast_helpers/__init__.py +25 -0
  1249. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  1250. mindspore/rewrite/ast_helpers/ast_finder.py +404 -0
  1251. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  1252. mindspore/rewrite/ast_helpers/ast_modifier.py +605 -0
  1253. mindspore/rewrite/ast_helpers/ast_replacer.py +79 -0
  1254. mindspore/rewrite/common/__init__.py +19 -0
  1255. mindspore/rewrite/common/config.py +24 -0
  1256. mindspore/rewrite/common/error_log.py +39 -0
  1257. mindspore/rewrite/common/event.py +28 -0
  1258. mindspore/rewrite/common/namer.py +271 -0
  1259. mindspore/rewrite/common/namespace.py +118 -0
  1260. mindspore/rewrite/common/observable.py +44 -0
  1261. mindspore/rewrite/common/observer.py +54 -0
  1262. mindspore/rewrite/node/__init__.py +22 -0
  1263. mindspore/rewrite/node/call_function.py +95 -0
  1264. mindspore/rewrite/node/cell_container.py +139 -0
  1265. mindspore/rewrite/node/control_flow.py +113 -0
  1266. mindspore/rewrite/node/node.py +1428 -0
  1267. mindspore/rewrite/node/node_manager.py +283 -0
  1268. mindspore/rewrite/node/node_topological_manager.py +223 -0
  1269. mindspore/rewrite/parsers/__init__.py +29 -0
  1270. mindspore/rewrite/parsers/arguments_parser.py +63 -0
  1271. mindspore/rewrite/parsers/assign_parser.py +852 -0
  1272. mindspore/rewrite/parsers/attribute_parser.py +57 -0
  1273. mindspore/rewrite/parsers/class_def_parser.py +289 -0
  1274. mindspore/rewrite/parsers/constant_parser.py +104 -0
  1275. mindspore/rewrite/parsers/container_parser.py +88 -0
  1276. mindspore/rewrite/parsers/expr_parser.py +55 -0
  1277. mindspore/rewrite/parsers/for_parser.py +61 -0
  1278. mindspore/rewrite/parsers/function_def_parser.py +84 -0
  1279. mindspore/rewrite/parsers/if_parser.py +85 -0
  1280. mindspore/rewrite/parsers/module_parser.py +117 -0
  1281. mindspore/rewrite/parsers/parser.py +43 -0
  1282. mindspore/rewrite/parsers/parser_register.py +86 -0
  1283. mindspore/rewrite/parsers/return_parser.py +37 -0
  1284. mindspore/rewrite/parsers/while_parser.py +59 -0
  1285. mindspore/rewrite/sparsify/__init__.py +0 -0
  1286. mindspore/rewrite/sparsify/sparse_transformer.py +457 -0
  1287. mindspore/rewrite/sparsify/sparsify.py +112 -0
  1288. mindspore/rewrite/sparsify/utils.py +179 -0
  1289. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  1290. mindspore/rewrite/symbol_tree/symbol_tree.py +1819 -0
  1291. mindspore/rewrite/symbol_tree/symbol_tree_builder.py +76 -0
  1292. mindspore/rewrite/symbol_tree/symbol_tree_dumper.py +142 -0
  1293. mindspore/run_check/__init__.py +20 -0
  1294. mindspore/run_check/_check_version.py +507 -0
  1295. mindspore/run_check/run_check.py +66 -0
  1296. mindspore/safeguard/__init__.py +18 -0
  1297. mindspore/safeguard/rewrite_obfuscation.py +875 -0
  1298. mindspore/scipy/__init__.py +18 -0
  1299. mindspore/scipy/fft.py +264 -0
  1300. mindspore/scipy/linalg.py +919 -0
  1301. mindspore/scipy/ops.py +165 -0
  1302. mindspore/scipy/ops_grad.py +115 -0
  1303. mindspore/scipy/ops_wrapper.py +74 -0
  1304. mindspore/scipy/optimize/__init__.py +20 -0
  1305. mindspore/scipy/optimize/_bfgs.py +230 -0
  1306. mindspore/scipy/optimize/_lagrange.py +201 -0
  1307. mindspore/scipy/optimize/_lbfgs.py +146 -0
  1308. mindspore/scipy/optimize/gradient_optimization_algorithm.py +168 -0
  1309. mindspore/scipy/optimize/line_search.py +370 -0
  1310. mindspore/scipy/optimize/linear_sum_assignment.py +78 -0
  1311. mindspore/scipy/optimize/minimize.py +200 -0
  1312. mindspore/scipy/utils.py +156 -0
  1313. mindspore/scipy/utils_const.py +246 -0
  1314. mindspore/train/__init__.py +48 -0
  1315. mindspore/train/_utils.py +465 -0
  1316. mindspore/train/amp.py +935 -0
  1317. mindspore/train/anf_ir_pb2.py +1517 -0
  1318. mindspore/train/callback/__init__.py +44 -0
  1319. mindspore/train/callback/_backup_and_restore.py +117 -0
  1320. mindspore/train/callback/_callback.py +613 -0
  1321. mindspore/train/callback/_checkpoint.py +814 -0
  1322. mindspore/train/callback/_cluster_monitor.py +201 -0
  1323. mindspore/train/callback/_dataset_graph.py +150 -0
  1324. mindspore/train/callback/_early_stop.py +239 -0
  1325. mindspore/train/callback/_flops_collector.py +239 -0
  1326. mindspore/train/callback/_history.py +92 -0
  1327. mindspore/train/callback/_lambda_callback.py +80 -0
  1328. mindspore/train/callback/_landscape.py +1049 -0
  1329. mindspore/train/callback/_loss_monitor.py +107 -0
  1330. mindspore/train/callback/_lr_scheduler_callback.py +76 -0
  1331. mindspore/train/callback/_on_request_exit.py +298 -0
  1332. mindspore/train/callback/_reduce_lr_on_plateau.py +226 -0
  1333. mindspore/train/callback/_summary_collector.py +1184 -0
  1334. mindspore/train/callback/_tft_register.py +352 -0
  1335. mindspore/train/callback/_time_monitor.py +141 -0
  1336. mindspore/train/checkpoint_pb2.py +233 -0
  1337. mindspore/train/data_sink.py +219 -0
  1338. mindspore/train/dataset_helper.py +692 -0
  1339. mindspore/train/lineage_pb2.py +1260 -0
  1340. mindspore/train/loss_scale_manager.py +213 -0
  1341. mindspore/train/memory_profiling_pb2.py +298 -0
  1342. mindspore/train/metrics/__init__.py +175 -0
  1343. mindspore/train/metrics/accuracy.py +133 -0
  1344. mindspore/train/metrics/auc.py +129 -0
  1345. mindspore/train/metrics/bleu_score.py +170 -0
  1346. mindspore/train/metrics/confusion_matrix.py +700 -0
  1347. mindspore/train/metrics/cosine_similarity.py +109 -0
  1348. mindspore/train/metrics/dice.py +116 -0
  1349. mindspore/train/metrics/error.py +175 -0
  1350. mindspore/train/metrics/fbeta.py +167 -0
  1351. mindspore/train/metrics/hausdorff_distance.py +333 -0
  1352. mindspore/train/metrics/loss.py +97 -0
  1353. mindspore/train/metrics/mean_surface_distance.py +189 -0
  1354. mindspore/train/metrics/metric.py +373 -0
  1355. mindspore/train/metrics/occlusion_sensitivity.py +225 -0
  1356. mindspore/train/metrics/perplexity.py +133 -0
  1357. mindspore/train/metrics/precision.py +160 -0
  1358. mindspore/train/metrics/recall.py +159 -0
  1359. mindspore/train/metrics/roc.py +223 -0
  1360. mindspore/train/metrics/root_mean_square_surface_distance.py +191 -0
  1361. mindspore/train/metrics/topk.py +167 -0
  1362. mindspore/train/mind_ir_pb2.py +1908 -0
  1363. mindspore/train/model.py +2252 -0
  1364. mindspore/train/node_strategy_pb2.py +653 -0
  1365. mindspore/train/print_pb2.py +184 -0
  1366. mindspore/train/profiling_parallel_pb2.py +151 -0
  1367. mindspore/train/serialization.py +3325 -0
  1368. mindspore/train/summary/__init__.py +23 -0
  1369. mindspore/train/summary/_lineage_adapter.py +41 -0
  1370. mindspore/train/summary/_summary_adapter.py +496 -0
  1371. mindspore/train/summary/_writer_pool.py +207 -0
  1372. mindspore/train/summary/enums.py +56 -0
  1373. mindspore/train/summary/summary_record.py +581 -0
  1374. mindspore/train/summary/writer.py +167 -0
  1375. mindspore/train/summary_pb2.py +1165 -0
  1376. mindspore/train/train_thor/__init__.py +20 -0
  1377. mindspore/train/train_thor/convert_utils.py +268 -0
  1378. mindspore/train/train_thor/dataset_helper.py +192 -0
  1379. mindspore/train/train_thor/model_thor.py +257 -0
  1380. mindspore/utils/__init__.py +21 -0
  1381. mindspore/utils/utils.py +60 -0
  1382. mindspore/version.py +1 -0
  1383. mindspore-2.4.0.dist-info/METADATA +352 -0
  1384. mindspore-2.4.0.dist-info/RECORD +1387 -0
  1385. mindspore-2.4.0.dist-info/WHEEL +5 -0
  1386. mindspore-2.4.0.dist-info/entry_points.txt +3 -0
  1387. mindspore-2.4.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2120 @@
1
+ # Copyright 2019-2022 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+ """
16
+ The module vision.py_transforms is mainly implemented based on Python PIL, which
17
+ provides many kinds of image augmentation methods and conversion methods between
18
+ PIL.Image.Image and numpy.ndarray. For users who prefer using Python PIL in computer vision
19
+ tasks, this module is a good choice to process images. Users can also self-define
20
+ their own augmentation methods with Python PIL.
21
+ """
22
+ import numbers
23
+ import random
24
+
25
+ import numpy as np
26
+
27
+ import mindspore.dataset.transforms.py_transforms as py_transforms
28
+ from . import py_transforms_util as util
29
+ from .c_transforms import parse_padding
30
+ from .py_transforms_util import is_pil
31
+ from .utils import Border, Inter, ANTIALIAS, CUBIC, LINEAR, NEAREST
32
+ from .validators import check_adjust_gamma, check_alpha, check_auto_contrast, check_center_crop, check_cutout, \
33
+ check_five_crop, check_hsv_to_rgb, check_linear_transform, check_mix_up, check_normalize_py, \
34
+ check_normalizepad_py, check_num_channels, check_pad, check_positive_degrees, check_prob, check_random_affine, \
35
+ check_random_color_adjust, check_random_crop, check_random_erasing, check_random_perspective, \
36
+ check_random_resize_crop, check_random_rotation, check_resize_interpolation, check_rgb_to_bgr, check_rgb_to_hsv, \
37
+ check_ten_crop, check_uniform_augment_py, deprecated_py_vision
38
+
39
+ DE_PY_BORDER_TYPE = {Border.CONSTANT: 'constant',
40
+ Border.EDGE: 'edge',
41
+ Border.REFLECT: 'reflect',
42
+ Border.SYMMETRIC: 'symmetric'}
43
+
44
+ DE_PY_INTER_MODE = {Inter.NEAREST: NEAREST,
45
+ Inter.ANTIALIAS: ANTIALIAS,
46
+ Inter.LINEAR: LINEAR,
47
+ Inter.CUBIC: CUBIC}
48
+
49
+
50
+ class AdjustGamma(py_transforms.PyTensorOperation):
51
+ """
52
+ Perform gamma correction on the input PIL Image.
53
+
54
+ Args:
55
+ gamma (float): The gamma parameter in correction equation, must be non negative.
56
+ gain (float, optional): The constant multiplier. Default: ``1.0``.
57
+
58
+ Raises:
59
+ TypeError: If `gain` is not of type float.
60
+ TypeError: If `gamma` is not of type float.
61
+ ValueError: If `gamma` is less than 0.
62
+ RuntimeError: If shape of the input image is not <H, W> or <H, W, C>.
63
+
64
+ Supported Platforms:
65
+ ``CPU``
66
+
67
+ Examples:
68
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
69
+ >>>
70
+ >>> transforms_list = Compose([py_vision.Decode(),
71
+ ... py_vision.AdjustGamma(gamma=10.0),
72
+ ... py_vision.ToTensor()])
73
+ >>> # apply the transform to dataset through map function
74
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
75
+ ... input_columns="image")
76
+ """
77
+
78
+ @deprecated_py_vision()
79
+ @check_adjust_gamma
80
+ def __init__(self, gamma, gain=1.0):
81
+ self.gamma = gamma
82
+ self.gain = gain
83
+ self.random = False
84
+
85
+ def __call__(self, img):
86
+ """
87
+ Call method.
88
+
89
+ Args:
90
+ img (PIL.Image.Image): Image to be gamma adjusted.
91
+
92
+ Returns:
93
+ PIL.Image.Image, gamma adjusted image.
94
+ """
95
+
96
+ return util.adjust_gamma(img, self.gamma, self.gain)
97
+
98
+
99
+ class AutoContrast(py_transforms.PyTensorOperation):
100
+ """
101
+ Maximize (normalize) contrast of the input PIL Image.
102
+
103
+ It will first calculate a histogram of the input image, remove `cutoff` percent of the
104
+ lightest and darkest pixels from the histogram, then remap the pixel value to [0, 255],
105
+ making the darkest pixel black and the lightest pixel white.
106
+
107
+ Args:
108
+ cutoff (float, optional): Percent to cut off from the histogram on the low and
109
+ high ends, must be in range of [0.0, 50.0]. Default: ``0.0``.
110
+ ignore (Union[int, Sequence[int]], optional): Background pixel value, which will be
111
+ directly remapped to white. Default: ``None``, means no background.
112
+
113
+ Raises:
114
+ TypeError: If `cutoff` is not of type float.
115
+ TypeError: If `ignore` is not of type int or sequence.
116
+ ValueError: If `cutoff` is not in range [0, 50.0).
117
+ ValueError: If `ignore` is not in range [0, 255].
118
+ RuntimeError: If shape of the input image is not <H, W> or <H, W, C>.
119
+
120
+ Supported Platforms:
121
+ ``CPU``
122
+
123
+ Examples:
124
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
125
+ >>>
126
+ >>> transforms_list = Compose([py_vision.Decode(),
127
+ ... py_vision.AutoContrast(),
128
+ ... py_vision.ToTensor()])
129
+ >>> # apply the transform to dataset through map function
130
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
131
+ ... input_columns="image")
132
+ """
133
+
134
+ @deprecated_py_vision()
135
+ @check_auto_contrast
136
+ def __init__(self, cutoff=0.0, ignore=None):
137
+ self.cutoff = cutoff
138
+ self.ignore = ignore
139
+ self.random = False
140
+
141
+ def __call__(self, img):
142
+ """
143
+ Call method.
144
+
145
+ Args:
146
+ img (PIL.Image.Image): Image to be automatically contrasted.
147
+
148
+ Returns:
149
+ PIL.Image.Image, automatically contrasted image.
150
+ """
151
+
152
+ return util.auto_contrast(img, self.cutoff, self.ignore)
153
+
154
+
155
+ class CenterCrop(py_transforms.PyTensorOperation):
156
+ """
157
+ Crop the central region of the input PIL Image with the given size.
158
+
159
+ Args:
160
+ size (Union[int, Sequence[int, int]]): The size of the cropped image.
161
+ If int is provided, a square of size `(size, size)` will be cropped with this value.
162
+ If Sequence[int, int] is provided, its two elements will be taken as the cropped height and width.
163
+
164
+ Raises:
165
+ TypeError: If `size` is not of type int or Sequence[int, int].
166
+ ValueError: If `size` is not positive.
167
+
168
+ Supported Platforms:
169
+ ``CPU``
170
+
171
+ Examples:
172
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
173
+ >>>
174
+ >>> transforms_list = Compose([py_vision.Decode(),
175
+ ... py_vision.CenterCrop(64),
176
+ ... py_vision.ToTensor()])
177
+ >>> # apply the transform to dataset through map function
178
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
179
+ ... input_columns="image")
180
+ """
181
+
182
+ @deprecated_py_vision()
183
+ @check_center_crop
184
+ def __init__(self, size):
185
+ self.size = size
186
+ self.random = False
187
+
188
+ def __call__(self, img):
189
+ """
190
+ Call method.
191
+
192
+ Args:
193
+ img (PIL.Image.Image): Image to be center cropped.
194
+
195
+ Returns:
196
+ PIL.Image.Image, cropped image.
197
+ """
198
+ return util.center_crop(img, self.size)
199
+
200
+
201
+ class Cutout(py_transforms.PyTensorOperation):
202
+ """
203
+ Randomly cut out a certain number of square patches on the input numpy.ndarray image,
204
+ setting the pixel values in the patch to zero.
205
+
206
+ See `Improved Regularization of Convolutional Neural Networks with Cutout <https://arxiv.org/pdf/1708.04552.pdf>`_ .
207
+
208
+ Args:
209
+ length (int): The side length of square patches to be cut out.
210
+ num_patches (int, optional): The number of patches to be cut out. Default: ``1``.
211
+
212
+ Raises:
213
+ TypeError: If `length` is not of type int.
214
+ TypeError: If `num_patches` is not of type int.
215
+ ValueError: If `length` is less than or equal 0.
216
+ ValueError: If `num_patches` is less than or equal 0.
217
+ RuntimeError: If shape of the input image is not <H, W, C>.
218
+
219
+ Supported Platforms:
220
+ ``CPU``
221
+
222
+ Examples:
223
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
224
+ >>>
225
+ >>> transforms_list = Compose([py_vision.Decode(),
226
+ ... py_vision.ToTensor(),
227
+ ... py_vision.Cutout(80)])
228
+ >>> # apply the transform to dataset through map function
229
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
230
+ ... input_columns="image")
231
+ """
232
+
233
+ @deprecated_py_vision("CutOut")
234
+ @check_cutout
235
+ def __init__(self, length, num_patches=1):
236
+ self.length = length
237
+ self.num_patches = num_patches
238
+ self.random = False
239
+
240
+ def __call__(self, np_img):
241
+ """
242
+ Call method.
243
+
244
+ Args:
245
+ np_img (numpy.ndarray): Image in shape of (C, H, W) to be cut out.
246
+
247
+ Returns:
248
+ numpy.ndarray, image cut out.
249
+ """
250
+ if not isinstance(np_img, np.ndarray):
251
+ raise TypeError(
252
+ "img should be NumPy array. Got {}.".format(type(np_img)))
253
+ if np_img.ndim != 3:
254
+ raise TypeError(
255
+ 'img dimension should be 3. Got {}.'.format(np_img.ndim))
256
+
257
+ _, image_h, image_w = np_img.shape
258
+ if self.length > image_h or self.length > image_w:
259
+ raise ValueError(
260
+ f"Patch length is too large, got patch length: {self.length} and image height: {image_h}, image "
261
+ f"width: {image_w}")
262
+
263
+ scale = (self.length * self.length) / (image_h * image_w)
264
+ bounded = False
265
+
266
+ for _ in range(self.num_patches):
267
+ i, j, erase_h, erase_w, erase_value = util.get_erase_params(np_img, (scale, scale), (1, 1), 0, bounded,
268
+ 1)
269
+ np_img = util.erase(np_img, i, j, erase_h, erase_w, erase_value)
270
+ return np_img
271
+
272
+
273
+ class Decode(py_transforms.PyTensorOperation):
274
+ """
275
+ Decode the input raw image bytes to PIL Image format in RGB mode.
276
+
277
+ Raises:
278
+ ValueError: If the input is not raw image bytes.
279
+ ValueError: If the input image is already decoded.
280
+
281
+ Supported Platforms:
282
+ ``CPU``
283
+
284
+ Examples:
285
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
286
+ >>>
287
+ >>> transforms_list = Compose([py_vision.Decode(),
288
+ ... py_vision.RandomHorizontalFlip(0.5),
289
+ ... py_vision.ToTensor()])
290
+ >>> # apply the transform to dataset through map function
291
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
292
+ ... input_columns="image")
293
+ """
294
+
295
+ @deprecated_py_vision()
296
+ def __init__(self):
297
+ self.random = False
298
+
299
+ def __call__(self, img):
300
+ """
301
+ Call method.
302
+
303
+ Args:
304
+ img (Bytes-like Object): Raw image data to be decoded.
305
+
306
+ Returns:
307
+ PIL.Image.Image, decoded PIL Image in RGB mode.
308
+ """
309
+ return util.decode(img)
310
+
311
+
312
+ class Equalize(py_transforms.PyTensorOperation):
313
+ """
314
+ Equalize the histogram of the input PIL Image.
315
+
316
+ By applying a non-linear mapping to the input image, it creates a uniform
317
+ distribution of grayscale values in the output.
318
+
319
+ Supported Platforms:
320
+ ``CPU``
321
+
322
+ Examples:
323
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
324
+ >>>
325
+ >>> transforms_list = Compose([py_vision.Decode(),
326
+ ... py_vision.Equalize(),
327
+ ... py_vision.ToTensor()])
328
+ >>> # apply the transform to dataset through map function
329
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
330
+ ... input_columns="image")
331
+ """
332
+
333
+ @deprecated_py_vision()
334
+ def __init__(self):
335
+ self.random = False
336
+
337
+ def __call__(self, img):
338
+ """
339
+ Call method.
340
+
341
+ Args:
342
+ img (PIL.Image.Image): Image to be equalized.
343
+
344
+ Returns:
345
+ PIL.Image.Image, equalized image.
346
+ """
347
+
348
+ return util.equalize(img)
349
+
350
+
351
+ class FiveCrop(py_transforms.PyTensorOperation):
352
+ """
353
+ Crop the given image into one central crop and four corners.
354
+
355
+ Args:
356
+ size (Union[int, Sequence[int, int]]): The size of the cropped image.
357
+ If int is provided, a square of size `(size, size)` will be cropped with this value.
358
+ If Sequence[int, int] is provided, its two elements will be taken as the cropped height and width.
359
+
360
+ Raises:
361
+ TypeError: If `size` is not of type int or Sequence[int, int].
362
+ ValueError: If `size` is not positive.
363
+
364
+ Supported Platforms:
365
+ ``CPU``
366
+
367
+ Examples:
368
+ >>> import numpy
369
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
370
+ >>>
371
+ >>> transforms_list = Compose([py_vision.Decode(),
372
+ ... py_vision.FiveCrop(size=200),
373
+ ... # 4D stack of 5 images
374
+ ... lambda *images: numpy.stack([py_vision.ToTensor()(image) for image in images])])
375
+ >>> # apply the transform to dataset through map function
376
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
377
+ ... input_columns="image")
378
+ """
379
+
380
+ @deprecated_py_vision()
381
+ @check_five_crop
382
+ def __init__(self, size):
383
+ self.size = size
384
+ self.random = False
385
+
386
+ def __call__(self, img):
387
+ """
388
+ Call method.
389
+
390
+ Args:
391
+ img (PIL.Image.Image): Image to be cropped.
392
+
393
+ Returns:
394
+ tuple[PIL.Image.Image], five cropped images in order of top_left, top_right, bottom_left,
395
+ bottom_right and center.
396
+ """
397
+ return util.five_crop(img, self.size)
398
+
399
+
400
+ class Grayscale(py_transforms.PyTensorOperation):
401
+ """
402
+ Convert the input PIL Image to grayscale.
403
+
404
+ Args:
405
+ num_output_channels (int): The number of channels desired for the output image, must be ``1`` or ``3``.
406
+ If ``3`` is provided, the returned image will have 3 identical RGB channels. Default: ``1``.
407
+
408
+ Raises:
409
+ TypeError: If `num_output_channels` is not of type int.
410
+ ValueError: If `num_output_channels` is not ``1`` or ``3``.
411
+
412
+ Supported Platforms:
413
+ ``CPU``
414
+
415
+ Examples:
416
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
417
+ >>>
418
+ >>> transforms_list = Compose([py_vision.Decode(),
419
+ ... py_vision.Grayscale(3),
420
+ ... py_vision.ToTensor()])
421
+ >>> # apply the transform to dataset through map function
422
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
423
+ ... input_columns="image")
424
+ """
425
+
426
+ @deprecated_py_vision()
427
+ @check_num_channels
428
+ def __init__(self, num_output_channels=1):
429
+ self.num_output_channels = num_output_channels
430
+ self.random = False
431
+
432
+ def __call__(self, img):
433
+ """
434
+ Call method.
435
+
436
+ Args:
437
+ img (PIL.Image.Image): Image to be converted to grayscale.
438
+
439
+ Returns:
440
+ PIL.Image.Image, converted grayscale image.
441
+ """
442
+ return util.grayscale(img, num_output_channels=self.num_output_channels)
443
+
444
+
445
+ class HsvToRgb(py_transforms.PyTensorOperation):
446
+ """
447
+ Convert the input numpy.ndarray images from HSV to RGB.
448
+
449
+ Args:
450
+ is_hwc (bool): If ``True``, means the input image is in shape of (H, W, C) or (N, H, W, C).
451
+ Otherwise, it is in shape of (C, H, W) or (N, C, H, W). Default: ``False``.
452
+
453
+ Raises:
454
+ TypeError: If `is_hwc` is not of type bool.
455
+
456
+ Supported Platforms:
457
+ ``CPU``
458
+
459
+ Examples:
460
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
461
+ >>>
462
+ >>> transforms_list = Compose([py_vision.Decode(),
463
+ ... py_vision.CenterCrop(20),
464
+ ... py_vision.ToTensor(),
465
+ ... py_vision.HsvToRgb()])
466
+ >>> # apply the transform to dataset through map function
467
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
468
+ ... input_columns="image")
469
+ """
470
+
471
+ @deprecated_py_vision()
472
+ @check_hsv_to_rgb
473
+ def __init__(self, is_hwc=False):
474
+ self.is_hwc = is_hwc
475
+ self.random = False
476
+
477
+ def __call__(self, hsv_imgs):
478
+ """
479
+ Call method.
480
+
481
+ Args:
482
+ hsv_imgs (numpy.ndarray): HSV images to be converted.
483
+
484
+ Returns:
485
+ numpy.ndarray, converted RGB images.
486
+ """
487
+ return util.hsv_to_rgbs(hsv_imgs, self.is_hwc)
488
+
489
+
490
+ class HWC2CHW(py_transforms.PyTensorOperation):
491
+ """
492
+ Transpose the input numpy.ndarray image from shape (H, W, C) to (C, H, W).
493
+ If the input image is of shape <H, W>, it will remain unchanged.
494
+
495
+ Raises:
496
+ TypeError: If the input image is not of type :class:`numpy.ndarray` .
497
+ TypeError: If shape of the input image is not <H, W> or <H, W, C>.
498
+
499
+ Supported Platforms:
500
+ ``CPU``
501
+
502
+ Examples:
503
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
504
+ >>>
505
+ >>> transforms_list = Compose([c_vision.Decode(),
506
+ ... py_vision.HWC2CHW()])
507
+ >>> # apply the transform to dataset through map function
508
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
509
+ ... input_columns="image")
510
+ """
511
+
512
+ @deprecated_py_vision()
513
+ def __init__(self):
514
+ self.random = False
515
+
516
+ def __call__(self, img):
517
+ """
518
+ Call method.
519
+
520
+ Args:
521
+ img (numpy.ndarray): numpy.ndarray to be transposed.
522
+
523
+ Returns:
524
+ numpy.ndarray, transposed numpy.ndarray.
525
+ """
526
+ return util.hwc_to_chw(img)
527
+
528
+
529
+ class Invert(py_transforms.PyTensorOperation):
530
+ """
531
+ Invert the colors of the input PIL Image.
532
+
533
+ Supported Platforms:
534
+ ``CPU``
535
+
536
+ Examples:
537
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
538
+ >>>
539
+ >>> transforms_list = Compose([py_vision.Decode(),
540
+ ... py_vision.Invert(),
541
+ ... py_vision.ToTensor()])
542
+ >>> # apply the transform to dataset through map function
543
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
544
+ ... input_columns="image")
545
+ """
546
+
547
+ @deprecated_py_vision()
548
+ def __init__(self):
549
+ self.random = False
550
+
551
+ def __call__(self, img):
552
+ """
553
+ Call method.
554
+
555
+ Args:
556
+ img (PIL.Image.Image): Image to be color inverted.
557
+
558
+ Returns:
559
+ PIL.Image.Image, color inverted image.
560
+ """
561
+
562
+ return util.invert_color(img)
563
+
564
+
565
+ class LinearTransformation(py_transforms.PyTensorOperation):
566
+ r"""
567
+ Linearly transform the input numpy.ndarray image with a square transformation matrix and a mean vector.
568
+
569
+ It will first flatten the input image and subtract the mean vector from it, then compute the dot
570
+ product with the transformation matrix, finally reshape it back to its original shape.
571
+
572
+ Args:
573
+ transformation_matrix (numpy.ndarray): A square transformation matrix in shape of (D, D), where
574
+ :math:`D = C \times H \times W` .
575
+ mean_vector (numpy.ndarray): A mean vector in shape of (D,), where :math:`D = C \times H \times W` .
576
+
577
+ Raises:
578
+ TypeError: If `transformation_matrix` is not of type :class:`numpy.ndarray` .
579
+ TypeError: If `mean_vector` is not of type :class:`numpy.ndarray` .
580
+
581
+ Supported Platforms:
582
+ ``CPU``
583
+
584
+ Examples:
585
+ >>> import numpy as np
586
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
587
+ >>>
588
+ >>> height, width = 32, 32
589
+ >>> dim = 3 * height * width
590
+ >>> transformation_matrix = np.ones([dim, dim])
591
+ >>> mean_vector = np.zeros(dim)
592
+ >>> transforms_list = Compose([py_vision.Decode(),
593
+ ... py_vision.Resize((height,width)),
594
+ ... py_vision.ToTensor(),
595
+ ... py_vision.LinearTransformation(transformation_matrix, mean_vector)])
596
+ >>> # apply the transform to dataset through map function
597
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
598
+ ... input_columns="image")
599
+ """
600
+
601
+ @deprecated_py_vision()
602
+ @check_linear_transform
603
+ def __init__(self, transformation_matrix, mean_vector):
604
+ self.transformation_matrix = transformation_matrix
605
+ self.mean_vector = mean_vector
606
+ self.random = False
607
+
608
+ def __call__(self, np_img):
609
+ """
610
+ Call method.
611
+
612
+ Args:
613
+ np_img (numpy.ndarray): Image in shape of (C, H, W) to be linearly transformed.
614
+
615
+ Returns:
616
+ numpy.ndarray, linearly transformed image.
617
+ """
618
+ return util.linear_transform(np_img, self.transformation_matrix, self.mean_vector)
619
+
620
+
621
+ class MixUp(py_transforms.PyTensorOperation):
622
+ """
623
+ Randomly mix up a batch of images together with its labels.
624
+
625
+ Each image will be multiplied by a random weight :math:`lambda` generated from the Beta distribution and then added
626
+ to another image multiplied by :math:`1 - lambda` . The same transformation will be applied to their labels with the
627
+ same value of :math:`lambda` . Make sure that the labels are one-hot encoded in advance.
628
+
629
+ Args:
630
+ batch_size (int): The number of images in a batch.
631
+ alpha (float): The alpha and beta parameter for the Beta distribution.
632
+ is_single (bool, optional): If ``True``, it will randomly mix up [img0, ..., img(n-1), img(n)] with
633
+ [img1, ..., img(n), img0] in each batch. Otherwise, it will randomly mix up images with the
634
+ output of the previous batch. Default: ``True``.
635
+
636
+ Raises:
637
+ TypeError: If `batch_size` is not of type int.
638
+ TypeError: If `alpha` is not of type float.
639
+ TypeError: If `is_single` is not of type bool.
640
+ ValueError: If `batch_size` is not positive.
641
+ ValueError: If `alpha` is not positive.
642
+
643
+ Supported Platforms:
644
+ ``CPU``
645
+
646
+ Examples:
647
+ >>> # first decode the image
648
+ >>> image_folder_dataset = image_folder_dataset.map(operations=c_vision.Decode(),
649
+ ... input_columns="image")
650
+ >>> # then ont hot decode the label
651
+ >>> image_folder_dataset = image_folder_dataset.map(operations=c_transforms.OneHot(10),
652
+ ... input_columns="label")
653
+ >>> # batch the samples
654
+ >>> batch_size = 4
655
+ >>> image_folder_dataset = image_folder_dataset.batch(batch_size=batch_size)
656
+ >>> # finally mix up the images and labels
657
+ >>> image_folder_dataset = image_folder_dataset.map(
658
+ ... operations=py_vision.MixUp(batch_size=batch_size, alpha=0.2),
659
+ ... input_columns=["image", "label"])
660
+ """
661
+
662
+ @deprecated_py_vision()
663
+ @check_mix_up
664
+ def __init__(self, batch_size, alpha, is_single=True):
665
+ self.image = 0
666
+ self.label = 0
667
+ self.is_first = True
668
+ self.batch_size = batch_size
669
+ self.alpha = alpha
670
+ self.is_single = is_single
671
+ self.random = False
672
+
673
+ def __call__(self, image, label):
674
+ """
675
+ Call method.
676
+
677
+ Args:
678
+ image (numpy.ndarray): Images to be mixed up.
679
+ label (numpy.ndarray): Labels to be mixed up.
680
+
681
+ Returns:
682
+ numpy.ndarray, images after mixing up.
683
+ numpy.ndarray, labels after mixing up.
684
+ """
685
+ if self.is_single:
686
+ return util.mix_up_single(self.batch_size, image, label, self.alpha)
687
+ return util.mix_up_muti(self, self.batch_size, image, label, self.alpha)
688
+
689
+
690
+ class Normalize(py_transforms.PyTensorOperation):
691
+ r"""
692
+ Normalize the input numpy.ndarray image of shape (C, H, W) with the specified mean and standard deviation.
693
+
694
+ .. math::
695
+
696
+ output_{c} = \frac{input_{c} - mean_{c}}{std_{c}}
697
+
698
+ Note:
699
+ The pixel values of the input image need to be in range of [0.0, 1.0].
700
+ If not so, please call :class:`mindspore.dataset.vision.py_transforms.ToTensor` first.
701
+
702
+ Args:
703
+ mean (Union[float, Sequence[float]]): Mean pixel values for each channel,
704
+ must be in range of [0.0, 1.0].
705
+ If float is provided, it will be applied to each channel.
706
+ If Sequence[float] is provided, it should have the same length with channel
707
+ and be arranged in channel order.
708
+ std (Union[float, Sequence[float]]): Standard deviation values for each channel, must be in range of (0.0, 1.0].
709
+ If float is provided, it will be applied to each channel.
710
+ If Sequence[float] is provided, it should have the same length with channel
711
+ and be arranged in channel order.
712
+
713
+ Raises:
714
+ TypeError: If the input image is not of type :class:`numpy.ndarray` .
715
+ TypeError: If dimension of the input image is not 3.
716
+ NotImplementedError: If dtype of the input image is int.
717
+ ValueError: If lengths of `mean` and `std` are not equal.
718
+ ValueError: If length of `mean` or `std` is neither equal to 1 nor equal to the length of channel.
719
+
720
+ Supported Platforms:
721
+ ``CPU``
722
+
723
+ Examples:
724
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
725
+ >>>
726
+ >>> transforms_list = Compose([py_vision.Decode(),
727
+ ... py_vision.RandomHorizontalFlip(0.5),
728
+ ... py_vision.ToTensor(),
729
+ ... py_vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262))])
730
+ >>> # apply the transform to dataset through map function
731
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
732
+ ... input_columns="image")
733
+ """
734
+
735
+ @deprecated_py_vision()
736
+ @check_normalize_py
737
+ def __init__(self, mean, std):
738
+ self.mean = mean
739
+ self.std = std
740
+ self.random = False
741
+
742
+ def __call__(self, img):
743
+ """
744
+ Call method.
745
+
746
+ Args:
747
+ img (numpy.ndarray): numpy.ndarray to be normalized.
748
+
749
+ Returns:
750
+ numpy.ndarray, normalized numpy.ndarray.
751
+ """
752
+ return util.normalize(img, self.mean, self.std)
753
+
754
+
755
+ class NormalizePad(py_transforms.PyTensorOperation):
756
+ r"""
757
+ Normalize the input numpy.ndarray image of shape (C, H, W) with the specified mean and standard deviation,
758
+ then pad an extra channel filled with zeros.
759
+
760
+ .. math::
761
+ output_{c} = \begin{cases}
762
+ \frac{input_{c} - mean_{c}}{std_{c}}, & \text{if} \quad 0 \le c < 3 \text{;}\\
763
+ 0, & \text{if} \quad c = 3 \text{.}
764
+ \end{cases}
765
+
766
+ Note:
767
+ The pixel values of the input image need to be in range of [0.0, 1.0].
768
+ If not so, please call :class:`mindspore.dataset.vision.py_transforms.ToTensor` first.
769
+
770
+ Args:
771
+ mean (Union[float, Sequence[float]]): Mean pixel values for each channel, must be in range of [0.0, 1.0].
772
+ If float is provided, it will be applied to each channel.
773
+ If Sequence[float] is provided, it should have the same length with channel
774
+ and be arranged in channel order.
775
+ std (Union[float, Sequence[float]]): Standard deviation values for each channel, must be in range of (0.0, 1.0].
776
+ If float is provided, it will be applied to each channel.
777
+ If Sequence[float] is provided, it should have the same length with channel
778
+ and be arranged in channel order.
779
+ dtype (str): The dtype of the output image. Only ``"float32"`` and ``"float16"`` are supported.
780
+ Default: ``"float32"``.
781
+
782
+ Raises:
783
+ TypeError: If the input image is not of type :class:`numpy.ndarray` .
784
+ TypeError: If dimension of the input image is not 3.
785
+ NotImplementedError: If dtype of the input image is int.
786
+ ValueError: If lengths of `mean` and `std` are not equal.
787
+ ValueError: If length of `mean` or `std` is neither equal to 1 nor equal to the length of channel.
788
+
789
+ Supported Platforms:
790
+ ``CPU``
791
+
792
+ Examples:
793
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
794
+ >>>
795
+ >>> transforms_list = Compose([py_vision.Decode(),
796
+ ... py_vision.RandomHorizontalFlip(0.5),
797
+ ... py_vision.ToTensor(),
798
+ ... py_vision.NormalizePad((0.491, 0.482, 0.447), (0.247, 0.243, 0.262), "float32")])
799
+ >>> # apply the transform to dataset through map function
800
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
801
+ ... input_columns="image")
802
+ """
803
+
804
+ @deprecated_py_vision()
805
+ @check_normalizepad_py
806
+ def __init__(self, mean, std, dtype="float32"):
807
+ self.mean = mean
808
+ self.std = std
809
+ self.dtype = dtype
810
+ self.random = False
811
+
812
+ def __call__(self, img):
813
+ """
814
+ Call method.
815
+
816
+ Args:
817
+ img (numpy.ndarray): numpy.ndarray to be normalized and padded.
818
+
819
+ Returns:
820
+ numpy.ndarray, normalized and padded numpy.ndarray.
821
+ """
822
+ return util.normalize(img, self.mean, self.std, pad_channel=True, dtype=self.dtype)
823
+
824
+
825
+ class Pad(py_transforms.PyTensorOperation):
826
+ """
827
+ Pad the input PIL Image on all sides.
828
+
829
+ Args:
830
+ padding (Union[int, Sequence[int, int], Sequence[int, int, int, int]]): The number of pixels to pad
831
+ on each border.
832
+ If int is provided, pad all borders with this value.
833
+ If Sequence[int, int] is provided, pad the left and top borders with the
834
+ first value and the right and bottom borders with the second value.
835
+ If Sequence[int, int, int, int] is provided, pad the left, top, right and bottom borders respectively.
836
+ fill_value (Union[int, tuple[int, int, int]], optional): Pixel value used to pad the borders,
837
+ only valid when `padding_mode` is ``Border.CONSTANT``.
838
+ If int is provided, it will be used for all RGB channels.
839
+ If tuple[int, int, int] is provided, it will be used for R, G, B channels respectively. Default: ``0``.
840
+ padding_mode (Border, optional): Method of padding. It can be ``Border.CONSTANT``, ``Border.EDGE``,
841
+ ``Border.REFLECT`` or ``Border.SYMMETRIC``. Default: ``Border.CONSTANT``.
842
+
843
+ - ``Border.CONSTANT`` , pads with a constant value.
844
+ - ``Border.EDGE`` , pads with the last value at the edge of the image.
845
+ - ``Border.REFLECT`` , pads with reflection of the image omitting the last value on the edge.
846
+ - ``Border.SYMMETRIC`` , pads with reflection of the image repeating the last value on the edge.
847
+
848
+ Note:
849
+ The behavior when `padding` is a sequence of length 2 will change from padding left/top with
850
+ the first value and right/bottom with the second, to padding left/right with the first one
851
+ and top/bottom with the second in the future. Or you can pass in a 4-element sequence to specify
852
+ left, top, right and bottom respectively.
853
+
854
+ Raises:
855
+ TypeError: If `padding` is not of type int or Sequence[int, int].
856
+ TypeError: If `fill_value` is not of type int or tuple[int, int, int].
857
+ TypeError: If `padding_mode` is not of type :class:`mindspore.dataset.vision.Border` .
858
+ ValueError: If `padding` is negative.
859
+ ValueError: If `fill_value` is not in range of [0, 255].
860
+ RuntimeError: If shape of the input image is not <H, W> or <H, W, C>.
861
+
862
+ Supported Platforms:
863
+ ``CPU``
864
+
865
+ Examples:
866
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
867
+ >>>
868
+ >>> transforms_list = Compose([py_vision.Decode(),
869
+ ... # adds 10 pixels (default black) to each border of the image
870
+ ... py_vision.Pad(padding=10),
871
+ ... py_vision.ToTensor()])
872
+ >>> # apply the transform to dataset through map function
873
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
874
+ ... input_columns="image")
875
+ """
876
+
877
+ @deprecated_py_vision()
878
+ @check_pad
879
+ def __init__(self, padding, fill_value=0, padding_mode=Border.CONSTANT):
880
+ self.padding = parse_padding(padding)
881
+ self.fill_value = fill_value
882
+ self.padding_mode = DE_PY_BORDER_TYPE.get(padding_mode)
883
+ self.random = False
884
+
885
+ def __call__(self, img):
886
+ """
887
+ Call method.
888
+
889
+ Args:
890
+ img (PIL.Image.Image): Image to be padded.
891
+
892
+ Returns:
893
+ PIL.Image.Image, padded image.
894
+ """
895
+ return util.pad(img, self.padding, self.fill_value, self.padding_mode)
896
+
897
+
898
+ class RandomAffine(py_transforms.PyTensorOperation):
899
+ """
900
+ Apply random affine transformation to the input PIL Image.
901
+
902
+ Args:
903
+ degrees (Union[float, Sequence[float, float]]): Range of degrees to select from.
904
+ If float is provided, the degree will be randomly selected from ( `-degrees` , `degrees` ).
905
+ If Sequence[float, float] is provided, it needs to be arranged in order of (min, max).
906
+ translate (Sequence[float, float], optional): Maximum absolute fraction sequence in shape of (tx, ty)
907
+ for horizontal and vertical translations. The horizontal and vertical shifts are randomly
908
+ selected from (-tx * width, tx * width) and (-ty * height, ty * height) respectively.
909
+ Default: ``None``, means no translation.
910
+ scale (Sequence[float, float], optional): Range of scaling factor to select from.
911
+ Default: ``None``, means to keep the original scale.
912
+ shear (Union[float, Sequence[float, float], Sequence[float, float, float, float]], optional):
913
+ Range of shear factor to select from.
914
+ If float is provided, a shearing parallel to X axis with a factor selected from
915
+ ( `-shear` , `shear` ) will be applied.
916
+ If Sequence[float, float] is provided, a shearing parallel to X axis with a factor selected
917
+ from ( `shear` [0], `shear` [1]) will be applied.
918
+ If Sequence[float, float, float, float] is provided, a shearing parallel to X axis with a factor selected
919
+ from ( `shear` [0], `shear` [1]) and a shearing parallel to Y axis with a factor selected from
920
+ ( `shear` [2], `shear` [3]) will be applied. Default: ``None``, means no shearing.
921
+ resample (Inter, optional): Method of interpolation. It can be ``Inter.BILINEAR``, ``Inter.NEAREST``
922
+ or ``Inter.BICUBIC``. If the input PIL Image is in mode of "1" or "P", ``Inter.NEAREST`` will be
923
+ used directly. Default: ``Inter.NEAREST``.
924
+
925
+ - ``Inter.BILINEA`` , bilinear interpolation.
926
+ - ``Inter.NEAREST`` , nearest-neighbor interpolation.
927
+ - ``Inter.BICUBIC`` , bicubic interpolation.
928
+
929
+ fill_value (Union[int, tuple[int, int, int]], optional): Pixel value for areas outside the transform image.
930
+ If int is provided, it will be used for all RGB channels.
931
+ If tuple[int, int, int] is provided, it will be used for R, G, B channels respectively.
932
+ Only supported with Pillow 5.0.0 and above. Default: ``0``.
933
+
934
+ Raises:
935
+ TypeError: If `degrees` is not of type float or Sequence[float, float].
936
+ TypeError: If `translate` is not of type Sequence[float, float].
937
+ TypeError: If `scale` is not of type Sequence[float, float].
938
+ TypeError: If `shear` is not of type float or Sequence[float, float].
939
+ TypeError: If `resample` is not of type :class:`mindspore.dataset.vision.Inter` .
940
+ TypeError: If `fill_value` is not of type int or tuple[int, int, int].
941
+ ValueError: If `degrees` is negative.
942
+ ValueError: If `translate` is not in range of [-1.0, 1.0].
943
+ ValueError: If `scale` is negative.
944
+ ValueError: If `shear` is not positive.
945
+ RuntimeError: If shape of the input image is not <H, W> or <H, W, C>.
946
+
947
+ Supported Platforms:
948
+ ``CPU``
949
+
950
+ Examples:
951
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
952
+ >>>
953
+ >>> transforms_list = Compose([py_vision.Decode(),
954
+ ... py_vision.RandomAffine(degrees=15, translate=(0.1, 0.1), scale=(0.9, 1.1)),
955
+ ... py_vision.ToTensor()])
956
+ >>> # apply the transform to dataset through map function
957
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
958
+ ... input_columns="image")
959
+ """
960
+
961
+ @deprecated_py_vision()
962
+ @check_random_affine
963
+ def __init__(self, degrees, translate=None, scale=None, shear=None, resample=Inter.NEAREST, fill_value=0):
964
+ if shear is not None:
965
+ if isinstance(shear, numbers.Number):
966
+ shear = (-1 * shear, shear)
967
+ else:
968
+ if len(shear) == 2:
969
+ shear = [shear[0], shear[1], 0., 0.]
970
+ elif len(shear) == 4:
971
+ shear = [s for s in shear]
972
+
973
+ if isinstance(degrees, numbers.Number):
974
+ degrees = (-degrees, degrees)
975
+
976
+ self.degrees = degrees
977
+ self.translate = translate
978
+ self.scale_ranges = scale
979
+ self.shear = shear
980
+ self.resample = DE_PY_INTER_MODE.get(resample)
981
+ self.fill_value = fill_value
982
+
983
+ def __call__(self, img):
984
+ """
985
+ Call method.
986
+
987
+ Args:
988
+ img (PIL.Image.Image): Image to be randomly affine transformed.
989
+
990
+ Returns:
991
+ PIL.Image.Image, randomly affine transformed image.
992
+ """
993
+
994
+ return util.random_affine(img,
995
+ self.degrees,
996
+ self.translate,
997
+ self.scale_ranges,
998
+ self.shear,
999
+ self.resample,
1000
+ self.fill_value)
1001
+
1002
+
1003
+ class RandomColor(py_transforms.PyTensorOperation):
1004
+ """
1005
+ Adjust the color balance of the input PIL Image by a random degree.
1006
+
1007
+ Args:
1008
+ degrees (Sequence[float, float]): Range of color adjustment degree to select from,
1009
+ must be a Sequence of length 2, arranged in order of (min, max).
1010
+ A degree of 1.0 gives the original image, a degree of ``0.0`` gives a black and white image
1011
+ and higher degrees mean more brightness, contrast, etc. Default: ``(0.1, 1.9)``.
1012
+
1013
+ Raises:
1014
+ TypeError: If `degrees` is not of type Sequence[float, float].
1015
+ ValueError: If `degrees` is negative.
1016
+ RuntimeError: If shape of the input image is not <H, W, C>.
1017
+
1018
+ Supported Platforms:
1019
+ ``CPU``
1020
+
1021
+ Examples:
1022
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1023
+ >>>
1024
+ >>> transforms_list = Compose([py_vision.Decode(),
1025
+ ... py_vision.RandomColor((0.5, 2.0)),
1026
+ ... py_vision.ToTensor()])
1027
+ >>> # apply the transform to dataset through map function
1028
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1029
+ ... input_columns="image")
1030
+ """
1031
+
1032
+ @deprecated_py_vision()
1033
+ @check_positive_degrees
1034
+ def __init__(self, degrees=(0.1, 1.9)):
1035
+ self.degrees = degrees
1036
+
1037
+ def __call__(self, img):
1038
+ """
1039
+ Call method.
1040
+
1041
+ Args:
1042
+ img (PIL.Image.Image): Image to be color adjusted.
1043
+
1044
+ Returns:
1045
+ PIL.Image.Image, color adjusted image.
1046
+ """
1047
+
1048
+ return util.random_color(img, self.degrees)
1049
+
1050
+
1051
+ class RandomColorAdjust(py_transforms.PyTensorOperation):
1052
+ """
1053
+ Randomly adjust the brightness, contrast, saturation, and hue of the input PIL Image.
1054
+
1055
+ Args:
1056
+ brightness (Union[float, Sequence[float, float]], optional): Range of brightness adjustment factor
1057
+ to select from, must be non negative.
1058
+ If float is provided, the factor will be uniformly selected from
1059
+ [max(0, 1 - `brightness` ), 1 + `brightness` ).
1060
+ If Sequence[float, float] is provided, it should be arranged in order of (min, max). Default: ``(1, 1)``.
1061
+ contrast (Union[float, Sequence[float, float]], optional): Range of contrast adjustment factor
1062
+ to select from, must be non negative.
1063
+ If float is provided, the factor will be uniformly selected from [max(0, 1 - `contrast` ), 1 + `contrast` ).
1064
+ If Sequence[float, float] is provided, it should be arranged in order of (min, max). Default: ``(1, 1)``.
1065
+ saturation (Union[float, Sequence[float, float]], optional): Range of saturation adjustment factor
1066
+ to select from, must be non negative.
1067
+ If float is provided, the factor will be uniformly selected from
1068
+ [max(0, 1 - `saturation` ), 1 + `saturation` ).
1069
+ If Sequence[float, float] is provided, it should be arranged in order of (min, max). Default: ``(1, 1)``.
1070
+ hue (Union[float, Sequence[float, float]], optional): Range of hue adjustment factor to select from.
1071
+ If float is provided, it must be in range of [0, 0.5], and the factor will be uniformly
1072
+ selected from [ `-hue` , `hue` ).
1073
+ If Sequence[float, float] is provided, the elements must be in range of [-0.5, 0.5] and arranged in
1074
+ order of (min, max). Default: ``(0, 0)``.
1075
+
1076
+ Raises:
1077
+ TypeError: If `brightness` is not of type float or Sequence[float, float].
1078
+ TypeError: If `contrast` is not of type float or Sequence[float, float].
1079
+ TypeError: If `saturation` is not of type float or Sequence[float, float].
1080
+ TypeError: If `hue` is not of type float or Sequence[float, float].
1081
+ ValueError: If `brightness` is negative.
1082
+ ValueError: If `contrast` is negative.
1083
+ ValueError: If `saturation` is negative.
1084
+ ValueError: If `hue` is not in range of [-0.5, 0.5].
1085
+
1086
+ Supported Platforms:
1087
+ ``CPU``
1088
+
1089
+ Examples:
1090
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1091
+ >>>
1092
+ >>> transforms_list = Compose([py_vision.Decode(),
1093
+ ... py_vision.RandomColorAdjust(0.4, 0.4, 0.4, 0.1),
1094
+ ... py_vision.ToTensor()])
1095
+ >>> # apply the transform to dataset through map function
1096
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1097
+ ... input_columns="image")
1098
+ """
1099
+
1100
+ @deprecated_py_vision()
1101
+ @check_random_color_adjust
1102
+ def __init__(self, brightness=(1, 1), contrast=(1, 1), saturation=(1, 1), hue=(0, 0)):
1103
+ self.brightness = brightness
1104
+ self.contrast = contrast
1105
+ self.saturation = saturation
1106
+ self.hue = hue
1107
+
1108
+ def __call__(self, img):
1109
+ """
1110
+ Call method.
1111
+
1112
+ Args:
1113
+ img (PIL.Image.Image): Image to be randomly color adjusted.
1114
+
1115
+ Returns:
1116
+ PIL.Image.Image, randomly color adjusted image.
1117
+ """
1118
+ return util.random_color_adjust(img, self.brightness, self.contrast, self.saturation, self.hue)
1119
+
1120
+
1121
+ class RandomCrop(py_transforms.PyTensorOperation):
1122
+ """
1123
+ Crop the input PIL Image at a random location with the specified size.
1124
+
1125
+ Args:
1126
+ size (Union[int, Sequence[int, int]]): The size of the cropped image.
1127
+ If int is provided, a square of size `(size, size)` will be cropped with this value.
1128
+ If Sequence[int, int] is provided, its two elements will be taken as the cropped height and width.
1129
+ padding (Union[int, Sequence[int, int], Sequence[int, int, int, int]], optional): The number of pixels to pad
1130
+ on each border. When specified, it will pad the image before random cropping.
1131
+ If int is provided, pad all borders with this value.
1132
+ If Sequence[int, int] is provided, pad the left and top borders with the
1133
+ first value and the right and bottom borders with the second value.
1134
+ If Sequence[int, int, int, int] is provided, pad the left, top, right and bottom borders respectively.
1135
+ Default: ``None``, means not to pad.
1136
+ pad_if_needed (bool, optional): Whether to pad the image if either side is shorter than
1137
+ the given cropping size. Default: ``False``, means not to pad.
1138
+ fill_value (Union[int, tuple[int, int, int]], optional): Pixel value used to pad the borders,
1139
+ only valid when `padding_mode` is ``Border.CONSTANT``.
1140
+ If int is provided, it will be used for all RGB channels.
1141
+ If tuple[int, int, int] is provided, it will be used for R, G, B channels respectively. Default: ``0``.
1142
+ padding_mode (Border, optional): Method of padding. It can be ``Border.CONSTANT``, ``Border.EDGE``,
1143
+ ``Border.REFLECT`` or ``Border.SYMMETRIC``. Default: ``Border.CONSTANT``.
1144
+
1145
+ - ``Border.CONSTANT`` , pads with a constant value.
1146
+ - ``Border.EDGE`` , pads with the last value at the edge of the image.
1147
+ - ``Border.REFLECT`` , pads with reflection of the image omitting the last value on the edge.
1148
+ - ``Border.SYMMETRIC`` , pads with reflection of the image repeating the last value on the edge.
1149
+
1150
+ Note:
1151
+ The behavior when `padding` is a sequence of length 2 will change from padding left/top with
1152
+ the first value and right/bottom with the second, to padding left/right with the first one
1153
+ and top/bottom with the second in the future. Or you can pass in a 4-element sequence to specify
1154
+ left, top, right and bottom respectively.
1155
+
1156
+ Raises:
1157
+ TypeError: If `size` is not of type int or Sequence[int, int].
1158
+ TypeError: If `padding` is not of type int, Sequence[int, int] or Sequence[int, int, int, int].
1159
+ TypeError: If `pad_if_needed` is not of type bool.
1160
+ TypeError: If `fill_value` is not of type int or tuple[int, int, int].
1161
+ TypeError: If `padding_mode` is not of type :class:`mindspore.dataset.vision.Border` .
1162
+ ValueError: If `size` is not positive.
1163
+ ValueError: If `padding` is negative.
1164
+ ValueError: If `fill_value` is not in range of [0, 255].
1165
+
1166
+ Supported Platforms:
1167
+ ``CPU``
1168
+
1169
+ Examples:
1170
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1171
+ >>>
1172
+ >>> transforms_list = Compose([py_vision.Decode(),
1173
+ ... py_vision.RandomCrop(224),
1174
+ ... py_vision.ToTensor()])
1175
+ >>> # apply the transform to dataset through map function
1176
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1177
+ ... input_columns="image")
1178
+ """
1179
+
1180
+ @deprecated_py_vision()
1181
+ @check_random_crop
1182
+ def __init__(self, size, padding=None, pad_if_needed=False, fill_value=0, padding_mode=Border.CONSTANT):
1183
+ if padding is None:
1184
+ padding = (0, 0, 0, 0)
1185
+ else:
1186
+ padding = parse_padding(padding)
1187
+ self.size = size
1188
+ self.padding = padding
1189
+ self.pad_if_needed = pad_if_needed
1190
+ self.fill_value = fill_value
1191
+ self.padding_mode = DE_PY_BORDER_TYPE.get(padding_mode)
1192
+
1193
+ def __call__(self, img):
1194
+ """
1195
+ Call method.
1196
+
1197
+ Args:
1198
+ img (PIL.Image.Image): Image to be randomly cropped.
1199
+
1200
+ Returns:
1201
+ PIL.Image.Image, cropped image.
1202
+ """
1203
+ return util.random_crop(img, self.size, self.padding, self.pad_if_needed,
1204
+ self.fill_value, self.padding_mode)
1205
+
1206
+
1207
+ class RandomErasing(py_transforms.PyTensorOperation):
1208
+ """
1209
+ Randomly erase pixels within a random selected rectangle erea on the input numpy.ndarray image.
1210
+
1211
+ See `Random Erasing Data Augmentation <https://arxiv.org/pdf/1708.04896.pdf>`_ .
1212
+
1213
+ Args:
1214
+ prob (float, optional): Probability of performing erasing. Default: ``0.5``.
1215
+ scale (Sequence[float, float], optional): Range of area scale of the erased area relative
1216
+ to the original image to select from, arranged in order of (min, max).
1217
+ Default: ``(0.02, 0.33)``.
1218
+ ratio (Sequence[float, float], optional): Range of aspect ratio of the erased area to select
1219
+ from, arraged in order of (min, max). Default: ``(0.3, 3.3)``.
1220
+ value (Union[int, str, Sequence[int, int, int]]): Pixel value used to pad the erased area.
1221
+ If int is provided, it will be used for all RGB channels.
1222
+ If Sequence[int, int, int] is provided, it will be used for R, G, B channels respectively.
1223
+ If a string of ``'random'`` is provided, each pixel will be erased with a random value obtained
1224
+ from a standard normal distribution. Default: ``0``.
1225
+ inplace (bool, optional): Whether to apply erasing inplace. Default: ``False``.
1226
+ max_attempts (int, optional): The maximum number of attempts to propose a valid
1227
+ erased area, beyond which the original image will be returned. Default: ``10``.
1228
+
1229
+ Raises:
1230
+ TypeError: If `prob` is not of type float.
1231
+ TypeError: If `scale` is not of type Sequence[float, float].
1232
+ TypeError: If `ratio` is not of type Sequence[float, float].
1233
+ TypeError: If `value` is not of type int, str, or Sequence[int, int, int].
1234
+ TypeError: If `inplace` is not of type bool.
1235
+ TypeError: If `max_attempts` is not of type int.
1236
+ ValueError: If `prob` is not in range of [0, 1].
1237
+ ValueError: If `scale` is negative.
1238
+ ValueError: If `ratio` is negative.
1239
+ ValueError: If `value` is not in range of [0, 255].
1240
+ ValueError: If `max_attempts` is not positive.
1241
+
1242
+ Supported Platforms:
1243
+ ``CPU``
1244
+
1245
+ Examples:
1246
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1247
+ >>>
1248
+ >>> transforms_list = Compose([py_vision.Decode(),
1249
+ ... py_vision.ToTensor(),
1250
+ ... py_vision.RandomErasing(value='random')])
1251
+ >>> # apply the transform to dataset through map function
1252
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1253
+ ... input_columns="image")
1254
+ """
1255
+
1256
+ @deprecated_py_vision()
1257
+ @check_random_erasing
1258
+ def __init__(self, prob=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=False, max_attempts=10):
1259
+ self.prob = prob
1260
+ self.scale = scale
1261
+ self.ratio = ratio
1262
+ self.value = value
1263
+ self.inplace = inplace
1264
+ self.max_attempts = max_attempts
1265
+
1266
+ def __call__(self, np_img):
1267
+ """
1268
+ Call method.
1269
+
1270
+ Args:
1271
+ np_img (numpy.ndarray): image in shape of (C, H, W) to be randomly erased.
1272
+
1273
+ Returns:
1274
+ numpy.ndarray, erased image.
1275
+ """
1276
+ bounded = True
1277
+ if self.prob > random.random():
1278
+ i, j, erase_h, erase_w, erase_value = util.get_erase_params(np_img, self.scale, self.ratio,
1279
+ self.value, bounded, self.max_attempts)
1280
+ return util.erase(np_img, i, j, erase_h, erase_w, erase_value, self.inplace)
1281
+ return np_img
1282
+
1283
+
1284
+ class RandomGrayscale(py_transforms.PyTensorOperation):
1285
+ """
1286
+ Randomly convert the input PIL Image to grayscale.
1287
+
1288
+ Args:
1289
+ prob (float, optional): Probability of performing grayscale conversion. Default: ``0.1``.
1290
+
1291
+ Raises:
1292
+ TypeError: If `prob` is not of type float.
1293
+ ValueError: If `prob` is not in range of [0, 1].
1294
+
1295
+ Supported Platforms:
1296
+ ``CPU``
1297
+
1298
+ Examples:
1299
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1300
+ >>>
1301
+ >>> transforms_list = Compose([py_vision.Decode(),
1302
+ ... py_vision.RandomGrayscale(0.3),
1303
+ ... py_vision.ToTensor()])
1304
+ >>> # apply the transform to dataset through map function
1305
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1306
+ ... input_columns="image")
1307
+ """
1308
+
1309
+ @deprecated_py_vision()
1310
+ @check_prob
1311
+ def __init__(self, prob=0.1):
1312
+ self.prob = prob
1313
+
1314
+ def __call__(self, img):
1315
+ """
1316
+ Call method.
1317
+
1318
+ Args:
1319
+ img (PIL.Image.Image): Image to be randomly converted to grayscale.
1320
+
1321
+ Returns:
1322
+ PIL.Image.Image, randomly converted grayscale image, which has the same number of channels
1323
+ as the input image.
1324
+ If input image has 1 channel, the output grayscale image will have 1 channel.
1325
+ If input image has 3 channels, the output grayscale image will have 3 identical channels.
1326
+ """
1327
+ if img.mode == 'L':
1328
+ num_output_channels = 1
1329
+ else:
1330
+ num_output_channels = 3
1331
+
1332
+ if self.prob > random.random():
1333
+ return util.grayscale(img, num_output_channels=num_output_channels)
1334
+ return img
1335
+
1336
+
1337
+ class RandomHorizontalFlip(py_transforms.PyTensorOperation):
1338
+ """
1339
+ Randomly flip the input PIL Image horizontally with a given probability.
1340
+
1341
+ Args:
1342
+ prob (float, optional): Probability of performing horizontally flip. Default: ``0.5``.
1343
+
1344
+ Raises:
1345
+ TypeError: If `prob` is not of type float.
1346
+ ValueError: If `prob` is not in range of [0, 1].
1347
+ RuntimeError: If shape of the input image is not <H, W> or <H, W, C>.
1348
+
1349
+ Supported Platforms:
1350
+ ``CPU``
1351
+
1352
+ Examples:
1353
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1354
+ >>>
1355
+ >>> transforms_list = Compose([py_vision.Decode(),
1356
+ ... py_vision.RandomHorizontalFlip(0.5),
1357
+ ... py_vision.ToTensor()])
1358
+ >>> # apply the transform to dataset through map function
1359
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1360
+ ... input_columns="image")
1361
+ """
1362
+
1363
+ @deprecated_py_vision()
1364
+ @check_prob
1365
+ def __init__(self, prob=0.5):
1366
+ self.prob = prob
1367
+
1368
+ def __call__(self, img):
1369
+ """
1370
+ Call method.
1371
+
1372
+ Args:
1373
+ img (PIL.Image.Image): Image to be horizontally flipped.
1374
+
1375
+ Returns:
1376
+ PIL.Image.Image, randomly horizontally flipped image.
1377
+ """
1378
+ return util.random_horizontal_flip(img, self.prob)
1379
+
1380
+
1381
+ class RandomLighting(py_transforms.PyTensorOperation):
1382
+ """
1383
+ Add AlexNet-style PCA-based noise to the input PIL Image.
1384
+
1385
+ Args:
1386
+ alpha (float, optional): Intensity of the noise. Default: ``0.05``.
1387
+
1388
+ Raises:
1389
+ TypeError: If `alpha` is not of type float.
1390
+ ValueError: If `alpha` is negative.
1391
+ RuntimeError: If shape of input image is not <H, W, C>.
1392
+
1393
+ Supported Platforms:
1394
+ ``CPU``
1395
+
1396
+ Examples:
1397
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1398
+ >>>
1399
+ >>> transforms_list = Compose([py_vision.Decode(),
1400
+ ... py_vision.RandomLighting(0.1),
1401
+ ... py_vision.ToTensor()])
1402
+ >>> # apply the transform to dataset through map function
1403
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1404
+ ... input_columns="image")
1405
+ """
1406
+
1407
+ @deprecated_py_vision()
1408
+ @check_alpha
1409
+ def __init__(self, alpha=0.05):
1410
+ self.alpha = alpha
1411
+
1412
+ def __call__(self, img):
1413
+ """
1414
+ Call method.
1415
+
1416
+ Args:
1417
+ img (PIL.Image.Image): Image to be added AlexNet-style PCA-based noise.
1418
+
1419
+ Returns:
1420
+ PIL.Image.Image, image with noise added.
1421
+ """
1422
+
1423
+ return util.random_lighting(img, self.alpha)
1424
+
1425
+
1426
+ class RandomPerspective(py_transforms.PyTensorOperation):
1427
+ """
1428
+ Randomly apply perspective transformation to the input PIL Image with a given probability.
1429
+
1430
+ Args:
1431
+ distortion_scale (float, optional): Scale of distortion, in range of [0, 1]. Default: ``0.5``.
1432
+ prob (float, optional): Probability of performing perspective transformation. Default: ``0.5``.
1433
+ interpolation (Inter, optional): Method of interpolation. It can be ``Inter.BILINEAR``,
1434
+ ``Inter.NEAREST`` or ``Inter.BICUBIC``. Default: ``Inter.BICUBIC``.
1435
+
1436
+ - ``Inter.BILINEA`` , bilinear interpolation.
1437
+ - ``Inter.NEAREST`` , nearest-neighbor interpolation.
1438
+ - ``Inter.BICUBIC`` , bicubic interpolation.
1439
+
1440
+ Raises:
1441
+ TypeError: If `distortion_scale` is not of type float.
1442
+ TypeError: If `prob` is not of type float.
1443
+ TypeError: If `interpolation` is not of type :class:`mindspore.dataset.vision.Inter` .
1444
+ ValueError: If `distortion_scale` is not in range of [0, 1].
1445
+ ValueError: If `prob` is not in range of [0, 1].
1446
+
1447
+ Supported Platforms:
1448
+ ``CPU``
1449
+
1450
+ Examples:
1451
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1452
+ >>>
1453
+ >>> transforms_list = Compose([py_vision.Decode(),
1454
+ ... py_vision.RandomPerspective(prob=0.1),
1455
+ ... py_vision.ToTensor()])
1456
+ >>> # apply the transform to dataset through map function
1457
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1458
+ ... input_columns="image")
1459
+ """
1460
+
1461
+ @deprecated_py_vision()
1462
+ @check_random_perspective
1463
+ def __init__(self, distortion_scale=0.5, prob=0.5, interpolation=Inter.BICUBIC):
1464
+ self.distortion_scale = distortion_scale
1465
+ self.prob = prob
1466
+ self.interpolation = DE_PY_INTER_MODE.get(interpolation)
1467
+
1468
+ def __call__(self, img):
1469
+ """
1470
+ Call method.
1471
+
1472
+ Args:
1473
+ img (PIL.Image.Image): Image to be applied randomly perspective transformation.
1474
+
1475
+ Returns:
1476
+ PIL.Image.Image, image applied randomly perspective transformation.
1477
+ """
1478
+ if not is_pil(img):
1479
+ raise ValueError("Input image should be a Pillow image.")
1480
+ if self.prob > random.random():
1481
+ start_points, end_points = util.get_perspective_params(
1482
+ img, self.distortion_scale)
1483
+ return util.perspective(img, start_points, end_points, self.interpolation)
1484
+ return img
1485
+
1486
+
1487
+ class RandomResizedCrop(py_transforms.PyTensorOperation):
1488
+ """
1489
+ Randomly crop the input PIL Image and resize it to a given size.
1490
+
1491
+ Args:
1492
+ size (Union[int, Sequence[int, int]]): The size of the cropped image.
1493
+ If int is provided, a square of size `(size, size)` will be cropped with this value.
1494
+ If Sequence[int, int] is provided, its two elements will be taken as the cropped height and width.
1495
+ scale (Sequence[float, float], optional): Range of area scale of the cropped area relative
1496
+ to the original image to select from, arraged in order or (min, max). Default: ``(0.08, 1.0)``.
1497
+ ratio (Sequence[float, float], optional): Range of aspect ratio of the cropped area to select
1498
+ from, arraged in order of (min, max). Default: ``(3./4., 4./3.)``.
1499
+ interpolation (Inter, optional): Method of interpolation. It can be ``Inter.NEAREST``,
1500
+ ``Inter.ANTIALIAS``, ``Inter.BILINEAR`` or ``Inter.BICUBIC``. Default: ``Inter.BILINEAR``.
1501
+
1502
+ - ``Inter.NEAREST`` , nearest-neighbor interpolation.
1503
+ - ``Inter.ANTIALIAS`` , antialias interpolation.
1504
+ - ``Inter.BILINEA`` , bilinear interpolation.
1505
+ - ``Inter.BICUBIC`` , bicubic interpolation.
1506
+
1507
+ max_attempts (int, optional): The maximum number of attempts to propose a valid
1508
+ crop area, beyond which it will fall back to use center crop instead. Default: ``10``.
1509
+
1510
+ Raises:
1511
+ TypeError: If `size` is not of type int or Sequence[int, int].
1512
+ TypeError: If `scale` is not of type Sequence[float, float].
1513
+ TypeError: If `ratio` is not of type Sequence[float, float].
1514
+ TypeError: If `interpolation` is not of type :class:`mindspore.dataset.vision.Inter` .
1515
+ TypeError: If `max_attempts` is not of type int.
1516
+ ValueError: If `size` is not positive.
1517
+ ValueError: If `scale` is negative.
1518
+ ValueError: If `ratio` is negative.
1519
+ ValueError: If `max_attempts` is not positive.
1520
+
1521
+ Supported Platforms:
1522
+ ``CPU``
1523
+
1524
+ Examples:
1525
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1526
+ >>>
1527
+ >>> transforms_list = Compose([py_vision.Decode(),
1528
+ ... py_vision.RandomResizedCrop(224),
1529
+ ... py_vision.ToTensor()])
1530
+ >>> # apply the transform to dataset through map function
1531
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1532
+ ... input_columns="image")
1533
+ """
1534
+
1535
+ @deprecated_py_vision()
1536
+ @check_random_resize_crop
1537
+ def __init__(self, size, scale=(0.08, 1.0), ratio=(3. / 4., 4. / 3.),
1538
+ interpolation=Inter.BILINEAR, max_attempts=10):
1539
+ self.size = size
1540
+ self.scale = scale
1541
+ self.ratio = ratio
1542
+ self.interpolation = DE_PY_INTER_MODE.get(interpolation)
1543
+ self.max_attempts = max_attempts
1544
+
1545
+ def __call__(self, img):
1546
+ """
1547
+ Call method.
1548
+
1549
+ Args:
1550
+ img (PIL.Image.Image): Image to be randomly cropped and resized.
1551
+
1552
+ Returns:
1553
+ PIL.Image.Image, randomly cropped and resized image.
1554
+ """
1555
+ return util.random_resize_crop(img, self.size, self.scale, self.ratio,
1556
+ self.interpolation, self.max_attempts)
1557
+
1558
+
1559
+ class RandomRotation(py_transforms.PyTensorOperation):
1560
+ """
1561
+ Rotate the input PIL Image by a random angle.
1562
+
1563
+ Args:
1564
+ degrees (Union[float, Sequence[float, float]]): Range of rotation degree to select from.
1565
+ If int is provided, the rotation degree will be randomly selected from ( `-degrees` , `degrees` ).
1566
+ If Sequence[float, float] is provided, it should be arranged in order of (min, max).
1567
+ resample (Inter, optional): Method of interpolation. It can be ``Inter.NEAREST``,
1568
+ ``Inter.BILINEAR`` or ``Inter.BICUBIC``. If the input PIL Image is in mode of "1" or "P",
1569
+ ``Inter.NEAREST`` will be used directly. Default: ``Inter.NEAREST``.
1570
+
1571
+ - ``Inter.NEAREST`` , nearest-neighbor interpolation.
1572
+
1573
+ - ``Inter.BILINEA`` , bilinear interpolation.
1574
+
1575
+ - ``Inter.BICUBIC`` , bicubic interpolation.
1576
+
1577
+ expand (bool, optional): If ``True``, it will expand the image to make it large enough to hold the entire
1578
+ rotated image. If ``False``, keep the image the same size as the input. Please note that the expansion
1579
+ assumes rotation around the center and no translation. Default: ``False``.
1580
+ center (Sequence[int, int], optional): The position of the rotation center, taking the upper left corner
1581
+ as the origin. It should be arranged in order of (width, height). Default: ``None``, means to set the
1582
+ center of the image.
1583
+ fill_value (Union[int, tuple[int, int, int]], optional): Pixel value for areas outside the rotated image.
1584
+ If int is provided, it will be used for all RGB channels.
1585
+ If tuple[int, int, int] is provided, it will be used for R, G, B channels respectively. Default: ``0``.
1586
+
1587
+ Raises:
1588
+ TypeError: If `degrees` is not of type float or Sequence[float, float].
1589
+ TypeError: If `resample` is not of type :class:`mindspore.dataset.vision.Inter` .
1590
+ TypeError: If `expand` is not of type bool.
1591
+ TypeError: If `center` is not of type Sequence[int, int].
1592
+ TypeError: If `fill_value` is not of type int or tuple[int, int, int].
1593
+ ValueError: If `fill_value` is not in range of [0, 255].
1594
+ RuntimeError: If shape of the input image is not <H, W> or <H, W, C>.
1595
+
1596
+ Supported Platforms:
1597
+ ``CPU``
1598
+
1599
+ Examples:
1600
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1601
+ >>>
1602
+ >>> transforms_list = Compose([py_vision.Decode(),
1603
+ ... py_vision.RandomRotation(30),
1604
+ ... py_vision.ToTensor()])
1605
+ >>> # apply the transform to dataset through map function
1606
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1607
+ ... input_columns="image")
1608
+ """
1609
+
1610
+ @deprecated_py_vision()
1611
+ @check_random_rotation
1612
+ def __init__(self, degrees, resample=Inter.NEAREST, expand=False, center=None, fill_value=0):
1613
+ self.degrees = degrees
1614
+ self.resample = DE_PY_INTER_MODE.get(resample)
1615
+ self.expand = expand
1616
+ self.center = center
1617
+ self.fill_value = fill_value
1618
+
1619
+ def __call__(self, img):
1620
+ """
1621
+ Call method.
1622
+
1623
+ Args:
1624
+ img (PIL.Image.Image): Image to be randomly rotated.
1625
+
1626
+ Returns:
1627
+ PIL.Image.Image, randomly rotated image.
1628
+ """
1629
+ return util.random_rotation(img, self.degrees, self.resample, self.expand, self.center, self.fill_value)
1630
+
1631
+
1632
+ class RandomSharpness(py_transforms.PyTensorOperation):
1633
+ """
1634
+ Adjust the sharpness of the input PIL Image by a random degree.
1635
+
1636
+ Args:
1637
+ degrees (Sequence[float, float], optional): Range of sharpness adjustment degree to select from, arranged
1638
+ in order of (min, max). A degree of ``0.0`` gives a blurred image, a degree of ``1.0``
1639
+ gives the original image and a degree of ``2.0`` gives a sharpened image.
1640
+ Default: ``(0.1, 1.9)``.
1641
+
1642
+ Raises:
1643
+ TypeError : If `degrees` is not of type Sequence[float, float].
1644
+ ValueError: If `degrees` is negative.
1645
+ ValueError: If `degrees` is not in order of (min, max).
1646
+
1647
+ Supported Platforms:
1648
+ ``CPU``
1649
+
1650
+ Examples:
1651
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1652
+ >>>
1653
+ >>> transforms_list = Compose([py_vision.Decode(),
1654
+ ... py_vision.RandomSharpness((0.5, 1.5)),
1655
+ ... py_vision.ToTensor()])
1656
+ >>> # apply the transform to dataset through map function
1657
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1658
+ ... input_columns="image")
1659
+ """
1660
+
1661
+ @deprecated_py_vision()
1662
+ @check_positive_degrees
1663
+ def __init__(self, degrees=(0.1, 1.9)):
1664
+ self.degrees = degrees
1665
+
1666
+ def __call__(self, img):
1667
+ """
1668
+ Call method.
1669
+
1670
+ Args:
1671
+ img (PIL.Image.Image): Image to be sharpness adjusted.
1672
+
1673
+ Returns:
1674
+ PIL.Image.Image, sharpness adjusted image.
1675
+ """
1676
+
1677
+ return util.random_sharpness(img, self.degrees)
1678
+
1679
+
1680
+ class RandomVerticalFlip(py_transforms.PyTensorOperation):
1681
+ """
1682
+ Randomly flip the input PIL Image vertically with a given probability.
1683
+
1684
+ Args:
1685
+ prob (float, optional): Probability of performing vertically flip. Default: ``0.5``.
1686
+
1687
+ Raises:
1688
+ TypeError: If `prob` is not of type float.
1689
+ ValueError: If `prob` is not in range of [0, 1].
1690
+ RuntimeError: If shape of input image is not <H, W> or <H, W, C>.
1691
+
1692
+ Supported Platforms:
1693
+ ``CPU``
1694
+
1695
+ Examples:
1696
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1697
+ >>>
1698
+ >>> transforms_list = Compose([py_vision.Decode(),
1699
+ ... py_vision.RandomVerticalFlip(0.5),
1700
+ ... py_vision.ToTensor()])
1701
+ >>> # apply the transform to dataset through map function
1702
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1703
+ ... input_columns="image")
1704
+ """
1705
+
1706
+ @deprecated_py_vision()
1707
+ @check_prob
1708
+ def __init__(self, prob=0.5):
1709
+ self.prob = prob
1710
+
1711
+ def __call__(self, img):
1712
+ """
1713
+ Call method.
1714
+
1715
+ Args:
1716
+ img (PIL.Image.Image): Image to be vertically flipped.
1717
+
1718
+ Returns:
1719
+ PIL.Image.Image, randomly vertically flipped image.
1720
+ """
1721
+ return util.random_vertical_flip(img, self.prob)
1722
+
1723
+
1724
+ class Resize(py_transforms.PyTensorOperation):
1725
+ """
1726
+ Resize the input PIL Image to the given size.
1727
+
1728
+ Args:
1729
+ size (Union[int, Sequence[int, int]]): The size of the resized image.
1730
+ If int is provided, resize the smaller edge of the image to this
1731
+ value, keeping the image aspect ratio the same.
1732
+ If Sequence[int, int] is provided, its two elements will be taken as the resized height and width.
1733
+ interpolation (Inter, optional): Method of interpolation. It can be ``Inter.NEAREST``,
1734
+ ``Inter.ANTIALIAS``, ``Inter.BILINEAR`` or ``Inter.BICUBIC``. Default: ``Inter.BILINEAR``.
1735
+
1736
+ - ``Inter.NEAREST`` , nearest-neighbor interpolation.
1737
+ - ``Inter.ANTIALIAS`` , antialias interpolation.
1738
+ - ``Inter.BILINEA`` , bilinear interpolation.
1739
+ - ``Inter.BICUBIC`` , bicubic interpolation.
1740
+
1741
+ Raises:
1742
+ TypeError: If `size` is not of type int or Sequence[int, int].
1743
+ TypeError: If `interpolation` is not of type :class:`mindspore.dataset.vision.Inter` .
1744
+ ValueError: If `size` is not positive.
1745
+
1746
+ Supported Platforms:
1747
+ ``CPU``
1748
+
1749
+ Examples:
1750
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1751
+ >>>
1752
+ >>> transforms_list = Compose([py_vision.Decode(),
1753
+ ... py_vision.Resize(256),
1754
+ ... py_vision.ToTensor()])
1755
+ >>> # apply the transform to dataset through map function
1756
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1757
+ ... input_columns="image")
1758
+ """
1759
+
1760
+ @deprecated_py_vision()
1761
+ @check_resize_interpolation
1762
+ def __init__(self, size, interpolation=Inter.BILINEAR):
1763
+ self.size = size
1764
+ self.interpolation = DE_PY_INTER_MODE.get(interpolation)
1765
+ self.random = False
1766
+
1767
+ def __call__(self, img):
1768
+ """
1769
+ Call method.
1770
+
1771
+ Args:
1772
+ img (PIL.Image.Image): Image to be resized.
1773
+
1774
+ Returns:
1775
+ PIL.Image.Image, resized image.
1776
+ """
1777
+ return util.resize(img, self.size, self.interpolation)
1778
+
1779
+
1780
+ class RgbToBgr(py_transforms.PyTensorOperation):
1781
+ """
1782
+ Convert the input numpy.ndarray images from RGB to BGR.
1783
+
1784
+ Args:
1785
+ is_hwc (bool): If ``True``, means the input image is in shape of (H, W, C) or (N, H, W, C).
1786
+ Otherwise, it is in shape of (C, H, W) or (N, C, H, W). Default: ``False``.
1787
+
1788
+ Raises:
1789
+ TypeError: If `is_hwc` is not of type bool.
1790
+
1791
+ Supported Platforms:
1792
+ ``CPU``
1793
+
1794
+ Examples:
1795
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1796
+ >>>
1797
+ >>> transforms_list = Compose([py_vision.Decode(),
1798
+ ... py_vision.CenterCrop(20),
1799
+ ... py_vision.ToTensor(),
1800
+ ... py_vision.RgbToBgr()])
1801
+ >>> # apply the transform to dataset through map function
1802
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1803
+ ... input_columns="image")
1804
+ """
1805
+
1806
+ @deprecated_py_vision("ConvertColor")
1807
+ @check_rgb_to_bgr
1808
+ def __init__(self, is_hwc=False):
1809
+ self.is_hwc = is_hwc
1810
+ self.random = False
1811
+
1812
+ def __call__(self, rgb_imgs):
1813
+ """
1814
+ Call method.
1815
+
1816
+ Args:
1817
+ rgb_imgs (numpy.ndarray): RGB images to be converted.
1818
+
1819
+ Returns:
1820
+ numpy.ndarray, converted BGR images.
1821
+ """
1822
+ return util.rgb_to_bgrs(rgb_imgs, self.is_hwc)
1823
+
1824
+
1825
+ class RgbToHsv(py_transforms.PyTensorOperation):
1826
+ """
1827
+ Convert the input numpy.ndarray images from RGB to HSV.
1828
+
1829
+ Args:
1830
+ is_hwc (bool): If ``True``, means the input image is in shape of (H, W, C) or (N, H, W, C).
1831
+ Otherwise, it is in shape of (C, H, W) or (N, C, H, W). Default: ``False``.
1832
+
1833
+ Raises:
1834
+ TypeError: If `is_hwc` is not of type bool.
1835
+
1836
+ Supported Platforms:
1837
+ ``CPU``
1838
+
1839
+ Examples:
1840
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1841
+ >>>
1842
+ >>> transforms_list = Compose([py_vision.Decode(),
1843
+ ... py_vision.CenterCrop(20),
1844
+ ... py_vision.ToTensor(),
1845
+ ... py_vision.RgbToHsv()])
1846
+ >>> # apply the transform to dataset through map function
1847
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1848
+ ... input_columns="image")
1849
+ """
1850
+
1851
+ @deprecated_py_vision()
1852
+ @check_rgb_to_hsv
1853
+ def __init__(self, is_hwc=False):
1854
+ self.is_hwc = is_hwc
1855
+ self.random = False
1856
+
1857
+ def __call__(self, rgb_imgs):
1858
+ """
1859
+ Call method.
1860
+
1861
+ Args:
1862
+ rgb_imgs (numpy.ndarray): RGB images to be converted.
1863
+
1864
+ Returns:
1865
+ numpy.ndarray, converted HSV images.
1866
+ """
1867
+ return util.rgb_to_hsvs(rgb_imgs, self.is_hwc)
1868
+
1869
+
1870
+ class TenCrop(py_transforms.PyTensorOperation):
1871
+ """
1872
+ Crop the given image into one central crop and four corners with the flipped version of these.
1873
+
1874
+ Args:
1875
+ size (Union[int, Sequence[int, int]]): The size of the cropped image.
1876
+ If int is provided, a square of size `(size, size)` will be cropped with this value.
1877
+ If Sequence[int, int] is provided, its two elements will be taken as the cropped height and width.
1878
+ use_vertical_flip (bool, optional): If ``True``, flip the images vertically. Otherwise, flip them
1879
+ horizontally. Default: ``False``.
1880
+
1881
+ Raises:
1882
+ TypeError: If `size` is not of type int or Sequence[int, int].
1883
+ TypeError: If `use_vertical_flip` is not of type bool.
1884
+ ValueError: If `size` is not positive.
1885
+
1886
+ Supported Platforms:
1887
+ ``CPU``
1888
+
1889
+ Examples:
1890
+ >>> import numpy
1891
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1892
+ >>>
1893
+ >>> transforms_list = Compose([py_vision.Decode(),
1894
+ ... py_vision.TenCrop(size=200),
1895
+ ... # 4D stack of 10 images
1896
+ ... lambda *images: numpy.stack([py_vision.ToTensor()(image) for image in images])])
1897
+ >>> # apply the transform to dataset through map function
1898
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1899
+ ... input_columns="image")
1900
+ """
1901
+
1902
+ @deprecated_py_vision()
1903
+ @check_ten_crop
1904
+ def __init__(self, size, use_vertical_flip=False):
1905
+ if isinstance(size, int):
1906
+ size = (size, size)
1907
+ self.size = size
1908
+ self.use_vertical_flip = use_vertical_flip
1909
+ self.random = False
1910
+
1911
+ def __call__(self, img):
1912
+ """
1913
+ Call method.
1914
+
1915
+ Args:
1916
+ img (PIL.Image.Image): Image to be cropped.
1917
+
1918
+ Returns:
1919
+ tuple, 10 cropped PIL.Image.Image, in order of top_left, top_right, bottom_left, bottom_right, center
1920
+ of the original image and top_left, top_right, bottom_left, bottom_right, center of the flipped image.
1921
+ """
1922
+ return util.ten_crop(img, self.size, self.use_vertical_flip)
1923
+
1924
+
1925
+ class ToPIL(py_transforms.PyTensorOperation):
1926
+ """
1927
+ Convert the input decoded numpy.ndarray image to PIL Image.
1928
+
1929
+ Note:
1930
+ The conversion mode will be determined by the data type using `PIL.Image.fromarray` .
1931
+
1932
+ Raises:
1933
+ TypeError: If the input image is not of type :class:`numpy.ndarray` or `PIL.Image.Image` .
1934
+
1935
+ Supported Platforms:
1936
+ ``CPU``
1937
+
1938
+ Examples:
1939
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1940
+ >>>
1941
+ >>> # data is already decoded, but not in PIL Image format
1942
+ >>> transforms_list = Compose([py_vision.ToPIL(),
1943
+ ... py_vision.RandomHorizontalFlip(0.5),
1944
+ ... py_vision.ToTensor()])
1945
+ >>> # apply the transform to dataset through map function
1946
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1947
+ ... input_columns="image")
1948
+ """
1949
+
1950
+ @deprecated_py_vision()
1951
+ def __init__(self):
1952
+ self.random = False
1953
+
1954
+ def __call__(self, img):
1955
+ """
1956
+ Call method.
1957
+
1958
+ Args:
1959
+ img (numpy.ndarray): Decoded numpy.ndarray image to be converted to PIL.Image.Image.
1960
+
1961
+ Returns:
1962
+ PIL.Image.Image, converted PIL Image.
1963
+ """
1964
+ return util.to_pil(img)
1965
+
1966
+
1967
+ class ToTensor(py_transforms.PyTensorOperation):
1968
+ """
1969
+ Convert the input PIL Image or numpy.ndarray to numpy.ndarray of the desired dtype. At the same time,
1970
+ the range of pixel value will be changed from [0, 255] to [0.0, 1.0] and the shape will be changed
1971
+ from (H, W, C) to (C, H, W).
1972
+
1973
+ Args:
1974
+ output_type (numpy.dtype, optional): The desired dtype of the output image. Default: ``numpy.float32`` .
1975
+
1976
+ Raises:
1977
+ TypeError: If the input image is not of type `PIL.Image.Image` or :class:`numpy.ndarray` .
1978
+ TypeError: If dimension of the input image is not 2 or 3.
1979
+
1980
+ Supported Platforms:
1981
+ ``CPU``
1982
+
1983
+ Examples:
1984
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
1985
+ >>>
1986
+ >>> # create a list of transformations to be applied to the "image" column of each data row
1987
+ >>> transforms_list = Compose([py_vision.Decode(),
1988
+ ... py_vision.RandomHorizontalFlip(0.5),
1989
+ ... py_vision.ToTensor()])
1990
+ >>> # apply the transform to dataset through map function
1991
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
1992
+ ... input_columns="image")
1993
+ """
1994
+
1995
+ @deprecated_py_vision()
1996
+ def __init__(self, output_type=np.float32):
1997
+ self.output_type = output_type
1998
+ self.random = False
1999
+
2000
+ def __call__(self, img):
2001
+ """
2002
+ Call method.
2003
+
2004
+ Args:
2005
+ img (Union[PIL.Image.Image, numpy.ndarray]): PIL.Image.Image or numpy.ndarray to be type converted.
2006
+
2007
+ Returns:
2008
+ numpy.ndarray, converted numpy.ndarray with desired type.
2009
+ """
2010
+ return util.to_tensor(img, self.output_type)
2011
+
2012
+
2013
+ class ToType(py_transforms.PyTensorOperation):
2014
+ """
2015
+ Convert the input numpy.ndarray image to the desired dtype.
2016
+
2017
+ Args:
2018
+ output_type (numpy.dtype): The desired dtype of the output image, e.g. ``numpy.float32`` .
2019
+
2020
+ Raises:
2021
+ TypeError: If the input image is not of type :class:`numpy.ndarray` .
2022
+
2023
+ Supported Platforms:
2024
+ ``CPU``
2025
+
2026
+ Examples:
2027
+ >>> import numpy as np
2028
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
2029
+ >>>
2030
+ >>> transforms_list =Compose([py_vision.Decode(),
2031
+ ... py_vision.RandomHorizontalFlip(0.5),
2032
+ ... py_vision.ToTensor(),
2033
+ ... py_vision.ToType(np.float32)])
2034
+ >>> # apply the transform to dataset through map function
2035
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
2036
+ ... input_columns="image")
2037
+ """
2038
+
2039
+ @deprecated_py_vision("TypeCast", "mindspore.dataset.transforms")
2040
+ def __init__(self, output_type):
2041
+ self.output_type = output_type
2042
+ self.random = False
2043
+
2044
+ def __call__(self, img):
2045
+ """
2046
+ Call method.
2047
+
2048
+ Args:
2049
+ img (numpy.ndarray): numpy.ndarray to be dtype converted.
2050
+
2051
+ Returns:
2052
+ numpy.ndarray, converted numpy.ndarray with desired dtype.
2053
+ """
2054
+ return util.to_type(img, self.output_type)
2055
+
2056
+
2057
+ class UniformAugment(py_transforms.PyTensorOperation):
2058
+ """
2059
+ Uniformly select a number of transformations from a sequence and apply them
2060
+ sequentially and randomly, which means that there is a chance that a chosen
2061
+ transformation will not be applied.
2062
+
2063
+ All transformations in the sequence require the output type to be the same as
2064
+ the input. Thus, the latter one can deal with the output of the previous one.
2065
+
2066
+ Args:
2067
+ transforms (Sequence): Sequence of transformations to select from.
2068
+ num_ops (int, optional): Number of transformations to be sequentially and randomly applied.
2069
+ Default: ``2``.
2070
+
2071
+ Raises:
2072
+ TypeError: If `transforms` is not a sequence of data processing operations.
2073
+ TypeError: If `num_ops` is not of type int.
2074
+ ValueError: If `num_ops` is not positive.
2075
+
2076
+ Supported Platforms:
2077
+ ``CPU``
2078
+
2079
+ Examples:
2080
+ >>> from mindspore.dataset.transforms.py_transforms import Compose
2081
+ >>>
2082
+ >>> transforms = [py_vision.CenterCrop(64),
2083
+ ... py_vision.RandomColor(),
2084
+ ... py_vision.RandomSharpness(),
2085
+ ... py_vision.RandomRotation(30)]
2086
+ >>> transforms_list = Compose([py_vision.Decode(),
2087
+ ... py_vision.UniformAugment(transforms),
2088
+ ... py_vision.ToTensor()])
2089
+ >>> # apply the transform to dataset through map function
2090
+ >>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
2091
+ ... input_columns="image")
2092
+ """
2093
+
2094
+ @deprecated_py_vision()
2095
+ @check_uniform_augment_py
2096
+ def __init__(self, transforms, num_ops=2):
2097
+ self.transforms = transforms
2098
+ self.num_ops = num_ops
2099
+ self.random = False
2100
+
2101
+ def __call__(self, img):
2102
+ """
2103
+ Call method.
2104
+
2105
+ Args:
2106
+ img (PIL.Image.Image): Image to be transformed.
2107
+
2108
+ Returns:
2109
+ PIL.Image.Image, transformed image.
2110
+ """
2111
+ return util.uniform_augment(img, self.transforms.copy(), self.num_ops)
2112
+
2113
+
2114
+ def not_random(func):
2115
+ """
2116
+ Specify the function as "not random", i.e., it produces deterministic result.
2117
+ A Python function can only be cached after it is specified as "not random".
2118
+ """
2119
+ func.random = False
2120
+ return func