mindspore 2.4.0__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -0
- mindspore/ConcurrencyCheck.dll +0 -0
- mindspore/CppBuildInsights.dll +0 -0
- mindspore/CppCoreCheck.dll +0 -0
- mindspore/EnumIndex.dll +0 -0
- mindspore/EspXEngine.dll +0 -0
- mindspore/HResultCheck.dll +0 -0
- mindspore/KernelTraceControl.dll +0 -0
- mindspore/LocalESPC.dll +0 -0
- mindspore/Microsoft.Diagnostics.Tracing.EventSource.dll +0 -0
- mindspore/Microsoft.VisualStudio.RemoteControl.dll +0 -0
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Microsoft.VisualStudio.Utilities.Internal.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- mindspore/VariantClear.dll +0 -0
- mindspore/__init__.py +53 -0
- mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +106 -0
- mindspore/_checkparam.py +1419 -0
- mindspore/_extends/__init__.py +23 -0
- mindspore/_extends/builtin_operations.py +224 -0
- mindspore/_extends/graph_kernel/__init__.py +17 -0
- mindspore/_extends/graph_kernel/model/__init__.py +19 -0
- mindspore/_extends/graph_kernel/model/graph_parallel.py +311 -0
- mindspore/_extends/graph_kernel/model/graph_split.py +1348 -0
- mindspore/_extends/graph_kernel/model/model.py +553 -0
- mindspore/_extends/graph_kernel/model/model_builder.py +216 -0
- mindspore/_extends/graph_kernel/parallel_estimate.py +60 -0
- mindspore/_extends/graph_kernel/splitter.py +140 -0
- mindspore/_extends/graph_kernel/utils.py +28 -0
- mindspore/_extends/parallel_compile/__init__.py +19 -0
- mindspore/_extends/parallel_compile/akg_compiler/__init__.py +19 -0
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +269 -0
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +529 -0
- mindspore/_extends/parallel_compile/akg_compiler/compiler.py +56 -0
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
- mindspore/_extends/parallel_compile/akg_compiler/get_file_path.py +36 -0
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +556 -0
- mindspore/_extends/parallel_compile/akg_compiler/util.py +159 -0
- mindspore/_extends/parse/__init__.py +49 -0
- mindspore/_extends/parse/compile_config.py +299 -0
- mindspore/_extends/parse/namespace.py +136 -0
- mindspore/_extends/parse/parser.py +1448 -0
- mindspore/_extends/parse/resources.py +213 -0
- mindspore/_extends/parse/standard_method.py +4475 -0
- mindspore/_extends/parse/trope.py +97 -0
- mindspore/_extends/pijit/__init__.py +23 -0
- mindspore/_extends/pijit/pijit_func_white_list.py +669 -0
- mindspore/_extends/remote/__init__.py +19 -0
- mindspore/_extends/remote/kernel_build_server.py +199 -0
- mindspore/_extends/remote/kernel_build_server_akg.py +55 -0
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_extends/remote/kernel_build_server_ascend.py +75 -0
- mindspore/_extends/utils.py +68 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_profiler.py +30 -0
- mindspore/amp.py +433 -0
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +42 -0
- mindspore/boost/adasum.py +319 -0
- mindspore/boost/base.py +535 -0
- mindspore/boost/boost.py +400 -0
- mindspore/boost/boost_cell_wrapper.py +790 -0
- mindspore/boost/dim_reduce.py +323 -0
- mindspore/boost/grad_accumulation.py +79 -0
- mindspore/boost/grad_freeze.py +382 -0
- mindspore/boost/group_loss_scale_manager.py +166 -0
- mindspore/boost/less_batch_normalization.py +174 -0
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/cfgpersist.dll +0 -0
- mindspore/clang_rt.asan_dbg_dynamic-x86_64.dll +0 -0
- mindspore/clang_rt.asan_dynamic-x86_64.dll +0 -0
- mindspore/common/__init__.py +86 -0
- mindspore/common/_auto_dynamic.py +68 -0
- mindspore/common/_decorator.py +50 -0
- mindspore/common/_jit_fallback_utils.py +110 -0
- mindspore/common/_monad.py +25 -0
- mindspore/common/_pijit_context.py +190 -0
- mindspore/common/_register_for_adapter.py +74 -0
- mindspore/common/_register_for_recompute.py +48 -0
- mindspore/common/_register_for_tensor.py +46 -0
- mindspore/common/_stub_tensor.py +210 -0
- mindspore/common/_tensor_overload.py +139 -0
- mindspore/common/_utils.py +122 -0
- mindspore/common/api.py +2064 -0
- mindspore/common/auto_dynamic_shape.py +507 -0
- mindspore/common/dtype.py +422 -0
- mindspore/common/dump.py +130 -0
- mindspore/common/file_system.py +48 -0
- mindspore/common/generator.py +254 -0
- mindspore/common/hook_handle.py +143 -0
- mindspore/common/initializer.py +880 -0
- mindspore/common/jit_config.py +98 -0
- mindspore/common/lazy_inline.py +240 -0
- mindspore/common/mindir_util.py +111 -0
- mindspore/common/mutable.py +234 -0
- mindspore/common/no_inline.py +54 -0
- mindspore/common/np_dtype.py +25 -0
- mindspore/common/parameter.py +1081 -0
- mindspore/common/recompute.py +292 -0
- mindspore/common/seed.py +260 -0
- mindspore/common/sparse_tensor.py +1175 -0
- mindspore/common/symbol.py +122 -0
- mindspore/common/tensor.py +5039 -0
- mindspore/communication/__init__.py +37 -0
- mindspore/communication/_comm_helper.py +501 -0
- mindspore/communication/_hccl_management.py +297 -0
- mindspore/communication/comm_func.py +1395 -0
- mindspore/communication/management.py +673 -0
- mindspore/config/op_info.config +533 -0
- mindspore/context.py +2077 -0
- mindspore/d3dcompiler_47.dll +0 -0
- mindspore/dataset/__init__.py +90 -0
- mindspore/dataset/audio/__init__.py +61 -0
- mindspore/dataset/audio/transforms.py +3690 -0
- mindspore/dataset/audio/utils.py +386 -0
- mindspore/dataset/audio/validators.py +1172 -0
- mindspore/dataset/callback/__init__.py +20 -0
- mindspore/dataset/callback/ds_callback.py +368 -0
- mindspore/dataset/callback/validators.py +32 -0
- mindspore/dataset/core/__init__.py +13 -0
- mindspore/dataset/core/config.py +1095 -0
- mindspore/dataset/core/datatypes.py +101 -0
- mindspore/dataset/core/py_util_helpers.py +65 -0
- mindspore/dataset/core/validator_helpers.py +781 -0
- mindspore/dataset/debug/__init__.py +21 -0
- mindspore/dataset/debug/debug_hook.py +97 -0
- mindspore/dataset/debug/pre_defined_hook.py +67 -0
- mindspore/dataset/engine/__init__.py +124 -0
- mindspore/dataset/engine/cache_admin.py +47 -0
- mindspore/dataset/engine/cache_client.py +129 -0
- mindspore/dataset/engine/datasets.py +4582 -0
- mindspore/dataset/engine/datasets_audio.py +911 -0
- mindspore/dataset/engine/datasets_standard_format.py +543 -0
- mindspore/dataset/engine/datasets_text.py +2161 -0
- mindspore/dataset/engine/datasets_user_defined.py +1184 -0
- mindspore/dataset/engine/datasets_vision.py +4816 -0
- mindspore/dataset/engine/iterators.py +371 -0
- mindspore/dataset/engine/obs/__init__.py +23 -0
- mindspore/dataset/engine/obs/config_loader.py +68 -0
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +508 -0
- mindspore/dataset/engine/obs/util.py +482 -0
- mindspore/dataset/engine/offload.py +596 -0
- mindspore/dataset/engine/queue.py +304 -0
- mindspore/dataset/engine/samplers.py +895 -0
- mindspore/dataset/engine/serializer_deserializer.py +159 -0
- mindspore/dataset/engine/validators.py +2895 -0
- mindspore/dataset/text/__init__.py +51 -0
- mindspore/dataset/text/transforms.py +1703 -0
- mindspore/dataset/text/utils.py +715 -0
- mindspore/dataset/text/validators.py +642 -0
- mindspore/dataset/transforms/__init__.py +45 -0
- mindspore/dataset/transforms/c_transforms.py +638 -0
- mindspore/dataset/transforms/py_transforms.py +393 -0
- mindspore/dataset/transforms/py_transforms_util.py +255 -0
- mindspore/dataset/transforms/transforms.py +1260 -0
- mindspore/dataset/transforms/validators.py +410 -0
- mindspore/dataset/utils/__init__.py +19 -0
- mindspore/dataset/utils/browse_dataset.py +190 -0
- mindspore/dataset/utils/line_reader.py +126 -0
- mindspore/dataset/vision/__init__.py +65 -0
- mindspore/dataset/vision/c_transforms.py +2641 -0
- mindspore/dataset/vision/py_transforms.py +2120 -0
- mindspore/dataset/vision/py_transforms_util.py +1660 -0
- mindspore/dataset/vision/transforms.py +7295 -0
- mindspore/dataset/vision/utils.py +863 -0
- mindspore/dataset/vision/validators.py +1483 -0
- mindspore/default_config.py +2 -0
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/__init__.py +20 -0
- mindspore/experimental/es/__init__.py +22 -0
- mindspore/experimental/es/embedding_service.py +883 -0
- mindspore/experimental/es/embedding_service_layer.py +581 -0
- mindspore/experimental/llm_boost/__init__.py +21 -0
- mindspore/experimental/llm_boost/atb/__init__.py +23 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +211 -0
- mindspore/experimental/llm_boost/atb/llama_boost.py +115 -0
- mindspore/experimental/llm_boost/atb/qwen_boost.py +101 -0
- mindspore/experimental/llm_boost/register.py +129 -0
- mindspore/experimental/llm_boost/utils.py +31 -0
- mindspore/experimental/map_parameter.py +309 -0
- mindspore/experimental/optim/__init__.py +40 -0
- mindspore/experimental/optim/adadelta.py +161 -0
- mindspore/experimental/optim/adagrad.py +168 -0
- mindspore/experimental/optim/adam.py +193 -0
- mindspore/experimental/optim/adamax.py +170 -0
- mindspore/experimental/optim/adamw.py +290 -0
- mindspore/experimental/optim/asgd.py +153 -0
- mindspore/experimental/optim/lr_scheduler.py +1371 -0
- mindspore/experimental/optim/nadam.py +157 -0
- mindspore/experimental/optim/optimizer.py +262 -0
- mindspore/experimental/optim/radam.py +194 -0
- mindspore/experimental/optim/rmsprop.py +154 -0
- mindspore/experimental/optim/rprop.py +164 -0
- mindspore/experimental/optim/sgd.py +156 -0
- mindspore/hal/__init__.py +40 -0
- mindspore/hal/_ascend.py +57 -0
- mindspore/hal/_base.py +57 -0
- mindspore/hal/_cpu.py +56 -0
- mindspore/hal/_gpu.py +57 -0
- mindspore/hal/contiguous_tensors_handle.py +175 -0
- mindspore/hal/device.py +356 -0
- mindspore/hal/event.py +179 -0
- mindspore/hal/memory.py +326 -0
- mindspore/hal/stream.py +357 -0
- mindspore/include/OWNERS +7 -0
- mindspore/include/api/allocator.h +97 -0
- mindspore/include/api/callback/callback.h +93 -0
- mindspore/include/api/callback/ckpt_saver.h +41 -0
- mindspore/include/api/callback/loss_monitor.h +33 -0
- mindspore/include/api/callback/lr_scheduler.h +51 -0
- mindspore/include/api/callback/time_monitor.h +34 -0
- mindspore/include/api/callback/train_accuracy.h +37 -0
- mindspore/include/api/cell.h +90 -0
- mindspore/include/api/cfg.h +82 -0
- mindspore/include/api/context.h +602 -0
- mindspore/include/api/data_type.h +47 -0
- mindspore/include/api/delegate.h +178 -0
- mindspore/include/api/delegate_api.h +75 -0
- mindspore/include/api/dual_abi_helper.h +208 -0
- mindspore/include/api/format.h +28 -0
- mindspore/include/api/graph.h +46 -0
- mindspore/include/api/kernel.h +58 -0
- mindspore/include/api/kernel_api.h +168 -0
- mindspore/include/api/metrics/accuracy.h +36 -0
- mindspore/include/api/metrics/metrics.h +41 -0
- mindspore/include/api/model.h +438 -0
- mindspore/include/api/model_group.h +91 -0
- mindspore/include/api/model_parallel_runner.h +168 -0
- mindspore/include/api/serialization.h +185 -0
- mindspore/include/api/status.h +192 -0
- mindspore/include/api/types.h +431 -0
- mindspore/include/api/visible.h +41 -0
- mindspore/include/c_api/context_c.h +179 -0
- mindspore/include/c_api/data_type_c.h +52 -0
- mindspore/include/c_api/format_c.h +46 -0
- mindspore/include/c_api/model_c.h +347 -0
- mindspore/include/c_api/status_c.h +79 -0
- mindspore/include/c_api/tensor_c.h +146 -0
- mindspore/include/c_api/types_c.h +67 -0
- mindspore/include/dataset/config.h +163 -0
- mindspore/include/dataset/constants.h +363 -0
- mindspore/include/dataset/execute.h +196 -0
- mindspore/include/dataset/text.h +1092 -0
- mindspore/include/dataset/transforms.h +638 -0
- mindspore/include/dataset/vision.h +2129 -0
- mindspore/include/dataset/vision_ascend.h +206 -0
- mindspore/include/dataset/vision_lite.h +625 -0
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +633 -0
- mindspore/mindrecord/__init__.py +43 -0
- mindspore/mindrecord/common/__init__.py +17 -0
- mindspore/mindrecord/common/constant.py +20 -0
- mindspore/mindrecord/common/enums.py +44 -0
- mindspore/mindrecord/common/exceptions.py +311 -0
- mindspore/mindrecord/config.py +809 -0
- mindspore/mindrecord/filereader.py +174 -0
- mindspore/mindrecord/filewriter.py +722 -0
- mindspore/mindrecord/mindpage.py +210 -0
- mindspore/mindrecord/shardheader.py +141 -0
- mindspore/mindrecord/shardindexgenerator.py +74 -0
- mindspore/mindrecord/shardreader.py +117 -0
- mindspore/mindrecord/shardsegment.py +128 -0
- mindspore/mindrecord/shardutils.py +185 -0
- mindspore/mindrecord/shardwriter.py +237 -0
- mindspore/mindrecord/tools/__init__.py +17 -0
- mindspore/mindrecord/tools/cifar10.py +140 -0
- mindspore/mindrecord/tools/cifar100.py +153 -0
- mindspore/mindrecord/tools/cifar100_to_mr.py +185 -0
- mindspore/mindrecord/tools/cifar10_to_mr.py +177 -0
- mindspore/mindrecord/tools/csv_to_mr.py +200 -0
- mindspore/mindrecord/tools/imagenet_to_mr.py +206 -0
- mindspore/mindrecord/tools/mnist_to_mr.py +259 -0
- mindspore/mindrecord/tools/tfrecord_to_mr.py +360 -0
- mindspore/mindspore_backend.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/mint/__init__.py +1586 -0
- mindspore/mint/distributed/__init__.py +31 -0
- mindspore/mint/distributed/distributed.py +254 -0
- mindspore/mint/linalg/__init__.py +22 -0
- mindspore/mint/nn/__init__.py +757 -0
- mindspore/mint/nn/functional.py +679 -0
- mindspore/mint/nn/layer/__init__.py +39 -0
- mindspore/mint/nn/layer/activation.py +133 -0
- mindspore/mint/nn/layer/normalization.py +477 -0
- mindspore/mint/nn/layer/pooling.py +110 -0
- mindspore/mint/optim/__init__.py +24 -0
- mindspore/mint/optim/adamw.py +206 -0
- mindspore/mint/special/__init__.py +63 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/multiprocessing/__init__.py +73 -0
- mindspore/nn/__init__.py +47 -0
- mindspore/nn/cell.py +2787 -0
- mindspore/nn/dynamic_lr.py +482 -0
- mindspore/nn/grad/__init__.py +21 -0
- mindspore/nn/grad/cell_grad.py +196 -0
- mindspore/nn/layer/__init__.py +63 -0
- mindspore/nn/layer/activation.py +1822 -0
- mindspore/nn/layer/basic.py +1629 -0
- mindspore/nn/layer/channel_shuffle.py +90 -0
- mindspore/nn/layer/combined.py +248 -0
- mindspore/nn/layer/container.py +734 -0
- mindspore/nn/layer/conv.py +1505 -0
- mindspore/nn/layer/dense.py +204 -0
- mindspore/nn/layer/embedding.py +869 -0
- mindspore/nn/layer/image.py +661 -0
- mindspore/nn/layer/math.py +1069 -0
- mindspore/nn/layer/normalization.py +1273 -0
- mindspore/nn/layer/padding.py +880 -0
- mindspore/nn/layer/pooling.py +2302 -0
- mindspore/nn/layer/rnn_cells.py +388 -0
- mindspore/nn/layer/rnns.py +849 -0
- mindspore/nn/layer/thor_layer.py +963 -0
- mindspore/nn/layer/timedistributed.py +155 -0
- mindspore/nn/layer/transformer.py +823 -0
- mindspore/nn/learning_rate_schedule.py +512 -0
- mindspore/nn/loss/__init__.py +36 -0
- mindspore/nn/loss/loss.py +2924 -0
- mindspore/nn/metrics.py +53 -0
- mindspore/nn/optim/__init__.py +45 -0
- mindspore/nn/optim/_dist_optimizer_registry.py +111 -0
- mindspore/nn/optim/ada_grad.py +217 -0
- mindspore/nn/optim/adadelta.py +206 -0
- mindspore/nn/optim/adafactor.py +448 -0
- mindspore/nn/optim/adam.py +1297 -0
- mindspore/nn/optim/adamax.py +220 -0
- mindspore/nn/optim/adasum.py +548 -0
- mindspore/nn/optim/asgd.py +216 -0
- mindspore/nn/optim/ftrl.py +401 -0
- mindspore/nn/optim/lamb.py +296 -0
- mindspore/nn/optim/lars.py +202 -0
- mindspore/nn/optim/lazyadam.py +533 -0
- mindspore/nn/optim/momentum.py +239 -0
- mindspore/nn/optim/optimizer.py +1034 -0
- mindspore/nn/optim/proximal_ada_grad.py +242 -0
- mindspore/nn/optim/rmsprop.py +264 -0
- mindspore/nn/optim/rprop.py +251 -0
- mindspore/nn/optim/sgd.py +237 -0
- mindspore/nn/optim/tft_wrapper.py +127 -0
- mindspore/nn/optim/thor.py +1310 -0
- mindspore/nn/probability/__init__.py +22 -0
- mindspore/nn/probability/bijector/__init__.py +35 -0
- mindspore/nn/probability/bijector/bijector.py +337 -0
- mindspore/nn/probability/bijector/exp.py +65 -0
- mindspore/nn/probability/bijector/gumbel_cdf.py +144 -0
- mindspore/nn/probability/bijector/invert.py +126 -0
- mindspore/nn/probability/bijector/power_transform.py +196 -0
- mindspore/nn/probability/bijector/scalar_affine.py +167 -0
- mindspore/nn/probability/bijector/softplus.py +189 -0
- mindspore/nn/probability/bnn_layers/__init__.py +29 -0
- mindspore/nn/probability/bnn_layers/_util.py +46 -0
- mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +112 -0
- mindspore/nn/probability/bnn_layers/conv_variational.py +267 -0
- mindspore/nn/probability/bnn_layers/dense_variational.py +302 -0
- mindspore/nn/probability/bnn_layers/layer_distribution.py +123 -0
- mindspore/nn/probability/distribution/__init__.py +56 -0
- mindspore/nn/probability/distribution/_utils/__init__.py +34 -0
- mindspore/nn/probability/distribution/_utils/custom_ops.py +96 -0
- mindspore/nn/probability/distribution/_utils/utils.py +362 -0
- mindspore/nn/probability/distribution/bernoulli.py +334 -0
- mindspore/nn/probability/distribution/beta.py +391 -0
- mindspore/nn/probability/distribution/categorical.py +435 -0
- mindspore/nn/probability/distribution/cauchy.py +383 -0
- mindspore/nn/probability/distribution/distribution.py +827 -0
- mindspore/nn/probability/distribution/exponential.py +350 -0
- mindspore/nn/probability/distribution/gamma.py +391 -0
- mindspore/nn/probability/distribution/geometric.py +335 -0
- mindspore/nn/probability/distribution/gumbel.py +257 -0
- mindspore/nn/probability/distribution/half_normal.py +133 -0
- mindspore/nn/probability/distribution/laplace.py +128 -0
- mindspore/nn/probability/distribution/log_normal.py +272 -0
- mindspore/nn/probability/distribution/logistic.py +379 -0
- mindspore/nn/probability/distribution/normal.py +336 -0
- mindspore/nn/probability/distribution/poisson.py +288 -0
- mindspore/nn/probability/distribution/student_t.py +149 -0
- mindspore/nn/probability/distribution/transformed_distribution.py +235 -0
- mindspore/nn/probability/distribution/uniform.py +375 -0
- mindspore/nn/reinforcement/__init__.py +24 -0
- mindspore/nn/reinforcement/_batch_read_write.py +142 -0
- mindspore/nn/reinforcement/_tensors_queue.py +152 -0
- mindspore/nn/reinforcement/tensor_array.py +145 -0
- mindspore/nn/sparse/__init__.py +23 -0
- mindspore/nn/sparse/sparse.py +147 -0
- mindspore/nn/wrap/__init__.py +49 -0
- mindspore/nn/wrap/cell_wrapper.py +968 -0
- mindspore/nn/wrap/grad_reducer.py +608 -0
- mindspore/nn/wrap/loss_scale.py +694 -0
- mindspore/numpy/__init__.py +121 -0
- mindspore/numpy/array_creations.py +2731 -0
- mindspore/numpy/array_ops.py +2629 -0
- mindspore/numpy/dtypes.py +185 -0
- mindspore/numpy/fft.py +966 -0
- mindspore/numpy/logic_ops.py +936 -0
- mindspore/numpy/math_ops.py +5911 -0
- mindspore/numpy/utils.py +214 -0
- mindspore/numpy/utils_const.py +565 -0
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +56 -0
- mindspore/ops/_constants.py +30 -0
- mindspore/ops/_grad_experimental/__init__.py +31 -0
- mindspore/ops/_grad_experimental/grad_array_ops.py +830 -0
- mindspore/ops/_grad_experimental/grad_base.py +143 -0
- mindspore/ops/_grad_experimental/grad_comm_ops.py +714 -0
- mindspore/ops/_grad_experimental/grad_debug_ops.py +31 -0
- mindspore/ops/_grad_experimental/grad_implementations.py +203 -0
- mindspore/ops/_grad_experimental/grad_inner_ops.py +79 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +802 -0
- mindspore/ops/_grad_experimental/grad_nn_ops.py +231 -0
- mindspore/ops/_grad_experimental/grad_quant_ops.py +238 -0
- mindspore/ops/_grad_experimental/grad_sparse.py +342 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +399 -0
- mindspore/ops/_grad_experimental/taylor_rule.py +220 -0
- mindspore/ops/_op_impl/__init__.py +23 -0
- mindspore/ops/_op_impl/_custom_op/__init__.py +39 -0
- mindspore/ops/_op_impl/_custom_op/_basic.py +158 -0
- mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +279 -0
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +156 -0
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +109 -0
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +125 -0
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +105 -0
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +124 -0
- mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +116 -0
- mindspore/ops/_op_impl/_custom_op/correction_mul.py +89 -0
- mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +196 -0
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +366 -0
- mindspore/ops/_op_impl/_custom_op/dsd_impl.py +162 -0
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +136 -0
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +206 -0
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +88 -0
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +128 -0
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +199 -0
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +88 -0
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +156 -0
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +184 -0
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +143 -0
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +169 -0
- mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +548 -0
- mindspore/ops/_op_impl/_custom_op/img2col_impl.py +881 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +278 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +200 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +334 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +255 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +222 -0
- mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +644 -0
- mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +488 -0
- mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +87 -0
- mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +129 -0
- mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +121 -0
- mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +352 -0
- mindspore/ops/_op_impl/aicpu/__init__.py +441 -0
- mindspore/ops/_op_impl/aicpu/abs.py +36 -0
- mindspore/ops/_op_impl/aicpu/acos.py +32 -0
- mindspore/ops/_op_impl/aicpu/acos_grad.py +33 -0
- mindspore/ops/_op_impl/aicpu/acosh.py +34 -0
- mindspore/ops/_op_impl/aicpu/acosh_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
- mindspore/ops/_op_impl/aicpu/add.py +43 -0
- mindspore/ops/_op_impl/aicpu/add_n.py +41 -0
- mindspore/ops/_op_impl/aicpu/add_v2.py +40 -0
- mindspore/ops/_op_impl/aicpu/addcdiv.py +41 -0
- mindspore/ops/_op_impl/aicpu/addcmul.py +47 -0
- mindspore/ops/_op_impl/aicpu/adjust_contrastv2.py +32 -0
- mindspore/ops/_op_impl/aicpu/adjust_hue.py +31 -0
- mindspore/ops/_op_impl/aicpu/adjust_saturation.py +32 -0
- mindspore/ops/_op_impl/aicpu/affine_grid.py +33 -0
- mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/angle.py +31 -0
- mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
- mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
- mindspore/ops/_op_impl/aicpu/argmax_with_value.py +43 -0
- mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
- mindspore/ops/_op_impl/aicpu/asin.py +32 -0
- mindspore/ops/_op_impl/aicpu/asin_grad.py +33 -0
- mindspore/ops/_op_impl/aicpu/asinh.py +34 -0
- mindspore/ops/_op_impl/aicpu/asinh_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/atanh.py +34 -0
- mindspore/ops/_op_impl/aicpu/avgpool_grad_v1.py +37 -0
- mindspore/ops/_op_impl/aicpu/avgpool_v1.py +36 -0
- mindspore/ops/_op_impl/aicpu/bartlett_window.py +36 -0
- mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
- mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
- mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
- mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
- mindspore/ops/_op_impl/aicpu/betainc.py +31 -0
- mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +42 -0
- mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
- mindspore/ops/_op_impl/aicpu/blackman_window.py +36 -0
- mindspore/ops/_op_impl/aicpu/broadcast_to.py +58 -0
- mindspore/ops/_op_impl/aicpu/bucketize.py +34 -0
- mindspore/ops/_op_impl/aicpu/cache_swap_table.py +102 -0
- mindspore/ops/_op_impl/aicpu/cast.py +225 -0
- mindspore/ops/_op_impl/aicpu/cauchy.py +33 -0
- mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
- mindspore/ops/_op_impl/aicpu/check_numerics.py +33 -0
- mindspore/ops/_op_impl/aicpu/cholesky.py +32 -0
- mindspore/ops/_op_impl/aicpu/cholesky_inverse.py +31 -0
- mindspore/ops/_op_impl/aicpu/cholesky_solve.py +33 -0
- mindspore/ops/_op_impl/aicpu/choleskygrad.py +32 -0
- mindspore/ops/_op_impl/aicpu/coalesce.py +37 -0
- mindspore/ops/_op_impl/aicpu/col2im.py +38 -0
- mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
- mindspore/ops/_op_impl/aicpu/compare_and_bitpack.py +37 -0
- mindspore/ops/_op_impl/aicpu/complex.py +32 -0
- mindspore/ops/_op_impl/aicpu/complex_abs.py +31 -0
- mindspore/ops/_op_impl/aicpu/compute_accidental_hits.py +44 -0
- mindspore/ops/_op_impl/aicpu/concat.py +57 -0
- mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
- mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
- mindspore/ops/_op_impl/aicpu/conj.py +42 -0
- mindspore/ops/_op_impl/aicpu/conjugate_transpose.py +58 -0
- mindspore/ops/_op_impl/aicpu/cos.py +34 -0
- mindspore/ops/_op_impl/aicpu/cosh.py +34 -0
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/aicpu/crop_and_resize.py +69 -0
- mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_boxes.py +68 -0
- mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
- mindspore/ops/_op_impl/aicpu/cross.py +42 -0
- mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_dense.py +48 -0
- mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_sparse_tensor.py +51 -0
- mindspore/ops/_op_impl/aicpu/ctc_greedy_decoder.py +35 -0
- mindspore/ops/_op_impl/aicpu/ctc_loss_v2.py +43 -0
- mindspore/ops/_op_impl/aicpu/ctc_loss_v2_grad.py +45 -0
- mindspore/ops/_op_impl/aicpu/ctcloss.py +38 -0
- mindspore/ops/_op_impl/aicpu/cummax.py +41 -0
- mindspore/ops/_op_impl/aicpu/cumprod.py +58 -0
- mindspore/ops/_op_impl/aicpu/cumsum.py +58 -0
- mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
- mindspore/ops/_op_impl/aicpu/data_format_vec_permute.py +32 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
- mindspore/ops/_op_impl/aicpu/dense_to_csr_sparse_matrix.py +49 -0
- mindspore/ops/_op_impl/aicpu/dense_to_dense_set_operation.py +45 -0
- mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
- mindspore/ops/_op_impl/aicpu/depth_to_space.py +44 -0
- mindspore/ops/_op_impl/aicpu/diag.py +36 -0
- mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
- mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
- mindspore/ops/_op_impl/aicpu/digamma.py +31 -0
- mindspore/ops/_op_impl/aicpu/div.py +41 -0
- mindspore/ops/_op_impl/aicpu/div_no_nan.py +35 -0
- mindspore/ops/_op_impl/aicpu/dropout2d.py +42 -0
- mindspore/ops/_op_impl/aicpu/dropout3d.py +42 -0
- mindspore/ops/_op_impl/aicpu/dropout_genmask.py +41 -0
- mindspore/ops/_op_impl/aicpu/dropout_genmask_v3.py +32 -0
- mindspore/ops/_op_impl/aicpu/dynamic_stitch.py +42 -0
- mindspore/ops/_op_impl/aicpu/edit_distance.py +56 -0
- mindspore/ops/_op_impl/aicpu/eig.py +35 -0
- mindspore/ops/_op_impl/aicpu/embedding_lookup.py +102 -0
- mindspore/ops/_op_impl/aicpu/end_of_sequence.py +30 -0
- mindspore/ops/_op_impl/aicpu/environ_create.py +28 -0
- mindspore/ops/_op_impl/aicpu/environ_destroy_all.py +28 -0
- mindspore/ops/_op_impl/aicpu/environ_get.py +41 -0
- mindspore/ops/_op_impl/aicpu/environ_set.py +40 -0
- mindspore/ops/_op_impl/aicpu/eps.py +32 -0
- mindspore/ops/_op_impl/aicpu/equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/exp.py +37 -0
- mindspore/ops/_op_impl/aicpu/expand.py +45 -0
- mindspore/ops/_op_impl/aicpu/expand_dims.py +42 -0
- mindspore/ops/_op_impl/aicpu/expm1.py +34 -0
- mindspore/ops/_op_impl/aicpu/extract_glimpse.py +35 -0
- mindspore/ops/_op_impl/aicpu/eye.py +44 -0
- mindspore/ops/_op_impl/aicpu/fft_with_size.py +47 -0
- mindspore/ops/_op_impl/aicpu/fill_diagonal.py +39 -0
- mindspore/ops/_op_impl/aicpu/fill_v2.py +58 -0
- mindspore/ops/_op_impl/aicpu/flatten.py +43 -0
- mindspore/ops/_op_impl/aicpu/floor_div.py +38 -0
- mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
- mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
- mindspore/ops/_op_impl/aicpu/fractional_avg_pool.py +41 -0
- mindspore/ops/_op_impl/aicpu/fractional_avg_pool_grad.py +41 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool.py +41 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_grad_with_fixed_ksize.py +43 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +65 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad.py +42 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad_with_fixed_ksize.py +42 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool_with_fixed_ksize.py +49 -0
- mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
- mindspore/ops/_op_impl/aicpu/fused_sparse_adam.py +46 -0
- mindspore/ops/_op_impl/aicpu/fused_sparse_ftrl.py +41 -0
- mindspore/ops/_op_impl/aicpu/fused_sparse_lazy_adam.py +46 -0
- mindspore/ops/_op_impl/aicpu/fused_sparse_proximal_adagrad.py +39 -0
- mindspore/ops/_op_impl/aicpu/gamma.py +38 -0
- mindspore/ops/_op_impl/aicpu/gather.py +46 -0
- mindspore/ops/_op_impl/aicpu/gather_d.py +79 -0
- mindspore/ops/_op_impl/aicpu/gather_d_grad_v2.py +79 -0
- mindspore/ops/_op_impl/aicpu/gather_grad.py +54 -0
- mindspore/ops/_op_impl/aicpu/gather_nd.py +56 -0
- mindspore/ops/_op_impl/aicpu/gcd.py +32 -0
- mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +38 -0
- mindspore/ops/_op_impl/aicpu/geqrf.py +32 -0
- mindspore/ops/_op_impl/aicpu/get_next.py +39 -0
- mindspore/ops/_op_impl/aicpu/glu.py +33 -0
- mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/greater.py +41 -0
- mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/grid_sampler_2d.py +35 -0
- mindspore/ops/_op_impl/aicpu/grid_sampler_2d_grad.py +38 -0
- mindspore/ops/_op_impl/aicpu/grid_sampler_3d.py +34 -0
- mindspore/ops/_op_impl/aicpu/grid_sampler_3d_grad.py +38 -0
- mindspore/ops/_op_impl/aicpu/hamming_window.py +57 -0
- mindspore/ops/_op_impl/aicpu/hard_sigmoid.py +32 -0
- mindspore/ops/_op_impl/aicpu/hard_sigmoid_grad.py +33 -0
- mindspore/ops/_op_impl/aicpu/heaviside.py +40 -0
- mindspore/ops/_op_impl/aicpu/histogram.py +35 -0
- mindspore/ops/_op_impl/aicpu/hsv_to_rgb.py +32 -0
- mindspore/ops/_op_impl/aicpu/hypot.py +32 -0
- mindspore/ops/_op_impl/aicpu/identity.py +42 -0
- mindspore/ops/_op_impl/aicpu/identity_n.py +41 -0
- mindspore/ops/_op_impl/aicpu/igamma.py +30 -0
- mindspore/ops/_op_impl/aicpu/igammac.py +30 -0
- mindspore/ops/_op_impl/aicpu/igammagrada.py +30 -0
- mindspore/ops/_op_impl/aicpu/im2col.py +43 -0
- mindspore/ops/_op_impl/aicpu/imag.py +31 -0
- mindspore/ops/_op_impl/aicpu/index_fill.py +54 -0
- mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
- mindspore/ops/_op_impl/aicpu/init_data_set_queue.py +27 -0
- mindspore/ops/_op_impl/aicpu/inplace_index_add.py +39 -0
- mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
- mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
- mindspore/ops/_op_impl/aicpu/is_finite.py +40 -0
- mindspore/ops/_op_impl/aicpu/is_inf.py +31 -0
- mindspore/ops/_op_impl/aicpu/is_nan.py +31 -0
- mindspore/ops/_op_impl/aicpu/kldivloss.py +34 -0
- mindspore/ops/_op_impl/aicpu/kldivlossgrad.py +35 -0
- mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
- mindspore/ops/_op_impl/aicpu/lcm.py +32 -0
- mindspore/ops/_op_impl/aicpu/left_shift.py +38 -0
- mindspore/ops/_op_impl/aicpu/less.py +41 -0
- mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/lgamma.py +33 -0
- mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +57 -0
- mindspore/ops/_op_impl/aicpu/linspace.py +33 -0
- mindspore/ops/_op_impl/aicpu/list_diff.py +50 -0
- mindspore/ops/_op_impl/aicpu/log.py +37 -0
- mindspore/ops/_op_impl/aicpu/log1p.py +34 -0
- mindspore/ops/_op_impl/aicpu/log_matrix_determinant.py +31 -0
- mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +37 -0
- mindspore/ops/_op_impl/aicpu/logical_xor.py +30 -0
- mindspore/ops/_op_impl/aicpu/logit.py +33 -0
- mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/logspace.py +36 -0
- mindspore/ops/_op_impl/aicpu/lower_bound.py +47 -0
- mindspore/ops/_op_impl/aicpu/lstsq.py +34 -0
- mindspore/ops/_op_impl/aicpu/lu.py +39 -0
- mindspore/ops/_op_impl/aicpu/lu_solve.py +32 -0
- mindspore/ops/_op_impl/aicpu/lu_unpack.py +114 -0
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +49 -0
- mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
- mindspore/ops/_op_impl/aicpu/masked_scatter.py +40 -0
- mindspore/ops/_op_impl/aicpu/masked_select.py +31 -0
- mindspore/ops/_op_impl/aicpu/masked_select_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
- mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
- mindspore/ops/_op_impl/aicpu/matrix_determinant.py +30 -0
- mindspore/ops/_op_impl/aicpu/matrix_diag_part_v3.py +54 -0
- mindspore/ops/_op_impl/aicpu/matrix_diag_v3.py +56 -0
- mindspore/ops/_op_impl/aicpu/matrix_exp.py +34 -0
- mindspore/ops/_op_impl/aicpu/matrix_inverse.py +31 -0
- mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
- mindspore/ops/_op_impl/aicpu/matrix_power.py +37 -0
- mindspore/ops/_op_impl/aicpu/matrix_set_diag_v3.py +54 -0
- mindspore/ops/_op_impl/aicpu/matrix_solve.py +35 -0
- mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
- mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
- mindspore/ops/_op_impl/aicpu/max_pool3d_grad_with_argmax.py +60 -0
- mindspore/ops/_op_impl/aicpu/max_pool3d_with_argmax.py +59 -0
- mindspore/ops/_op_impl/aicpu/max_unpool2d.py +57 -0
- mindspore/ops/_op_impl/aicpu/max_unpool2d_grad.py +58 -0
- mindspore/ops/_op_impl/aicpu/max_unpool3d.py +57 -0
- mindspore/ops/_op_impl/aicpu/max_unpool3d_grad.py +58 -0
- mindspore/ops/_op_impl/aicpu/maximum_grad_grad.py +40 -0
- mindspore/ops/_op_impl/aicpu/maxpool_grad_v1.py +46 -0
- mindspore/ops/_op_impl/aicpu/maxpool_v1.py +42 -0
- mindspore/ops/_op_impl/aicpu/median.py +39 -0
- mindspore/ops/_op_impl/aicpu/median_grad.py +45 -0
- mindspore/ops/_op_impl/aicpu/meshgrid.py +41 -0
- mindspore/ops/_op_impl/aicpu/minimum_grad_grad.py +40 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad.py +50 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +48 -0
- mindspore/ops/_op_impl/aicpu/mul.py +43 -0
- mindspore/ops/_op_impl/aicpu/mul_no_nan.py +42 -0
- mindspore/ops/_op_impl/aicpu/multi_margin_loss.py +37 -0
- mindspore/ops/_op_impl/aicpu/multi_margin_loss_grad.py +41 -0
- mindspore/ops/_op_impl/aicpu/multilabel_margin_loss_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/multinomial.py +47 -0
- mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
- mindspore/ops/_op_impl/aicpu/mvlgamma.py +32 -0
- mindspore/ops/_op_impl/aicpu/mvlgamma_grad.py +33 -0
- mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
- mindspore/ops/_op_impl/aicpu/neg.py +36 -0
- mindspore/ops/_op_impl/aicpu/nextafter.py +32 -0
- mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
- mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
- mindspore/ops/_op_impl/aicpu/no_repeat_ngram.py +34 -0
- mindspore/ops/_op_impl/aicpu/non_deterministic_ints.py +33 -0
- mindspore/ops/_op_impl/aicpu/non_max_suppression.py +36 -0
- mindspore/ops/_op_impl/aicpu/non_max_suppression_with_overlaps.py +35 -0
- mindspore/ops/_op_impl/aicpu/non_zero.py +43 -0
- mindspore/ops/_op_impl/aicpu/not_equal.py +39 -0
- mindspore/ops/_op_impl/aicpu/nth_element.py +39 -0
- mindspore/ops/_op_impl/aicpu/nuclear_norm.py +33 -0
- mindspore/ops/_op_impl/aicpu/one_hot.py +116 -0
- mindspore/ops/_op_impl/aicpu/ones_like.py +39 -0
- mindspore/ops/_op_impl/aicpu/orgqr.py +34 -0
- mindspore/ops/_op_impl/aicpu/pad_and_shift.py +33 -0
- mindspore/ops/_op_impl/aicpu/pad_v3.py +61 -0
- mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +59 -0
- mindspore/ops/_op_impl/aicpu/padding.py +41 -0
- mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +54 -0
- mindspore/ops/_op_impl/aicpu/pdist_grad.py +33 -0
- mindspore/ops/_op_impl/aicpu/poisson.py +37 -0
- mindspore/ops/_op_impl/aicpu/polar.py +32 -0
- mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
- mindspore/ops/_op_impl/aicpu/pow.py +39 -0
- mindspore/ops/_op_impl/aicpu/print_tensor.py +39 -0
- mindspore/ops/_op_impl/aicpu/priority_replay_buffer.py +113 -0
- mindspore/ops/_op_impl/aicpu/qr.py +36 -0
- mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
- mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
- mindspore/ops/_op_impl/aicpu/ragged_range.py +49 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
- mindspore/ops/_op_impl/aicpu/random_categorical.py +68 -0
- mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +36 -0
- mindspore/ops/_op_impl/aicpu/random_gamma.py +38 -0
- mindspore/ops/_op_impl/aicpu/random_poisson.py +134 -0
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +47 -0
- mindspore/ops/_op_impl/aicpu/randperm.py +38 -0
- mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
- mindspore/ops/_op_impl/aicpu/range.py +36 -0
- mindspore/ops/_op_impl/aicpu/range_v2.py +35 -0
- mindspore/ops/_op_impl/aicpu/real.py +31 -0
- mindspore/ops/_op_impl/aicpu/real_div.py +40 -0
- mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
- mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/reduce_mean.py +57 -0
- mindspore/ops/_op_impl/aicpu/reduce_prod.py +57 -0
- mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
- mindspore/ops/_op_impl/aicpu/relu_grad_v3.py +41 -0
- mindspore/ops/_op_impl/aicpu/relu_v3.py +38 -0
- mindspore/ops/_op_impl/aicpu/reservoir_replay_buffer.py +96 -0
- mindspore/ops/_op_impl/aicpu/reshape.py +42 -0
- mindspore/ops/_op_impl/aicpu/resize_area.py +40 -0
- mindspore/ops/_op_impl/aicpu/resize_bicubic.py +20 -0
- mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +19 -0
- mindspore/ops/_op_impl/aicpu/resize_bilinear.py +32 -0
- mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +32 -0
- mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +36 -0
- mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
- mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
- mindspore/ops/_op_impl/aicpu/reverse_sequence.py +55 -0
- mindspore/ops/_op_impl/aicpu/reversev2.py +54 -0
- mindspore/ops/_op_impl/aicpu/rgb_to_hsv.py +32 -0
- mindspore/ops/_op_impl/aicpu/right_shift.py +38 -0
- mindspore/ops/_op_impl/aicpu/rnnt_loss.py +35 -0
- mindspore/ops/_op_impl/aicpu/round.py +34 -0
- mindspore/ops/_op_impl/aicpu/rsqrt.py +33 -0
- mindspore/ops/_op_impl/aicpu/rsqrt_grad.py +36 -0
- mindspore/ops/_op_impl/aicpu/sample_distorted_bounding_box_v2.py +49 -0
- mindspore/ops/_op_impl/aicpu/scale_and_translate.py +52 -0
- mindspore/ops/_op_impl/aicpu/scale_and_translate_grad.py +36 -0
- mindspore/ops/_op_impl/aicpu/scatter.py +79 -0
- mindspore/ops/_op_impl/aicpu/scatter_add_with_axis.py +53 -0
- mindspore/ops/_op_impl/aicpu/scatter_elements.py +39 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd.py +59 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd_max.py +54 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd_min.py +54 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +59 -0
- mindspore/ops/_op_impl/aicpu/search_sorted.py +44 -0
- mindspore/ops/_op_impl/aicpu/segment_max.py +52 -0
- mindspore/ops/_op_impl/aicpu/segment_mean.py +56 -0
- mindspore/ops/_op_impl/aicpu/segment_min.py +52 -0
- mindspore/ops/_op_impl/aicpu/segment_prod.py +56 -0
- mindspore/ops/_op_impl/aicpu/segment_sum.py +56 -0
- mindspore/ops/_op_impl/aicpu/select.py +45 -0
- mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
- mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
- mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
- mindspore/ops/_op_impl/aicpu/set_size.py +38 -0
- mindspore/ops/_op_impl/aicpu/sign.py +36 -0
- mindspore/ops/_op_impl/aicpu/sin.py +34 -0
- mindspore/ops/_op_impl/aicpu/sinc.py +43 -0
- mindspore/ops/_op_impl/aicpu/sinh.py +34 -0
- mindspore/ops/_op_impl/aicpu/slice.py +59 -0
- mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/sort.py +39 -0
- mindspore/ops/_op_impl/aicpu/space_to_depth.py +44 -0
- mindspore/ops/_op_impl/aicpu/sparse_addmm.py +87 -0
- mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +80 -0
- mindspore/ops/_op_impl/aicpu/sparse_apply_centered_rms_prop.py +105 -0
- mindspore/ops/_op_impl/aicpu/sparse_apply_momentum.py +80 -0
- mindspore/ops/_op_impl/aicpu/sparse_apply_proximal_gradient_descent.py +79 -0
- mindspore/ops/_op_impl/aicpu/sparse_concat.py +59 -0
- mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
- mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_add.py +58 -0
- mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_div.py +58 -0
- mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_mul.py +58 -0
- mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
- mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
- mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
- mindspore/ops/_op_impl/aicpu/sparse_matrix_nnz.py +81 -0
- mindspore/ops/_op_impl/aicpu/sparse_matrix_transpose.py +116 -0
- mindspore/ops/_op_impl/aicpu/sparse_reorder.py +56 -0
- mindspore/ops/_op_impl/aicpu/sparse_reshape.py +34 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_mean_grad.py +36 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_mean_with_num_segments.py +44 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n.py +43 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_grad.py +38 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_with_num_segments.py +44 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_sum.py +49 -0
- mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
- mindspore/ops/_op_impl/aicpu/sparse_softmax.py +33 -0
- mindspore/ops/_op_impl/aicpu/sparse_softmax_cross_entropy_with_logits_v2.py +35 -0
- mindspore/ops/_op_impl/aicpu/sparse_sparse_maximum.py +53 -0
- mindspore/ops/_op_impl/aicpu/sparse_sparse_minimum.py +53 -0
- mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_add.py +84 -0
- mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_mat_mul.py +190 -0
- mindspore/ops/_op_impl/aicpu/sparse_tensor_to_csr_sparse_matrix.py +51 -0
- mindspore/ops/_op_impl/aicpu/sparse_to_dense_v2.py +73 -0
- mindspore/ops/_op_impl/aicpu/split.py +45 -0
- mindspore/ops/_op_impl/aicpu/sqrt.py +34 -0
- mindspore/ops/_op_impl/aicpu/sqrt_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/square.py +35 -0
- mindspore/ops/_op_impl/aicpu/squared_difference.py +37 -0
- mindspore/ops/_op_impl/aicpu/squeeze.py +42 -0
- mindspore/ops/_op_impl/aicpu/sspaddmm.py +97 -0
- mindspore/ops/_op_impl/aicpu/stack.py +45 -0
- mindspore/ops/_op_impl/aicpu/stack_push_pop.py +87 -0
- mindspore/ops/_op_impl/aicpu/standard_laplace.py +34 -0
- mindspore/ops/_op_impl/aicpu/standard_normal.py +34 -0
- mindspore/ops/_op_impl/aicpu/stateless_dropout_genmask.py +37 -0
- mindspore/ops/_op_impl/aicpu/stft.py +70 -0
- mindspore/ops/_op_impl/aicpu/strided_slice.py +43 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_grad.py +50 -0
- mindspore/ops/_op_impl/aicpu/sub.py +41 -0
- mindspore/ops/_op_impl/aicpu/sub_and_filter.py +36 -0
- mindspore/ops/_op_impl/aicpu/tan.py +34 -0
- mindspore/ops/_op_impl/aicpu/tanh.py +34 -0
- mindspore/ops/_op_impl/aicpu/tanh_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
- mindspore/ops/_op_impl/aicpu/tile.py +56 -0
- mindspore/ops/_op_impl/aicpu/topk.py +34 -0
- mindspore/ops/_op_impl/aicpu/trace.py +40 -0
- mindspore/ops/_op_impl/aicpu/tracegrad.py +41 -0
- mindspore/ops/_op_impl/aicpu/trans_data.py +35 -0
- mindspore/ops/_op_impl/aicpu/transpose.py +58 -0
- mindspore/ops/_op_impl/aicpu/tridiagonal_matmul.py +42 -0
- mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
- mindspore/ops/_op_impl/aicpu/tril.py +42 -0
- mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/triplet_margin_loss.py +62 -0
- mindspore/ops/_op_impl/aicpu/triu.py +43 -0
- mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/truncated_normal.py +39 -0
- mindspore/ops/_op_impl/aicpu/uniform.py +36 -0
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +41 -0
- mindspore/ops/_op_impl/aicpu/uniform_int.py +36 -0
- mindspore/ops/_op_impl/aicpu/uniform_real.py +33 -0
- mindspore/ops/_op_impl/aicpu/unique.py +31 -0
- mindspore/ops/_op_impl/aicpu/unique_consecutive.py +47 -0
- mindspore/ops/_op_impl/aicpu/unique_with_pad.py +32 -0
- mindspore/ops/_op_impl/aicpu/unravel_index.py +32 -0
- mindspore/ops/_op_impl/aicpu/unsorted_segment_prod.py +53 -0
- mindspore/ops/_op_impl/aicpu/unsorted_segment_sum.py +57 -0
- mindspore/ops/_op_impl/aicpu/unstack.py +45 -0
- mindspore/ops/_op_impl/aicpu/update_cache.py +44 -0
- mindspore/ops/_op_impl/aicpu/upper_bound.py +47 -0
- mindspore/ops/_op_impl/aicpu/upsample_nearest_3d.py +42 -0
- mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +49 -0
- mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +40 -0
- mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +50 -0
- mindspore/ops/_op_impl/aicpu/xdivy.py +35 -0
- mindspore/ops/_op_impl/aicpu/xlogy.py +33 -0
- mindspore/ops/_op_impl/aicpu/zeros_like.py +42 -0
- mindspore/ops/_op_impl/aicpu/zeta.py +31 -0
- mindspore/ops/_op_impl/akg/__init__.py +19 -0
- mindspore/ops/_op_impl/akg/ascend/__init__.py +48 -0
- mindspore/ops/_op_impl/akg/ascend/abs.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/add.py +42 -0
- mindspore/ops/_op_impl/akg/ascend/add_n.py +37 -0
- mindspore/ops/_op_impl/akg/ascend/batchmatmul.py +33 -0
- mindspore/ops/_op_impl/akg/ascend/cast.py +46 -0
- mindspore/ops/_op_impl/akg/ascend/equal.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/exp.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/expand_dims.py +33 -0
- mindspore/ops/_op_impl/akg/ascend/greater.py +34 -0
- mindspore/ops/_op_impl/akg/ascend/greater_equal.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/less.py +31 -0
- mindspore/ops/_op_impl/akg/ascend/less_equal.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/load_im2col.py +33 -0
- mindspore/ops/_op_impl/akg/ascend/log.py +34 -0
- mindspore/ops/_op_impl/akg/ascend/maximum.py +36 -0
- mindspore/ops/_op_impl/akg/ascend/minimum.py +39 -0
- mindspore/ops/_op_impl/akg/ascend/mul.py +41 -0
- mindspore/ops/_op_impl/akg/ascend/neg.py +37 -0
- mindspore/ops/_op_impl/akg/ascend/pow.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/prod_force_se_a.py +33 -0
- mindspore/ops/_op_impl/akg/ascend/real_div.py +36 -0
- mindspore/ops/_op_impl/akg/ascend/reciprocal.py +32 -0
- mindspore/ops/_op_impl/akg/ascend/reduce_max.py +32 -0
- mindspore/ops/_op_impl/akg/ascend/reduce_min.py +32 -0
- mindspore/ops/_op_impl/akg/ascend/reduce_sum.py +37 -0
- mindspore/ops/_op_impl/akg/ascend/rsqrt.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/select.py +37 -0
- mindspore/ops/_op_impl/akg/ascend/sqrt.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/square.py +35 -0
- mindspore/ops/_op_impl/akg/ascend/sub.py +42 -0
- mindspore/ops/_op_impl/akg/cpu/__init__.py +23 -0
- mindspore/ops/_op_impl/akg/cpu/coo2csr.py +29 -0
- mindspore/ops/_op_impl/akg/cpu/csr2coo.py +29 -0
- mindspore/ops/_op_impl/akg/cpu/csr_gather.py +33 -0
- mindspore/ops/_op_impl/akg/cpu/csr_mm.py +34 -0
- mindspore/ops/_op_impl/akg/cpu/csr_mul.py +33 -0
- mindspore/ops/_op_impl/akg/cpu/csr_mv.py +33 -0
- mindspore/ops/_op_impl/akg/cpu/csr_reduce_sum.py +31 -0
- mindspore/ops/_op_impl/akg/gpu/__init__.py +24 -0
- mindspore/ops/_op_impl/akg/gpu/coo2csr.py +29 -0
- mindspore/ops/_op_impl/akg/gpu/csr2coo.py +29 -0
- mindspore/ops/_op_impl/akg/gpu/csr_div.py +36 -0
- mindspore/ops/_op_impl/akg/gpu/csr_gather.py +33 -0
- mindspore/ops/_op_impl/akg/gpu/csr_mm.py +37 -0
- mindspore/ops/_op_impl/akg/gpu/csr_mul.py +36 -0
- mindspore/ops/_op_impl/akg/gpu/csr_mv.py +36 -0
- mindspore/ops/_op_impl/akg/gpu/csr_reduce_sum.py +33 -0
- mindspore/ops/_op_impl/cpu/__init__.py +78 -0
- mindspore/ops/_op_impl/cpu/adam.py +49 -0
- mindspore/ops/_op_impl/cpu/adam_weight_decay.py +47 -0
- mindspore/ops/_op_impl/cpu/arg_max.py +30 -0
- mindspore/ops/_op_impl/cpu/arg_max_with_value.py +31 -0
- mindspore/ops/_op_impl/cpu/arg_min_with_value.py +31 -0
- mindspore/ops/_op_impl/cpu/buffer_append.py +28 -0
- mindspore/ops/_op_impl/cpu/buffer_get.py +28 -0
- mindspore/ops/_op_impl/cpu/buffer_sample.py +28 -0
- mindspore/ops/_op_impl/cpu/cast.py +171 -0
- mindspore/ops/_op_impl/cpu/concat_offset.py +38 -0
- mindspore/ops/_op_impl/cpu/conv2d.py +30 -0
- mindspore/ops/_op_impl/cpu/conv3d.py +30 -0
- mindspore/ops/_op_impl/cpu/div.py +32 -0
- mindspore/ops/_op_impl/cpu/dropout.py +31 -0
- mindspore/ops/_op_impl/cpu/dropout_grad.py +30 -0
- mindspore/ops/_op_impl/cpu/dynamic_shape.py +42 -0
- mindspore/ops/_op_impl/cpu/dynamic_stitch.py +41 -0
- mindspore/ops/_op_impl/cpu/equal_count.py +30 -0
- mindspore/ops/_op_impl/cpu/gather_d.py +49 -0
- mindspore/ops/_op_impl/cpu/gather_d_grad.py +38 -0
- mindspore/ops/_op_impl/cpu/gather_d_grad_v2.py +40 -0
- mindspore/ops/_op_impl/cpu/gather_v2.py +40 -0
- mindspore/ops/_op_impl/cpu/hsigmoid.py +33 -0
- mindspore/ops/_op_impl/cpu/hsigmoid_grad.py +34 -0
- mindspore/ops/_op_impl/cpu/hswish.py +32 -0
- mindspore/ops/_op_impl/cpu/hswish_grad.py +33 -0
- mindspore/ops/_op_impl/cpu/identity_n.py +40 -0
- mindspore/ops/_op_impl/cpu/is_finite.py +39 -0
- mindspore/ops/_op_impl/cpu/l2loss.py +30 -0
- mindspore/ops/_op_impl/cpu/layer_norm.py +36 -0
- mindspore/ops/_op_impl/cpu/layer_norm_grad.py +38 -0
- mindspore/ops/_op_impl/cpu/maximum.py +35 -0
- mindspore/ops/_op_impl/cpu/maximum_grad.py +47 -0
- mindspore/ops/_op_impl/cpu/minimum.py +40 -0
- mindspore/ops/_op_impl/cpu/minimum_grad.py +51 -0
- mindspore/ops/_op_impl/cpu/mirror_pad.py +36 -0
- mindspore/ops/_op_impl/cpu/mirror_pad_grad.py +36 -0
- mindspore/ops/_op_impl/cpu/mul.py +32 -0
- mindspore/ops/_op_impl/cpu/one_hot.py +31 -0
- mindspore/ops/_op_impl/cpu/pad.py +32 -0
- mindspore/ops/_op_impl/cpu/pow.py +32 -0
- mindspore/ops/_op_impl/cpu/priority_replay_buffer.py +42 -0
- mindspore/ops/_op_impl/cpu/pyexecute.py +29 -0
- mindspore/ops/_op_impl/cpu/pyfunc.py +29 -0
- mindspore/ops/_op_impl/cpu/range.py +34 -0
- mindspore/ops/_op_impl/cpu/real_div.py +33 -0
- mindspore/ops/_op_impl/cpu/reduce_all.py +29 -0
- mindspore/ops/_op_impl/cpu/reduce_any.py +29 -0
- mindspore/ops/_op_impl/cpu/reduce_max.py +32 -0
- mindspore/ops/_op_impl/cpu/reduce_mean.py +40 -0
- mindspore/ops/_op_impl/cpu/reduce_min.py +32 -0
- mindspore/ops/_op_impl/cpu/reduce_prod.py +40 -0
- mindspore/ops/_op_impl/cpu/reduce_std.py +31 -0
- mindspore/ops/_op_impl/cpu/reduce_sum.py +41 -0
- mindspore/ops/_op_impl/cpu/space_to_batch_nd.py +38 -0
- mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
- mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
- mindspore/ops/_op_impl/cpu/split.py +34 -0
- mindspore/ops/_op_impl/cpu/sspaddmm.py +95 -0
- mindspore/ops/_op_impl/cpu/stack.py +38 -0
- mindspore/ops/_op_impl/cpu/sub.py +32 -0
- mindspore/ops/_op_impl/cpu/tensor_copy_slices.py +41 -0
- mindspore/ops/_op_impl/cpu/tile.py +37 -0
- mindspore/ops/_op_impl/cpu/top_k.py +31 -0
- mindspore/ops/_op_impl/cpu/transpose.py +39 -0
- mindspore/ops/_primitive_cache.py +90 -0
- mindspore/ops/_register_for_op.py +73 -0
- mindspore/ops/_utils/__init__.py +20 -0
- mindspore/ops/_utils/utils.py +147 -0
- mindspore/ops/_vmap/__init__.py +25 -0
- mindspore/ops/_vmap/vmap_array_ops.py +2149 -0
- mindspore/ops/_vmap/vmap_base.py +533 -0
- mindspore/ops/_vmap/vmap_convolution_ops.py +441 -0
- mindspore/ops/_vmap/vmap_debug_ops.py +50 -0
- mindspore/ops/_vmap/vmap_grad_math_ops.py +274 -0
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +806 -0
- mindspore/ops/_vmap/vmap_image_ops.py +194 -0
- mindspore/ops/_vmap/vmap_math_ops.py +993 -0
- mindspore/ops/_vmap/vmap_nn_ops.py +2250 -0
- mindspore/ops/_vmap/vmap_other_ops.py +105 -0
- mindspore/ops/_vmap/vmap_random_ops.py +122 -0
- mindspore/ops/_vmap/vmap_sparse_ops.py +89 -0
- mindspore/ops/auto_generate/__init__.py +31 -0
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +309 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +252 -0
- mindspore/ops/auto_generate/gen_arg_handler.py +197 -0
- mindspore/ops/auto_generate/gen_extend_func.py +1701 -0
- mindspore/ops/auto_generate/gen_ops_def.py +8482 -0
- mindspore/ops/auto_generate/gen_ops_prim.py +16704 -0
- mindspore/ops/auto_generate/pyboost_inner_prim.py +549 -0
- mindspore/ops/composite/__init__.py +71 -0
- mindspore/ops/composite/base.py +1318 -0
- mindspore/ops/composite/env_ops.py +41 -0
- mindspore/ops/composite/math_ops.py +125 -0
- mindspore/ops/composite/multitype_ops/__init__.py +77 -0
- mindspore/ops/composite/multitype_ops/_compile_utils.py +1459 -0
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +897 -0
- mindspore/ops/composite/multitype_ops/add_impl.py +606 -0
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +56 -0
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +56 -0
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +56 -0
- mindspore/ops/composite/multitype_ops/div_impl.py +189 -0
- mindspore/ops/composite/multitype_ops/equal_impl.py +335 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +88 -0
- mindspore/ops/composite/multitype_ops/getitem_impl.py +400 -0
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +109 -0
- mindspore/ops/composite/multitype_ops/greater_impl.py +110 -0
- mindspore/ops/composite/multitype_ops/in_impl.py +196 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +37 -0
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +111 -0
- mindspore/ops/composite/multitype_ops/less_impl.py +112 -0
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +113 -0
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +60 -0
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +61 -0
- mindspore/ops/composite/multitype_ops/mod_impl.py +86 -0
- mindspore/ops/composite/multitype_ops/mul_impl.py +294 -0
- mindspore/ops/composite/multitype_ops/negative_impl.py +79 -0
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +290 -0
- mindspore/ops/composite/multitype_ops/not_in_impl.py +196 -0
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +96 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +87 -0
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +37 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +884 -0
- mindspore/ops/composite/multitype_ops/sub_impl.py +116 -0
- mindspore/ops/composite/multitype_ops/uadd_impl.py +29 -0
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +228 -0
- mindspore/ops/deprecated.py +315 -0
- mindspore/ops/function/__init__.py +782 -0
- mindspore/ops/function/array_func.py +7226 -0
- mindspore/ops/function/clip_func.py +384 -0
- mindspore/ops/function/debug_func.py +181 -0
- mindspore/ops/function/fft_func.py +44 -0
- mindspore/ops/function/grad/__init__.py +34 -0
- mindspore/ops/function/grad/grad_func.py +1425 -0
- mindspore/ops/function/image_func.py +292 -0
- mindspore/ops/function/linalg_func.py +416 -0
- mindspore/ops/function/math_func.py +12228 -0
- mindspore/ops/function/nn_func.py +8609 -0
- mindspore/ops/function/other_func.py +115 -0
- mindspore/ops/function/parameter_func.py +134 -0
- mindspore/ops/function/random_func.py +1715 -0
- mindspore/ops/function/reshard_func.py +104 -0
- mindspore/ops/function/sparse_func.py +884 -0
- mindspore/ops/function/sparse_unary_func.py +2422 -0
- mindspore/ops/function/spectral_func.py +150 -0
- mindspore/ops/function/vmap_func.py +117 -0
- mindspore/ops/functional.py +464 -0
- mindspore/ops/op_info_register.py +1572 -0
- mindspore/ops/operations/__init__.py +722 -0
- mindspore/ops/operations/_csr_ops.py +403 -0
- mindspore/ops/operations/_custom_grad.py +181 -0
- mindspore/ops/operations/_embedding_cache_ops.py +307 -0
- mindspore/ops/operations/_grad_ops.py +2978 -0
- mindspore/ops/operations/_infer_ops.py +19 -0
- mindspore/ops/operations/_inner_ops.py +2544 -0
- mindspore/ops/operations/_map_tensor_ops.py +112 -0
- mindspore/ops/operations/_ms_kernel.py +601 -0
- mindspore/ops/operations/_ocr_ops.py +379 -0
- mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
- mindspore/ops/operations/_pyfunc_registry.py +58 -0
- mindspore/ops/operations/_quant_ops.py +1844 -0
- mindspore/ops/operations/_rl_inner_ops.py +1231 -0
- mindspore/ops/operations/_scalar_ops.py +106 -0
- mindspore/ops/operations/_sequence_ops.py +1155 -0
- mindspore/ops/operations/_sparse_grad_ops.py +56 -0
- mindspore/ops/operations/_tensor_array.py +359 -0
- mindspore/ops/operations/_thor_ops.py +807 -0
- mindspore/ops/operations/array_ops.py +6124 -0
- mindspore/ops/operations/comm_ops.py +1985 -0
- mindspore/ops/operations/control_ops.py +127 -0
- mindspore/ops/operations/custom_ops.py +1129 -0
- mindspore/ops/operations/debug_ops.py +678 -0
- mindspore/ops/operations/image_ops.py +1041 -0
- mindspore/ops/operations/inner_ops.py +697 -0
- mindspore/ops/operations/linalg_ops.py +95 -0
- mindspore/ops/operations/manually_defined/__init__.py +24 -0
- mindspore/ops/operations/manually_defined/_inner.py +73 -0
- mindspore/ops/operations/manually_defined/ops_def.py +2271 -0
- mindspore/ops/operations/math_ops.py +5095 -0
- mindspore/ops/operations/nn_ops.py +9575 -0
- mindspore/ops/operations/other_ops.py +874 -0
- mindspore/ops/operations/random_ops.py +1288 -0
- mindspore/ops/operations/reshard_ops.py +53 -0
- mindspore/ops/operations/rl_ops.py +288 -0
- mindspore/ops/operations/sparse_ops.py +2753 -0
- mindspore/ops/operations/spectral_ops.py +111 -0
- mindspore/ops/primitive.py +1046 -0
- mindspore/ops/signature.py +54 -0
- mindspore/ops/vm_impl_registry.py +91 -0
- mindspore/ops_generate/__init__.py +27 -0
- mindspore/ops_generate/arg_dtype_cast.py +252 -0
- mindspore/ops_generate/arg_handler.py +197 -0
- mindspore/ops_generate/gen_aclnn_implement.py +263 -0
- mindspore/ops_generate/gen_constants.py +36 -0
- mindspore/ops_generate/gen_ops.py +1099 -0
- mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
- mindspore/ops_generate/gen_pyboost_func.py +1052 -0
- mindspore/ops_generate/gen_utils.py +209 -0
- mindspore/ops_generate/op_proto.py +145 -0
- mindspore/ops_generate/pyboost_utils.py +367 -0
- mindspore/ops_generate/template.py +261 -0
- mindspore/parallel/__init__.py +30 -0
- mindspore/parallel/_auto_parallel_context.py +1486 -0
- mindspore/parallel/_cell_wrapper.py +174 -0
- mindspore/parallel/_cost_model_context.py +700 -0
- mindspore/parallel/_dp_allreduce_fusion.py +159 -0
- mindspore/parallel/_offload_context.py +275 -0
- mindspore/parallel/_parallel_serialization.py +561 -0
- mindspore/parallel/_ps_context.py +242 -0
- mindspore/parallel/_recovery_context.py +110 -0
- mindspore/parallel/_tensor.py +730 -0
- mindspore/parallel/_transformer/__init__.py +35 -0
- mindspore/parallel/_transformer/layers.py +765 -0
- mindspore/parallel/_transformer/loss.py +251 -0
- mindspore/parallel/_transformer/moe.py +693 -0
- mindspore/parallel/_transformer/op_parallel_config.py +222 -0
- mindspore/parallel/_transformer/transformer.py +3119 -0
- mindspore/parallel/_utils.py +612 -0
- mindspore/parallel/algo_parameter_config.py +400 -0
- mindspore/parallel/checkpoint_transform.py +650 -0
- mindspore/parallel/cluster/__init__.py +15 -0
- mindspore/parallel/cluster/process_entity/__init__.py +18 -0
- mindspore/parallel/cluster/process_entity/_api.py +352 -0
- mindspore/parallel/cluster/process_entity/_utils.py +101 -0
- mindspore/parallel/cluster/run.py +136 -0
- mindspore/parallel/mpi/__init__.py +14 -0
- mindspore/parallel/mpi/_mpi_config.py +116 -0
- mindspore/parallel/parameter_broadcast.py +151 -0
- mindspore/parallel/shard.py +481 -0
- mindspore/parallel/transform_safetensors.py +993 -0
- mindspore/perf_msvcbuildinsights.dll +0 -0
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +28 -0
- mindspore/profiler/common/__init__.py +14 -0
- mindspore/profiler/common/constant.py +29 -0
- mindspore/profiler/common/exceptions/__init__.py +14 -0
- mindspore/profiler/common/exceptions/error_code.py +83 -0
- mindspore/profiler/common/exceptions/exceptions.py +286 -0
- mindspore/profiler/common/process_pool.py +41 -0
- mindspore/profiler/common/registry.py +47 -0
- mindspore/profiler/common/singleton.py +28 -0
- mindspore/profiler/common/struct_type.py +118 -0
- mindspore/profiler/common/util.py +472 -0
- mindspore/profiler/common/validator/__init__.py +14 -0
- mindspore/profiler/common/validator/validate_path.py +84 -0
- mindspore/profiler/dynamic_profiler.py +694 -0
- mindspore/profiler/envprofiling.py +254 -0
- mindspore/profiler/parser/__init__.py +14 -0
- mindspore/profiler/parser/aicpu_data_parser.py +272 -0
- mindspore/profiler/parser/ascend_analysis/__init__.py +14 -0
- mindspore/profiler/parser/ascend_analysis/constant.py +71 -0
- mindspore/profiler/parser/ascend_analysis/file_manager.py +180 -0
- mindspore/profiler/parser/ascend_analysis/function_event.py +185 -0
- mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +136 -0
- mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +131 -0
- mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +104 -0
- mindspore/profiler/parser/ascend_analysis/path_manager.py +313 -0
- mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +123 -0
- mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
- mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +75 -0
- mindspore/profiler/parser/ascend_cluster_generator.py +116 -0
- mindspore/profiler/parser/ascend_communicate_generator.py +314 -0
- mindspore/profiler/parser/ascend_flops_generator.py +116 -0
- mindspore/profiler/parser/ascend_fpbp_generator.py +82 -0
- mindspore/profiler/parser/ascend_hccl_generator.py +271 -0
- mindspore/profiler/parser/ascend_integrate_generator.py +42 -0
- mindspore/profiler/parser/ascend_memory_generator.py +185 -0
- mindspore/profiler/parser/ascend_msprof_exporter.py +282 -0
- mindspore/profiler/parser/ascend_msprof_generator.py +187 -0
- mindspore/profiler/parser/ascend_op_generator.py +334 -0
- mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
- mindspore/profiler/parser/ascend_timeline_generator.py +545 -0
- mindspore/profiler/parser/base_timeline_generator.py +483 -0
- mindspore/profiler/parser/container.py +229 -0
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +697 -0
- mindspore/profiler/parser/flops_parser.py +531 -0
- mindspore/profiler/parser/framework_enum.py +111 -0
- mindspore/profiler/parser/framework_parser.py +464 -0
- mindspore/profiler/parser/framework_struct.py +61 -0
- mindspore/profiler/parser/gpu_analysis/__init__.py +14 -0
- mindspore/profiler/parser/gpu_analysis/function_event.py +44 -0
- mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +89 -0
- mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +72 -0
- mindspore/profiler/parser/hccl_parser.py +573 -0
- mindspore/profiler/parser/hwts_log_parser.py +122 -0
- mindspore/profiler/parser/integrator.py +526 -0
- mindspore/profiler/parser/memory_usage_parser.py +277 -0
- mindspore/profiler/parser/minddata_analyzer.py +800 -0
- mindspore/profiler/parser/minddata_parser.py +186 -0
- mindspore/profiler/parser/minddata_pipeline_parser.py +299 -0
- mindspore/profiler/parser/op_intermediate_parser.py +149 -0
- mindspore/profiler/parser/optime_parser.py +250 -0
- mindspore/profiler/parser/profiler_info.py +213 -0
- mindspore/profiler/parser/step_trace_parser.py +666 -0
- mindspore/profiler/profiler.py +153 -0
- mindspore/profiler/profiling.py +1922 -0
- mindspore/rewrite/__init__.py +28 -0
- mindspore/rewrite/api/__init__.py +17 -0
- mindspore/rewrite/api/node.py +519 -0
- mindspore/rewrite/api/node_type.py +53 -0
- mindspore/rewrite/api/pattern_engine.py +490 -0
- mindspore/rewrite/api/scoped_value.py +181 -0
- mindspore/rewrite/api/symbol_tree.py +497 -0
- mindspore/rewrite/ast_helpers/__init__.py +25 -0
- mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
- mindspore/rewrite/ast_helpers/ast_finder.py +404 -0
- mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +605 -0
- mindspore/rewrite/ast_helpers/ast_replacer.py +79 -0
- mindspore/rewrite/common/__init__.py +19 -0
- mindspore/rewrite/common/config.py +24 -0
- mindspore/rewrite/common/error_log.py +39 -0
- mindspore/rewrite/common/event.py +28 -0
- mindspore/rewrite/common/namer.py +271 -0
- mindspore/rewrite/common/namespace.py +118 -0
- mindspore/rewrite/common/observable.py +44 -0
- mindspore/rewrite/common/observer.py +54 -0
- mindspore/rewrite/node/__init__.py +22 -0
- mindspore/rewrite/node/call_function.py +95 -0
- mindspore/rewrite/node/cell_container.py +139 -0
- mindspore/rewrite/node/control_flow.py +113 -0
- mindspore/rewrite/node/node.py +1428 -0
- mindspore/rewrite/node/node_manager.py +283 -0
- mindspore/rewrite/node/node_topological_manager.py +223 -0
- mindspore/rewrite/parsers/__init__.py +29 -0
- mindspore/rewrite/parsers/arguments_parser.py +63 -0
- mindspore/rewrite/parsers/assign_parser.py +852 -0
- mindspore/rewrite/parsers/attribute_parser.py +57 -0
- mindspore/rewrite/parsers/class_def_parser.py +289 -0
- mindspore/rewrite/parsers/constant_parser.py +104 -0
- mindspore/rewrite/parsers/container_parser.py +88 -0
- mindspore/rewrite/parsers/expr_parser.py +55 -0
- mindspore/rewrite/parsers/for_parser.py +61 -0
- mindspore/rewrite/parsers/function_def_parser.py +84 -0
- mindspore/rewrite/parsers/if_parser.py +85 -0
- mindspore/rewrite/parsers/module_parser.py +117 -0
- mindspore/rewrite/parsers/parser.py +43 -0
- mindspore/rewrite/parsers/parser_register.py +86 -0
- mindspore/rewrite/parsers/return_parser.py +37 -0
- mindspore/rewrite/parsers/while_parser.py +59 -0
- mindspore/rewrite/sparsify/__init__.py +0 -0
- mindspore/rewrite/sparsify/sparse_transformer.py +457 -0
- mindspore/rewrite/sparsify/sparsify.py +112 -0
- mindspore/rewrite/sparsify/utils.py +179 -0
- mindspore/rewrite/symbol_tree/__init__.py +20 -0
- mindspore/rewrite/symbol_tree/symbol_tree.py +1819 -0
- mindspore/rewrite/symbol_tree/symbol_tree_builder.py +76 -0
- mindspore/rewrite/symbol_tree/symbol_tree_dumper.py +142 -0
- mindspore/run_check/__init__.py +20 -0
- mindspore/run_check/_check_version.py +507 -0
- mindspore/run_check/run_check.py +66 -0
- mindspore/safeguard/__init__.py +18 -0
- mindspore/safeguard/rewrite_obfuscation.py +875 -0
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +48 -0
- mindspore/train/_utils.py +465 -0
- mindspore/train/amp.py +935 -0
- mindspore/train/anf_ir_pb2.py +1517 -0
- mindspore/train/callback/__init__.py +44 -0
- mindspore/train/callback/_backup_and_restore.py +117 -0
- mindspore/train/callback/_callback.py +613 -0
- mindspore/train/callback/_checkpoint.py +814 -0
- mindspore/train/callback/_cluster_monitor.py +201 -0
- mindspore/train/callback/_dataset_graph.py +150 -0
- mindspore/train/callback/_early_stop.py +239 -0
- mindspore/train/callback/_flops_collector.py +239 -0
- mindspore/train/callback/_history.py +92 -0
- mindspore/train/callback/_lambda_callback.py +80 -0
- mindspore/train/callback/_landscape.py +1049 -0
- mindspore/train/callback/_loss_monitor.py +107 -0
- mindspore/train/callback/_lr_scheduler_callback.py +76 -0
- mindspore/train/callback/_on_request_exit.py +298 -0
- mindspore/train/callback/_reduce_lr_on_plateau.py +226 -0
- mindspore/train/callback/_summary_collector.py +1184 -0
- mindspore/train/callback/_tft_register.py +352 -0
- mindspore/train/callback/_time_monitor.py +141 -0
- mindspore/train/checkpoint_pb2.py +233 -0
- mindspore/train/data_sink.py +219 -0
- mindspore/train/dataset_helper.py +692 -0
- mindspore/train/lineage_pb2.py +1260 -0
- mindspore/train/loss_scale_manager.py +213 -0
- mindspore/train/memory_profiling_pb2.py +298 -0
- mindspore/train/metrics/__init__.py +175 -0
- mindspore/train/metrics/accuracy.py +133 -0
- mindspore/train/metrics/auc.py +129 -0
- mindspore/train/metrics/bleu_score.py +170 -0
- mindspore/train/metrics/confusion_matrix.py +700 -0
- mindspore/train/metrics/cosine_similarity.py +109 -0
- mindspore/train/metrics/dice.py +116 -0
- mindspore/train/metrics/error.py +175 -0
- mindspore/train/metrics/fbeta.py +167 -0
- mindspore/train/metrics/hausdorff_distance.py +333 -0
- mindspore/train/metrics/loss.py +97 -0
- mindspore/train/metrics/mean_surface_distance.py +189 -0
- mindspore/train/metrics/metric.py +373 -0
- mindspore/train/metrics/occlusion_sensitivity.py +225 -0
- mindspore/train/metrics/perplexity.py +133 -0
- mindspore/train/metrics/precision.py +160 -0
- mindspore/train/metrics/recall.py +159 -0
- mindspore/train/metrics/roc.py +223 -0
- mindspore/train/metrics/root_mean_square_surface_distance.py +191 -0
- mindspore/train/metrics/topk.py +167 -0
- mindspore/train/mind_ir_pb2.py +1908 -0
- mindspore/train/model.py +2252 -0
- mindspore/train/node_strategy_pb2.py +653 -0
- mindspore/train/print_pb2.py +184 -0
- mindspore/train/profiling_parallel_pb2.py +151 -0
- mindspore/train/serialization.py +3325 -0
- mindspore/train/summary/__init__.py +23 -0
- mindspore/train/summary/_lineage_adapter.py +41 -0
- mindspore/train/summary/_summary_adapter.py +496 -0
- mindspore/train/summary/_writer_pool.py +207 -0
- mindspore/train/summary/enums.py +56 -0
- mindspore/train/summary/summary_record.py +581 -0
- mindspore/train/summary/writer.py +167 -0
- mindspore/train/summary_pb2.py +1165 -0
- mindspore/train/train_thor/__init__.py +20 -0
- mindspore/train/train_thor/convert_utils.py +268 -0
- mindspore/train/train_thor/dataset_helper.py +192 -0
- mindspore/train/train_thor/model_thor.py +257 -0
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +21 -0
- mindspore/utils/utils.py +60 -0
- mindspore/vcmeta.dll +0 -0
- mindspore/vcomp140.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -0
- mindspore-2.4.0.dist-info/METADATA +352 -0
- mindspore-2.4.0.dist-info/RECORD +1406 -0
- mindspore-2.4.0.dist-info/WHEEL +5 -0
- mindspore-2.4.0.dist-info/entry_points.txt +3 -0
- mindspore-2.4.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,1092 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2020-2023 Huawei Technologies Co., Ltd
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#ifndef MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_TEXT_H_
|
|
18
|
+
#define MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_TEXT_H_
|
|
19
|
+
|
|
20
|
+
#include <memory>
|
|
21
|
+
#include <optional>
|
|
22
|
+
#include <string>
|
|
23
|
+
#include <unordered_map>
|
|
24
|
+
#include <utility>
|
|
25
|
+
#include <vector>
|
|
26
|
+
|
|
27
|
+
#include "include/api/dual_abi_helper.h"
|
|
28
|
+
#include "include/api/status.h"
|
|
29
|
+
#include "include/dataset/constants.h"
|
|
30
|
+
#include "include/dataset/transforms.h"
|
|
31
|
+
|
|
32
|
+
namespace mindspore {
|
|
33
|
+
namespace dataset {
|
|
34
|
+
class TensorOperation;
|
|
35
|
+
class Vectors;
|
|
36
|
+
|
|
37
|
+
using WordIdType = int32_t;
|
|
38
|
+
using WordType = std::string;
|
|
39
|
+
|
|
40
|
+
/// \brief Vocab object that is used to save pairs of words and ids.
|
|
41
|
+
/// \note It contains a map that maps each word(str) to an id(int) or reverse.
|
|
42
|
+
class Vocab {
|
|
43
|
+
public:
|
|
44
|
+
/// \brief Build a vocab from an unordered_map. IDs should be no duplicate and continuous.
|
|
45
|
+
/// \param[in] words An unordered_map containing word id pair.
|
|
46
|
+
/// \param[out] vocab A vocab object.
|
|
47
|
+
/// \return Status code.
|
|
48
|
+
/// \par Example
|
|
49
|
+
/// \code
|
|
50
|
+
/// // Build a map
|
|
51
|
+
/// std::unordered_map<std::string, int32_t> dict;
|
|
52
|
+
/// dict["banana"] = 0;
|
|
53
|
+
/// dict["apple"] = 1;
|
|
54
|
+
/// dict["cat"] = 2;
|
|
55
|
+
/// dict["dog"] = 3;
|
|
56
|
+
/// // Build vocab from map
|
|
57
|
+
/// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
|
|
58
|
+
/// Status s = Vocab::BuildFromUnorderedMap(dict, &vocab);
|
|
59
|
+
/// \endcode
|
|
60
|
+
static Status BuildFromUnorderedMap(const std::unordered_map<WordType, WordIdType> &words,
|
|
61
|
+
std::shared_ptr<Vocab> *vocab);
|
|
62
|
+
|
|
63
|
+
/// \brief Build a vocab from a c++ vector. id no duplicate and continuous.
|
|
64
|
+
/// \param[in] words A vector of string containing words.
|
|
65
|
+
/// \param[in] special_tokens A vector of string containing special tokens.
|
|
66
|
+
/// \param[in] prepend_special Whether the special_tokens will be prepended/appended to vocab.
|
|
67
|
+
/// \param[out] vocab A vocab object.
|
|
68
|
+
/// \return Status code.
|
|
69
|
+
/// \par Example
|
|
70
|
+
/// \code
|
|
71
|
+
/// // Build vocab from a vector of words, special tokens are prepended to vocab
|
|
72
|
+
/// std::vector<std::string> list = {"apple", "banana", "cat", "dog", "egg"};
|
|
73
|
+
/// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
|
|
74
|
+
/// Status s = Vocab::BuildFromVector(list, {"<unk>"}, true, &vocab);
|
|
75
|
+
/// \endcode
|
|
76
|
+
static Status BuildFromVector(const std::vector<WordType> &words, const std::vector<WordType> &special_tokens,
|
|
77
|
+
bool prepend_special, std::shared_ptr<Vocab> *vocab);
|
|
78
|
+
|
|
79
|
+
/// \brief Build a vocab from vocab file, IDs will be automatically assigned.
|
|
80
|
+
/// \param[in] path Path to vocab file, each line in file is assumed as a word (including space).
|
|
81
|
+
/// \param[in] delimiter Delimiter to break each line, characters after the delimiter will be deprecated.
|
|
82
|
+
/// \param[in] vocab_size Number of lines to be read from file.
|
|
83
|
+
/// \param[in] special_tokens A vector of string containing special tokens.
|
|
84
|
+
/// \param[in] prepend_special Whether the special_tokens will be prepended/appended to vocab.
|
|
85
|
+
/// \param[out] vocab A vocab object.
|
|
86
|
+
/// \return Status code.
|
|
87
|
+
/// \par Example
|
|
88
|
+
/// \code
|
|
89
|
+
/// // Build vocab from local file
|
|
90
|
+
/// std::string vocab_dir = datasets_root_path_ + "/testVocab/vocab_list.txt";
|
|
91
|
+
/// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
|
|
92
|
+
/// Status s = Vocab::BuildFromFile(vocab_dir, ",", -1, {"<pad>", "<unk>"}, true, &vocab);
|
|
93
|
+
/// \endcode
|
|
94
|
+
static Status BuildFromFile(const std::string &path, const std::string &delimiter, int32_t vocab_size,
|
|
95
|
+
const std::vector<WordType> &special_tokens, bool prepend_special,
|
|
96
|
+
std::shared_ptr<Vocab> *vocab);
|
|
97
|
+
|
|
98
|
+
/// Lookup the id of a word, if the word doesn't exist in vocab, return -1.
|
|
99
|
+
/// \param word Word to be looked up.
|
|
100
|
+
/// \return ID of the word in the vocab.
|
|
101
|
+
/// \par Example
|
|
102
|
+
/// \code
|
|
103
|
+
/// // lookup, convert token to id
|
|
104
|
+
/// auto single_index = vocab->TokensToIds("home");
|
|
105
|
+
/// single_index = vocab->TokensToIds("hello");
|
|
106
|
+
/// \endcode
|
|
107
|
+
WordIdType TokensToIds(const WordType &word) const;
|
|
108
|
+
|
|
109
|
+
/// Lookup the id of a word, if the word doesn't exist in vocab, return -1.
|
|
110
|
+
/// \param words Words to be looked up.
|
|
111
|
+
/// \return ID of the word in the vocab.
|
|
112
|
+
/// \par Example
|
|
113
|
+
/// \code
|
|
114
|
+
/// // lookup multiple tokens
|
|
115
|
+
/// auto multi_indexs = vocab->TokensToIds(std::vector<std::string>{"<pad>", "behind"});
|
|
116
|
+
/// std::vector<int32_t> expected_multi_indexs = {0, 4};
|
|
117
|
+
/// multi_indexs = vocab->TokensToIds(std::vector<std::string>{"<pad>", "apple"});
|
|
118
|
+
/// expected_multi_indexs = {0, -1};
|
|
119
|
+
/// \endcode
|
|
120
|
+
std::vector<WordIdType> TokensToIds(const std::vector<WordType> &words) const;
|
|
121
|
+
|
|
122
|
+
/// Lookup the word of an ID, if ID doesn't exist in vocab, return empty string.
|
|
123
|
+
/// \param id ID to be looked up.
|
|
124
|
+
/// \return Indicates the word corresponding to the ID.
|
|
125
|
+
/// \par Example
|
|
126
|
+
/// \code
|
|
127
|
+
/// // reverse lookup, convert id to token
|
|
128
|
+
/// auto single_word = vocab->IdsToTokens(2);
|
|
129
|
+
/// single_word = vocab->IdsToTokens(-1);
|
|
130
|
+
/// \endcode
|
|
131
|
+
WordType IdsToTokens(const WordIdType &id);
|
|
132
|
+
|
|
133
|
+
/// Lookup the word of an ID, if ID doesn't exist in vocab, return empty string.
|
|
134
|
+
/// \param ids ID to be looked up.
|
|
135
|
+
/// \return Indicates the word corresponding to the ID.
|
|
136
|
+
/// \par Example
|
|
137
|
+
/// \code
|
|
138
|
+
/// // reverse lookup multiple ids
|
|
139
|
+
/// auto multi_words = vocab->IdsToTokens(std::vector<int32_t>{0, 4});
|
|
140
|
+
/// std::vector<std::string> expected_multi_words = {"<pad>", "behind"};
|
|
141
|
+
/// multi_words = vocab->IdsToTokens(std::vector<int32_t>{0, 99});
|
|
142
|
+
/// expected_multi_words = {"<pad>", ""};
|
|
143
|
+
/// \endcode
|
|
144
|
+
std::vector<WordType> IdsToTokens(const std::vector<WordIdType> &ids);
|
|
145
|
+
|
|
146
|
+
/// Constructor, shouldn't be called directly, can't be private due to std::make_unique().
|
|
147
|
+
/// \param map Sanitized word2id map.
|
|
148
|
+
explicit Vocab(std::unordered_map<WordType, WordIdType> map);
|
|
149
|
+
|
|
150
|
+
/// \brief Add one word to vocab, increment it's index automatically.
|
|
151
|
+
/// \param word Word to be added, word will skip if word already exists.
|
|
152
|
+
void AppendWord(const std::string &word);
|
|
153
|
+
|
|
154
|
+
/// \brief Return a read-only vocab in unordered_map type.
|
|
155
|
+
/// \return A unordered_map of word2id.
|
|
156
|
+
const std::unordered_map<WordType, WordIdType> &GetVocab() const { return word2id_; }
|
|
157
|
+
|
|
158
|
+
/// \brief Constructor.
|
|
159
|
+
Vocab() = default;
|
|
160
|
+
|
|
161
|
+
/// \brief Destructor.
|
|
162
|
+
~Vocab() = default;
|
|
163
|
+
|
|
164
|
+
static const WordIdType kNoTokenExists;
|
|
165
|
+
static const WordType kNoIdExists;
|
|
166
|
+
|
|
167
|
+
private:
|
|
168
|
+
std::unordered_map<WordType, WordIdType> word2id_;
|
|
169
|
+
std::unordered_map<WordIdType, WordType> id2word_;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
/// \brief SentencePiece object that is used to do words segmentation.
|
|
173
|
+
class SentencePieceVocab {
|
|
174
|
+
public:
|
|
175
|
+
/// \brief Build a SentencePiece object from a file.
|
|
176
|
+
/// \param[in] path_list Path to the file which contains the SentencePiece list.
|
|
177
|
+
/// \param[in] vocab_size Vocabulary size.
|
|
178
|
+
/// \param[in] character_coverage Amount of characters covered by the model, good defaults are: 0.9995 for
|
|
179
|
+
/// languages with rich character set like Japanese or Chinese and 1.0 for other languages with small
|
|
180
|
+
/// character set.
|
|
181
|
+
/// \param[in] model_type It can be any of [SentencePieceModel::kUnigram, SentencePieceModel::kBpe,
|
|
182
|
+
/// SentencePieceModel::kChar, SentencePieceModel::kWord], default is SentencePieceModel::kUnigram. The
|
|
183
|
+
/// input sentence must be pre-tokenized when using SentencePieceModel.WORD type.
|
|
184
|
+
/// - SentencePieceModel.kUnigram, Unigram Language Model means the next word in the sentence is assumed
|
|
185
|
+
/// to be independent of the previous words generated by the model.
|
|
186
|
+
/// - SentencePieceModel.kBpe, refers to byte pair encoding algorithm, which replaces the most frequent
|
|
187
|
+
/// pair of bytes in a sentence with a single, unused byte.
|
|
188
|
+
/// - SentencePieceModel.kChar, refers to char based sentencePiece Model type.
|
|
189
|
+
/// - SentencePieceModel.kWord, refers to word based sentencePiece Model type.
|
|
190
|
+
/// \param[in] params A dictionary with no incoming parameters(The parameters are derived from SentencePiece library).
|
|
191
|
+
/// \param[out] vocab A SentencePieceVocab object.
|
|
192
|
+
/// \return SentencePieceVocab, vocab built from the file.
|
|
193
|
+
/// \par Example
|
|
194
|
+
/// \code
|
|
195
|
+
/// std::string dataset_path;
|
|
196
|
+
/// dataset_path = datasets_root_path_ + "/test_sentencepiece/vocab.txt";
|
|
197
|
+
/// std::vector<std::string> path_list;
|
|
198
|
+
/// path_list.emplace_back(dataset_path);
|
|
199
|
+
/// std::unordered_map<std::string, std::string> param_map;
|
|
200
|
+
/// std::shared_ptr<SentencePieceVocab> spm = std::make_unique<SentencePieceVocab>();
|
|
201
|
+
/// Status rc = SentencePieceVocab::BuildFromFile(path_list, 5000, 0.9995,
|
|
202
|
+
/// SentencePieceModel::kUnigram, param_map, &spm);
|
|
203
|
+
/// \endcode
|
|
204
|
+
static Status BuildFromFile(const std::vector<std::string> &path_list, int32_t vocab_size, float character_coverage,
|
|
205
|
+
const SentencePieceModel &model_type,
|
|
206
|
+
const std::unordered_map<std::string, std::string> ¶ms,
|
|
207
|
+
std::shared_ptr<SentencePieceVocab> *vocab);
|
|
208
|
+
|
|
209
|
+
/// \brief Save the SentencePiece model into given file path.
|
|
210
|
+
/// \param[in] vocab A SentencePiece object to be saved.
|
|
211
|
+
/// \param[in] path Path to store the model.
|
|
212
|
+
/// \param[in] filename The save name of model file.
|
|
213
|
+
/// \par Example
|
|
214
|
+
/// \code
|
|
215
|
+
/// // Save vocab model to local
|
|
216
|
+
/// vocab->SaveModel(&vocab, datasets_root_path_ + "/test_sentencepiece", "m.model");
|
|
217
|
+
/// \endcode
|
|
218
|
+
static Status SaveModel(const std::shared_ptr<SentencePieceVocab> *vocab, const std::string &path,
|
|
219
|
+
const std::string &filename);
|
|
220
|
+
|
|
221
|
+
/// \brief Constructor.
|
|
222
|
+
SentencePieceVocab();
|
|
223
|
+
|
|
224
|
+
/// \brief Destructor.
|
|
225
|
+
~SentencePieceVocab() = default;
|
|
226
|
+
|
|
227
|
+
const std::string &model_proto();
|
|
228
|
+
|
|
229
|
+
void set_model_proto(const std::string &model_proto);
|
|
230
|
+
|
|
231
|
+
private:
|
|
232
|
+
std::string model_proto_;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
// Transform operations for text
|
|
236
|
+
namespace text {
|
|
237
|
+
/// \brief Add token to beginning or end of sequence.
|
|
238
|
+
class DATASET_API AddToken final : public TensorTransform {
|
|
239
|
+
public:
|
|
240
|
+
/// \brief Constructor.
|
|
241
|
+
/// \param[in] token The token to be added.
|
|
242
|
+
/// \param[in] begin Whether to insert token at start or end of sequence. Default: true.
|
|
243
|
+
/// \par Example
|
|
244
|
+
/// \code
|
|
245
|
+
/// /* Define operations */
|
|
246
|
+
/// auto add_token_op = text::AddToken(token='TOKEN', begin=True);
|
|
247
|
+
///
|
|
248
|
+
/// /* dataset is an instance of Dataset object */
|
|
249
|
+
/// dataset = dataset->Map({add_token_op}, // operations
|
|
250
|
+
/// {"text"}); // input columns
|
|
251
|
+
/// \endcode
|
|
252
|
+
explicit AddToken(const std::string &token, bool begin = true);
|
|
253
|
+
|
|
254
|
+
/// \brief Destructor.
|
|
255
|
+
~AddToken() override = default;
|
|
256
|
+
|
|
257
|
+
protected:
|
|
258
|
+
/// \brief Function to convert TensorTransform object into a TensorOperation object.
|
|
259
|
+
/// \return Shared pointer to TensorOperation object.
|
|
260
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
261
|
+
|
|
262
|
+
private:
|
|
263
|
+
struct Data;
|
|
264
|
+
std::shared_ptr<Data> data_;
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
#ifndef _WIN32
|
|
268
|
+
/// \brief Tokenize a scalar tensor of UTF-8 string by specific rules.
|
|
269
|
+
/// \note BasicTokenizer is not supported on the Windows platform yet.
|
|
270
|
+
class DATASET_API BasicTokenizer final : public TensorTransform {
|
|
271
|
+
public:
|
|
272
|
+
/// \brief Constructor.
|
|
273
|
+
/// \param[in] lower_case If true, apply CaseFold, NormalizeUTF8 (NFD mode) and RegexReplace operations to
|
|
274
|
+
/// the input text to fold the text to lower case and strip accents characters. If false, only apply
|
|
275
|
+
/// the NormalizeUTF8('normalization_form' mode) operation to the input text (default=false).
|
|
276
|
+
/// \param[in] keep_whitespace If true, the whitespace will be kept in output tokens (default=false).
|
|
277
|
+
/// \param[in] normalize_form This parameter is used to specify a specific normalize mode. This is only effective
|
|
278
|
+
/// when 'lower_case' is false. See NormalizeUTF8 for details (default=NormalizeForm::kNone).
|
|
279
|
+
/// \param[in] preserve_unused_token If true, do not split special tokens like '[CLS]', '[SEP]', '[UNK]', '[PAD]' and
|
|
280
|
+
/// '[MASK]' (default=true).
|
|
281
|
+
/// \param[in] with_offsets Whether to output offsets of tokens (default=false).
|
|
282
|
+
/// \par Example
|
|
283
|
+
/// \code
|
|
284
|
+
/// /* Define operations */
|
|
285
|
+
/// auto tokenizer_op = text::BasicTokenizer();
|
|
286
|
+
///
|
|
287
|
+
/// /* dataset is an instance of Dataset object */
|
|
288
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
289
|
+
/// {"text"}); // input columns
|
|
290
|
+
/// \endcode
|
|
291
|
+
explicit BasicTokenizer(bool lower_case = false, bool keep_whitespace = false,
|
|
292
|
+
NormalizeForm normalize_form = NormalizeForm::kNone, bool preserve_unused_token = true,
|
|
293
|
+
bool with_offsets = false);
|
|
294
|
+
|
|
295
|
+
/// \brief Destructor
|
|
296
|
+
~BasicTokenizer() override = default;
|
|
297
|
+
|
|
298
|
+
protected:
|
|
299
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
300
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
301
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
302
|
+
|
|
303
|
+
private:
|
|
304
|
+
struct Data;
|
|
305
|
+
std::shared_ptr<Data> data_;
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
/// \brief A tokenizer used for Bert text process.
|
|
309
|
+
/// \note BertTokenizer is not supported on the Windows platform yet.
|
|
310
|
+
class DATASET_API BertTokenizer final : public TensorTransform {
|
|
311
|
+
public:
|
|
312
|
+
/// \brief Constructor.
|
|
313
|
+
/// \param[in] vocab A Vocab object.
|
|
314
|
+
/// \param[in] suffix_indicator This parameter is used to show that the sub-word
|
|
315
|
+
/// is the last part of a word (default='##').
|
|
316
|
+
/// \param[in] max_bytes_per_token Tokens exceeding this length will not be further split (default=100).
|
|
317
|
+
/// \param[in] unknown_token When a token cannot be found, return the token directly if 'unknown_token' is an empty
|
|
318
|
+
/// string, else return the specified string (default='[UNK]').
|
|
319
|
+
/// \param[in] lower_case If true, apply CaseFold, NormalizeUTF8 (NFD mode) and RegexReplace operations to
|
|
320
|
+
/// the input text to fold the text to lower case and strip accents characters. If false, only apply
|
|
321
|
+
/// the NormalizeUTF8('normalization_form' mode) operation to the input text (default=false).
|
|
322
|
+
/// \param[in] keep_whitespace If true, the whitespace will be kept in output tokens (default=false).
|
|
323
|
+
/// \param[in] normalize_form This parameter is used to specify a specific normalize mode. This is only effective
|
|
324
|
+
/// when 'lower_case' is false. See NormalizeUTF8 for details (default=NormalizeForm::kNone).
|
|
325
|
+
/// \param[in] preserve_unused_token If true, do not split special tokens like '[CLS]', '[SEP]', '[UNK]', '[PAD]' and
|
|
326
|
+
/// '[MASK]' (default=true).
|
|
327
|
+
/// \param[in] with_offsets Whether to output offsets of tokens (default=false).
|
|
328
|
+
/// \par Example
|
|
329
|
+
/// \code
|
|
330
|
+
/// /* Define operations */
|
|
331
|
+
/// std::vector<std::string> list = {"a", "b", "c", "d"};
|
|
332
|
+
/// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
|
|
333
|
+
/// Status s = Vocab::BuildFromVector(list, {}, true, &vocab);
|
|
334
|
+
/// auto tokenizer_op = text::BertTokenizer(vocab);
|
|
335
|
+
///
|
|
336
|
+
/// /* dataset is an instance of Dataset object */
|
|
337
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
338
|
+
/// {"text"}); // input columns
|
|
339
|
+
/// \endcode
|
|
340
|
+
explicit BertTokenizer(const std::shared_ptr<Vocab> &vocab, const std::string &suffix_indicator = "##",
|
|
341
|
+
int32_t max_bytes_per_token = 100, const std::string &unknown_token = "[UNK]",
|
|
342
|
+
bool lower_case = false, bool keep_whitespace = false,
|
|
343
|
+
const NormalizeForm normalize_form = NormalizeForm::kNone, bool preserve_unused_token = true,
|
|
344
|
+
bool with_offsets = false)
|
|
345
|
+
: BertTokenizer(vocab, StringToChar(suffix_indicator), max_bytes_per_token, StringToChar(unknown_token),
|
|
346
|
+
lower_case, keep_whitespace, normalize_form, preserve_unused_token, with_offsets) {}
|
|
347
|
+
/// \brief Constructor.
|
|
348
|
+
/// \param[in] vocab A Vocab object.
|
|
349
|
+
/// \param[in] suffix_indicator This parameter is used to show that the sub-word
|
|
350
|
+
/// is the last part of a word (default='##').
|
|
351
|
+
/// \param[in] max_bytes_per_token Tokens exceeding this length will not be further split (default=100).
|
|
352
|
+
/// \param[in] unknown_token When a token cannot be found, return the token directly if 'unknown_token' is an empty
|
|
353
|
+
/// string, else return the specified string (default='[UNK]').
|
|
354
|
+
/// \param[in] lower_case If true, apply CaseFold, NormalizeUTF8 (NFD mode) and RegexReplace operations to
|
|
355
|
+
/// the input text to fold the text to lower case and strip accents characters. If false, only apply
|
|
356
|
+
/// the NormalizeUTF8('normalization_form' mode) operation to the input text (default=false).
|
|
357
|
+
/// \param[in] keep_whitespace If true, the whitespace will be kept in output tokens (default=false).
|
|
358
|
+
/// \param[in] normalize_form This parameter is used to specify a specific normalize mode. This is only effective
|
|
359
|
+
/// when 'lower_case' is false. See NormalizeUTF8 for details (default=NormalizeForm::kNone).
|
|
360
|
+
/// \param[in] preserve_unused_token If true, do not split special tokens like '[CLS]', '[SEP]', '[UNK]', '[PAD]' and
|
|
361
|
+
/// '[MASK]' (default=true).
|
|
362
|
+
/// \param[in] with_offsets Whether to output offsets of tokens (default=false).
|
|
363
|
+
BertTokenizer(const std::shared_ptr<Vocab> &vocab, const std::vector<char> &suffix_indicator,
|
|
364
|
+
int32_t max_bytes_per_token, const std::vector<char> &unknown_token, bool lower_case,
|
|
365
|
+
bool keep_whitespace, NormalizeForm normalize_form, bool preserve_unused_token, bool with_offsets);
|
|
366
|
+
|
|
367
|
+
/// \brief Destructor
|
|
368
|
+
~BertTokenizer() override = default;
|
|
369
|
+
|
|
370
|
+
protected:
|
|
371
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
372
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
373
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
374
|
+
|
|
375
|
+
private:
|
|
376
|
+
struct Data;
|
|
377
|
+
std::shared_ptr<Data> data_;
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
/// \brief Apply case fold operation on UTF-8 string tensors.
|
|
381
|
+
class DATASET_API CaseFold final : public TensorTransform {
|
|
382
|
+
public:
|
|
383
|
+
/// \brief Constructor.
|
|
384
|
+
/// \par Example
|
|
385
|
+
/// \code
|
|
386
|
+
/// /* Define operations */
|
|
387
|
+
/// auto casefold_op = text::CaseFold();
|
|
388
|
+
///
|
|
389
|
+
/// /* dataset is an instance of Dataset object */
|
|
390
|
+
/// dataset = dataset->Map({casefold_op}, // operations
|
|
391
|
+
/// {"text"}); // input columns
|
|
392
|
+
/// \endcode
|
|
393
|
+
CaseFold();
|
|
394
|
+
|
|
395
|
+
/// \brief Destructor
|
|
396
|
+
~CaseFold() override = default;
|
|
397
|
+
|
|
398
|
+
protected:
|
|
399
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
400
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
401
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
/// \brief Filter wikipedia xml lines.
|
|
405
|
+
class FilterWikipediaXML final : public TensorTransform {
|
|
406
|
+
public:
|
|
407
|
+
/// \brief Constructor.
|
|
408
|
+
FilterWikipediaXML();
|
|
409
|
+
|
|
410
|
+
/// \brief Destructor
|
|
411
|
+
~FilterWikipediaXML() override = default;
|
|
412
|
+
|
|
413
|
+
protected:
|
|
414
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
415
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
416
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
417
|
+
};
|
|
418
|
+
#endif
|
|
419
|
+
|
|
420
|
+
/// \brief Tokenize a Chinese string into words based on the dictionary.
|
|
421
|
+
/// \note The integrity of the HMMSegment algorithm and MPSegment algorithm files must be confirmed.
|
|
422
|
+
class DATASET_API JiebaTokenizer final : public TensorTransform {
|
|
423
|
+
public:
|
|
424
|
+
/// \brief Constructor.
|
|
425
|
+
/// \param[in] hmm_path Dictionary file is used by the HMMSegment algorithm. The dictionary can be obtained on the
|
|
426
|
+
/// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
|
|
427
|
+
/// \param[in] mp_path Dictionary file is used by the MPSegment algorithm. The dictionary can be obtained on the
|
|
428
|
+
/// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
|
|
429
|
+
/// \param[in] mode Valid values can be any of JiebaMode.kMP, JiebaMode.kHMM and JiebaMode.kMIX
|
|
430
|
+
/// (default=JiebaMode.kMIX).
|
|
431
|
+
/// - JiebaMode.kMP, tokenizes with MPSegment algorithm.
|
|
432
|
+
/// - JiebaMode.kHMM, tokenizes with Hidden Markov Model Segment algorithm.
|
|
433
|
+
/// - JiebaMode.kMIX, tokenizes with a mix of MPSegment and HMMSegment algorithms.
|
|
434
|
+
/// \param[in] with_offsets Whether to output offsets of tokens (default=false).
|
|
435
|
+
/// \par Example
|
|
436
|
+
/// \code
|
|
437
|
+
/// /* Define operations */
|
|
438
|
+
/// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
|
|
439
|
+
///
|
|
440
|
+
/// /* dataset is an instance of Dataset object */
|
|
441
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
442
|
+
/// {"text"}); // input columns
|
|
443
|
+
/// \endcode
|
|
444
|
+
JiebaTokenizer(const std::string &hmm_path, const std::string &mp_path, const JiebaMode &mode = JiebaMode::kMix,
|
|
445
|
+
bool with_offsets = false)
|
|
446
|
+
: JiebaTokenizer(StringToChar(hmm_path), StringToChar(mp_path), mode, with_offsets) {}
|
|
447
|
+
|
|
448
|
+
/// \brief Constructor.
|
|
449
|
+
/// \param[in] hmm_path Dictionary file is used by the HMMSegment algorithm. The dictionary can be obtained on the
|
|
450
|
+
/// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
|
|
451
|
+
/// \param[in] mp_path Dictionary file is used by the MPSegment algorithm. The dictionary can be obtained on the
|
|
452
|
+
/// official website of cppjieba (https://github.com/yanyiwu/cppjieba).
|
|
453
|
+
/// \param[in] mode Valid values can be any of JiebaMode.kMP, JiebaMode.kHMM and JiebaMode.kMIX
|
|
454
|
+
/// (default=JiebaMode.kMIX).
|
|
455
|
+
/// - JiebaMode.kMP, tokenizes with MPSegment algorithm.
|
|
456
|
+
/// - JiebaMode.kHMM, tokenizes with Hidden Markov Model Segment algorithm.
|
|
457
|
+
/// - JiebaMode.kMIX, tokenizes with a mix of MPSegment and HMMSegment algorithms.
|
|
458
|
+
/// \param[in] with_offsets Whether to output offsets of tokens (default=false).
|
|
459
|
+
JiebaTokenizer(const std::vector<char> &hmm_path, const std::vector<char> &mp_path, const JiebaMode &mode,
|
|
460
|
+
bool with_offsets);
|
|
461
|
+
|
|
462
|
+
/// \brief Destructor
|
|
463
|
+
~JiebaTokenizer() override = default;
|
|
464
|
+
|
|
465
|
+
/// \brief Add a user defined word to the JiebaTokenizer's dictionary.
|
|
466
|
+
/// \param[in] word The word to be added to the JiebaTokenizer instance.
|
|
467
|
+
/// The added word will not be written into the built-in dictionary on disk.
|
|
468
|
+
/// \param[in] freq The frequency of the word to be added. The higher the frequency,
|
|
469
|
+
/// the better chance the word will be tokenized (default=None, use default frequency).
|
|
470
|
+
/// \return Status error code, returns OK if no error is encountered.
|
|
471
|
+
/// \par Example
|
|
472
|
+
/// \code
|
|
473
|
+
/// /* Define operations */
|
|
474
|
+
/// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
|
|
475
|
+
///
|
|
476
|
+
/// Status s = tokenizer_op.AddWord("hello", 2);
|
|
477
|
+
/// \endcode
|
|
478
|
+
Status AddWord(const std::string &word, int64_t freq = 0) { return AddWordChar(StringToChar(word), freq); }
|
|
479
|
+
|
|
480
|
+
/// \brief Add a user defined dictionary of word-freq pairs to the JiebaTokenizer's dictionary.
|
|
481
|
+
/// \param[in] user_dict Vector of word-freq pairs to be added to the JiebaTokenizer's dictionary.
|
|
482
|
+
/// \return Status error code, returns OK if no error is encountered.
|
|
483
|
+
/// \par Example
|
|
484
|
+
/// \code
|
|
485
|
+
/// /* Define operations */
|
|
486
|
+
/// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
|
|
487
|
+
///
|
|
488
|
+
/// std::vector<std::pair<std::string, int64_t>> user_dict = {{"a", 1}, {"b", 2}, {"c", 3}};
|
|
489
|
+
/// Status s = tokenizer_op.AddDict(user_dict);
|
|
490
|
+
/// \endcode
|
|
491
|
+
Status AddDict(const std::vector<std::pair<std::string, int64_t>> &user_dict) {
|
|
492
|
+
return AddDictChar(PairStringInt64ToPairCharInt64(user_dict));
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/// \brief Add user defined dictionary of word-freq pairs to the JiebaTokenizer's dictionary from a file.
|
|
496
|
+
/// Only valid word-freq pairs in user defined file will be added into the dictionary.
|
|
497
|
+
/// Rows containing invalid inputs will be ignored, no error nor warning status is returned.
|
|
498
|
+
/// \param[in] file_path Path to the dictionary which includes user defined word-freq pairs.
|
|
499
|
+
/// \return Status error code, returns OK if no error is encountered.
|
|
500
|
+
/// \par Example
|
|
501
|
+
/// \code
|
|
502
|
+
/// /* Define operations */
|
|
503
|
+
/// auto tokenizer_op = text::JiebaTokenizer("/path/to/hmm/file", "/path/to/mp/file");
|
|
504
|
+
///
|
|
505
|
+
/// Status s = tokenizer_op.AddDict("/path/to/dict/file");
|
|
506
|
+
/// \endcode
|
|
507
|
+
Status AddDict(const std::string &file_path) { return AddDictChar(StringToChar(file_path)); }
|
|
508
|
+
|
|
509
|
+
protected:
|
|
510
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
511
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
512
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
513
|
+
|
|
514
|
+
private:
|
|
515
|
+
/// \brief Parser user defined words by files.
|
|
516
|
+
/// \param[in] file_path Path to the user defined file.
|
|
517
|
+
/// \param[in] user_dict Vector of word-freq pairs extracted from the user defined file.
|
|
518
|
+
Status ParserFile(const std::string &file_path, std::vector<std::pair<std::string, int64_t>> *const user_dict);
|
|
519
|
+
|
|
520
|
+
/// \brief Used to translate all API strings to vector of char and reverse.
|
|
521
|
+
Status AddWordChar(const std::vector<char> &word, int64_t freq = 0);
|
|
522
|
+
|
|
523
|
+
/// \brief Used to translate all API strings to vector of char and reverse.
|
|
524
|
+
Status AddDictChar(const std::vector<std::pair<std::vector<char>, int64_t>> &user_dict);
|
|
525
|
+
|
|
526
|
+
/// \brief Used to translate all API strings to vector of char and reverse.
|
|
527
|
+
Status AddDictChar(const std::vector<char> &file_path);
|
|
528
|
+
|
|
529
|
+
struct Data;
|
|
530
|
+
std::shared_ptr<Data> data_;
|
|
531
|
+
};
|
|
532
|
+
|
|
533
|
+
/// \brief Look up a word into an id according to the input vocabulary table.
|
|
534
|
+
class DATASET_API Lookup final : public TensorTransform {
|
|
535
|
+
public:
|
|
536
|
+
/// \brief Constructor.
|
|
537
|
+
/// \param[in] vocab a Vocab object.
|
|
538
|
+
/// \param[in] unknown_token Word is used for lookup. In case of the word is out of vocabulary (OOV),
|
|
539
|
+
/// the result of lookup will be replaced to unknown_token. If the unknown_token is not specified or it is OOV,
|
|
540
|
+
/// runtime error will be thrown (default={}, means no unknown_token is specified).
|
|
541
|
+
/// \param[in] data_type mindspore::DataType of the tensor after lookup; must be numeric, including bool.
|
|
542
|
+
/// (default=mindspore::DataType::kNumberTypeInt32).
|
|
543
|
+
/// \par Example
|
|
544
|
+
/// \code
|
|
545
|
+
/// /* Define operations */
|
|
546
|
+
/// std::vector<std::string> list = {"a", "b", "c", "d"};
|
|
547
|
+
/// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
|
|
548
|
+
/// Status s = Vocab::BuildFromVector(list, {}, true, &vocab);
|
|
549
|
+
/// auto lookup_op = text::Lookup(vocab, "[unk]");
|
|
550
|
+
///
|
|
551
|
+
/// /* dataset is an instance of Dataset object */
|
|
552
|
+
/// dataset = dataset->Map({lookup_op}, // operations
|
|
553
|
+
/// {"text"}); // input columns
|
|
554
|
+
/// \endcode
|
|
555
|
+
explicit Lookup(const std::shared_ptr<Vocab> &vocab, const std::optional<std::string> &unknown_token = {},
|
|
556
|
+
mindspore::DataType data_type = mindspore::DataType::kNumberTypeInt32) {
|
|
557
|
+
std::optional<std::vector<char>> unknown_token_c = std::nullopt;
|
|
558
|
+
if (unknown_token != std::nullopt) {
|
|
559
|
+
unknown_token_c = std::vector<char>(unknown_token->begin(), unknown_token->end());
|
|
560
|
+
}
|
|
561
|
+
new (this) Lookup(vocab, unknown_token_c, data_type);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/// \brief Constructor.
|
|
565
|
+
/// \param[in] vocab a Vocab object.
|
|
566
|
+
/// \param[in] unknown_token Word is used for lookup. In case of the word is out of vocabulary (OOV),
|
|
567
|
+
/// the result of lookup will be replaced to unknown_token. If the unknown_token is not specified or it is OOV,
|
|
568
|
+
/// runtime error will be thrown (default={}, means no unknown_token is specified).
|
|
569
|
+
/// \param[in] data_type mindspore::DataType of the tensor after lookup; must be numeric, including bool.
|
|
570
|
+
/// (default=mindspore::DataType::kNumberTypeInt32).
|
|
571
|
+
Lookup(const std::shared_ptr<Vocab> &vocab, const std::optional<std::vector<char>> &unknown_token,
|
|
572
|
+
mindspore::DataType data_type = mindspore::DataType::kNumberTypeInt32);
|
|
573
|
+
|
|
574
|
+
/// \brief Destructor
|
|
575
|
+
~Lookup() override = default;
|
|
576
|
+
|
|
577
|
+
protected:
|
|
578
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
579
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
580
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
581
|
+
|
|
582
|
+
private:
|
|
583
|
+
struct Data;
|
|
584
|
+
std::shared_ptr<Data> data_;
|
|
585
|
+
};
|
|
586
|
+
|
|
587
|
+
/// \brief Generate n-gram from a 1-D string Tensor.
|
|
588
|
+
class DATASET_API Ngram final : public TensorTransform {
|
|
589
|
+
public:
|
|
590
|
+
/// \brief Constructor.
|
|
591
|
+
/// \param[in] ngrams ngrams is a vector of positive integers. For example, if ngrams={4, 3}, then the result
|
|
592
|
+
/// would be a 4-gram followed by a 3-gram in the same tensor. If the number of words is not enough to make up
|
|
593
|
+
/// a n-gram, an empty string will be returned.
|
|
594
|
+
/// \param[in] left_pad {"pad_token", pad_width}. Padding performed on left side of the sequence. pad_width will
|
|
595
|
+
/// be capped at n-1. left_pad=("_",2) would pad the left side of the sequence with "__" (default={"", 0}}).
|
|
596
|
+
/// \param[in] right_pad {"pad_token", pad_width}. Padding performed on right side of the sequence.pad_width will
|
|
597
|
+
/// be capped at n-1. right_pad=("-",2) would pad the right side of the sequence with "--" (default={"", 0}}).
|
|
598
|
+
/// \param[in] separator Symbol used to join strings together (default=" ").
|
|
599
|
+
/// \par Example
|
|
600
|
+
/// \code
|
|
601
|
+
/// /* Define operations */
|
|
602
|
+
/// auto ngram_op = text::Ngram({2, 3}, {"&", 2}, {"&", 2}, "-");
|
|
603
|
+
///
|
|
604
|
+
/// /* dataset is an instance of Dataset object */
|
|
605
|
+
/// dataset = dataset->Map({ngram_op}, // operations
|
|
606
|
+
/// {"text"}); // input columns
|
|
607
|
+
/// \endcode
|
|
608
|
+
explicit Ngram(const std::vector<int32_t> &ngrams, const std::pair<std::string, int32_t> &left_pad = {"", 0},
|
|
609
|
+
const std::pair<std::string, int32_t> &right_pad = {"", 0}, const std::string &separator = " ")
|
|
610
|
+
: Ngram(ngrams, PairStringToChar(left_pad), PairStringToChar(right_pad), StringToChar(separator)) {}
|
|
611
|
+
|
|
612
|
+
/// \brief Constructor.
|
|
613
|
+
/// \param[in] ngrams ngrams is a vector of positive integers. For example, if ngrams={4, 3}, then the result
|
|
614
|
+
/// would be a 4-gram followed by a 3-gram in the same tensor. If the number of words is not enough to make up
|
|
615
|
+
/// a n-gram, an empty string will be returned.
|
|
616
|
+
/// \param[in] left_pad {"pad_token", pad_width}. Padding performed on left side of the sequence. pad_width will
|
|
617
|
+
/// be capped at n-1. left_pad=("_",2) would pad the left side of the sequence with "__" (default={"", 0}}).
|
|
618
|
+
/// \param[in] right_pad {"pad_token", pad_width}. Padding performed on right side of the sequence.pad_width will
|
|
619
|
+
/// be capped at n-1. right_pad=("-",2) would pad the right side of the sequence with "--" (default={"", 0}}).
|
|
620
|
+
/// \param[in] separator Symbol used to join strings together (default=" ").
|
|
621
|
+
Ngram(const std::vector<int32_t> &ngrams, const std::pair<std::vector<char>, int32_t> &left_pad,
|
|
622
|
+
const std::pair<std::vector<char>, int32_t> &right_pad, const std::vector<char> &separator);
|
|
623
|
+
|
|
624
|
+
/// \brief Destructor
|
|
625
|
+
~Ngram() override = default;
|
|
626
|
+
|
|
627
|
+
protected:
|
|
628
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
629
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
630
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
631
|
+
|
|
632
|
+
private:
|
|
633
|
+
struct Data;
|
|
634
|
+
std::shared_ptr<Data> data_;
|
|
635
|
+
};
|
|
636
|
+
|
|
637
|
+
#ifndef _WIN32
|
|
638
|
+
/// \brief Apply normalize operation to UTF-8 string tensors.
|
|
639
|
+
class DATASET_API NormalizeUTF8 final : public TensorTransform {
|
|
640
|
+
public:
|
|
641
|
+
/// \brief Constructor.
|
|
642
|
+
/// \param[in] normalize_form Valid values can be any of [NormalizeForm::kNone,NormalizeForm::kNfc,
|
|
643
|
+
/// NormalizeForm::kNfkc, NormalizeForm::kNfd, NormalizeForm::kNfkd](default=NormalizeForm::kNfkc).
|
|
644
|
+
/// See <http://unicode.org/reports/tr15/> for details.
|
|
645
|
+
/// - NormalizeForm.kNone, remain the input string tensor unchanged.
|
|
646
|
+
/// - NormalizeForm.kNfc, normalizes with Normalization Form C.
|
|
647
|
+
/// - NormalizeForm.kNfkc, normalizes with Normalization Form KC.
|
|
648
|
+
/// - NormalizeForm.kNfd, normalizes with Normalization Form D.
|
|
649
|
+
/// - NormalizeForm.kNfkd, normalizes with Normalization Form KD.
|
|
650
|
+
/// \par Example
|
|
651
|
+
/// \code
|
|
652
|
+
/// /* Define operations */
|
|
653
|
+
/// auto normalizeutf8_op = text::NormalizeUTF8();
|
|
654
|
+
///
|
|
655
|
+
/// /* dataset is an instance of Dataset object */
|
|
656
|
+
/// dataset = dataset->Map({normalizeutf8_op}, // operations
|
|
657
|
+
/// {"text"}); // input columns
|
|
658
|
+
/// \endcode
|
|
659
|
+
explicit NormalizeUTF8(NormalizeForm normalize_form = NormalizeForm::kNfkc);
|
|
660
|
+
|
|
661
|
+
/// \brief Destructor
|
|
662
|
+
~NormalizeUTF8() override = default;
|
|
663
|
+
|
|
664
|
+
protected:
|
|
665
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
666
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
667
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
668
|
+
|
|
669
|
+
private:
|
|
670
|
+
struct Data;
|
|
671
|
+
std::shared_ptr<Data> data_;
|
|
672
|
+
};
|
|
673
|
+
|
|
674
|
+
/// \brief Replace a UTF-8 string tensor with 'replace' according to regular expression 'pattern'.
|
|
675
|
+
class DATASET_API RegexReplace final : public TensorTransform {
|
|
676
|
+
public:
|
|
677
|
+
/// \brief Constructor.
|
|
678
|
+
/// \param[in] pattern The regex expression patterns.
|
|
679
|
+
/// \param[in] replace The string to replace the matched element.
|
|
680
|
+
/// \param[in] replace_all Confirm whether to replace all. If false, only replace the first matched element;
|
|
681
|
+
/// if true, replace all matched elements (default=true).
|
|
682
|
+
/// \par Example
|
|
683
|
+
/// \code
|
|
684
|
+
/// /* Define operations */
|
|
685
|
+
/// auto regex_op = text::RegexReplace("\\s+", "_", true);
|
|
686
|
+
///
|
|
687
|
+
/// /* dataset is an instance of Dataset object */
|
|
688
|
+
/// dataset = dataset->Map({regex_op}, // operations
|
|
689
|
+
/// {"text"}); // input columns
|
|
690
|
+
/// \endcode
|
|
691
|
+
RegexReplace(const std::string &pattern, const std::string &replace, bool replace_all = true)
|
|
692
|
+
: RegexReplace(StringToChar(pattern), StringToChar(replace), replace_all) {}
|
|
693
|
+
|
|
694
|
+
/// \brief Constructor.
|
|
695
|
+
/// \param[in] pattern The regex expression patterns. Type should be char of vector.
|
|
696
|
+
/// \param[in] replace The string to replace the matched element.
|
|
697
|
+
/// \param[in] replace_all Confirm whether to replace all. If false, only replace the first matched element;
|
|
698
|
+
/// if true, replace all matched elements (default=true).
|
|
699
|
+
RegexReplace(const std::vector<char> &pattern, const std::vector<char> &replace, bool replace_all);
|
|
700
|
+
|
|
701
|
+
/// \brief Destructor
|
|
702
|
+
~RegexReplace() override = default;
|
|
703
|
+
|
|
704
|
+
protected:
|
|
705
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
706
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
707
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
708
|
+
|
|
709
|
+
private:
|
|
710
|
+
struct Data;
|
|
711
|
+
std::shared_ptr<Data> data_;
|
|
712
|
+
};
|
|
713
|
+
|
|
714
|
+
/// \brief Tokenize a scalar tensor of UTF-8 string by the regex expression pattern.
|
|
715
|
+
class DATASET_API RegexTokenizer final : public TensorTransform {
|
|
716
|
+
public:
|
|
717
|
+
/// \brief Constructor.
|
|
718
|
+
/// \param[in] delim_pattern The pattern of regex delimiters.
|
|
719
|
+
/// \param[in] keep_delim_pattern The string matched with 'delim_pattern' can be kept as a token if it can be
|
|
720
|
+
/// matched by 'keep_delim_pattern'. The default value is an empty string ("").
|
|
721
|
+
/// which means that delimiters will not be kept as an output token (default="").
|
|
722
|
+
/// \param[in] with_offsets Whether to output offsets of tokens (default=false).
|
|
723
|
+
/// \par Example
|
|
724
|
+
/// \code
|
|
725
|
+
/// /* Define operations */
|
|
726
|
+
/// auto regex_op = text::RegexTokenizer("\\s+", "\\s+", false);
|
|
727
|
+
///
|
|
728
|
+
/// /* dataset is an instance of Dataset object */
|
|
729
|
+
/// dataset = dataset->Map({regex_op}, // operations
|
|
730
|
+
/// {"text"}); // input columns
|
|
731
|
+
/// \endcode
|
|
732
|
+
explicit RegexTokenizer(const std::string &delim_pattern, const std::string &keep_delim_pattern = "",
|
|
733
|
+
bool with_offsets = false)
|
|
734
|
+
: RegexTokenizer(StringToChar(delim_pattern), StringToChar(keep_delim_pattern), with_offsets) {}
|
|
735
|
+
|
|
736
|
+
explicit RegexTokenizer(const std::vector<char> &delim_pattern, const std::vector<char> &keep_delim_pattern,
|
|
737
|
+
bool with_offsets);
|
|
738
|
+
|
|
739
|
+
/// \brief Destructor
|
|
740
|
+
~RegexTokenizer() override = default;
|
|
741
|
+
|
|
742
|
+
protected:
|
|
743
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
744
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
745
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
746
|
+
|
|
747
|
+
private:
|
|
748
|
+
struct Data;
|
|
749
|
+
std::shared_ptr<Data> data_;
|
|
750
|
+
};
|
|
751
|
+
#endif
|
|
752
|
+
|
|
753
|
+
/// \brief Tokenize a scalar token or a 1-D token to tokens by sentencepiece.
|
|
754
|
+
class DATASET_API SentencePieceTokenizer final : public TensorTransform {
|
|
755
|
+
public:
|
|
756
|
+
/// \brief Constructor.
|
|
757
|
+
/// \param[in] vocab a SentencePieceVocab object.
|
|
758
|
+
/// \param[in] out_type The type of the output.
|
|
759
|
+
/// \par Example
|
|
760
|
+
/// \code
|
|
761
|
+
/// /* Define operations */
|
|
762
|
+
/// std::shared_ptr<Dataset> ds_vocab = TextFile({"/path/to/vocab/file"}, 0, ShuffleMode::kFalse);
|
|
763
|
+
/// std::shared_ptr<SentencePieceVocab> vocab =
|
|
764
|
+
/// ds_vocab->BuildSentencePieceVocab({}, 0, 0.9995, SentencePieceModel::kUnigram, {});
|
|
765
|
+
/// auto tokenizer_op = text::SentencePieceTokenizer(vocab, mindspore::dataset::SPieceTokenizerOutType::kString);
|
|
766
|
+
///
|
|
767
|
+
/// /* dataset is an instance of Dataset object */
|
|
768
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
769
|
+
/// {"text"}); // input columns
|
|
770
|
+
/// \endcode
|
|
771
|
+
SentencePieceTokenizer(const std::shared_ptr<SentencePieceVocab> &vocab,
|
|
772
|
+
mindspore::dataset::SPieceTokenizerOutType out_type);
|
|
773
|
+
|
|
774
|
+
/// \brief Constructor.
|
|
775
|
+
/// \param[in] vocab_path vocab model file path.
|
|
776
|
+
/// \param[in] out_type The type of the output.
|
|
777
|
+
/// \par Example
|
|
778
|
+
/// \code
|
|
779
|
+
/// /* Define operations */
|
|
780
|
+
/// auto tokenizer_op = text::SentencePieceTokenizer("/path/to/model",
|
|
781
|
+
/// mindspore::dataset::SPieceTokenizerOutType::kInt);
|
|
782
|
+
///
|
|
783
|
+
/// /* dataset is an instance of Dataset object */
|
|
784
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
785
|
+
/// {"text"}); // input columns
|
|
786
|
+
/// \endcode
|
|
787
|
+
SentencePieceTokenizer(const std::string &vocab_path, mindspore::dataset::SPieceTokenizerOutType out_type)
|
|
788
|
+
: SentencePieceTokenizer(StringToChar(vocab_path), out_type) {}
|
|
789
|
+
|
|
790
|
+
/// \brief Constructor.
|
|
791
|
+
/// \param[in] vocab_path vocab model file path. type should be char of vector.
|
|
792
|
+
/// \param[in] out_type The type of the output.
|
|
793
|
+
SentencePieceTokenizer(const std::vector<char> &vocab_path, mindspore::dataset::SPieceTokenizerOutType out_type);
|
|
794
|
+
|
|
795
|
+
/// \brief Destructor
|
|
796
|
+
~SentencePieceTokenizer() override = default;
|
|
797
|
+
|
|
798
|
+
protected:
|
|
799
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
800
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
801
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
802
|
+
|
|
803
|
+
private:
|
|
804
|
+
struct Data;
|
|
805
|
+
std::shared_ptr<Data> data_;
|
|
806
|
+
};
|
|
807
|
+
|
|
808
|
+
/// \brief Construct a tensor from data (only 1-D for now), where each element in the dimension
|
|
809
|
+
/// axis is a slice of data starting at the corresponding position, with a specified width.
|
|
810
|
+
class DATASET_API SlidingWindow final : public TensorTransform {
|
|
811
|
+
public:
|
|
812
|
+
/// \brief Constructor.
|
|
813
|
+
/// \param[in] width The width of the window. It must be an integer and greater than zero.
|
|
814
|
+
/// \param[in] axis The axis where the sliding window is computed (default=0), axis only
|
|
815
|
+
/// supports 0 or -1 for now.
|
|
816
|
+
/// \par Example
|
|
817
|
+
/// \code
|
|
818
|
+
/// /* Define operations */
|
|
819
|
+
/// auto slidingwindow_op = text::SlidingWindow(5, 0);
|
|
820
|
+
///
|
|
821
|
+
/// /* dataset is an instance of Dataset object */
|
|
822
|
+
/// dataset = dataset->Map({slidingwindow_op}, // operations
|
|
823
|
+
/// {"text"}); // input columns
|
|
824
|
+
/// \endcode
|
|
825
|
+
explicit SlidingWindow(int32_t width, int32_t axis = 0);
|
|
826
|
+
|
|
827
|
+
/// \brief Destructor
|
|
828
|
+
~SlidingWindow() override = default;
|
|
829
|
+
|
|
830
|
+
protected:
|
|
831
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
832
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
833
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
834
|
+
|
|
835
|
+
private:
|
|
836
|
+
struct Data;
|
|
837
|
+
std::shared_ptr<Data> data_;
|
|
838
|
+
};
|
|
839
|
+
|
|
840
|
+
/// \brief Convert every element in a string tensor to a number.
|
|
841
|
+
/// Strings are cast according to the rules specified in the following links:
|
|
842
|
+
/// https://en.cppreference.com/w/cpp/string/basic_string/stof,
|
|
843
|
+
/// https://en.cppreference.com/w/cpp/string/basic_string/stoul,
|
|
844
|
+
/// except that any strings which represent negative numbers cannot be cast to an unsigned integer type.
|
|
845
|
+
class DATASET_API ToNumber final : public TensorTransform {
|
|
846
|
+
public:
|
|
847
|
+
/// \brief Constructor.
|
|
848
|
+
/// \param[in] data_type mindspore::DataType of the tensor to be cast to. Must be a numeric type, excluding bool.
|
|
849
|
+
/// \par Example
|
|
850
|
+
/// \code
|
|
851
|
+
/// /* Define operations */
|
|
852
|
+
/// auto to_number_op = text::ToNumber(mindspore::DataType::kNumberTypeInt8);
|
|
853
|
+
///
|
|
854
|
+
/// /* dataset is an instance of Dataset object */
|
|
855
|
+
/// dataset = dataset->Map({to_number_op}, // operations
|
|
856
|
+
/// {"text"}); // input columns
|
|
857
|
+
/// \endcode
|
|
858
|
+
explicit ToNumber(mindspore::DataType data_type);
|
|
859
|
+
|
|
860
|
+
/// \brief Destructor
|
|
861
|
+
~ToNumber() override = default;
|
|
862
|
+
|
|
863
|
+
protected:
|
|
864
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
865
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
866
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
867
|
+
|
|
868
|
+
private:
|
|
869
|
+
struct Data;
|
|
870
|
+
std::shared_ptr<Data> data_;
|
|
871
|
+
};
|
|
872
|
+
|
|
873
|
+
/// \brief Look up a token into an vector according to the input Vectors table.
|
|
874
|
+
class DATASET_API ToVectors final : public TensorTransform {
|
|
875
|
+
public:
|
|
876
|
+
/// \brief Constructor.
|
|
877
|
+
/// \param[in] vectors A Vectors object.
|
|
878
|
+
/// \param[in] unk_init In case of the token is out-of-vectors (OOV), the result will be initialized with `unk_init`.
|
|
879
|
+
/// (default={}, means to initialize with zero vectors).
|
|
880
|
+
/// \param[in] lower_case_backup Whether to look up the token in the lower case (default=false).
|
|
881
|
+
explicit ToVectors(const std::shared_ptr<Vectors> &vectors, const std::vector<float> &unk_init = {},
|
|
882
|
+
bool lower_case_backup = false);
|
|
883
|
+
|
|
884
|
+
/// \brief Destructor
|
|
885
|
+
~ToVectors() override = default;
|
|
886
|
+
|
|
887
|
+
protected:
|
|
888
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
889
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
890
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
891
|
+
|
|
892
|
+
private:
|
|
893
|
+
struct Data;
|
|
894
|
+
std::shared_ptr<Data> data_;
|
|
895
|
+
};
|
|
896
|
+
|
|
897
|
+
/// \brief Truncate the input sequence so that it does not exceed the maximum length.
|
|
898
|
+
class DATASET_API Truncate final : public TensorTransform {
|
|
899
|
+
public:
|
|
900
|
+
/// \brief Constructor.
|
|
901
|
+
/// \param[in] max_seq_len Maximum allowable length.
|
|
902
|
+
/// \par Example
|
|
903
|
+
/// \code
|
|
904
|
+
/// /* Define operations */
|
|
905
|
+
/// auto truncate_op = text::Truncate(5);
|
|
906
|
+
///
|
|
907
|
+
/// /* dataset is an instance of Dataset object */
|
|
908
|
+
/// dataset = dataset->Map({truncate_op}, // operations
|
|
909
|
+
/// {"text"}); // input columns
|
|
910
|
+
/// \endcode
|
|
911
|
+
explicit Truncate(int32_t max_seq_len);
|
|
912
|
+
|
|
913
|
+
/// \brief Destructor.
|
|
914
|
+
~Truncate() override = default;
|
|
915
|
+
|
|
916
|
+
protected:
|
|
917
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
918
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
919
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
920
|
+
|
|
921
|
+
private:
|
|
922
|
+
struct Data;
|
|
923
|
+
std::shared_ptr<Data> data_;
|
|
924
|
+
};
|
|
925
|
+
|
|
926
|
+
/// \brief Truncate a pair of rank-1 tensors such that the total length is less than max_length.
|
|
927
|
+
class DATASET_API TruncateSequencePair final : public TensorTransform {
|
|
928
|
+
public:
|
|
929
|
+
/// \brief Constructor.
|
|
930
|
+
/// \param[in] max_length Maximum length required.
|
|
931
|
+
/// \par Example
|
|
932
|
+
/// \code
|
|
933
|
+
/// /* Define operations */
|
|
934
|
+
/// auto truncate_op = text::TruncateSequencePair(5);
|
|
935
|
+
///
|
|
936
|
+
/// /* dataset is an instance of Dataset object */
|
|
937
|
+
/// dataset = dataset->Map({truncate_op}, // operations
|
|
938
|
+
/// {"text"}); // input columns
|
|
939
|
+
/// \endcode
|
|
940
|
+
explicit TruncateSequencePair(int32_t max_length);
|
|
941
|
+
|
|
942
|
+
/// \brief Destructor
|
|
943
|
+
~TruncateSequencePair() override = default;
|
|
944
|
+
|
|
945
|
+
protected:
|
|
946
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
947
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
948
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
949
|
+
|
|
950
|
+
private:
|
|
951
|
+
struct Data;
|
|
952
|
+
std::shared_ptr<Data> data_;
|
|
953
|
+
};
|
|
954
|
+
|
|
955
|
+
/// \brief Tokenize a scalar tensor of UTF-8 string to Unicode characters.
|
|
956
|
+
class DATASET_API UnicodeCharTokenizer final : public TensorTransform {
|
|
957
|
+
public:
|
|
958
|
+
/// \brief Constructor.
|
|
959
|
+
/// \param[in] with_offsets whether to output offsets of tokens (default=false).
|
|
960
|
+
/// \par Example
|
|
961
|
+
/// \code
|
|
962
|
+
/// /* Define operations */
|
|
963
|
+
/// auto tokenizer_op = text::UnicodeCharTokenizer();
|
|
964
|
+
///
|
|
965
|
+
/// /* dataset is an instance of Dataset object */
|
|
966
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
967
|
+
/// {"text"}); // input columns
|
|
968
|
+
/// \endcode
|
|
969
|
+
explicit UnicodeCharTokenizer(bool with_offsets = false);
|
|
970
|
+
|
|
971
|
+
/// \brief Destructor
|
|
972
|
+
~UnicodeCharTokenizer() override = default;
|
|
973
|
+
|
|
974
|
+
protected:
|
|
975
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
976
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
977
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
978
|
+
|
|
979
|
+
private:
|
|
980
|
+
struct Data;
|
|
981
|
+
std::shared_ptr<Data> data_;
|
|
982
|
+
};
|
|
983
|
+
|
|
984
|
+
/// \brief Tokenize scalar token or 1-D tokens to 1-D sub-word tokens.
|
|
985
|
+
class DATASET_API WordpieceTokenizer final : public TensorTransform {
|
|
986
|
+
public:
|
|
987
|
+
/// \brief Constructor.
|
|
988
|
+
/// \param[in] vocab A Vocab object.
|
|
989
|
+
/// \param[in] suffix_indicator This parameter is used to show that the sub-word
|
|
990
|
+
/// is the last part of a word (default='##').
|
|
991
|
+
/// \param[in] max_bytes_per_token Tokens exceeding this length will not be further split (default=100).
|
|
992
|
+
/// \param[in] unknown_token When a token cannot be found, return the token directly if 'unknown_token' is an empty
|
|
993
|
+
/// string, else return the specified string (default='[UNK]').
|
|
994
|
+
/// \param[in] with_offsets whether to output offsets of tokens (default=false).
|
|
995
|
+
/// \par Example
|
|
996
|
+
/// \code
|
|
997
|
+
/// /* Define operations */
|
|
998
|
+
/// std::vector<std::string> word_list = {"book", "apple", "rabbit"};
|
|
999
|
+
/// std::shared_ptr<Vocab> vocab = std::make_shared<Vocab>();
|
|
1000
|
+
/// Status s = Vocab::BuildFromVector(word_list, {}, true, &vocab);
|
|
1001
|
+
/// auto tokenizer_op = text::WordpieceTokenizer(vocab);
|
|
1002
|
+
///
|
|
1003
|
+
/// /* dataset is an instance of Dataset object */
|
|
1004
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
1005
|
+
/// {"text"}); // input columns
|
|
1006
|
+
/// \endcode
|
|
1007
|
+
explicit WordpieceTokenizer(const std::shared_ptr<Vocab> &vocab, const std::string &suffix_indicator = "##",
|
|
1008
|
+
int32_t max_bytes_per_token = 100, const std::string &unknown_token = "[UNK]",
|
|
1009
|
+
bool with_offsets = false)
|
|
1010
|
+
: WordpieceTokenizer(vocab, StringToChar(suffix_indicator), max_bytes_per_token, StringToChar(unknown_token),
|
|
1011
|
+
with_offsets) {}
|
|
1012
|
+
|
|
1013
|
+
explicit WordpieceTokenizer(const std::shared_ptr<Vocab> &vocab, const std::vector<char> &suffix_indicator,
|
|
1014
|
+
int32_t max_bytes_per_token, const std::vector<char> &unknown_token, bool with_offsets);
|
|
1015
|
+
|
|
1016
|
+
/// \brief Destructor
|
|
1017
|
+
~WordpieceTokenizer() override = default;
|
|
1018
|
+
|
|
1019
|
+
protected:
|
|
1020
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
1021
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
1022
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
1023
|
+
|
|
1024
|
+
private:
|
|
1025
|
+
struct Data;
|
|
1026
|
+
std::shared_ptr<Data> data_;
|
|
1027
|
+
};
|
|
1028
|
+
|
|
1029
|
+
#ifndef _WIN32
|
|
1030
|
+
/// \brief Tokenize a scalar tensor of UTF-8 string on Unicode script boundaries.
|
|
1031
|
+
class DATASET_API UnicodeScriptTokenizer final : public TensorTransform {
|
|
1032
|
+
public:
|
|
1033
|
+
/// \brief Constructor.
|
|
1034
|
+
/// \param[in] keep_whitespace whether to emit whitespace tokens (default=false).
|
|
1035
|
+
/// \param[in] with_offsets whether to output offsets of tokens (default=false).
|
|
1036
|
+
/// \par Example
|
|
1037
|
+
/// \code
|
|
1038
|
+
/// /* Define operations */
|
|
1039
|
+
/// auto tokenizer_op = text::UnicodeScriptTokenizer(false, true);
|
|
1040
|
+
///
|
|
1041
|
+
/// /* dataset is an instance of Dataset object */
|
|
1042
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
1043
|
+
/// {"text"}); // input columns
|
|
1044
|
+
/// \endcode
|
|
1045
|
+
explicit UnicodeScriptTokenizer(bool keep_whitespace = false, bool with_offsets = false);
|
|
1046
|
+
|
|
1047
|
+
/// \brief Destructor
|
|
1048
|
+
~UnicodeScriptTokenizer() override = default;
|
|
1049
|
+
|
|
1050
|
+
protected:
|
|
1051
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
1052
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
1053
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
1054
|
+
|
|
1055
|
+
private:
|
|
1056
|
+
struct Data;
|
|
1057
|
+
std::shared_ptr<Data> data_;
|
|
1058
|
+
};
|
|
1059
|
+
|
|
1060
|
+
/// \brief Tokenize a scalar tensor of UTF-8 string on ICU4C defined whitespaces.
|
|
1061
|
+
class DATASET_API WhitespaceTokenizer final : public TensorTransform {
|
|
1062
|
+
public:
|
|
1063
|
+
/// \brief Constructor.
|
|
1064
|
+
/// \param[in] with_offsets whether to output offsets of tokens (default=false).
|
|
1065
|
+
/// \par Example
|
|
1066
|
+
/// \code
|
|
1067
|
+
/// /* Define operations */
|
|
1068
|
+
/// auto tokenizer_op = text::WhitespaceTokenizer(false);
|
|
1069
|
+
///
|
|
1070
|
+
/// /* dataset is an instance of Dataset object */
|
|
1071
|
+
/// dataset = dataset->Map({tokenizer_op}, // operations
|
|
1072
|
+
/// {"text"}); // input columns
|
|
1073
|
+
/// \endcode
|
|
1074
|
+
explicit WhitespaceTokenizer(bool with_offsets = false);
|
|
1075
|
+
|
|
1076
|
+
/// \brief Destructor
|
|
1077
|
+
~WhitespaceTokenizer() override = default;
|
|
1078
|
+
|
|
1079
|
+
protected:
|
|
1080
|
+
/// \brief The function to convert a TensorTransform object into a TensorOperation object.
|
|
1081
|
+
/// \return Shared pointer to the TensorOperation object.
|
|
1082
|
+
std::shared_ptr<TensorOperation> Parse() override;
|
|
1083
|
+
|
|
1084
|
+
private:
|
|
1085
|
+
struct Data;
|
|
1086
|
+
std::shared_ptr<Data> data_;
|
|
1087
|
+
};
|
|
1088
|
+
#endif
|
|
1089
|
+
} // namespace text
|
|
1090
|
+
} // namespace dataset
|
|
1091
|
+
} // namespace mindspore
|
|
1092
|
+
#endif // MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_TEXT_H_
|