mindspore 2.4.0__cp310-cp310-macosx_10_15_x86_64.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/__init__.py +53 -0
- mindspore/_c_dataengine.cpython-310-darwin.so +0 -0
- mindspore/_c_expression.cpython-310-darwin.so +0 -0
- mindspore/_c_mindrecord.cpython-310-darwin.so +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/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/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/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/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/lib/libavcodec.59.dylib +0 -0
- mindspore/lib/libavdevice.59.dylib +0 -0
- mindspore/lib/libavfilter.8.dylib +0 -0
- mindspore/lib/libavformat.59.dylib +0 -0
- mindspore/lib/libavutil.57.dylib +0 -0
- mindspore/lib/libdnnl.2.dylib +0 -0
- mindspore/lib/libicudata.69.dylib +0 -0
- mindspore/lib/libicui18n.69.dylib +0 -0
- mindspore/lib/libicuuc.69.dylib +0 -0
- mindspore/lib/libmindspore_address_sorting.15.dylib +0 -0
- mindspore/lib/libmindspore_backend.dylib +0 -0
- mindspore/lib/libmindspore_common.dylib +0 -0
- mindspore/lib/libmindspore_core.dylib +0 -0
- mindspore/lib/libmindspore_glog.0.dylib +0 -0
- mindspore/lib/libmindspore_gpr.15.dylib +0 -0
- mindspore/lib/libmindspore_grpc++.1.dylib +0 -0
- mindspore/lib/libmindspore_grpc.15.dylib +0 -0
- mindspore/lib/libmindspore_np_dtype.dylib +0 -0
- mindspore/lib/libmindspore_ops.dylib +0 -0
- mindspore/lib/libmindspore_upb.15.dylib +0 -0
- mindspore/lib/libnnacl.dylib +0 -0
- mindspore/lib/libopencv_core.4.5.dylib +0 -0
- mindspore/lib/libopencv_imgcodecs.4.5.dylib +0 -0
- mindspore/lib/libopencv_imgproc.4.5.dylib +0 -0
- mindspore/lib/libps_cache.dylib +0 -0
- mindspore/lib/libswresample.4.dylib +0 -0
- mindspore/lib/libswscale.6.dylib +0 -0
- mindspore/lib/libtinyxml2.8.dylib +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/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/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/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/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/scipy/__init__.py +18 -0
- mindspore/scipy/fft.py +264 -0
- mindspore/scipy/linalg.py +919 -0
- mindspore/scipy/ops.py +165 -0
- mindspore/scipy/ops_grad.py +115 -0
- mindspore/scipy/ops_wrapper.py +74 -0
- mindspore/scipy/optimize/__init__.py +20 -0
- mindspore/scipy/optimize/_bfgs.py +230 -0
- mindspore/scipy/optimize/_lagrange.py +201 -0
- mindspore/scipy/optimize/_lbfgs.py +146 -0
- mindspore/scipy/optimize/gradient_optimization_algorithm.py +168 -0
- mindspore/scipy/optimize/line_search.py +370 -0
- mindspore/scipy/optimize/linear_sum_assignment.py +78 -0
- mindspore/scipy/optimize/minimize.py +200 -0
- mindspore/scipy/utils.py +156 -0
- mindspore/scipy/utils_const.py +246 -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/utils/__init__.py +21 -0
- mindspore/utils/utils.py +60 -0
- mindspore/version.py +1 -0
- mindspore-2.4.0.dist-info/METADATA +352 -0
- mindspore-2.4.0.dist-info/RECORD +1387 -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,897 @@
|
|
|
1
|
+
# Copyright 2020 Huawei Technologies Co., Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ============================================================================
|
|
15
|
+
"""constexpr util"""
|
|
16
|
+
|
|
17
|
+
import operator
|
|
18
|
+
from functools import partial
|
|
19
|
+
from itertools import compress
|
|
20
|
+
|
|
21
|
+
import numpy as np
|
|
22
|
+
from mindspore.common import dtype as mstype
|
|
23
|
+
from mindspore.common._register_for_tensor import tensor_operator_registry
|
|
24
|
+
from mindspore.common.tensor import Tensor
|
|
25
|
+
from mindspore.ops import operations as P
|
|
26
|
+
from mindspore.ops.operations import _inner_ops
|
|
27
|
+
from mindspore.ops.primitive import constexpr, _primexpr
|
|
28
|
+
from mindspore import log as logger
|
|
29
|
+
from mindspore import context
|
|
30
|
+
from mindspore._c_expression import Tensor as Tensor_
|
|
31
|
+
|
|
32
|
+
ALL_TENSOR = 0
|
|
33
|
+
NO_TENSOR = 1
|
|
34
|
+
CONTAIN_TENSOR = 2
|
|
35
|
+
ALL_SCALAR = 3
|
|
36
|
+
ALL_BASIC = 7
|
|
37
|
+
MIXED = 8
|
|
38
|
+
|
|
39
|
+
INT_ = 0
|
|
40
|
+
BOOL_ = 1
|
|
41
|
+
UNSUPPORTED_DTYPE = 2
|
|
42
|
+
|
|
43
|
+
TENSOR_SETITEM = "tensor setitem"
|
|
44
|
+
TENSOR_GETITEM = "tensor getitem"
|
|
45
|
+
|
|
46
|
+
SET_ITEM_BY_ONE_TENSOR = 0
|
|
47
|
+
SET_ITEM_BY_TUPLE_OF_TENSOR = 1
|
|
48
|
+
SET_ITEM_BY_NON_TENSOR = 2
|
|
49
|
+
|
|
50
|
+
type_priority_map = {
|
|
51
|
+
mstype.bool_: 0,
|
|
52
|
+
mstype.uint8: 1,
|
|
53
|
+
mstype.int8: 2,
|
|
54
|
+
mstype.uint16: 3,
|
|
55
|
+
mstype.int16: 4,
|
|
56
|
+
mstype.uint32: 5,
|
|
57
|
+
mstype.int32: 6,
|
|
58
|
+
mstype.uint64: 7,
|
|
59
|
+
mstype.int64: 8,
|
|
60
|
+
mstype.float16: 9,
|
|
61
|
+
mstype.float32: 10,
|
|
62
|
+
mstype.float64: 11
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
complex_priority_map = {
|
|
66
|
+
mstype.float32: 0,
|
|
67
|
+
mstype.float64: 1,
|
|
68
|
+
mstype.complex64: 2,
|
|
69
|
+
mstype.complex128: 4
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
complex_types = [mstype.complex64, mstype.complex128]
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
@constexpr
|
|
76
|
+
def raise_value_error(msg):
|
|
77
|
+
"""Constexpr for raise_value_error."""
|
|
78
|
+
raise ValueError(msg)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@constexpr
|
|
82
|
+
def raise_index_error(msg):
|
|
83
|
+
"""Constexpr for raise_index_error."""
|
|
84
|
+
raise IndexError(msg)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@constexpr
|
|
88
|
+
def raise_type_error(msg):
|
|
89
|
+
"""Constexpr for raise_type_error."""
|
|
90
|
+
raise TypeError(msg)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@constexpr
|
|
94
|
+
def raise_unimplemented_error(msg):
|
|
95
|
+
raise NotImplementedError(msg)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@constexpr
|
|
99
|
+
def log_warning(msg):
|
|
100
|
+
"""Adds warning to logger."""
|
|
101
|
+
logger.warning(msg)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
@constexpr
|
|
105
|
+
def check_equal(param1, param2, msg="{},{}"):
|
|
106
|
+
"""Checks whether the two parameters are equal or not."""
|
|
107
|
+
if param1 != param2:
|
|
108
|
+
raise ValueError(msg.format(param1, param2))
|
|
109
|
+
return param1
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
@constexpr
|
|
113
|
+
def make_empty_slice():
|
|
114
|
+
"""Creates a empty slice."""
|
|
115
|
+
return slice(None, None, None)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
@_primexpr
|
|
119
|
+
def _deep_list(array_like, dim_size=None):
|
|
120
|
+
"""convert nested tuple/list mixtures to pure nested list"""
|
|
121
|
+
if dim_size is not None:
|
|
122
|
+
array_like = check_range(array_like, dim_size)
|
|
123
|
+
if isinstance(array_like, (list, tuple)):
|
|
124
|
+
return list(map(lambda x: _deep_list(x, dim_size), array_like))
|
|
125
|
+
return array_like
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
@constexpr
|
|
129
|
+
def deep_tuple(array_like):
|
|
130
|
+
"""convert nested tuple/list mixtures to pure nested tuple"""
|
|
131
|
+
if isinstance(array_like, (list, tuple)):
|
|
132
|
+
return tuple(map(deep_tuple, array_like))
|
|
133
|
+
return array_like
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def _deep_tensor_to_nparray(array_like):
|
|
137
|
+
"""
|
|
138
|
+
convert a nested list of tensor to nested list of np_array.
|
|
139
|
+
|
|
140
|
+
Args:
|
|
141
|
+
array_like(list(tensor)): In any format of nested lists that may contain
|
|
142
|
+
tensors.
|
|
143
|
+
|
|
144
|
+
Returns:
|
|
145
|
+
array_like(list(np_array)): Formatted array that can be directly processed
|
|
146
|
+
by numpy.array(), with all tensor elements converted to numpy_array.
|
|
147
|
+
"""
|
|
148
|
+
# Recursively check whether each element is a tensor or not, if is tensor,
|
|
149
|
+
# convert it to a numpy array in place
|
|
150
|
+
if isinstance(array_like, Tensor):
|
|
151
|
+
return array_like.asnumpy()
|
|
152
|
+
|
|
153
|
+
if isinstance(array_like, list):
|
|
154
|
+
for idx, value in enumerate(array_like):
|
|
155
|
+
array_like[idx] = _deep_tensor_to_nparray(value)
|
|
156
|
+
|
|
157
|
+
return array_like
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
@_primexpr
|
|
161
|
+
def check_range(x, dim_size):
|
|
162
|
+
if dim_size is None:
|
|
163
|
+
return x
|
|
164
|
+
if isinstance(x, int) and not isinstance(x, bool):
|
|
165
|
+
if x >= dim_size or x < -dim_size:
|
|
166
|
+
raise IndexError(f'index {x} is out of bounds for dimension with size {dim_size}')
|
|
167
|
+
x = x % dim_size
|
|
168
|
+
return x
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
@_primexpr
|
|
172
|
+
def make_tensor(a, dtype=mstype.int64, data_shape=None, dim_size=None):
|
|
173
|
+
"""
|
|
174
|
+
Converts the input to tensor.
|
|
175
|
+
|
|
176
|
+
This function converts tensors from an array-like object.
|
|
177
|
+
|
|
178
|
+
Args:
|
|
179
|
+
a (Union[int, float, bool, list, tuple]): Input data, in any form that can
|
|
180
|
+
be converted to a `Tensor`.
|
|
181
|
+
dtype (:class:`mindspore.dtype`): Designated tensor dtype.
|
|
182
|
+
|
|
183
|
+
Returns:
|
|
184
|
+
Tensor, generated tensor with the specified dtype.
|
|
185
|
+
|
|
186
|
+
Raises:
|
|
187
|
+
TypeError: If input arguments have types not specified above.
|
|
188
|
+
ValueError: If input `a` has different sizes at different dimensions.
|
|
189
|
+
"""
|
|
190
|
+
if data_shape:
|
|
191
|
+
return Tensor(np.zeros(data_shape), dtype)
|
|
192
|
+
|
|
193
|
+
if not isinstance(a, (list, tuple, int, float, bool)):
|
|
194
|
+
raise TypeError(f"Input data must be `int`, `float`, `bool`, `list` or `tuple`, but got {a}")
|
|
195
|
+
|
|
196
|
+
if dim_size is not None:
|
|
197
|
+
a = check_range(a, dim_size)
|
|
198
|
+
|
|
199
|
+
if isinstance(a, int):
|
|
200
|
+
return P.ScalarToTensor()(a, dtype)
|
|
201
|
+
|
|
202
|
+
if isinstance(a, (list, tuple)):
|
|
203
|
+
if not a:
|
|
204
|
+
return Tensor_(a, dtype)
|
|
205
|
+
# Convert all tuple/nested tuples to lists
|
|
206
|
+
a = _deep_list(a, dim_size)
|
|
207
|
+
# Convert all tensor sub-elements to numpy arrays
|
|
208
|
+
a = _deep_tensor_to_nparray(a)
|
|
209
|
+
a = np.asarray(a)
|
|
210
|
+
if a.dtype is np.dtype('object'):
|
|
211
|
+
raise ValueError('Input array must have the same size across all dimensions.')
|
|
212
|
+
|
|
213
|
+
if isinstance(a, np.ndarray):
|
|
214
|
+
if a.dtype is np.dtype('object'):
|
|
215
|
+
raise TypeError(f"For Tensor conversion, the input_data is {a} that contains unsupported element.")
|
|
216
|
+
|
|
217
|
+
return Tensor(a, dtype)
|
|
218
|
+
|
|
219
|
+
setattr(tensor_operator_registry, 'make_tensor', make_tensor)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
def judge_data_dim(data_dim, min_data_dim=0, max_data_dim=8):
|
|
223
|
+
"""Judges whether the data dim is valid."""
|
|
224
|
+
if data_dim < min_data_dim or data_dim > max_data_dim:
|
|
225
|
+
raise ValueError(f"The input data's dim must in the range of [{min_data_dim}, "
|
|
226
|
+
f"{max_data_dim}], but got '{data_dim}'.")
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
def get_source_shape(data_shape, value_shape):
|
|
230
|
+
"""Returns the shape of value that will be used to broadcast against data."""
|
|
231
|
+
if len(value_shape) > len(data_shape):
|
|
232
|
+
return data_shape
|
|
233
|
+
return value_shape
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
@constexpr
|
|
237
|
+
def check_tensor_setitem_index(index, element_type=None):
|
|
238
|
+
"""Checks tuple index type of tensor assignment."""
|
|
239
|
+
if index is None:
|
|
240
|
+
raise IndexError("Tensor's index cannot be None.")
|
|
241
|
+
if isinstance(index, slice):
|
|
242
|
+
return True
|
|
243
|
+
if isinstance(index, tuple):
|
|
244
|
+
if not index:
|
|
245
|
+
raise IndexError("Tensor's index cannot be empty.")
|
|
246
|
+
for item in index:
|
|
247
|
+
if not isinstance(item, (slice, type(...), int)):
|
|
248
|
+
raise IndexError(
|
|
249
|
+
"Index of type '{}' is not supported yet.".format(type(item)))
|
|
250
|
+
return True
|
|
251
|
+
if isinstance(index, mstype.TensorType):
|
|
252
|
+
if element_type is None or element_type != mstype.bool_:
|
|
253
|
+
raise TypeError(
|
|
254
|
+
"The index of tensor should be a bool type tensor. "
|
|
255
|
+
"{} type is not supported yet.".format(element_type))
|
|
256
|
+
return True
|
|
257
|
+
|
|
258
|
+
raise IndexError(
|
|
259
|
+
"Index of type '{}' is not supported yet.".format(type(index)))
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
@constexpr
|
|
263
|
+
def is_same_type(inst, type_):
|
|
264
|
+
"""
|
|
265
|
+
Checks whether an object is an instance of a target type.
|
|
266
|
+
|
|
267
|
+
Inputs:
|
|
268
|
+
inst (mindspore.dtype): Inspected type.
|
|
269
|
+
type_ (mindspore.dtype): Target type.
|
|
270
|
+
|
|
271
|
+
Outputs:
|
|
272
|
+
bool, the check result.
|
|
273
|
+
"""
|
|
274
|
+
return inst == type_
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
@constexpr
|
|
278
|
+
def check_valid_dim(dim, name):
|
|
279
|
+
"""Checks whether the dim is valid."""
|
|
280
|
+
if dim not in (1, 2):
|
|
281
|
+
raise ValueError(f"For '{name}', the dimension of inputs must be 1d or 2d, but got {dim}.")
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
@constexpr
|
|
285
|
+
def judge_index_type(index_type, target_type):
|
|
286
|
+
"""Judges whether the index type is valid."""
|
|
287
|
+
if index_type == target_type or (isinstance(target_type, (list, tuple)) and index_type in target_type):
|
|
288
|
+
return True
|
|
289
|
+
return False
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
@constexpr
|
|
293
|
+
def judge_indexes_types(dtypes, target_type):
|
|
294
|
+
"""Check a tuple of tensor data type."""
|
|
295
|
+
for dtype in dtypes:
|
|
296
|
+
if isinstance(target_type, (list, tuple)):
|
|
297
|
+
if dtype not in target_type:
|
|
298
|
+
return False
|
|
299
|
+
else:
|
|
300
|
+
if dtype != target_type:
|
|
301
|
+
return False
|
|
302
|
+
return True
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
@constexpr
|
|
306
|
+
def check_type_isinstance(dtype, target_type):
|
|
307
|
+
"""Checks whether the dtype is instance of target type."""
|
|
308
|
+
if isinstance(dtype, (list, tuple)):
|
|
309
|
+
return all(isinstance(ele, target_type) for ele in dtype)
|
|
310
|
+
return isinstance(dtype, target_type)
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
@constexpr
|
|
314
|
+
def check_type_invalid(dtype, target_type):
|
|
315
|
+
"""Checks whether the dtype is valid."""
|
|
316
|
+
return dtype != target_type and (isinstance(target_type, (list, tuple)) and dtype not in target_type)
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
@constexpr
|
|
320
|
+
def check_type_valid(dtype, target_type, op_name):
|
|
321
|
+
"""Checks whether the dtype is valid."""
|
|
322
|
+
if dtype != target_type and (isinstance(target_type, (list, tuple)) and dtype not in target_type):
|
|
323
|
+
if op_name in (TENSOR_GETITEM, TENSOR_SETITEM):
|
|
324
|
+
raise IndexError(
|
|
325
|
+
f"The '{op_name}' doesn't support '{dtype}' and expect to receive {target_type}.")
|
|
326
|
+
raise TypeError(
|
|
327
|
+
f"The '{op_name}' doesn't support '{dtype}' and expect to receive {target_type}.")
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
@constexpr
|
|
331
|
+
def check_types_valid(dtypes, target_type, op_name):
|
|
332
|
+
"""Check a tuple of tensor data type."""
|
|
333
|
+
for dtype in dtypes:
|
|
334
|
+
check_type_valid(dtype, target_type, op_name)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
@constexpr
|
|
338
|
+
def get_pos_of_indexes_types(indexes_types, op_name):
|
|
339
|
+
"""Separate the position information of tensor and slice and ellipsis from the mixed tensors index."""
|
|
340
|
+
slice_positions, ellipsis_positions, none_positions, int_positions, bool_positions, tensor_positions, \
|
|
341
|
+
sequence_positions = (), (), (), (), (), (), ()
|
|
342
|
+
for i, index_type in enumerate(indexes_types):
|
|
343
|
+
if isinstance(index_type, mstype.Slice):
|
|
344
|
+
slice_positions += (i,)
|
|
345
|
+
elif isinstance(index_type, mstype.Ellipsis_):
|
|
346
|
+
ellipsis_positions += (i,)
|
|
347
|
+
elif isinstance(index_type, mstype.NoneType):
|
|
348
|
+
none_positions += (i,)
|
|
349
|
+
elif isinstance(index_type, mstype.Int):
|
|
350
|
+
int_positions += (i,)
|
|
351
|
+
elif isinstance(index_type, mstype.Bool):
|
|
352
|
+
bool_positions += (i,)
|
|
353
|
+
elif isinstance(index_type, mstype.TensorType):
|
|
354
|
+
tensor_positions += (i,)
|
|
355
|
+
elif isinstance(index_type, (list, tuple)):
|
|
356
|
+
sequence_positions += (i,)
|
|
357
|
+
else:
|
|
358
|
+
raise TypeError(f"For '{op_name}', the types only support 'Slice', 'Ellipsis', 'None', 'Tensor', 'int', "
|
|
359
|
+
f"'List', 'Tuple', 'bool', but got {index_type}.")
|
|
360
|
+
if len(ellipsis_positions) > 1:
|
|
361
|
+
raise IndexError(
|
|
362
|
+
f"For '{op_name}, an index can only have a single ellipsis('...')")
|
|
363
|
+
|
|
364
|
+
return slice_positions, ellipsis_positions, none_positions, int_positions, bool_positions, \
|
|
365
|
+
tensor_positions, sequence_positions
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
def ellipsis2slice(input_, shape):
|
|
369
|
+
"""Converts ellipsis to slice."""
|
|
370
|
+
input_slice = input_
|
|
371
|
+
result = []
|
|
372
|
+
if isinstance(input_, type(...)):
|
|
373
|
+
input_slice = (input_,)
|
|
374
|
+
ell_count = 0
|
|
375
|
+
for _, element in enumerate(input_slice):
|
|
376
|
+
if not isinstance(element, type(...)):
|
|
377
|
+
result.append(element)
|
|
378
|
+
continue
|
|
379
|
+
ell_count += 1
|
|
380
|
+
if ell_count > 1:
|
|
381
|
+
raise IndexError("There cannot be more than one ellisis (...) in the index of the tensor, "
|
|
382
|
+
"but it is currently {}".format(input_slice))
|
|
383
|
+
for _ in range(len(shape) - len(input_slice) + 1):
|
|
384
|
+
result.append(slice(None, None, None))
|
|
385
|
+
return tuple(result)
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
@constexpr
|
|
389
|
+
def slice2indices(input_slice, shape):
|
|
390
|
+
"""
|
|
391
|
+
Converts slice to indices.
|
|
392
|
+
|
|
393
|
+
Inputs:
|
|
394
|
+
input_slice (Union[Slice, tuple[Slice]]): Slice tuple or slice.
|
|
395
|
+
shape (tuple): The shape of a tensor is an integer element tuple.
|
|
396
|
+
|
|
397
|
+
Outputs:
|
|
398
|
+
Tensor, the shape is (n, 1).
|
|
399
|
+
"""
|
|
400
|
+
start, stop, step = normalize_slice(input_slice, shape[0])
|
|
401
|
+
if check_slice_empty(start, stop, step):
|
|
402
|
+
return False
|
|
403
|
+
ndim = len(shape)
|
|
404
|
+
mesh = list()
|
|
405
|
+
range_op = P.Range()
|
|
406
|
+
cast_op = P.Cast()
|
|
407
|
+
grids = [
|
|
408
|
+
range_op(cast_op(start, mstype.int64), cast_op(stop, mstype.int64),
|
|
409
|
+
cast_op(step, mstype.int64))
|
|
410
|
+
]
|
|
411
|
+
grids += [
|
|
412
|
+
range_op(Tensor(0, mstype.int64), cast_op(dim_size, mstype.int64),
|
|
413
|
+
Tensor(1, mstype.int64)) for dim_size in shape[1:]
|
|
414
|
+
]
|
|
415
|
+
for j, grid in enumerate(grids):
|
|
416
|
+
mesh.append(P.Reshape()(grid, tuple(
|
|
417
|
+
[grid.size if j == t else 1 for t in range(ndim)])))
|
|
418
|
+
shapes = map(P.Shape(), mesh)
|
|
419
|
+
out_shape = infer_out_shape(*shapes)
|
|
420
|
+
mesh_arrays = list()
|
|
421
|
+
for arr in mesh:
|
|
422
|
+
mesh_arrays.append(P.BroadcastTo(out_shape)(arr))
|
|
423
|
+
return P.Stack(-1)(mesh_arrays)
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
@constexpr
|
|
427
|
+
def check_indices(indices_size, index):
|
|
428
|
+
"""Checks indices whether is empty."""
|
|
429
|
+
if indices_size < 1:
|
|
430
|
+
raise IndexError(
|
|
431
|
+
"The tensor's index is unreasonable. index:{}".format(index))
|
|
432
|
+
return indices_size
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
@_primexpr
|
|
436
|
+
def check_indices_value_size(indices_size, value_size):
|
|
437
|
+
"""Checks if the sizes are already matched."""
|
|
438
|
+
if value_size < 1:
|
|
439
|
+
raise ValueError("The value assigned to tensor cannot be empty.")
|
|
440
|
+
if value_size > 1:
|
|
441
|
+
if value_size != indices_size:
|
|
442
|
+
raise ValueError(
|
|
443
|
+
"The value given to tensor does not match the index size,"
|
|
444
|
+
" value size:{}, indics size:{}".format(value_size, indices_size))
|
|
445
|
+
return value_size
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
@constexpr
|
|
449
|
+
def tuple_index_type_cnt(types, op_name):
|
|
450
|
+
"""count the tensor type of types which contains the tuple elements' type."""
|
|
451
|
+
if all(isinstance(ele, mstype.TensorType) for ele in types):
|
|
452
|
+
return ALL_TENSOR
|
|
453
|
+
if all(isinstance(ele, (mstype.Int, mstype.Ellipsis_, mstype.Slice)) for ele in types):
|
|
454
|
+
return ALL_BASIC
|
|
455
|
+
return MIXED
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
@constexpr
|
|
459
|
+
def check_value_elements(types):
|
|
460
|
+
"""Judges the type of all elements of the tuple."""
|
|
461
|
+
tensor_number = 0
|
|
462
|
+
last_type = None
|
|
463
|
+
mix_but_no_tensor = False
|
|
464
|
+
for ele in types:
|
|
465
|
+
if isinstance(ele, mstype.TensorType):
|
|
466
|
+
tensor_number += 1
|
|
467
|
+
elif isinstance(ele, (list, tuple)):
|
|
468
|
+
return MIXED
|
|
469
|
+
|
|
470
|
+
if last_type is None:
|
|
471
|
+
last_type = type(ele)
|
|
472
|
+
elif not isinstance(ele, last_type):
|
|
473
|
+
mix_but_no_tensor = True
|
|
474
|
+
|
|
475
|
+
if tensor_number == 0:
|
|
476
|
+
if mix_but_no_tensor:
|
|
477
|
+
return MIXED
|
|
478
|
+
return NO_TENSOR
|
|
479
|
+
if tensor_number == len(types):
|
|
480
|
+
return ALL_TENSOR
|
|
481
|
+
return CONTAIN_TENSOR
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
@constexpr
|
|
485
|
+
def get_index_tensor_dtype(dtype):
|
|
486
|
+
"""Check a tuple of tensor data type."""
|
|
487
|
+
if dtype in mstype.int_type:
|
|
488
|
+
return INT_
|
|
489
|
+
if dtype == mstype.bool_:
|
|
490
|
+
return BOOL_
|
|
491
|
+
raise IndexError(
|
|
492
|
+
f"For '{TENSOR_SETITEM}', the index tensor data type '{dtype}' is not supported.")
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
@constexpr
|
|
496
|
+
def check_tensors_dtype_same(data_dtype, value_dtype, op_name):
|
|
497
|
+
"""Check tensors data type same."""
|
|
498
|
+
if value_dtype == data_dtype:
|
|
499
|
+
return True
|
|
500
|
+
raise TypeError(f"For '{op_name}', the value data type '{value_dtype}' "
|
|
501
|
+
f"is not consistent with assigned tensor data type {data_dtype}.")
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
@constexpr
|
|
505
|
+
def get_broadcast_shape(x_shape, y_shape, prim_name):
|
|
506
|
+
"""Get broadcast shape from input shapes."""
|
|
507
|
+
if x_shape is None or y_shape is None:
|
|
508
|
+
raise ValueError("get_broadcast_shape has dynamic rank input")
|
|
509
|
+
if None in x_shape or None in y_shape:
|
|
510
|
+
raise ValueError("get_broadcast_shape has dynamic shape input")
|
|
511
|
+
if x_shape == y_shape:
|
|
512
|
+
return x_shape
|
|
513
|
+
x_len = len(x_shape)
|
|
514
|
+
y_len = len(y_shape)
|
|
515
|
+
length = x_len if x_len < y_len else y_len
|
|
516
|
+
broadcast_shape_back = []
|
|
517
|
+
|
|
518
|
+
for i in range(-length, 0):
|
|
519
|
+
if x_shape[i] == 1:
|
|
520
|
+
broadcast_shape_back.append(y_shape[i])
|
|
521
|
+
elif y_shape[i] == 1:
|
|
522
|
+
broadcast_shape_back.append(x_shape[i])
|
|
523
|
+
elif x_shape[i] == y_shape[i]:
|
|
524
|
+
broadcast_shape_back.append(x_shape[i])
|
|
525
|
+
else:
|
|
526
|
+
raise ValueError(f"For '{prim_name}', x.shape and y.shape need to "
|
|
527
|
+
f"broadcast. The value of x.shape[{i}] or y.shape[{i}]"
|
|
528
|
+
f" must be 1 or -1 when they are not the same, "
|
|
529
|
+
f"but got x.shape = {x_shape} "
|
|
530
|
+
f"and y.shape = {y_shape}.")
|
|
531
|
+
|
|
532
|
+
broadcast_shape_front = y_shape[0: y_len - length] if length == x_len else x_shape[0: x_len - length]
|
|
533
|
+
broadcast_shape = list(broadcast_shape_front) + broadcast_shape_back
|
|
534
|
+
return broadcast_shape
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
@constexpr
|
|
538
|
+
def generate_broadcast_shape(shapes, op_name):
|
|
539
|
+
"""Generate broadcast shape for a tuple of shape."""
|
|
540
|
+
if not shapes:
|
|
541
|
+
return ()
|
|
542
|
+
broadcast_shape = shapes[0]
|
|
543
|
+
for shape in shapes:
|
|
544
|
+
broadcast_shape = get_broadcast_shape(tuple(broadcast_shape), shape, op_name)
|
|
545
|
+
return tuple(broadcast_shape)
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
@_primexpr
|
|
549
|
+
def compute_multiples(origin_shape, broadcast_shape):
|
|
550
|
+
"""Compute multiples between origin shape with broadcast shape."""
|
|
551
|
+
len_gap = len(broadcast_shape) - len(origin_shape)
|
|
552
|
+
return broadcast_shape[0:len_gap] + tuple(map(lambda x, y: x // y, broadcast_shape[len_gap:], tuple(origin_shape)))
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
@constexpr
|
|
556
|
+
def convert_scalar_to_tensor(data_shape, data_dtype, indices_shape, value, op_type):
|
|
557
|
+
"""Convert a scalar to a tensor."""
|
|
558
|
+
if op_type == SET_ITEM_BY_ONE_TENSOR:
|
|
559
|
+
updates_shape = indices_shape + data_shape[1:]
|
|
560
|
+
else:
|
|
561
|
+
updates_shape = indices_shape[:-1] + data_shape[indices_shape[-1]:]
|
|
562
|
+
return P.FillV2()(updates_shape, P.Cast()(value, data_dtype))
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
def generate_updates_shape(data_shape, index_shape, op_type):
|
|
566
|
+
"""Generate updates shape for 'tensor setitem'."""
|
|
567
|
+
if op_type == SET_ITEM_BY_ONE_TENSOR:
|
|
568
|
+
updates_shape = index_shape + data_shape[1:]
|
|
569
|
+
else:
|
|
570
|
+
updates_shape = index_shape[:-1] + data_shape[index_shape[-1]:]
|
|
571
|
+
return updates_shape
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
@constexpr
|
|
575
|
+
def transform_slice_to_ele_list(slice_index, dim_len):
|
|
576
|
+
"""Transforms slice to element list."""
|
|
577
|
+
slice_obj = slice(slice_index.start, slice_index.stop, slice_index.step)
|
|
578
|
+
start, stop, end = normalize_slice(slice_obj, dim_len)
|
|
579
|
+
slice_ele_list = list(range(start, stop, end))
|
|
580
|
+
if not slice_ele_list:
|
|
581
|
+
raise IndexError(f"An empty slice is not supported, got {slice_obj}")
|
|
582
|
+
return slice_ele_list
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
@constexpr
|
|
586
|
+
def generate_index_info_from_tuple_of_mixed_tensors(tensor_positions, tensor_indexes_shapes,
|
|
587
|
+
slice_shapes, op_name, fancy_position=None):
|
|
588
|
+
"""
|
|
589
|
+
Generate index info which contain broadcast shape, final shape,
|
|
590
|
+
indexes shapes info, ellipsis size from a tuple of mixed tensors.
|
|
591
|
+
"""
|
|
592
|
+
tensor_positions = tuple(sorted(tensor_positions))
|
|
593
|
+
if fancy_position is None:
|
|
594
|
+
tensor_index_continue_tag = _judge_order_continuous(tensor_positions)
|
|
595
|
+
fancy_position = tensor_positions[0] if tensor_index_continue_tag else 0
|
|
596
|
+
broadcast_shape = generate_broadcast_shape(tensor_indexes_shapes, op_name)
|
|
597
|
+
|
|
598
|
+
final_shape = slice_shapes[:fancy_position] + broadcast_shape + slice_shapes[fancy_position:]
|
|
599
|
+
index_tensor_new_shape = (1,) * len(slice_shapes[:fancy_position]) + \
|
|
600
|
+
broadcast_shape + (1,) * len(slice_shapes[fancy_position:])
|
|
601
|
+
|
|
602
|
+
return broadcast_shape, index_tensor_new_shape, final_shape, fancy_position
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
def _judge_order_continuous(order_sequence):
|
|
606
|
+
if not order_sequence:
|
|
607
|
+
return False
|
|
608
|
+
for idx1, idx2 in zip(order_sequence[:-1], order_sequence[1:]):
|
|
609
|
+
if idx1 + 1 != idx2:
|
|
610
|
+
return False
|
|
611
|
+
return True
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
@constexpr
|
|
615
|
+
def scalar_in_sequence(x, y):
|
|
616
|
+
"""Determine whether the scalar in the sequence."""
|
|
617
|
+
return x in y
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
@constexpr
|
|
621
|
+
def get_np_eps(input_dtype):
|
|
622
|
+
"""Get numpy eps."""
|
|
623
|
+
nptype = mstype.dtype_to_nptype(input_dtype)
|
|
624
|
+
eps = np.finfo(nptype).eps
|
|
625
|
+
return float(eps)
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
@constexpr
|
|
629
|
+
def check_number_index_type(number):
|
|
630
|
+
"""Check if it is int or bool number"""
|
|
631
|
+
if isinstance(number, bool):
|
|
632
|
+
return BOOL_
|
|
633
|
+
if isinstance(number, int):
|
|
634
|
+
return INT_
|
|
635
|
+
raise IndexError("Only support integers, slices(`:`), ellipsis(`...`), None and bool, got {0} type is {1} "
|
|
636
|
+
.format(number, type(number)))
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
@constexpr
|
|
640
|
+
def scalar_to_tensor(x):
|
|
641
|
+
"""Convert a scalar to a tensor"""
|
|
642
|
+
return Tensor(x)
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
@constexpr
|
|
646
|
+
def unpack(x):
|
|
647
|
+
if isinstance(x, (tuple, list)) and len(x) == 1:
|
|
648
|
+
return unpack(x[0])
|
|
649
|
+
return x
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
@_primexpr
|
|
653
|
+
def normalize_start(start, dim_size):
|
|
654
|
+
"""
|
|
655
|
+
Normalize `start` according to the number of dimensions (`dim_size`).
|
|
656
|
+
If the number of dimensions is not given, return the original input directly.
|
|
657
|
+
"""
|
|
658
|
+
if start is None:
|
|
659
|
+
return 0
|
|
660
|
+
if dim_size is None:
|
|
661
|
+
return start
|
|
662
|
+
if start < 0:
|
|
663
|
+
return 0 if start < -dim_size else start % dim_size
|
|
664
|
+
return start if start < dim_size else dim_size
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
@_primexpr
|
|
668
|
+
def normalize_stop(stop, dim_size):
|
|
669
|
+
"""
|
|
670
|
+
Normalize `stop` according to the number of dimensions (`dim_size`).
|
|
671
|
+
If the number of dimensions is not given, return the original input directly.
|
|
672
|
+
"""
|
|
673
|
+
if stop is None and dim_size is None:
|
|
674
|
+
raise IndexError("Not Support stop is None when dim is dynamic")
|
|
675
|
+
if stop is None:
|
|
676
|
+
return dim_size
|
|
677
|
+
if dim_size is None:
|
|
678
|
+
return stop
|
|
679
|
+
if stop < 0:
|
|
680
|
+
return 0 if stop < -dim_size else stop % dim_size
|
|
681
|
+
return stop if stop < dim_size else dim_size
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
@constexpr
|
|
685
|
+
def get_step_from_slice(input_slice):
|
|
686
|
+
"""get step in a slice."""
|
|
687
|
+
step = input_slice.step
|
|
688
|
+
if step is None:
|
|
689
|
+
step = 1
|
|
690
|
+
return step
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
@_primexpr
|
|
694
|
+
def normalize_slice(input_slice, dim_size):
|
|
695
|
+
"""Normalizes start, stop, step in a slice."""
|
|
696
|
+
step = input_slice.step
|
|
697
|
+
if step is None:
|
|
698
|
+
step = 1
|
|
699
|
+
if step >= 0:
|
|
700
|
+
start = normalize_start(input_slice.start, dim_size)
|
|
701
|
+
stop = normalize_stop(input_slice.stop, dim_size)
|
|
702
|
+
else:
|
|
703
|
+
start = normalize_stop(input_slice.start, dim_size)
|
|
704
|
+
stop = normalize_start(input_slice.stop, dim_size)
|
|
705
|
+
return start, stop, step
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
@constexpr
|
|
709
|
+
def tuple_slice(tup, start, end):
|
|
710
|
+
"""get sliced tuple from start and end."""
|
|
711
|
+
return tup[start:end]
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
def expanded_shape(shape, expand_size):
|
|
715
|
+
return (1,)*expand_size + shape
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
@constexpr
|
|
719
|
+
def sequence_mul_int(seq, number):
|
|
720
|
+
"""
|
|
721
|
+
Make a new list with native python syntax.
|
|
722
|
+
|
|
723
|
+
Args:
|
|
724
|
+
seq (Union[list, tuple]): Input sequence.
|
|
725
|
+
y (int): Input number.
|
|
726
|
+
|
|
727
|
+
Returns:
|
|
728
|
+
New sequence, has the same type as `seq`.
|
|
729
|
+
"""
|
|
730
|
+
if not isinstance(number, int):
|
|
731
|
+
raise TypeError(f"can't multiply sequence by non-int of type {type(number)}")
|
|
732
|
+
return seq * number
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
@constexpr
|
|
736
|
+
def check_in_sequence(x, y):
|
|
737
|
+
"""Determine whether the input `x` is in the sequence `y`."""
|
|
738
|
+
return x in y
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
@constexpr
|
|
742
|
+
def is_slice(x):
|
|
743
|
+
return isinstance(x, slice)
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
@_primexpr
|
|
747
|
+
def filter_expanded_dims(shape, not_expanded_dim):
|
|
748
|
+
"""filter_expanded_dims"""
|
|
749
|
+
def _check(diff, shape):
|
|
750
|
+
if diff < 0:
|
|
751
|
+
raise ValueError(f'unable to broadcast {shape}')
|
|
752
|
+
|
|
753
|
+
diff = len(not_expanded_dim) - len(shape)
|
|
754
|
+
_check(diff, shape)
|
|
755
|
+
res = list()
|
|
756
|
+
for i, flag in zip(shape, not_expanded_dim[diff:]):
|
|
757
|
+
if flag:
|
|
758
|
+
res.append(i)
|
|
759
|
+
return tuple(res)
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
@constexpr
|
|
763
|
+
def sequence_to_index(sequence, dim_size):
|
|
764
|
+
"""Transforms sequence to tensor index."""
|
|
765
|
+
if not sequence:
|
|
766
|
+
return False
|
|
767
|
+
if all(isinstance(i, bool) for i in sequence):
|
|
768
|
+
if dim_size is None:
|
|
769
|
+
return Tensor(sequence)
|
|
770
|
+
seq_size = len(sequence)
|
|
771
|
+
if seq_size != dim_size:
|
|
772
|
+
raise IndexError(f'dimension is {dim_size} but corresponding boolean dimension is {seq_size}')
|
|
773
|
+
sequence = tuple(compress(range(dim_size), sequence))
|
|
774
|
+
if not sequence:
|
|
775
|
+
return False
|
|
776
|
+
return make_tensor(sequence, mstype.int64, None, dim_size)
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
@constexpr
|
|
780
|
+
def rem_not_expanded_dims(idx_advanced, expand_true, tensor_index_ndim, rem_ndim, not_expanded_dim):
|
|
781
|
+
"""Adds remaining dimensions not indexed to not_expanded_dim"""
|
|
782
|
+
if idx_advanced != -1:
|
|
783
|
+
if expand_true:
|
|
784
|
+
# tensor indices generate only one dimension with size 1
|
|
785
|
+
tensor_dims = (False,)
|
|
786
|
+
else:
|
|
787
|
+
tensor_dims = (True,)*tensor_index_ndim
|
|
788
|
+
not_expanded_dim = not_expanded_dim[:idx_advanced] + tensor_dims + not_expanded_dim[idx_advanced:]
|
|
789
|
+
not_expanded_dim = not_expanded_dim + (True,)*rem_ndim
|
|
790
|
+
|
|
791
|
+
count_leading_false = 0
|
|
792
|
+
while count_leading_false < len(not_expanded_dim) and not not_expanded_dim[count_leading_false]:
|
|
793
|
+
count_leading_false += 1
|
|
794
|
+
idx_advanced = max(0, idx_advanced - count_leading_false)
|
|
795
|
+
return not_expanded_dim, idx_advanced
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
@_primexpr
|
|
799
|
+
def check_slice_empty(start, stop, step):
|
|
800
|
+
return (start - stop) * step >= 0
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
@_primexpr
|
|
804
|
+
def real_axes(ndim_orig, ndim_out, axes_orig):
|
|
805
|
+
"""Returns the real axes to be reduced after performing broadcast"""
|
|
806
|
+
_diff = ndim_out - ndim_orig
|
|
807
|
+
axes = tuple(range(_diff))
|
|
808
|
+
axes_orig = map(partial(operator.add, _diff), axes_orig)
|
|
809
|
+
return axes + tuple(axes_orig)
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
@_primexpr
|
|
813
|
+
def compute_slice_shape(slice_shape, broadcast_shape_len, slice_cnt, fancy_position):
|
|
814
|
+
"""Computes slice tensor shapes"""
|
|
815
|
+
shape = [1] * len(slice_shape)
|
|
816
|
+
shape[slice_cnt] = slice_shape[slice_cnt]
|
|
817
|
+
shape = shape[:fancy_position] + [1] * broadcast_shape_len + shape[fancy_position:]
|
|
818
|
+
return shape
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
@_primexpr
|
|
822
|
+
def infer_out_shape(*shapes):
|
|
823
|
+
"""
|
|
824
|
+
Returns shape of output after broadcasting. Raises ValueError if shapes cannot be broadcast.
|
|
825
|
+
"""
|
|
826
|
+
shape_out = list()
|
|
827
|
+
max_len = max([len(it) for it in shapes])
|
|
828
|
+
|
|
829
|
+
for i in range(max_len):
|
|
830
|
+
items = [it[i-max_len+len(it)] if i-max_len +
|
|
831
|
+
len(it) >= 0 else 1 for it in shapes]
|
|
832
|
+
max_size = 0 if 0 in items else max(items)
|
|
833
|
+
shape_out.append(max_size)
|
|
834
|
+
return tuple(shape_out)
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
@constexpr(check=False)
|
|
838
|
+
def use_copy_slice(tuple_index):
|
|
839
|
+
if tuple_index is not None and len(tuple_index) >= 2:
|
|
840
|
+
return (isinstance(tuple_index[0], int) and
|
|
841
|
+
isinstance(tuple_index[1], slice) and tuple_index[1].step in (1, None) and
|
|
842
|
+
all(x == slice(None, None, None) for x in tuple_index[2:]))
|
|
843
|
+
return False
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
@constexpr
|
|
847
|
+
def is_ascend():
|
|
848
|
+
"""Device target is Ascend or not"""
|
|
849
|
+
return context.get_context('device_target') == "Ascend"
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
@constexpr
|
|
853
|
+
def gen_exception_msg(msg_format, *args):
|
|
854
|
+
return msg_format.format(*args)
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
@constexpr
|
|
858
|
+
def get_output_dtype(dtype_1, dtype_2, use_complex=False):
|
|
859
|
+
"""Returns output dtype after type promotion."""
|
|
860
|
+
if use_complex:
|
|
861
|
+
priority_map = complex_priority_map
|
|
862
|
+
type_str = "Complex binary"
|
|
863
|
+
else:
|
|
864
|
+
priority_map = type_priority_map
|
|
865
|
+
type_str = "Binary"
|
|
866
|
+
priority_1 = priority_map.get(dtype_1, None)
|
|
867
|
+
priority_2 = priority_map.get(dtype_2, None)
|
|
868
|
+
if not priority_1 or not priority_2:
|
|
869
|
+
raise ValueError(f"{type_str} op type promotion not supported for {dtype_1} and {dtype_2}")
|
|
870
|
+
if priority_1 > priority_2:
|
|
871
|
+
return dtype_1
|
|
872
|
+
return dtype_2
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
@constexpr
|
|
876
|
+
def promote_binary_dtype(dtype_1, dtype_2):
|
|
877
|
+
"""
|
|
878
|
+
promote binary types
|
|
879
|
+
"""
|
|
880
|
+
if dtype_1 == dtype_2:
|
|
881
|
+
return dtype_1
|
|
882
|
+
if dtype_1 in complex_types or dtype_2 in complex_types:
|
|
883
|
+
return get_output_dtype(dtype_1, dtype_2, True)
|
|
884
|
+
return get_output_dtype(dtype_1, dtype_2, False)
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
@_primexpr
|
|
888
|
+
def generate_padding_shape(shape, length):
|
|
889
|
+
"""
|
|
890
|
+
pad the `shape` to `length` with 1.
|
|
891
|
+
"""
|
|
892
|
+
|
|
893
|
+
if _inner_ops.IsConstant()(length) and _inner_ops.IsConstant()(len(shape)):
|
|
894
|
+
if len(shape) > length:
|
|
895
|
+
raise ValueError(f"Can not pad {shape} to length {length}.")
|
|
896
|
+
|
|
897
|
+
return shape + (1,) * (length - len(shape))
|