mindspore 2.6.0rc1__cp310-cp310-win_amd64.whl → 2.7.0rc1__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +1 -1
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_checkparam.py +40 -9
- mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
- mindspore/_extends/optimize/cell_utils.py +96 -0
- mindspore/_extends/parse/__init__.py +2 -2
- mindspore/_extends/parse/compile_config.py +44 -22
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -1
- mindspore/_extends/parse/parser.py +37 -62
- mindspore/_extends/parse/resources.py +39 -0
- mindspore/_extends/parse/standard_method.py +43 -13
- mindspore/_extends/parse/trope.py +8 -1
- mindspore/_extends/pijit/__init__.py +1 -2
- mindspore/amp.py +4 -4
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/adasum.py +1 -1
- mindspore/boost/boost_cell_wrapper.py +4 -4
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +27 -2
- mindspore/common/_grad_function.py +2 -1
- mindspore/common/_pijit_context.py +28 -7
- mindspore/common/_stub_tensor.py +1 -209
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +77 -16
- mindspore/common/api.py +238 -113
- mindspore/common/dtype.py +21 -11
- mindspore/common/dump.py +10 -15
- mindspore/common/generator.py +5 -3
- mindspore/common/hook_handle.py +11 -2
- mindspore/common/jit_config.py +1 -1
- mindspore/common/jit_trace.py +84 -105
- mindspore/common/parameter.py +26 -12
- mindspore/common/recompute.py +3 -3
- mindspore/common/sparse_tensor.py +0 -3
- mindspore/common/symbol.py +0 -1
- mindspore/common/tensor.py +81 -81
- mindspore/communication/_comm_helper.py +46 -4
- mindspore/communication/management.py +79 -7
- mindspore/context.py +58 -40
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/datasets.py +20 -7
- mindspore/dataset/engine/datasets_user_defined.py +33 -3
- mindspore/dataset/engine/iterators.py +2 -2
- mindspore/dataset/engine/obs/config_loader.py +2 -2
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
- mindspore/dataset/transforms/py_transforms.py +7 -3
- mindspore/dataset/transforms/transforms.py +7 -3
- mindspore/dataset/vision/validators.py +1 -0
- mindspore/device_context/ascend/device.py +1 -1
- mindspore/device_context/gpu/__init__.py +2 -2
- mindspore/device_context/gpu/device.py +1 -1
- mindspore/device_context/gpu/op_precision.py +4 -2
- mindspore/device_context/gpu/op_tuning.py +6 -3
- mindspore/device_manager.py +16 -9
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -7
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/optim/adadelta.py +13 -20
- mindspore/experimental/optim/adagrad.py +15 -22
- mindspore/experimental/optim/adam.py +17 -24
- mindspore/experimental/optim/adamax.py +14 -22
- mindspore/experimental/optim/adamw.py +28 -34
- mindspore/experimental/optim/asgd.py +15 -25
- mindspore/experimental/optim/lr_scheduler.py +27 -45
- mindspore/experimental/optim/nadam.py +14 -24
- mindspore/experimental/optim/optimizer.py +13 -23
- mindspore/experimental/optim/radam.py +18 -24
- mindspore/experimental/optim/rmsprop.py +14 -25
- mindspore/experimental/optim/rprop.py +15 -26
- mindspore/experimental/optim/sgd.py +9 -19
- mindspore/hal/__init__.py +4 -4
- mindspore/hal/contiguous_tensors_handle.py +2 -2
- mindspore/hal/memory.py +27 -7
- mindspore/include/api/cell.h +37 -1
- mindspore/include/api/delegate.h +10 -0
- mindspore/include/api/model.h +3 -0
- mindspore/include/api/types.h +2 -2
- mindspore/include/c_api/model_c.h +0 -58
- mindspore/include/c_api/tensor_c.h +0 -26
- mindspore/include/dataset/vision_ascend.h +1 -1
- mindspore/jpeg62.dll +0 -0
- mindspore/mindrecord/tools/cifar10.py +60 -11
- mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_cpu_res_manager.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/mindspore_ops_host.dll +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +6 -46
- mindspore/mint/distributed/__init__.py +1 -0
- mindspore/mint/distributed/distributed.py +212 -9
- mindspore/mint/nn/__init__.py +1 -1
- mindspore/mint/nn/functional.py +53 -6
- mindspore/mint/nn/layer/_functions.py +164 -294
- mindspore/mint/nn/layer/activation.py +8 -6
- mindspore/mint/nn/layer/conv.py +137 -101
- mindspore/mint/nn/layer/normalization.py +8 -22
- mindspore/mint/optim/adam.py +19 -18
- mindspore/mint/optim/adamw.py +14 -8
- mindspore/mint/optim/sgd.py +5 -5
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/cell.py +328 -502
- mindspore/nn/grad/cell_grad.py +11 -12
- mindspore/nn/layer/activation.py +32 -34
- mindspore/nn/layer/basic.py +67 -64
- mindspore/nn/layer/channel_shuffle.py +4 -4
- mindspore/nn/layer/combined.py +4 -2
- mindspore/nn/layer/conv.py +117 -110
- mindspore/nn/layer/dense.py +9 -7
- mindspore/nn/layer/embedding.py +50 -52
- mindspore/nn/layer/image.py +37 -39
- mindspore/nn/layer/math.py +111 -112
- mindspore/nn/layer/normalization.py +56 -44
- mindspore/nn/layer/pooling.py +58 -63
- mindspore/nn/layer/rnn_cells.py +33 -33
- mindspore/nn/layer/rnns.py +56 -56
- mindspore/nn/layer/thor_layer.py +74 -73
- mindspore/nn/layer/transformer.py +11 -1
- mindspore/nn/learning_rate_schedule.py +20 -20
- mindspore/nn/loss/loss.py +79 -81
- mindspore/nn/optim/adam.py +3 -3
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/asgd.py +2 -0
- mindspore/nn/optim/optimizer.py +1 -1
- mindspore/nn/optim/thor.py +2 -2
- mindspore/nn/probability/distribution/exponential.py +2 -1
- mindspore/nn/probability/distribution/poisson.py +2 -1
- mindspore/nn/sparse/sparse.py +3 -3
- mindspore/nn/wrap/cell_wrapper.py +34 -37
- mindspore/nn/wrap/grad_reducer.py +37 -37
- mindspore/nn/wrap/loss_scale.py +72 -74
- mindspore/numpy/array_creations.py +5 -5
- mindspore/numpy/fft.py +1 -1
- mindspore/numpy/math_ops.py +5 -5
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
- mindspore/ops/_vmap/vmap_array_ops.py +31 -13
- mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +42 -11
- mindspore/ops/auto_generate/gen_extend_func.py +23 -141
- mindspore/ops/auto_generate/gen_ops_def.py +727 -321
- mindspore/ops/auto_generate/gen_ops_prim.py +1721 -984
- mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
- mindspore/ops/composite/__init__.py +10 -0
- mindspore/ops/composite/base.py +8 -4
- mindspore/ops/composite/multitype_ops/__init__.py +12 -1
- mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
- mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
- mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
- mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
- mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
- mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
- mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
- mindspore/ops/function/__init__.py +3 -1
- mindspore/ops/function/_add_attr_func.py +11 -6
- mindspore/ops/function/array_func.py +9 -96
- mindspore/ops/function/debug_func.py +4 -3
- mindspore/ops/function/grad/grad_func.py +1 -1
- mindspore/ops/function/math_func.py +33 -540
- mindspore/ops/function/nn_func.py +28 -74
- mindspore/ops/function/other_func.py +4 -1
- mindspore/ops/function/random_func.py +44 -5
- mindspore/ops/function/vmap_func.py +2 -1
- mindspore/ops/functional.py +2 -3
- mindspore/ops/functional_overload.py +571 -6
- mindspore/ops/op_info_register.py +21 -0
- mindspore/ops/operations/__init__.py +16 -11
- mindspore/ops/operations/_custom_ops_utils.py +689 -34
- mindspore/ops/operations/_inner_ops.py +3 -6
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/array_ops.py +2 -2
- mindspore/ops/operations/comm_ops.py +185 -26
- mindspore/ops/operations/custom_ops.py +294 -174
- mindspore/ops/operations/debug_ops.py +59 -4
- mindspore/ops/operations/image_ops.py +13 -13
- mindspore/ops/operations/manually_defined/ops_def.py +15 -16
- mindspore/ops/operations/math_ops.py +3 -4
- mindspore/ops/operations/nn_ops.py +7 -39
- mindspore/ops/primitive.py +6 -10
- mindspore/ops/tensor_method.py +47 -8
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
- mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
- mindspore/ops_generate/api/functions_cc_generator.py +58 -10
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
- mindspore/ops_generate/common/base_generator.py +14 -0
- mindspore/ops_generate/common/gen_constants.py +8 -3
- mindspore/ops_generate/common/gen_utils.py +0 -19
- mindspore/ops_generate/common/op_proto.py +11 -4
- mindspore/ops_generate/common/template.py +88 -11
- mindspore/ops_generate/gen_ops.py +1 -1
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
- mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
- mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
- mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
- mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
- mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
- mindspore/parallel/_auto_parallel_context.py +11 -8
- mindspore/parallel/_cell_wrapper.py +113 -45
- mindspore/parallel/_parallel_serialization.py +1 -1
- mindspore/parallel/_ps_context.py +4 -6
- mindspore/parallel/_tensor.py +167 -12
- mindspore/parallel/_transformer/moe.py +1 -1
- mindspore/parallel/_transformer/transformer.py +13 -8
- mindspore/parallel/auto_parallel.py +14 -7
- mindspore/parallel/checkpoint_convert.py +3 -3
- mindspore/parallel/checkpoint_transform.py +11 -7
- mindspore/parallel/cluster/process_entity/_api.py +84 -48
- mindspore/parallel/cluster/process_entity/_utils.py +95 -7
- mindspore/parallel/cluster/run.py +43 -4
- mindspore/parallel/function/__init__.py +8 -1
- mindspore/parallel/function/reshard_func.py +6 -7
- mindspore/parallel/nn/__init__.py +15 -2
- mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
- mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
- mindspore/parallel/shard.py +3 -4
- mindspore/parallel/transform_safetensors.py +463 -174
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +2 -1
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
- mindspore/profiler/analysis/task_manager.py +1 -1
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
- mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
- mindspore/profiler/common/constant.py +16 -0
- mindspore/profiler/common/profiler_context.py +25 -27
- mindspore/profiler/common/profiler_info.py +0 -16
- mindspore/profiler/common/profiler_op_analyse.py +235 -0
- mindspore/profiler/common/profiler_output_path.py +23 -8
- mindspore/profiler/common/profiler_parameters.py +128 -35
- mindspore/profiler/dynamic_profile/__init__.py +0 -0
- mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
- mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
- mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
- mindspore/profiler/dynamic_profiler.py +305 -314
- mindspore/profiler/envprofiler.py +12 -7
- mindspore/profiler/experimental_config.py +96 -6
- mindspore/profiler/mstx.py +33 -12
- mindspore/profiler/platform/__init__.py +2 -3
- mindspore/profiler/platform/npu_profiler.py +29 -19
- mindspore/profiler/profiler.py +35 -19
- mindspore/profiler/profiler_action_controller.py +64 -76
- mindspore/profiler/schedule.py +10 -4
- mindspore/rewrite/common/config.py +1 -0
- mindspore/rewrite/common/namer.py +1 -0
- mindspore/rewrite/common/namespace.py +1 -0
- mindspore/rewrite/node/node.py +31 -11
- mindspore/rewrite/parsers/assign_parser.py +1 -1
- mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +7 -10
- mindspore/runtime/__init__.py +5 -5
- mindspore/runtime/event.py +10 -4
- mindspore/runtime/executor.py +60 -45
- mindspore/runtime/memory.py +30 -32
- mindspore/runtime/thread_bind_core.py +298 -164
- mindspore/safeguard/rewrite_obfuscation.py +12 -13
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/_utils.py +14 -4
- mindspore/train/amp.py +43 -20
- mindspore/train/callback/__init__.py +5 -5
- mindspore/train/callback/_checkpoint.py +3 -6
- mindspore/train/callback/_flops_collector.py +1 -1
- mindspore/train/callback/_landscape.py +0 -1
- mindspore/train/callback/_train_fault_tolerance.py +97 -16
- mindspore/train/data_sink.py +11 -2
- mindspore/train/dataset_helper.py +9 -0
- mindspore/train/model.py +135 -55
- mindspore/train/serialization.py +133 -111
- mindspore/train/summary/summary_record.py +13 -2
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +0 -6
- mindspore/utils/runtime_execution_order_check.py +163 -77
- mindspore/utils/sdc_detect.py +68 -0
- mindspore/utils/utils.py +6 -9
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +356 -394
- mindspore/_deprecated/jit.py +0 -198
- mindspore/experimental/es/__init__.py +0 -22
- mindspore/experimental/es/embedding_service.py +0 -891
- mindspore/experimental/es/embedding_service_layer.py +0 -581
- mindspore/profiler/parser/__init__.py +0 -14
- mindspore/profiler/parser/aicpu_data_parser.py +0 -272
- mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
- mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
- mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
- mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
- mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
- mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
- mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
- mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
- mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
- mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
- mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
- mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
- mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
- mindspore/profiler/parser/ascend_flops_generator.py +0 -116
- mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
- mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
- mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
- mindspore/profiler/parser/ascend_memory_generator.py +0 -185
- mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
- mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
- mindspore/profiler/parser/ascend_op_generator.py +0 -334
- mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
- mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
- mindspore/profiler/parser/base_timeline_generator.py +0 -483
- mindspore/profiler/parser/container.py +0 -229
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
- mindspore/profiler/parser/flops_parser.py +0 -531
- mindspore/profiler/parser/framework_enum.py +0 -111
- mindspore/profiler/parser/framework_parser.py +0 -464
- mindspore/profiler/parser/framework_struct.py +0 -61
- mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
- mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
- mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
- mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
- mindspore/profiler/parser/hccl_parser.py +0 -573
- mindspore/profiler/parser/hwts_log_parser.py +0 -122
- mindspore/profiler/parser/integrator.py +0 -526
- mindspore/profiler/parser/memory_usage_parser.py +0 -277
- mindspore/profiler/parser/minddata_analyzer.py +0 -800
- mindspore/profiler/parser/minddata_parser.py +0 -186
- mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
- mindspore/profiler/parser/op_intermediate_parser.py +0 -149
- mindspore/profiler/parser/optime_parser.py +0 -250
- mindspore/profiler/parser/profiler_info.py +0 -213
- mindspore/profiler/parser/step_trace_parser.py +0 -666
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -16,14 +16,22 @@
|
|
|
16
16
|
from mindspore._c_expression import _add_instance
|
|
17
17
|
from mindspore._c_expression import _addcdiv_instance
|
|
18
18
|
from mindspore._c_expression import _all_gather_matmul_instance
|
|
19
|
+
from mindspore._c_expression import _any_instance
|
|
19
20
|
from mindspore._c_expression import _bitwise_not_instance
|
|
20
21
|
from mindspore._c_expression import _clamp_instance
|
|
22
|
+
from mindspore._c_expression import _conv3d_instance
|
|
21
23
|
from mindspore._c_expression import _div_instance
|
|
24
|
+
from mindspore._c_expression import _einsum_instance
|
|
22
25
|
from mindspore._c_expression import _empty_instance
|
|
26
|
+
from mindspore._c_expression import _empty_like_instance
|
|
23
27
|
from mindspore._c_expression import _floor_divide_instance
|
|
24
28
|
from mindspore._c_expression import _fmod_instance
|
|
25
29
|
from mindspore._c_expression import _gelu_instance
|
|
30
|
+
from mindspore._c_expression import _gmm_instance
|
|
31
|
+
from mindspore._c_expression import _gmm_backward_instance
|
|
32
|
+
from mindspore._c_expression import _gmm_backward_fusion_instance
|
|
26
33
|
from mindspore._c_expression import _greater_equal_instance
|
|
34
|
+
from mindspore._c_expression import _index_add_instance
|
|
27
35
|
from mindspore._c_expression import _kthvalue_instance
|
|
28
36
|
from mindspore._c_expression import _lerp_instance
|
|
29
37
|
from mindspore._c_expression import _matmul_reduce_scatter_instance
|
|
@@ -31,8 +39,10 @@ from mindspore._c_expression import _max_instance
|
|
|
31
39
|
from mindspore._c_expression import _min_instance
|
|
32
40
|
from mindspore._c_expression import _nansum_instance
|
|
33
41
|
from mindspore._c_expression import _pixel_shuffle_instance
|
|
42
|
+
from mindspore._c_expression import _quant_matmul_instance
|
|
34
43
|
from mindspore._c_expression import _remainder_instance
|
|
35
44
|
from mindspore._c_expression import _repeat_interleave_instance
|
|
45
|
+
from mindspore._c_expression import _rmod_instance
|
|
36
46
|
from mindspore._c_expression import _sub_instance
|
|
37
47
|
from mindspore._c_expression import _where_instance
|
|
38
48
|
from mindspore._c_expression import _xlogy_instance
|
|
@@ -261,6 +271,52 @@ def all_gather_matmul(*args, **kwargs):
|
|
|
261
271
|
return _all_gather_matmul_instance(*args, **kwargs)
|
|
262
272
|
|
|
263
273
|
|
|
274
|
+
def any(*args, **kwargs):
|
|
275
|
+
r"""
|
|
276
|
+
any(input) -> Tensor
|
|
277
|
+
|
|
278
|
+
Check if ``True`` is present in `input` .
|
|
279
|
+
|
|
280
|
+
Args:
|
|
281
|
+
input (Tensor): The input tensor.
|
|
282
|
+
|
|
283
|
+
Returns:
|
|
284
|
+
Tensor
|
|
285
|
+
|
|
286
|
+
Supported Platforms:
|
|
287
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
288
|
+
|
|
289
|
+
Examples:
|
|
290
|
+
>>> import mindspore
|
|
291
|
+
>>> input = mindspore.tensor([[True, False], [True, True]])
|
|
292
|
+
>>> mindspore.ops.functional_overload.any(input)
|
|
293
|
+
Tensor(shape=[], dtype=Bool, value= True)
|
|
294
|
+
|
|
295
|
+
.. function:: any(input, dim, keepdim=False) -> Tensor
|
|
296
|
+
:noindex:
|
|
297
|
+
|
|
298
|
+
Check if ``True`` is present in the specified dimension of `input` .
|
|
299
|
+
|
|
300
|
+
Args:
|
|
301
|
+
input (Tensor): The input tensor.
|
|
302
|
+
dim (int): The dimensions to reduce.
|
|
303
|
+
keepdim (bool, optional): Whether the output tensor has dim retained or not. Default ``False`` .
|
|
304
|
+
|
|
305
|
+
Returns:
|
|
306
|
+
Tensor
|
|
307
|
+
|
|
308
|
+
Supported Platforms:
|
|
309
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
310
|
+
|
|
311
|
+
Examples:
|
|
312
|
+
>>> import mindspore
|
|
313
|
+
>>> input = mindspore.tensor([[True, False], [True, True]])
|
|
314
|
+
>>> mindspore.ops.functional_overload.any(input, dim=1)
|
|
315
|
+
Tensor(shape=[2], dtype=Bool, value= [ True, True])
|
|
316
|
+
"""
|
|
317
|
+
return _any_instance(*args, **kwargs)
|
|
318
|
+
|
|
319
|
+
|
|
264
320
|
def bitwise_not(*args, **kwargs):
|
|
265
321
|
r"""
|
|
266
322
|
bitwise_not(input) -> Tensor
|
|
@@ -373,6 +429,143 @@ def clip(*args, **kwargs):
|
|
|
373
429
|
return _clamp_instance(*args, **kwargs)
|
|
374
430
|
|
|
375
431
|
|
|
432
|
+
def conv3d(*args, **kwargs):
|
|
433
|
+
r"""
|
|
434
|
+
conv3d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1) -> Tensor
|
|
435
|
+
|
|
436
|
+
Applies a 3D convolution over an input tensor. The input tensor is typically of
|
|
437
|
+
shape :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` or :math:`(C_{in}, D_{in}, H_{in}, W_{in})`,
|
|
438
|
+
where :math:`N` is batch size, :math:`C` is channel number, :math:`D, H, W` are the depth,
|
|
439
|
+
height and width of the feature graph, respectively.
|
|
440
|
+
|
|
441
|
+
The output is calculated based on formula:
|
|
442
|
+
|
|
443
|
+
.. math::
|
|
444
|
+
|
|
445
|
+
\text{out}(N_i, C_{\text{out}_j}) = \text{bias}(C_{\text{out}_j}) +
|
|
446
|
+
\sum_{k = 0}^{C_{in} - 1} \text{ccor}({\text{weight}(C_{\text{out}_j}, k), \text{X}(N_i, k)})
|
|
447
|
+
|
|
448
|
+
where :math:`bias` is the output channel bias, :math:`ccor` is
|
|
449
|
+
the `cross-correlation <https://en.wikipedia.org/wiki/Cross-correlation>`_
|
|
450
|
+
, :math:`weight` is the convolution kernel value and :math:`X` represents the input feature map.
|
|
451
|
+
|
|
452
|
+
Here are the indices' meanings:
|
|
453
|
+
|
|
454
|
+
- :math:`i` corresponds to the batch number, the range is :math:`[0, N-1]`,
|
|
455
|
+
where :math:`N` is the batch size of the input.
|
|
456
|
+
|
|
457
|
+
- :math:`j` corresponds to the output channel, the range is :math:`[0, C_{out}-1]`,
|
|
458
|
+
where :math:`C_{out}` is the number of
|
|
459
|
+
output channels, which is also equal to the number of kernels.
|
|
460
|
+
|
|
461
|
+
- :math:`k` corresponds to the input channel, the range is :math:`[0, C_{in}-1]`,
|
|
462
|
+
where :math:`C_{in}` is the number of
|
|
463
|
+
input channels, which is also equal to the number of channels in the convolutional kernels.
|
|
464
|
+
|
|
465
|
+
Therefore, in the above formula, :math:`{bias}(C_{\text{out}_j})` represents the bias of the :math:`j`-th
|
|
466
|
+
output channel, :math:`{weight}(C_{\text{out}_j}, k)` represents the slice of the :math:`j`-th convolutional
|
|
467
|
+
kernel in the :math:`k`-th channel, and :math:`{X}(N_i, k)` represents the slice of the :math:`k`-th input
|
|
468
|
+
channel in the :math:`i`-th batch of the input feature map.
|
|
469
|
+
|
|
470
|
+
The shape of the convolutional kernel is given by :math:`(kd, kh, kw)` where :math:`kd` , :math:`kd` and\
|
|
471
|
+
:math:`kw` are the depth, height and width of the kernel, respectively.
|
|
472
|
+
If we consider the input and output channels as well as the `group` parameter, the complete kernel shape
|
|
473
|
+
will be :math:`(C_{out}, C_{in} / \text{group}, kd, kh, kw)`,
|
|
474
|
+
where `group` is the number of groups dividing `x`'s input channel when applying group convolution.
|
|
475
|
+
|
|
476
|
+
For more details about convolution layer, please refer to `Gradient Based Learning Applied to Document Recognition
|
|
477
|
+
<http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf>`_.
|
|
478
|
+
|
|
479
|
+
The following lists some of the limitations of the parameters.
|
|
480
|
+
|
|
481
|
+
- input -- The input to the conv3d. The input must have each dimension size within the range [1, int32_max].
|
|
482
|
+
- weight -- Filters of shape :math:`(C_{out}, C_{in} / groups, kd, kh, kw)`. The value of :math:`kh`
|
|
483
|
+
and :math:`kw` is in the range [1, 511]. The remaining values are in the range [1, int32_max].
|
|
484
|
+
And :math:`kh*kw*k0` is less 65536 (k0 is 16. If data type is float32, k0 is 8).
|
|
485
|
+
- bias -- Bias Tensor with shape :math:`(C_{out})`. The shape must equal to the first dimension of the weight.
|
|
486
|
+
- stride -- The distance of kernel moving. It can be an int number or
|
|
487
|
+
tuple (noted by :math:`(stride_d, stride_h, stride_w)`). stride_h and stride_w are in the range [1, 63].
|
|
488
|
+
stride_d is in the range [1, 255].
|
|
489
|
+
- padding -- If padding is an int number, it is in the range [0, 255].
|
|
490
|
+
- dilation -- The value is in the range [1, 255].
|
|
491
|
+
- groups -- The value is in the range [1, 65535].
|
|
492
|
+
- :math:`C_{in} \% \text{groups} == 0 \quad \text{and} \quad C_{out} \% \text{groups} == 0` .
|
|
493
|
+
- :math:`weight[1] == C_{in} / groups` .
|
|
494
|
+
- :math:`H_{in} + PadUp + PadDown >= (kh - 1) * DilationH + 1` .
|
|
495
|
+
- :math:`W_{in} + PadLeft + PadRight >= (kw - 1) * DilationW + 1` .
|
|
496
|
+
- :math:`D_{in} + PadFront + PadBack >= (kd - 1) * DilationD + 1` .
|
|
497
|
+
- :math:`H_{out} = (H_{in} + PadUp + PadDown - ((kh - 1) * DilationH + 1)) / StrideH + 1` .
|
|
498
|
+
- :math:`W_{out} = (W_{in} + PadLeft + PadRight - ((kw - 1) * DilationW + 1)) / StrideW + 1` .
|
|
499
|
+
- :math:`D_{out} = (D_{in} + PadFront + PadBack - ((kd - 1) * DilationD + 1)) / StrideD + 1` .
|
|
500
|
+
- :math:`(D_{in}+PadFront+PadBack - ((kd-1)*DilationD+1)) \% StrideD <= PadBack` .
|
|
501
|
+
- :math:`(H_{in}+PadUp+PadDown - ((kh-1)*Dilationh+1)) \% StrideH <= PadDown` .
|
|
502
|
+
- :math:`stride_d <= kernel_d` .
|
|
503
|
+
- :math:`PadUp < kh` and :math:`PadDown < kh` . When `padding` = ``'valid'``, both PadUp and PadDown are zeros.
|
|
504
|
+
When `padding` = ``'same'``, pad can be calculated by
|
|
505
|
+
:math:`floor(((H_{out}-1) * strideH + (kh - 1) * DilationH + 1 - H_{in}) / 2)` for high dimension.
|
|
506
|
+
It is similar way to calculate the padding for depth and width dimension. And the depth and width
|
|
507
|
+
dimensions also have the same constraints.
|
|
508
|
+
- :math:`((kh - 1) * DilationH - PadUp)` should be in [0, 255]. It is the same constraint for depth
|
|
509
|
+
and width dimension.
|
|
510
|
+
- If `padding` is ``'same'``, `stride` must be 1.
|
|
511
|
+
|
|
512
|
+
.. warning::
|
|
513
|
+
It is only supported on Atlas A2 Training Series Products.
|
|
514
|
+
|
|
515
|
+
Args:
|
|
516
|
+
input (Tensor): Tensor of shape :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})`.
|
|
517
|
+
weight (Tensor): Set size of kernel is :math:`(kd, kh,
|
|
518
|
+
kw)`, then the shape is :math:`(C_{out}, C_{in} / groups, kd, kh, kw)`.
|
|
519
|
+
bias (Tensor, optional): Bias Tensor with shape :math:`(C_{out})`.
|
|
520
|
+
When bias is ``None`` , zeros will be used. Default: ``None`` .
|
|
521
|
+
stride (Union(int, tuple[int], list[int]), optional): The distance of kernel moving, an int
|
|
522
|
+
number that represents the depth, the height and width of movement are both strides, or a
|
|
523
|
+
tuple of triple int numbers that
|
|
524
|
+
represent the depth, height and width of movement respectively. Default: ``1`` .
|
|
525
|
+
padding (Union(int, tuple[int], list[int], str), optional): Implicit paddings on both sides of the input `x`.
|
|
526
|
+
Can be a string, one integer or a tuple/list with 3 integers.
|
|
527
|
+
If `padding` is a string, the optional values are ``"same"`` , ``"valid"``.
|
|
528
|
+
|
|
529
|
+
- same: Adopts the way of completion. The height and width of the output will be equal to
|
|
530
|
+
the input `x` divided by stride. The padding will be evenly calculated in top and bottom,
|
|
531
|
+
left and right possiblily. Otherwise, the last extra padding will be calculated from the bottom
|
|
532
|
+
and the right side. If this mode is set, `stride` must be 1.
|
|
533
|
+
|
|
534
|
+
- valid: Adopts the way of discarding. The possible largest height and width of output will be returned
|
|
535
|
+
without padding. Extra pixels will be discarded.
|
|
536
|
+
|
|
537
|
+
If `padding` is one integer, the paddings of top, bottom, left and right are the same, equal to padding.
|
|
538
|
+
If `padding` is a tuple/list with 3 integers, the padding of head, tail, top, bottom,
|
|
539
|
+
left and right equal to pad[0], pad[0], pad[1], pad[1], pad[2] and pad[2] correspondingly. Default: ``0`` .
|
|
540
|
+
dilation (Union[int, tuple[int], list[int]], optional): Controlling the space between the kernel points.
|
|
541
|
+
Default: ``1`` .
|
|
542
|
+
groups (int, optional): Splits `input` into groups. Default: ``1`` .
|
|
543
|
+
|
|
544
|
+
Returns:
|
|
545
|
+
Tensor, the same dtype as the `input`, with the shape :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})`
|
|
546
|
+
or :math:`(C_{out}, D_{out}, H_{out}, W_{out})`.
|
|
547
|
+
|
|
548
|
+
Raises:
|
|
549
|
+
TypeError: If `stride`, `padding` or `dilation` is neither an int nor a tuple.
|
|
550
|
+
TypeError: `groups` is not an int.
|
|
551
|
+
TypeError: If `bias` is not a Tensor.
|
|
552
|
+
|
|
553
|
+
Supported Platforms:
|
|
554
|
+
``Ascend``
|
|
555
|
+
|
|
556
|
+
Examples:
|
|
557
|
+
>>> import mindspore
|
|
558
|
+
>>> import numpy as np
|
|
559
|
+
>>> from mindspore import mint
|
|
560
|
+
>>> x = mindspore.Tensor(np.random.randn(12, 1, 60, 50, 8), mindspore.float16)
|
|
561
|
+
>>> w = mindspore.Tensor(np.random.randn(26, 1, 2, 4, 4), mindspore.float16)
|
|
562
|
+
>>> out = mint.nn.functional.conv3d(x, w)
|
|
563
|
+
>>> print(out.shape)
|
|
564
|
+
(12, 26, 59, 47, 5)
|
|
565
|
+
"""
|
|
566
|
+
return _conv3d_instance(*args, **kwargs)
|
|
567
|
+
|
|
568
|
+
|
|
376
569
|
def div(*args, **kwargs):
|
|
377
570
|
r"""
|
|
378
571
|
div(input, other, *, rounding_mode=None) -> Tensor
|
|
@@ -438,9 +631,106 @@ def divide(*args, **kwargs):
|
|
|
438
631
|
return _div_instance(*args, **kwargs)
|
|
439
632
|
|
|
440
633
|
|
|
634
|
+
def einsum(*args, **kwargs):
|
|
635
|
+
r"""
|
|
636
|
+
According to the Einstein summation Convention (Einsum),
|
|
637
|
+
the product of the input tensor elements is summed along the specified dimension.
|
|
638
|
+
You can use this operator to perform diagonal, reducesum, transpose, matmul, mul, inner product operations, etc.
|
|
639
|
+
|
|
640
|
+
Note:
|
|
641
|
+
The sublist format is also supported. For example, einsum_ext(op1, sublist1, op2, sublist2, ..., sublist_out).
|
|
642
|
+
In this format, equation can be derived by the sublists which are made up of Python's Ellipsis and list of
|
|
643
|
+
integers in [0, 52). Each operand is followed by a sublist and an output sublist is at the end.
|
|
644
|
+
Dynamic shape, dynamic rank input is not supported in `graph mode (mode=mindspore.GRAPH_MODE)
|
|
645
|
+
<https://www.mindspore.cn/tutorials/en/master/compile/static_graph.html>`_.
|
|
646
|
+
|
|
647
|
+
.. warning::
|
|
648
|
+
This is an experimental API that is subject to change or deletion.
|
|
649
|
+
|
|
650
|
+
Args:
|
|
651
|
+
equation (str): Notation based on the Einstein summation convention, represent the operation you want to do.
|
|
652
|
+
the value can contain only letters, commas, ellipsis and arrow. The letters(must be in [a-zA-Z]) represent
|
|
653
|
+
input tensor dimension, commas(,) represent separate tensors, ellipsis indicates the tensor dimension that
|
|
654
|
+
you do not care about, the left of the arrow indicates the input tensors, and the right of it indicates the
|
|
655
|
+
desired output dimension. If there are no arrows in the equation, the letters that appear exactly once in
|
|
656
|
+
the equation will be part of the output, sorted in increasing alphabetical order. The output is computed by
|
|
657
|
+
multiplying the input operands element-wise, with their dimensions aligned based on the letters, and then
|
|
658
|
+
summing out the dimensions whose letters are not part of the output. If there is one arrow in the equation,
|
|
659
|
+
the output letters must appear at least once for some input operand and at most once for the output.
|
|
660
|
+
operands (Tensor): Input tensor used for calculation. The dtype of the tensor must be the same.
|
|
661
|
+
|
|
662
|
+
Returns:
|
|
663
|
+
Tensor, the shape of it can be obtained from the `equation` , and the dtype is the same as input tensors.
|
|
664
|
+
|
|
665
|
+
Raises:
|
|
666
|
+
TypeError: If `equation` is invalid, or the `equation` does not match the input tensor.
|
|
667
|
+
ValueError: If the number in sublist is not in [0, 52) in sublist format.
|
|
668
|
+
|
|
669
|
+
Supported Platforms:
|
|
670
|
+
``Ascend``
|
|
671
|
+
|
|
672
|
+
Examples:
|
|
673
|
+
>>> import mindspore
|
|
674
|
+
>>> import numpy as np
|
|
675
|
+
>>> from mindspore import Tensor, ops
|
|
676
|
+
>>> x = Tensor(np.array([1.0, 2.0, 4.0]), mindspore.float32)
|
|
677
|
+
>>> equation = "i->"
|
|
678
|
+
>>> output = ops.einsum_ext(equation, x)
|
|
679
|
+
>>> print(output)
|
|
680
|
+
7.0
|
|
681
|
+
>>> x = Tensor(np.array([1.0, 2.0, 4.0]), mindspore.float32)
|
|
682
|
+
>>> y = Tensor(np.array([2.0, 4.0, 3.0]), mindspore.float32)
|
|
683
|
+
>>> equation = "i,i->i"
|
|
684
|
+
>>> output = ops.einsum_ext(equation, x, y)
|
|
685
|
+
>>> print(output)
|
|
686
|
+
[ 2. 8. 12.]
|
|
687
|
+
>>> x = Tensor(np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]), mindspore.float32)
|
|
688
|
+
>>> y = Tensor(np.array([[2.0, 3.0], [1.0, 2.0], [4.0, 5.0]]), mindspore.float32)
|
|
689
|
+
>>> equation = "ij,jk->ik"
|
|
690
|
+
>>> output = ops.einsum_ext(equation, x, y)
|
|
691
|
+
>>> print(output)
|
|
692
|
+
[[16. 22.]
|
|
693
|
+
[37. 52.]]
|
|
694
|
+
>>> x = Tensor(np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]), mindspore.float32)
|
|
695
|
+
>>> equation = "ij->ji"
|
|
696
|
+
>>> output = ops.einsum_ext(equation, x)
|
|
697
|
+
>>> print(output)
|
|
698
|
+
[[1. 4.]
|
|
699
|
+
[2. 5.]
|
|
700
|
+
[3. 6.]]
|
|
701
|
+
>>> x = Tensor(np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]), mindspore.float32)
|
|
702
|
+
>>> equation = "ij->j"
|
|
703
|
+
>>> output = ops.einsum_ext(equation, x)
|
|
704
|
+
>>> print(output)
|
|
705
|
+
[5. 7. 9.]
|
|
706
|
+
>>> x = Tensor(np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]), mindspore.float32)
|
|
707
|
+
>>> equation = "...->"
|
|
708
|
+
>>> output = ops.einsum_ext(equation, x)
|
|
709
|
+
>>> print(output)
|
|
710
|
+
21.0
|
|
711
|
+
>>> x = Tensor(np.array([1.0, 2.0, 3.0]), mindspore.float32)
|
|
712
|
+
>>> y = Tensor(np.array([2.0, 4.0, 1.0]), mindspore.float32)
|
|
713
|
+
>>> equation = "j,i->ji"
|
|
714
|
+
>>> output = ops.einsum_ext(equation, x, y)
|
|
715
|
+
>>> print(output)
|
|
716
|
+
[[ 2. 4. 1.]
|
|
717
|
+
[ 4. 8. 2.]
|
|
718
|
+
[ 6. 12. 3.]]
|
|
719
|
+
>>> x = mindspore.Tensor([1, 2, 3, 4], mindspore.float32)
|
|
720
|
+
>>> y = mindspore.Tensor([1, 2], mindspore.float32)
|
|
721
|
+
>>> output = ops.einsum_ext(x, [..., 1], y, [..., 2], [..., 1, 2])
|
|
722
|
+
>>> print(output)
|
|
723
|
+
[[1. 2.]
|
|
724
|
+
[2. 4.]
|
|
725
|
+
[3. 6.]
|
|
726
|
+
[4. 8.]]
|
|
727
|
+
"""
|
|
728
|
+
return _einsum_instance(*args, **kwargs)
|
|
729
|
+
|
|
730
|
+
|
|
441
731
|
def empty(*args, **kwargs):
|
|
442
732
|
r"""
|
|
443
|
-
empty(*size, dtype=None, device=None) -> Tensor
|
|
733
|
+
empty(*size, *, dtype=None, device=None) -> Tensor
|
|
444
734
|
|
|
445
735
|
Creates a tensor with uninitialized data, whose shape, dtype and device are described by the argument `size`,
|
|
446
736
|
`dtype` and `device` respectively.
|
|
@@ -450,22 +740,23 @@ def empty(*args, **kwargs):
|
|
|
450
740
|
|
|
451
741
|
Args:
|
|
452
742
|
size (Union[tuple[int], list[int], int]): The specified shape of output tensor. Can be variable numbers of
|
|
453
|
-
positive integers or
|
|
743
|
+
positive integers or tuple or list containing positive integers.
|
|
454
744
|
|
|
455
745
|
Keyword Args:
|
|
456
746
|
dtype (:class:`mindspore.dtype`, optional): The specified type of output tensor. If `dtype` is ``None`` ,
|
|
457
747
|
`mindspore.float32` will be used. Default: ``None`` .
|
|
458
|
-
device (string, optional): The specified device of the output tensor.
|
|
459
|
-
|
|
748
|
+
device (string, optional): The specified device of the output tensor. In PyNative mode, ``"Ascend"``, ``"npu"``,
|
|
749
|
+
``"cpu"`` and ``"CPU"`` are supported. In graph mode O0, ``"Ascend"`` and ``"npu"`` are supported. If `device = None`,
|
|
750
|
+
`mindspore.context.device_target` will be used. Default ``None``.
|
|
460
751
|
|
|
461
752
|
Returns:
|
|
462
|
-
Tensor, whose dtype and
|
|
753
|
+
Tensor, whose shape, dtype and device are defined by input.
|
|
463
754
|
|
|
464
755
|
Raises:
|
|
465
756
|
TypeError: If `size` is neither an int nor a tuple or list of int.
|
|
466
757
|
|
|
467
758
|
Supported Platforms:
|
|
468
|
-
``Ascend``
|
|
759
|
+
``Ascend`` ``CPU``
|
|
469
760
|
|
|
470
761
|
Examples:
|
|
471
762
|
>>> import mindspore
|
|
@@ -478,8 +769,55 @@ def empty(*args, **kwargs):
|
|
|
478
769
|
return _empty_instance(*args, **kwargs)
|
|
479
770
|
|
|
480
771
|
|
|
772
|
+
def empty_like(*args, **kwargs):
|
|
773
|
+
r"""
|
|
774
|
+
empty_like(input, *, dtype=None, device=None) -> Tensor
|
|
775
|
+
|
|
776
|
+
Returns an uninitialized Tensor with the same shape as the `input`. Its dtype is specified by `dtype` and its
|
|
777
|
+
device is specified by `device`.
|
|
778
|
+
|
|
779
|
+
.. warning::
|
|
780
|
+
This is an experimental API that is subject to change or deletion.
|
|
781
|
+
|
|
782
|
+
Args:
|
|
783
|
+
input (Tensor): Tensor of any dimension.
|
|
784
|
+
|
|
785
|
+
Keyword Args:
|
|
786
|
+
dtype (:class:`mindspore.dtype`, optional): The specified dtype of the output tensor. If `dtype = None`, the
|
|
787
|
+
tensor will have the same dtype as input `input`. Default ``None``.
|
|
788
|
+
device (string, optional): The specified device of the output tensor. In PyNative mode, ``"Ascend"``, ``"npu"``,
|
|
789
|
+
``"cpu"`` and ``"CPU"`` are supported. In graph mode O0, ``"Ascend"`` and ``"npu"`` are supported. If `device = None`,
|
|
790
|
+
the value set by :func:`mindspore.set_device` will be used. Default ``None``.
|
|
791
|
+
|
|
792
|
+
Returns:
|
|
793
|
+
Tensor, has the same shape, type and device as `input` but with uninitialized data (May be a random value).
|
|
794
|
+
|
|
795
|
+
Raises:
|
|
796
|
+
TypeError: If `input` is not a Tensor.
|
|
797
|
+
|
|
798
|
+
Supported Platforms:
|
|
799
|
+
``Ascend`` ``CPU``
|
|
800
|
+
|
|
801
|
+
Examples:
|
|
802
|
+
>>> import mindspore
|
|
803
|
+
>>> from mindspore import ops, Tensor
|
|
804
|
+
>>> x = Tensor([[1, 2, 3], [4, 5, 6]])
|
|
805
|
+
>>> output1 = ops.empty_like(x)
|
|
806
|
+
>>> print(output1)
|
|
807
|
+
[[0 0 0]
|
|
808
|
+
[0 0 0]]
|
|
809
|
+
>>> output2 = ops.empty_like(x, dtype=mindspore.float64)
|
|
810
|
+
>>> print(output2)
|
|
811
|
+
[[0. 0. 0.]
|
|
812
|
+
[0. 0. 0.]]
|
|
813
|
+
"""
|
|
814
|
+
return _empty_like_instance(*args, **kwargs)
|
|
815
|
+
|
|
816
|
+
|
|
481
817
|
def floor_divide(*args, **kwargs):
|
|
482
818
|
r"""
|
|
819
|
+
floor_divide(input, other) -> Tensor
|
|
820
|
+
|
|
483
821
|
Divides the first input tensor by the second input tensor element-wise and round down to the closest integer.
|
|
484
822
|
|
|
485
823
|
Inputs of `input` and `other` comply with the implicit type conversion rules to make the data types consistent.
|
|
@@ -641,6 +979,108 @@ def gelu(*args, **kwargs):
|
|
|
641
979
|
return _gelu_instance(*args, **kwargs)
|
|
642
980
|
|
|
643
981
|
|
|
982
|
+
def gmm(*args, **kwargs):
|
|
983
|
+
r"""
|
|
984
|
+
gmm(x, weight, bias=None, group_list=None, group_type=0, group_list_type=0) -> tuple[Tensor]
|
|
985
|
+
|
|
986
|
+
Grouping matrix multiplication.
|
|
987
|
+
|
|
988
|
+
.. warning::
|
|
989
|
+
- This is an experimental API that is subject to change or deletion.
|
|
990
|
+
- `group_type` must be a constant.
|
|
991
|
+
- Only support on Atlas A2 training series.
|
|
992
|
+
- When the type of `group_list` is tuple[int] or list[int], it should a non-negative non-decreasing sequence,
|
|
993
|
+
indicating indexes of each group along the split axis. In this scenario, the arg `group_list_type` is useless.
|
|
994
|
+
|
|
995
|
+
.. note::
|
|
996
|
+
- When `group_type` is 2, the tensors in `x` must be non-continuous tensors which has
|
|
997
|
+
been transposed.
|
|
998
|
+
- Only when `group_type` is 0 and `bias` is None, the reverse derivative is supported,
|
|
999
|
+
which is implemented by ops.function.math_func.gmm_backward or through automatic differentiation.
|
|
1000
|
+
|
|
1001
|
+
Args:
|
|
1002
|
+
x (tuple[Tensor]): The first tensors to be multiplied, whose num should be 1.
|
|
1003
|
+
weight (tuple[Tensor]): The second tensors to be multiplied, whose num should be 1.
|
|
1004
|
+
bias (tuple[Tensor], optional): Biases added to outputs, whose num should be 1.
|
|
1005
|
+
The shape of each tensor in `bias` should be :math: `(group_list.shape[0], n)`
|
|
1006
|
+
or :math: `(len(group_list), n)`. In the training scenario, the bias only supports None.
|
|
1007
|
+
Default: ``None`` .
|
|
1008
|
+
group_list (Union[Tensor, list[int], tuple[int]], optional): 1-D Tensor, list[int]
|
|
1009
|
+
or tuple[int], indicating indexes or sizes of each group along the split axis.
|
|
1010
|
+
When `group_list` is list[int] or tuple[int], it's length should be less than or equal to 128.
|
|
1011
|
+
When `group_list` is a Tensor, it's size should be less than or equal to 1024.
|
|
1012
|
+
Supported dtypes: int64.
|
|
1013
|
+
Default: ``None`` .
|
|
1014
|
+
|
|
1015
|
+
- If `group_list_type` is 0, it must be a non-negative non-decreasing sequence.
|
|
1016
|
+
And when `group_type` is 0, the last element in `group_list` should be equal to
|
|
1017
|
+
the first dimension of the tensor in `x` . When `group_type` is 2, the last element
|
|
1018
|
+
in `group_list` should be equal to the second dimension of the tensor in `x` .
|
|
1019
|
+
|
|
1020
|
+
- If `group_list_type` is 1, the value in `group_list` are the sizes of each group.
|
|
1021
|
+
group_type (int, optional): Represents the axes that need to be grouped. For example,
|
|
1022
|
+
:math: `C[m,n] = A[m,k] \times B[k,n]`. Default: ``0`` .
|
|
1023
|
+
|
|
1024
|
+
- If `group_type` is 0, it means that the m-axis is grouped, meaning that the shape
|
|
1025
|
+
of each tensor in `x` should be :math: `(m, k)` , the shape of each tensor in `weight`
|
|
1026
|
+
should be :math: `(group_list.shape[0], k, n)` or :math: `(len(group_list), k, n)`,
|
|
1027
|
+
and the shape of each tensor in result would be :math: `(m, n)` .
|
|
1028
|
+
|
|
1029
|
+
- If `group_type` is 2, it means that the k-axis is grouped, meaning that
|
|
1030
|
+
the shape of each tensor in `x` should be :math: `(m, k)`, the shape of each
|
|
1031
|
+
tensor in `weight` should be :math: `(k, n)`, and the shape of each tensor
|
|
1032
|
+
in result would be :math: `(group_list.shape[0], m, n)` or :math: `(len(group_list), m, n)`.
|
|
1033
|
+
group_list_type (int, optional): If it's 0, the value in `group_list` are the cumsum
|
|
1034
|
+
result of the size of each group. If it's 1, the value in `group_list` are the size
|
|
1035
|
+
of each group. Default: ``0`` .
|
|
1036
|
+
|
|
1037
|
+
`x` , `weight` and `bias` only support the following 3 type combinations:
|
|
1038
|
+
|
|
1039
|
+
- x: float16, weight: float16, bias: float16
|
|
1040
|
+
- x: bfloat16, weight: bfloat16, bias: float32
|
|
1041
|
+
- x: float32, weight: float32, bias: float32
|
|
1042
|
+
|
|
1043
|
+
Returns:
|
|
1044
|
+
tuple[Tensor], the results of grouping matrix multiplication.
|
|
1045
|
+
|
|
1046
|
+
Supported Platforms:
|
|
1047
|
+
``Ascend``
|
|
1048
|
+
|
|
1049
|
+
Examples:
|
|
1050
|
+
>>> import numpy as np
|
|
1051
|
+
>>> from mindspore import Tensor, ops
|
|
1052
|
+
>>> x = Tensor(np.random.uniform(0,1, (10, 20)).astype(np.float32))
|
|
1053
|
+
>>> weight = Tensor(np.random.uniform(0,1, (4, 20, 8)).astype(np.float32))
|
|
1054
|
+
>>> group_list = Tensor([2, 4, 2, 2])
|
|
1055
|
+
>>> y = ops.function.math_func.gmm([x,], [weight,], group_list=group_list, group_list_type=1)
|
|
1056
|
+
>>> print(y[0].shape)
|
|
1057
|
+
>>> (10, 8)
|
|
1058
|
+
>>> group_list = [2, 6, 8, 10]
|
|
1059
|
+
>>> y = ops.function.math_func.gmm([x,], [weight,], group_list=group_list, group_list_type=0)
|
|
1060
|
+
>>> print(y[0].shape)
|
|
1061
|
+
>>> (10, 8)
|
|
1062
|
+
"""
|
|
1063
|
+
return _gmm_instance(*args, **kwargs)
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
def gmm_backward(*args, **kwargs):
|
|
1067
|
+
r"""
|
|
1068
|
+
gmm_backward(grad, x, weight, *, group_list=None, group_list_type=0) -> tuple[tuple[Tensor]]
|
|
1069
|
+
|
|
1070
|
+
the grad of ops.function.math_func.gmm
|
|
1071
|
+
"""
|
|
1072
|
+
return _gmm_backward_instance(*args, **kwargs)
|
|
1073
|
+
|
|
1074
|
+
|
|
1075
|
+
def gmm_backward_fusion(*args, **kwargs):
|
|
1076
|
+
r"""
|
|
1077
|
+
gmm_backward_fusion(grad, weight, *, group_list=None, group_list_type=0) -> tuple[tuple[Tensor]]
|
|
1078
|
+
|
|
1079
|
+
the grad of ops.function.math_func.gmm, only dx
|
|
1080
|
+
"""
|
|
1081
|
+
return _gmm_backward_fusion_instance(*args, **kwargs)
|
|
1082
|
+
|
|
1083
|
+
|
|
644
1084
|
def greater_equal(*args, **kwargs):
|
|
645
1085
|
r"""
|
|
646
1086
|
greater_equal(input, other) -> Tensor
|
|
@@ -707,6 +1147,60 @@ def ge(*args, **kwargs):
|
|
|
707
1147
|
return _greater_equal_instance(*args, **kwargs)
|
|
708
1148
|
|
|
709
1149
|
|
|
1150
|
+
def index_add(*args, **kwargs):
|
|
1151
|
+
r"""
|
|
1152
|
+
index_add(input, dim, index, source, *, alpha=1) -> Tensor
|
|
1153
|
+
|
|
1154
|
+
Accumulate the elements of `alpha` times `source` into the `input` by adding to the index in the order given in `index`. For example, if ``dim == 0`` , ``index[i] == j`` , and ``alpha = -1`` , then the `i` th row of `source` is subtracted from the `j` th row of `input` . The `dim` th dimension of `source` must have the same size as the length of `index` , and all other dimensions must match `input`, or an error will be raised. For a 3-D tensor, the output is defined as follows:
|
|
1155
|
+
|
|
1156
|
+
.. math::
|
|
1157
|
+
\begin{array}{ll}
|
|
1158
|
+
input[index[i],\ :,\ :]\ +=\ alpha * source[i,\ :,\ :] \qquad \#if\ dim == 0 \\
|
|
1159
|
+
input[:,\ \ index[i],\ :]\ +=\ alpha * source[:,\ \ i,\ :] \qquad \#if\ dim == 1 \\
|
|
1160
|
+
input[:,\ :,\ \ index[i]]\ +=\ alpha * source[:,\ :,\ \ i] \qquad\#if\ dim == 2 \\
|
|
1161
|
+
\end{array}
|
|
1162
|
+
|
|
1163
|
+
.. warning::
|
|
1164
|
+
This is an experimental API that is subject to change or deletion.
|
|
1165
|
+
|
|
1166
|
+
Args:
|
|
1167
|
+
input (Tensor): The input Tensor.
|
|
1168
|
+
dim (int): The dimension along which to index.
|
|
1169
|
+
index (Tensor): Add the value of "input Tensor" and `source` along the dimension of the `dim` according to the specified index value, with data type int32. The `index` must be 1D with the same size as the size of `source` in the `dim` dimension. The values of `index` should be in [0, b), where the b is the size of "input Tensor" in the `dim` dimension.
|
|
1170
|
+
source (Tensor): The input tensor with the value to add. Must have same data type as "input Tensor". The shape must be the same as "input Tensor" except the `dim` th dimension.
|
|
1171
|
+
|
|
1172
|
+
Keyword Args:
|
|
1173
|
+
alpha (number, optional): The scalar multiplier for source. Default: ``1``.
|
|
1174
|
+
|
|
1175
|
+
Returns:
|
|
1176
|
+
Tensor, has the same shape and dtype as `input`.
|
|
1177
|
+
|
|
1178
|
+
Raises:
|
|
1179
|
+
TypeError: If neither `index` nor `source` is a Tensor.
|
|
1180
|
+
ValueError: If the value of `dim` is out of the dimension range of `source` shape.
|
|
1181
|
+
ValueError: If `index` rank is not the same as `source` rank.
|
|
1182
|
+
ValueError: If shape of `index` is not 1D or size of `index` is not equal to dimension of source[dim].
|
|
1183
|
+
ValueError: If the shape of `source` is not the same as that of `input` except the `dim` axis.
|
|
1184
|
+
|
|
1185
|
+
Supported Platforms:
|
|
1186
|
+
``Ascend``
|
|
1187
|
+
|
|
1188
|
+
Examples:
|
|
1189
|
+
>>> import numpy as np
|
|
1190
|
+
>>> import mindspore
|
|
1191
|
+
>>> from mindspore import Tensor, mint
|
|
1192
|
+
>>> x = Tensor(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), mindspore.float32)
|
|
1193
|
+
>>> index = Tensor(np.array([0, 2]), mindspore.int32)
|
|
1194
|
+
>>> y = Tensor(np.array([[0.5, 1.0], [1.0, 1.5], [2.0, 2.5]]), mindspore.float32)
|
|
1195
|
+
>>> output = mint.index_add(x, 1, index, y, alpha=1)
|
|
1196
|
+
>>> print(output)
|
|
1197
|
+
[[ 1.5 2. 4. ]
|
|
1198
|
+
[ 5. 5. 7.5]
|
|
1199
|
+
[ 9. 8. 11.5]]
|
|
1200
|
+
"""
|
|
1201
|
+
return _index_add_instance(*args, **kwargs)
|
|
1202
|
+
|
|
1203
|
+
|
|
710
1204
|
def kthvalue(*args, **kwargs):
|
|
711
1205
|
r"""
|
|
712
1206
|
Calculates the kth smallest value along given dim specified by `dim` of the input
|
|
@@ -1151,6 +1645,60 @@ def pixel_shuffle(*args, **kwargs):
|
|
|
1151
1645
|
return _pixel_shuffle_instance(*args, **kwargs)
|
|
1152
1646
|
|
|
1153
1647
|
|
|
1648
|
+
def quant_matmul(*args, **kwargs):
|
|
1649
|
+
r"""
|
|
1650
|
+
quant_matmul(x1, x2, scale, *, offset=None, pertoken_scale=None, bias=None, output_dtype=None, x1_dtype=None, x2_dtype=None, pertoken_scale_dtype=None, scale_dtype=None, group_sizes=None) -> Tensor
|
|
1651
|
+
|
|
1652
|
+
Used for quantized matrix multiplication.
|
|
1653
|
+
|
|
1654
|
+
.. warning::
|
|
1655
|
+
This is an experimental API that is subject to change or deletion.
|
|
1656
|
+
Only support on David training series.
|
|
1657
|
+
|
|
1658
|
+
Args:
|
|
1659
|
+
x1 (Tensor): Tensor of shape :math:`(*, M, K)` . The dimension of `input` should be in [2, 6].
|
|
1660
|
+
x2 (Tensor): Tensor of shape :math:`(*, K, N)` . The dimension of `input` should be in [2, 6].
|
|
1661
|
+
scale (Tensor): Tensor of shape :math:`(T,)` . T should be equal to 1 or N, N is the last dimension of `x2`.
|
|
1662
|
+
|
|
1663
|
+
Keyword Args:
|
|
1664
|
+
offset (Tensor, optional): Tensor of shape :math:`(T,)` . T should be equal to 1 or N, N is the last dimension of `x2`. Default: ``None`` .
|
|
1665
|
+
pertoken_scale (Tensor, optional): Tensor of shape :math:`(M,)` . M is second-to-last dimension of `x1`. Default: ``None`` .
|
|
1666
|
+
A valid Tensor must deliver to `pertoken_scale` , ``None`` will cause unexpected error.
|
|
1667
|
+
bias (Tensor, optional): Tensor of shape :math:`(N,)` or :math:`(B, 1, N)` , N is the last dimension of `x2`.
|
|
1668
|
+
If dimension of `output` is 2, 4, 5 or 6, `bias` must has shape :math:`(N,)` . Default: ``None`` .
|
|
1669
|
+
output_dtype (:class:`mindspore.dtype`, optional): the dtype of `output`. Default: ``None`` .
|
|
1670
|
+
x1_dtype (:class:`mindspore.dtype`, optional): Cast `x1` to `x1_dtype` before calculation. Default: ``None`` .
|
|
1671
|
+
x2_dtype (:class:`mindspore.dtype`, optional): Cast `x2` to `x2_dtype` before calculation. Default: ``None`` .
|
|
1672
|
+
pertoken_scale_dtype (:class:`mindspore.dtype`, optional): Cast `pertoken_scale` to `pertoken_scale_dtype` before calculation. Default: ``None`` .
|
|
1673
|
+
scale_dtype (:class:`mindspore.dtype`, optional): Cast `scale` to `scale_dtype` before calculation. Default: ``None`` .
|
|
1674
|
+
group_sizes (Union[tuple(int), list(int)], optional): A sequence of int elements. Must have 3 elements. Default: ``None`` .
|
|
1675
|
+
|
|
1676
|
+
Returns:
|
|
1677
|
+
Tensor of shape :math:`(*, M, N)` .
|
|
1678
|
+
|
|
1679
|
+
Raises:
|
|
1680
|
+
ValueError: If dtype of `x1` is int8 or int32.
|
|
1681
|
+
|
|
1682
|
+
Supported Platforms:
|
|
1683
|
+
``Ascend``
|
|
1684
|
+
|
|
1685
|
+
Examples:
|
|
1686
|
+
>>> import numpy as np
|
|
1687
|
+
>>> import mindspore as ms
|
|
1688
|
+
>>> from mindspore import ops, Tensor
|
|
1689
|
+
>>> x1 = Tensor(np.random.randn(2, 3, 4), ms.float8_e4m3)
|
|
1690
|
+
>>> x2 = Tensor(np.random.randn(2, 4, 5), ms.float8_e4m3)
|
|
1691
|
+
>>> scale = Tensor(np.random.randn(1,), ms.float32)
|
|
1692
|
+
>>> pertoken_scale = Tensor(np.random.randn(3,), ms.float32)
|
|
1693
|
+
>>> output = ops.auto_generate.quant_matmul(x1, x2, scale, pertoken_scale=pertoken_scale, output_dtype=ms.bfloat16)
|
|
1694
|
+
>>> print(output.shape)
|
|
1695
|
+
(2, 3, 5)
|
|
1696
|
+
>>> print(output.dtype)
|
|
1697
|
+
BFloat16
|
|
1698
|
+
"""
|
|
1699
|
+
return _quant_matmul_instance(*args, **kwargs)
|
|
1700
|
+
|
|
1701
|
+
|
|
1154
1702
|
def remainder(*args, **kwargs):
|
|
1155
1703
|
r"""
|
|
1156
1704
|
remainder(input, other) -> Tensor
|
|
@@ -1242,6 +1790,13 @@ def repeat_interleave(*args, **kwargs):
|
|
|
1242
1790
|
return _repeat_interleave_instance(*args, **kwargs)
|
|
1243
1791
|
|
|
1244
1792
|
|
|
1793
|
+
def rmod(*args, **kwargs):
|
|
1794
|
+
r"""
|
|
1795
|
+
rmod(input, other) -> Tensor
|
|
1796
|
+
"""
|
|
1797
|
+
return _rmod_instance(*args, **kwargs)
|
|
1798
|
+
|
|
1799
|
+
|
|
1245
1800
|
def sub(*args, **kwargs):
|
|
1246
1801
|
r"""
|
|
1247
1802
|
sub(input, other, *, alpha=1) -> Tensor
|
|
@@ -1413,17 +1968,25 @@ __all__ = [
|
|
|
1413
1968
|
"__add__",
|
|
1414
1969
|
"addcdiv",
|
|
1415
1970
|
"all_gather_matmul",
|
|
1971
|
+
"any",
|
|
1416
1972
|
"bitwise_not",
|
|
1417
1973
|
"clamp",
|
|
1418
1974
|
"clip",
|
|
1975
|
+
"conv3d",
|
|
1419
1976
|
"div",
|
|
1420
1977
|
"divide",
|
|
1978
|
+
"einsum",
|
|
1421
1979
|
"empty",
|
|
1980
|
+
"empty_like",
|
|
1422
1981
|
"floor_divide",
|
|
1423
1982
|
"fmod",
|
|
1424
1983
|
"gelu",
|
|
1984
|
+
"gmm",
|
|
1985
|
+
"gmm_backward",
|
|
1986
|
+
"gmm_backward_fusion",
|
|
1425
1987
|
"greater_equal",
|
|
1426
1988
|
"ge",
|
|
1989
|
+
"index_add",
|
|
1427
1990
|
"kthvalue",
|
|
1428
1991
|
"lerp",
|
|
1429
1992
|
"matmul_reduce_scatter",
|
|
@@ -1431,8 +1994,10 @@ __all__ = [
|
|
|
1431
1994
|
"min",
|
|
1432
1995
|
"nansum",
|
|
1433
1996
|
"pixel_shuffle",
|
|
1997
|
+
"quant_matmul",
|
|
1434
1998
|
"remainder",
|
|
1435
1999
|
"repeat_interleave",
|
|
2000
|
+
"rmod",
|
|
1436
2001
|
"sub",
|
|
1437
2002
|
"__sub__",
|
|
1438
2003
|
"where",
|