mindspore 1.10.0__cp38-cp38-win_amd64.whl → 2.0.0rc1__cp38-cp38-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/ConcurrencyCheck.dll +0 -0
- mindspore/CppBuildInsights.dll +0 -0
- mindspore/CppCoreCheck.dll +0 -0
- mindspore/EnumIndex.dll +0 -0
- mindspore/EspXEngine.dll +0 -0
- mindspore/HResultCheck.dll +0 -0
- mindspore/KernelTraceControl.dll +0 -0
- mindspore/LocalESPC.dll +0 -0
- mindspore/Microsoft.Diagnostics.Tracing.EventSource.dll +0 -0
- mindspore/Microsoft.VisualStudio.RemoteControl.dll +0 -0
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Microsoft.VisualStudio.Utilities.Internal.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- mindspore/VariantClear.dll +0 -0
- mindspore/__init__.py +9 -4
- mindspore/_c_dataengine.cp38-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp38-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp38-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +102 -0
- mindspore/_checkparam.py +1066 -1001
- mindspore/_extends/builtin_operations.py +32 -4
- mindspore/_extends/graph_kernel/model/graph_split.py +66 -222
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +12 -9
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +119 -26
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -50
- mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -6
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -25
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -27
- mindspore/_extends/parse/__init__.py +5 -3
- mindspore/_extends/parse/namespace.py +17 -2
- mindspore/_extends/parse/parser.py +193 -34
- mindspore/_extends/parse/resources.py +7 -8
- mindspore/_extends/parse/standard_method.py +1780 -435
- mindspore/_extends/parse/trope.py +3 -1
- mindspore/amp.py +53 -58
- mindspore/atlprov.dll +0 -0
- mindspore/boost/adasum.py +3 -2
- mindspore/boost/boost.py +2 -2
- mindspore/boost/boost_cell_wrapper.py +46 -26
- mindspore/boost/dim_reduce.py +6 -5
- mindspore/boost/grad_accumulation.py +2 -1
- mindspore/boost/group_loss_scale_manager.py +1 -1
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/cfgpersist.dll +0 -0
- mindspore/clang_rt.asan_dbg_dynamic-x86_64.dll +0 -0
- mindspore/clang_rt.asan_dynamic-x86_64.dll +0 -0
- mindspore/common/__init__.py +11 -10
- mindspore/common/_decorator.py +2 -0
- mindspore/common/_register_for_adapter.py +55 -0
- mindspore/common/_stub_tensor.py +201 -0
- mindspore/common/_utils.py +57 -0
- mindspore/common/api.py +582 -297
- mindspore/common/dtype.py +66 -18
- mindspore/common/dump.py +2 -2
- mindspore/common/initializer.py +38 -1
- mindspore/common/jit_config.py +25 -13
- mindspore/common/mutable.py +53 -24
- mindspore/common/parameter.py +60 -37
- mindspore/common/seed.py +8 -24
- mindspore/common/sparse_tensor.py +927 -0
- mindspore/common/tensor.py +1627 -3900
- mindspore/communication/__init__.py +10 -5
- mindspore/communication/_comm_helper.py +78 -214
- mindspore/communication/_hccl_management.py +2 -1
- mindspore/communication/management.py +136 -47
- mindspore/config/op_info.config +501 -1008
- mindspore/context.py +291 -56
- mindspore/d3dcompiler_47.dll +0 -0
- mindspore/dataset/__init__.py +12 -8
- mindspore/dataset/audio/__init__.py +9 -9
- mindspore/dataset/audio/transforms.py +1090 -228
- mindspore/dataset/audio/utils.py +87 -39
- mindspore/dataset/audio/validators.py +223 -1
- mindspore/dataset/callback/ds_callback.py +17 -15
- mindspore/dataset/core/config.py +246 -17
- mindspore/dataset/core/py_util_helpers.py +4 -3
- mindspore/dataset/core/validator_helpers.py +10 -10
- mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
- mindspore/dataset/debug/debug_hook.py +65 -0
- mindspore/dataset/debug/pre_defined_hook.py +67 -0
- mindspore/dataset/engine/__init__.py +7 -3
- mindspore/dataset/engine/cache_client.py +9 -9
- mindspore/dataset/engine/datasets.py +648 -477
- mindspore/dataset/engine/datasets_audio.py +165 -167
- mindspore/dataset/engine/datasets_standard_format.py +93 -67
- mindspore/dataset/engine/datasets_text.py +492 -342
- mindspore/dataset/engine/datasets_user_defined.py +85 -50
- mindspore/dataset/engine/datasets_vision.py +1224 -699
- mindspore/dataset/engine/graphdata.py +134 -69
- mindspore/dataset/engine/iterators.py +50 -9
- mindspore/dataset/engine/offload.py +52 -31
- mindspore/dataset/engine/samplers.py +27 -24
- mindspore/dataset/engine/serializer_deserializer.py +14 -15
- mindspore/dataset/engine/validators.py +213 -52
- mindspore/dataset/text/__init__.py +10 -8
- mindspore/dataset/text/transforms.py +152 -57
- mindspore/dataset/text/utils.py +98 -49
- mindspore/dataset/text/validators.py +25 -0
- mindspore/dataset/transforms/__init__.py +4 -2
- mindspore/dataset/transforms/c_transforms.py +11 -13
- mindspore/dataset/transforms/py_transforms.py +2 -2
- mindspore/dataset/transforms/py_transforms_util.py +10 -0
- mindspore/dataset/transforms/transforms.py +13 -15
- mindspore/dataset/transforms/validators.py +7 -7
- mindspore/dataset/utils/__init__.py +2 -1
- mindspore/dataset/utils/browse_dataset.py +13 -13
- mindspore/dataset/utils/line_reader.py +121 -0
- mindspore/dataset/vision/__init__.py +8 -7
- mindspore/dataset/vision/c_transforms.py +125 -126
- mindspore/dataset/vision/py_transforms.py +37 -37
- mindspore/dataset/vision/py_transforms_util.py +23 -20
- mindspore/dataset/vision/transforms.py +316 -315
- mindspore/dataset/vision/utils.py +313 -17
- mindspore/dataset/vision/validators.py +6 -6
- mindspore/default_config.py +0 -1
- mindspore/dpcmi.dll +0 -0
- mindspore/{compression → experimental}/__init__.py +6 -5
- mindspore/experimental/map_parameter.py +275 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/callback/callback.h +9 -13
- mindspore/include/api/callback/ckpt_saver.h +2 -2
- mindspore/include/api/callback/loss_monitor.h +2 -2
- mindspore/include/api/callback/lr_scheduler.h +5 -5
- mindspore/include/api/callback/time_monitor.h +2 -2
- mindspore/include/api/callback/train_accuracy.h +4 -6
- mindspore/include/api/cfg.h +19 -6
- mindspore/include/api/context.h +70 -9
- mindspore/include/api/delegate.h +8 -1
- mindspore/include/api/dual_abi_helper.h +8 -24
- mindspore/include/api/metrics/accuracy.h +2 -2
- mindspore/include/api/metrics/metrics.h +4 -3
- mindspore/include/api/model.h +9 -4
- mindspore/include/api/model_group.h +68 -0
- mindspore/include/api/model_parallel_runner.h +17 -17
- mindspore/include/api/net.h +12 -11
- mindspore/include/api/serialization.h +20 -4
- mindspore/include/api/status.h +7 -1
- mindspore/include/api/types.h +25 -21
- mindspore/include/api/visible.h +4 -0
- mindspore/include/c_api/model_c.h +5 -0
- mindspore/include/c_api/status_c.h +1 -1
- mindspore/include/dataset/config.h +1 -1
- mindspore/include/dataset/constants.h +14 -0
- mindspore/include/dataset/text.h +59 -0
- mindspore/include/dataset/vision.h +56 -117
- mindspore/include/dataset/vision_lite.h +102 -0
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +28 -28
- mindspore/mindrecord/common/exceptions.py +2 -4
- mindspore/mindrecord/filereader.py +19 -1
- mindspore/mindrecord/filewriter.py +250 -88
- mindspore/mindrecord/mindpage.py +13 -13
- mindspore/mindrecord/shardheader.py +15 -15
- mindspore/mindrecord/shardreader.py +9 -0
- mindspore/mindrecord/shardwriter.py +29 -29
- mindspore/mindrecord/tools/cifar100_to_mr.py +9 -9
- mindspore/mindrecord/tools/cifar10_to_mr.py +9 -9
- mindspore/mindrecord/tools/csv_to_mr.py +4 -4
- mindspore/mindrecord/tools/imagenet_to_mr.py +70 -65
- mindspore/mindrecord/tools/mnist_to_mr.py +41 -41
- mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
- mindspore/{libmindspore_backend.dll → mindspore_backend.dll} +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_shared_lib.dll +0 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_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/__init__.py +1 -5
- mindspore/nn/cell.py +297 -234
- mindspore/nn/dynamic_lr.py +1 -1
- mindspore/nn/grad/cell_grad.py +17 -42
- mindspore/nn/layer/__init__.py +7 -4
- mindspore/nn/layer/activation.py +131 -88
- mindspore/nn/layer/basic.py +313 -613
- mindspore/nn/layer/channel_shuffle.py +103 -0
- mindspore/nn/layer/combined.py +1 -1
- mindspore/nn/layer/container.py +52 -6
- mindspore/nn/layer/conv.py +112 -43
- mindspore/nn/layer/dense.py +10 -9
- mindspore/nn/layer/embedding.py +36 -34
- mindspore/nn/layer/image.py +123 -27
- mindspore/nn/layer/math.py +108 -107
- mindspore/nn/layer/normalization.py +212 -366
- mindspore/nn/layer/padding.py +370 -42
- mindspore/nn/layer/pooling.py +1443 -219
- mindspore/nn/layer/rnn_cells.py +11 -16
- mindspore/nn/layer/rnns.py +38 -39
- mindspore/nn/layer/thor_layer.py +24 -25
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +701 -0
- mindspore/nn/learning_rate_schedule.py +8 -8
- mindspore/nn/loss/__init__.py +9 -6
- mindspore/nn/loss/loss.py +678 -142
- mindspore/nn/metrics.py +53 -0
- mindspore/nn/optim/_dist_optimizer_registry.py +2 -2
- mindspore/nn/optim/ada_grad.py +8 -8
- mindspore/nn/optim/adadelta.py +2 -3
- mindspore/nn/optim/adafactor.py +18 -14
- mindspore/nn/optim/adam.py +429 -87
- mindspore/nn/optim/adamax.py +5 -6
- mindspore/nn/optim/adasum.py +10 -8
- mindspore/nn/optim/asgd.py +7 -7
- mindspore/nn/optim/ftrl.py +81 -11
- mindspore/nn/optim/lamb.py +7 -8
- mindspore/nn/optim/lars.py +4 -4
- mindspore/nn/optim/lazyadam.py +82 -7
- mindspore/nn/optim/momentum.py +8 -7
- mindspore/nn/optim/optimizer.py +19 -10
- mindspore/nn/optim/proximal_ada_grad.py +6 -5
- mindspore/nn/optim/rmsprop.py +3 -3
- mindspore/nn/optim/rprop.py +20 -16
- mindspore/nn/optim/sgd.py +21 -15
- mindspore/nn/optim/thor.py +23 -21
- mindspore/nn/probability/__init__.py +0 -2
- mindspore/nn/probability/bijector/bijector.py +7 -6
- mindspore/nn/probability/bijector/invert.py +4 -2
- mindspore/nn/probability/bijector/softplus.py +2 -2
- mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
- mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
- mindspore/nn/probability/distribution/__init__.py +6 -0
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -2
- mindspore/nn/probability/distribution/_utils/utils.py +11 -17
- mindspore/nn/probability/distribution/bernoulli.py +6 -6
- mindspore/nn/probability/distribution/beta.py +1 -1
- mindspore/nn/probability/distribution/categorical.py +9 -9
- mindspore/nn/probability/distribution/cauchy.py +8 -8
- mindspore/nn/probability/distribution/distribution.py +12 -6
- mindspore/nn/probability/distribution/exponential.py +5 -5
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +6 -5
- mindspore/nn/probability/distribution/gumbel.py +5 -5
- mindspore/nn/probability/distribution/half_normal.py +133 -0
- mindspore/nn/probability/distribution/laplace.py +128 -0
- mindspore/nn/probability/distribution/log_normal.py +0 -1
- mindspore/nn/probability/distribution/logistic.py +4 -5
- mindspore/nn/probability/distribution/normal.py +11 -15
- mindspore/nn/probability/distribution/poisson.py +6 -2
- mindspore/nn/probability/distribution/student_t.py +150 -0
- mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
- mindspore/nn/probability/distribution/uniform.py +5 -5
- mindspore/nn/reinforcement/_tensors_queue.py +3 -3
- mindspore/nn/reinforcement/tensor_array.py +2 -2
- mindspore/nn/sparse/sparse.py +8 -1
- mindspore/nn/wrap/cell_wrapper.py +55 -27
- mindspore/nn/wrap/grad_reducer.py +20 -11
- mindspore/nn/wrap/loss_scale.py +47 -30
- mindspore/numpy/array_creations.py +33 -22
- mindspore/numpy/array_ops.py +46 -42
- mindspore/numpy/logic_ops.py +6 -27
- mindspore/numpy/math_ops.py +26 -19
- mindspore/numpy/utils.py +1 -8
- mindspore/numpy/utils_const.py +112 -62
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +6 -3
- mindspore/ops/_constants.py +0 -6
- mindspore/ops/_grad/__init__.py +2 -1
- mindspore/ops/_grad/grad_array_ops.py +209 -152
- mindspore/ops/_grad/grad_base.py +55 -17
- mindspore/ops/_grad/grad_clip_ops.py +11 -3
- mindspore/ops/_grad/grad_comm_ops.py +58 -47
- mindspore/ops/_grad/grad_implementations.py +21 -61
- mindspore/ops/_grad/grad_inner_ops.py +48 -6
- mindspore/ops/_grad/grad_math_ops.py +306 -161
- mindspore/ops/_grad/grad_nn_ops.py +192 -181
- mindspore/ops/_grad/grad_other_ops.py +1 -1
- mindspore/ops/_grad/grad_quant_ops.py +5 -5
- mindspore/ops/_grad/grad_sequence_ops.py +296 -0
- mindspore/ops/_grad/grad_sparse.py +15 -9
- mindspore/ops/_grad_experimental/__init__.py +1 -0
- mindspore/ops/_grad_experimental/grad_array_ops.py +441 -55
- mindspore/ops/_grad_experimental/grad_image_ops.py +25 -7
- mindspore/ops/_grad_experimental/grad_inner_ops.py +3 -44
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +16 -21
- mindspore/ops/_grad_experimental/grad_math_ops.py +979 -49
- mindspore/ops/_grad_experimental/grad_nn_ops.py +78 -8
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +197 -13
- mindspore/ops/_op_impl/__init__.py +3 -3
- mindspore/ops/_op_impl/_custom_op/__init__.py +0 -1
- mindspore/ops/_op_impl/_custom_op/_basic.py +0 -1
- mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +4 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +5 -5
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
- mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/correction_mul.py +3 -3
- mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +4 -8
- mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
- mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +0 -1
- mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -1
- mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +238 -3
- mindspore/ops/_op_impl/aicpu/abs.py +36 -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_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/addcdiv.py +0 -32
- mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
- mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -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/argmin_with_value.py +43 -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/bias_add.py +44 -0
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +43 -0
- mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
- mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/cauchy.py} +17 -10
- mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
- mindspore/ops/_op_impl/aicpu/cholesky.py +1 -1
- mindspore/ops/_op_impl/{cpu/bias_add.py → aicpu/choleskygrad.py} +9 -7
- mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -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 +11 -0
- mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
- mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +2 -2
- mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -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/{cpu/bias_add_grad.py → aicpu/digamma.py} +9 -7
- mindspore/ops/_op_impl/aicpu/eig.py +35 -0
- mindspore/ops/_op_impl/aicpu/fft_with_size.py +41 -0
- mindspore/ops/_op_impl/aicpu/flatten.py +1 -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_max_pool3d_with_fixed_ksize.py +1 -1
- mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -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/index_put.py +50 -0
- mindspore/ops/_op_impl/{tbe/scatter_add_ds.py → aicpu/inplace_index_add.py} +17 -21
- 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/layer_norm_grad_grad.py +47 -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 +32 -0
- mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -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/masked_fill.py +42 -0
- mindspore/ops/_op_impl/aicpu/masked_scatter.py +39 -0
- mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
- mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
- mindspore/ops/_op_impl/aicpu/matrix_power.py +32 -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/mirror_pad.py +2 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
- mindspore/ops/_op_impl/aicpu/mul.py +3 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
- mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
- mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -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/ones_like.py +0 -2
- mindspore/ops/_op_impl/aicpu/polar.py +32 -0
- mindspore/ops/_op_impl/aicpu/polygamma.py +34 -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_tensor_to_sparse.py +73 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +3 -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/reciprocal.py +34 -0
- mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
- mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
- mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
- 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/scatter_elements.py +4 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
- mindspore/ops/_op_impl/aicpu/search_sorted.py +12 -6
- 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/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/sparse_apply_adagrad_da.py +0 -24
- mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -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/{tbe/slice_ds.py → aicpu/sparse_segment_sum.py} +16 -24
- 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/squared_difference.py +2 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_v2.py +93 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_v2_grad.py +66 -0
- mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
- mindspore/ops/_op_impl/{tbe/gather_v2.py → aicpu/tile.py} +24 -24
- mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
- mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
- mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
- mindspore/ops/_op_impl/cpu/__init__.py +1 -2
- mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
- mindspore/ops/_op_impl/cpu/maximum_grad.py +2 -0
- mindspore/{compression/common/__init__.py → ops/_op_impl/cpu/pyexecute.py} +13 -8
- mindspore/ops/_op_impl/cpu/reduce_sum.py +8 -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/tensor_shape.py +5 -1
- mindspore/ops/_op_impl/tbe/__init__.py +27 -608
- mindspore/ops/_op_impl/tbe/addcdiv_ds.py +42 -0
- mindspore/ops/_op_impl/tbe/addcmul_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
- mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -1
- mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +41 -0
- mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +1 -0
- mindspore/ops/_op_impl/tbe/bias_add_grad.py +2 -0
- mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
- mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +40 -0
- mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
- mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
- mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
- mindspore/ops/_op_impl/tbe/cast.py +0 -2
- mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
- mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -2
- mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -2
- mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/deformable_offsets.py +1 -0
- mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +1 -1
- mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
- mindspore/ops/_op_impl/tbe/greater.py +2 -0
- mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
- mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -1
- mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
- mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
- mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -6
- mindspore/ops/_op_impl/tbe/{greater_ds.py → reduce_all_ds.py} +13 -16
- mindspore/ops/_op_impl/tbe/reduce_any_ds.py +39 -0
- mindspore/ops/_op_impl/tbe/roi_align_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/scatter_add.py +2 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_add.py +2 -2
- mindspore/ops/_op_impl/tbe/slice.py +26 -15
- mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
- mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +1 -0
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
- mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +1 -1
- mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +3 -2
- mindspore/ops/_register_for_op.py +11 -0
- mindspore/ops/_utils/__init__.py +1 -1
- mindspore/ops/_utils/utils.py +20 -41
- mindspore/ops/_vmap/__init__.py +2 -2
- mindspore/ops/_vmap/vmap_array_ops.py +170 -78
- mindspore/ops/_vmap/vmap_base.py +24 -10
- mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
- mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +41 -9
- mindspore/ops/_vmap/vmap_image_ops.py +52 -0
- mindspore/ops/_vmap/vmap_math_ops.py +77 -6
- mindspore/ops/_vmap/vmap_nn_ops.py +78 -29
- mindspore/ops/_vmap/vmap_other_ops.py +3 -1
- mindspore/ops/_vmap/vmap_random_ops.py +55 -3
- mindspore/ops/_vmap/vmap_sparse_ops.py +1 -0
- mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ApproximateEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/Argmax_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/Argmin_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/Assign_bprop.mindir +16 -16
- mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
- mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +28 -0
- mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
- mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +306 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +12 -8
- mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Concat_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +240 -0
- mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
- mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
- mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
- mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
- mindspore/ops/bprop_mindir/DType_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +12 -13
- mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
- mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +15 -0
- mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +22 -24
- mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -14
- mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
- mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicShape_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Equal_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Flatten_bprop.mindir +54 -0
- mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +18 -15
- mindspore/ops/bprop_mindir/GatherD_bprop.mindir +26 -0
- mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +57 -0
- mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/Greater_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/IOU_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/IsInf_bprop.mindir +13 -10
- mindspore/ops/bprop_mindir/IsNan_bprop.mindir +14 -11
- mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
- mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
- mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
- mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
- mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/Less_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +22 -19
- mindspore/ops/bprop_mindir/Load_bprop.mindir +12 -13
- mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
- mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
- mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
- mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
- mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Maximum_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Minimum_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +27 -0
- mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
- mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/NonZero_bprop.mindir +14 -0
- mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/OneHot_bprop.mindir +25 -23
- mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +13 -13
- mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
- mindspore/ops/bprop_mindir/Range_bprop.mindir +21 -19
- mindspore/ops/bprop_mindir/Rank_bprop.mindir +11 -11
- mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +18 -17
- mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +18 -17
- mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +19 -23
- mindspore/ops/bprop_mindir/Reshape_bprop.mindir +60 -0
- mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +89 -0
- mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +52 -0
- mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/Round_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/ScatterMax_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterMin_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNdUpdate_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +24 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/Select_bprop.mindir +30 -34
- mindspore/ops/bprop_mindir/Shape_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Sign_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/Slice_bprop.mindir +26 -0
- mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
- mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
- mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +28 -0
- mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Split_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +54 -0
- mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +95 -0
- mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +98 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +28 -32
- mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +14 -0
- mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +18 -15
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +11 -13
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
- mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
- mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/__init__.py +1 -4
- mindspore/ops/bprop_mindir/generate_mindir.py +32 -20
- mindspore/ops/composite/__init__.py +12 -13
- mindspore/ops/composite/base.py +261 -254
- mindspore/ops/composite/env_ops.py +41 -0
- mindspore/ops/composite/math_ops.py +197 -156
- mindspore/ops/composite/multitype_ops/_compile_utils.py +428 -176
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +188 -87
- mindspore/ops/composite/multitype_ops/add_impl.py +23 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +3 -3
- mindspore/ops/composite/multitype_ops/equal_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +52 -5
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/in_impl.py +15 -3
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +33 -2
- mindspore/ops/composite/multitype_ops/less_impl.py +33 -0
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -2
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +21 -7
- mindspore/ops/composite/multitype_ops/not_in_impl.py +15 -3
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
- mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +62 -70
- mindspore/ops/composite/multitype_ops/sub_impl.py +3 -3
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +41 -4
- mindspore/ops/function/__init__.py +323 -8
- mindspore/ops/function/array_func.py +3511 -780
- mindspore/ops/function/clip_func.py +329 -0
- mindspore/ops/function/debug_func.py +6 -6
- mindspore/ops/function/grad/__init__.py +5 -1
- mindspore/ops/function/grad/grad_func.py +736 -65
- mindspore/ops/function/image_func.py +270 -0
- mindspore/ops/function/linalg_func.py +268 -8
- mindspore/ops/function/math_func.py +8032 -3164
- mindspore/ops/function/nn_func.py +5619 -1855
- mindspore/ops/function/other_func.py +115 -0
- mindspore/ops/function/parameter_func.py +11 -10
- mindspore/ops/function/random_func.py +939 -77
- mindspore/ops/function/sparse_func.py +249 -84
- mindspore/ops/function/sparse_unary_func.py +2303 -0
- mindspore/ops/function/spectral_func.py +146 -0
- mindspore/ops/function/vmap_func.py +114 -0
- mindspore/ops/functional.py +182 -254
- mindspore/ops/op_info_register.py +79 -34
- mindspore/ops/operations/__init__.py +210 -118
- mindspore/ops/operations/_csr_ops.py +7 -7
- mindspore/ops/operations/_embedding_cache_ops.py +25 -15
- mindspore/ops/operations/_grad_ops.py +447 -322
- mindspore/ops/operations/_inner_ops.py +547 -176
- mindspore/ops/operations/_map_tensor_ops.py +112 -0
- mindspore/ops/operations/_ms_kernel.py +29 -27
- mindspore/ops/operations/_ocr_ops.py +11 -11
- mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
- mindspore/ops/operations/_quant_ops.py +186 -101
- mindspore/ops/operations/_rl_inner_ops.py +122 -61
- mindspore/ops/operations/_scalar_ops.py +466 -0
- mindspore/ops/operations/_sequence_ops.py +1047 -0
- mindspore/ops/operations/_tensor_array.py +10 -11
- mindspore/ops/operations/_thor_ops.py +4 -4
- mindspore/ops/operations/array_ops.py +1428 -1226
- mindspore/ops/operations/comm_ops.py +180 -117
- mindspore/ops/operations/control_ops.py +4 -2
- mindspore/ops/operations/custom_ops.py +185 -98
- mindspore/ops/operations/debug_ops.py +92 -54
- mindspore/ops/operations/image_ops.py +406 -211
- mindspore/ops/operations/inner_ops.py +42 -53
- mindspore/ops/operations/linalg_ops.py +32 -29
- mindspore/ops/operations/math_ops.py +2076 -897
- mindspore/ops/operations/nn_ops.py +1282 -1252
- mindspore/ops/operations/other_ops.py +124 -278
- mindspore/ops/operations/random_ops.py +345 -178
- mindspore/ops/operations/rl_ops.py +8 -9
- mindspore/ops/operations/sparse_ops.py +502 -157
- mindspore/ops/operations/spectral_ops.py +107 -0
- mindspore/ops/primitive.py +192 -15
- mindspore/ops/vm_impl_registry.py +23 -2
- mindspore/parallel/__init__.py +6 -1
- mindspore/parallel/_auto_parallel_context.py +199 -92
- mindspore/parallel/_cell_wrapper.py +4 -2
- mindspore/parallel/_cost_model_context.py +3 -0
- mindspore/parallel/_dp_allreduce_fusion.py +2 -1
- mindspore/parallel/_offload_context.py +185 -0
- mindspore/parallel/_parallel_serialization.py +167 -28
- mindspore/parallel/_ps_context.py +9 -5
- mindspore/parallel/_recovery_context.py +1 -1
- mindspore/parallel/_tensor.py +9 -1
- mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
- mindspore/{nn/transformer → parallel/_transformer}/layers.py +59 -37
- mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
- mindspore/{nn/transformer → parallel/_transformer}/moe.py +160 -35
- mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
- mindspore/{nn/transformer → parallel/_transformer}/transformer.py +235 -196
- mindspore/parallel/_utils.py +47 -7
- mindspore/parallel/algo_parameter_config.py +5 -1
- mindspore/parallel/checkpoint_transform.py +329 -0
- mindspore/parallel/shard.py +229 -0
- mindspore/perf_msvcbuildinsights.dll +0 -0
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +2 -1
- mindspore/profiler/common/util.py +4 -3
- mindspore/profiler/common/validator/validate_path.py +2 -2
- mindspore/profiler/envprofiling.py +249 -0
- mindspore/profiler/parser/aicpu_data_parser.py +38 -39
- mindspore/profiler/parser/ascend_timeline_generator.py +497 -0
- mindspore/profiler/parser/base_timeline_generator.py +471 -0
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +684 -0
- mindspore/profiler/parser/framework_parser.py +42 -16
- mindspore/profiler/parser/hccl_parser.py +158 -158
- mindspore/profiler/parser/hwts_log_parser.py +7 -6
- mindspore/profiler/parser/integrator.py +18 -1579
- mindspore/profiler/parser/minddata_analyzer.py +8 -8
- mindspore/profiler/parser/msadvisor_analyzer.py +14 -27
- mindspore/profiler/parser/msadvisor_parser.py +2 -4
- mindspore/profiler/parser/optime_parser.py +17 -18
- mindspore/profiler/parser/profiler_info.py +108 -0
- mindspore/profiler/parser/step_trace_parser.py +1 -1
- mindspore/profiler/profiling.py +396 -194
- mindspore/rewrite/__init__.py +6 -2
- mindspore/rewrite/api/node.py +51 -110
- mindspore/rewrite/api/node_type.py +10 -6
- mindspore/rewrite/api/pattern_engine.py +51 -7
- mindspore/rewrite/api/scoped_value.py +64 -53
- mindspore/rewrite/api/symbol_tree.py +108 -61
- mindspore/rewrite/api/tree_node_helper.py +2 -3
- mindspore/{compression/quant/__init__.py → rewrite/ast_creator_register.py} +20 -11
- mindspore/rewrite/ast_helpers/__init__.py +6 -3
- mindspore/rewrite/ast_helpers/ast_creator.py +115 -0
- mindspore/rewrite/ast_helpers/ast_finder.py +99 -1
- mindspore/rewrite/ast_helpers/ast_modifier.py +17 -4
- mindspore/rewrite/ast_helpers/ast_replacer.py +1 -1
- mindspore/rewrite/ast_transformers/__init__.py +0 -1
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +46 -5
- mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +6 -3
- mindspore/rewrite/common/__init__.py +2 -0
- mindspore/rewrite/common/event.py +1 -1
- mindspore/rewrite/common/observable.py +1 -1
- mindspore/rewrite/common/observer.py +1 -1
- mindspore/rewrite/common/rewrite_elog.py +35 -0
- mindspore/rewrite/namer.py +2 -2
- mindspore/rewrite/namespace.py +14 -4
- mindspore/rewrite/node.py +161 -13
- mindspore/rewrite/parser.py +0 -1
- mindspore/rewrite/parser_register.py +0 -1
- mindspore/rewrite/parsers/arguments_parser.py +3 -2
- mindspore/rewrite/parsers/assign_parser.py +267 -67
- mindspore/rewrite/parsers/attribute_parser.py +56 -0
- mindspore/rewrite/parsers/class_def_parser.py +191 -108
- mindspore/rewrite/parsers/constant_parser.py +101 -0
- mindspore/rewrite/parsers/container_parser.py +88 -0
- mindspore/rewrite/parsers/for_parser.py +28 -15
- mindspore/rewrite/parsers/function_def_parser.py +21 -5
- mindspore/rewrite/parsers/if_parser.py +11 -28
- mindspore/rewrite/parsers/module_parser.py +9 -6
- mindspore/rewrite/parsers/return_parser.py +3 -2
- mindspore/rewrite/sparsify/__init__.py +0 -0
- mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
- mindspore/rewrite/sparsify/sparsify.py +109 -0
- mindspore/rewrite/sparsify/utils.py +173 -0
- mindspore/rewrite/symbol_tree.py +322 -109
- mindspore/rewrite/symbol_tree_builder.py +45 -8
- mindspore/rewrite/symbol_tree_dumper.py +0 -1
- mindspore/rewrite/topological_manager.py +1 -2
- mindspore/run_check/_check_version.py +209 -112
- mindspore/run_check/run_check.py +2 -1
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +6 -4
- mindspore/train/_utils.py +28 -5
- mindspore/train/amp.py +321 -50
- mindspore/train/callback/__init__.py +3 -1
- mindspore/train/callback/_backup_and_restore.py +120 -0
- mindspore/train/callback/_callback.py +8 -8
- mindspore/train/callback/_checkpoint.py +12 -9
- mindspore/train/callback/_early_stop.py +13 -7
- mindspore/train/callback/_history.py +8 -8
- mindspore/train/callback/_lambda_callback.py +6 -6
- mindspore/train/callback/_landscape.py +36 -38
- mindspore/train/callback/_loss_monitor.py +12 -6
- mindspore/train/callback/_lr_scheduler_callback.py +2 -4
- mindspore/train/callback/_on_request_exit.py +212 -0
- mindspore/train/callback/_reduce_lr_on_plateau.py +13 -7
- mindspore/train/callback/_summary_collector.py +27 -19
- mindspore/train/callback/_time_monitor.py +13 -7
- mindspore/train/checkpoint_pb2.py +68 -8
- mindspore/train/data_sink.py +122 -33
- mindspore/train/dataset_helper.py +28 -87
- mindspore/train/loss_scale_manager.py +4 -7
- mindspore/{nn → train}/metrics/__init__.py +20 -20
- mindspore/{nn → train}/metrics/accuracy.py +12 -10
- mindspore/{nn → train}/metrics/auc.py +4 -4
- mindspore/{nn → train}/metrics/bleu_score.py +4 -4
- mindspore/{nn → train}/metrics/confusion_matrix.py +10 -8
- mindspore/{nn → train}/metrics/cosine_similarity.py +4 -4
- mindspore/{nn → train}/metrics/dice.py +6 -5
- mindspore/{nn → train}/metrics/error.py +7 -5
- mindspore/{nn → train}/metrics/fbeta.py +9 -7
- mindspore/{nn → train}/metrics/hausdorff_distance.py +8 -6
- mindspore/{nn → train}/metrics/loss.py +4 -3
- mindspore/{nn → train}/metrics/mean_surface_distance.py +6 -5
- mindspore/{nn → train}/metrics/metric.py +6 -5
- mindspore/{nn → train}/metrics/occlusion_sensitivity.py +4 -3
- mindspore/{nn → train}/metrics/perplexity.py +5 -4
- mindspore/{nn → train}/metrics/precision.py +5 -4
- mindspore/{nn → train}/metrics/recall.py +5 -4
- mindspore/{nn → train}/metrics/roc.py +7 -6
- mindspore/{nn → train}/metrics/root_mean_square_surface_distance.py +6 -5
- mindspore/{nn → train}/metrics/topk.py +7 -5
- mindspore/train/mind_ir_pb2.py +339 -32
- mindspore/train/model.py +113 -84
- mindspore/train/serialization.py +547 -167
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/summary_record.py +43 -12
- mindspore/train/train_thor/convert_utils.py +7 -1
- mindspore/train/train_thor/dataset_helper.py +3 -3
- mindspore/train/train_thor/model_thor.py +0 -4
- mindspore/turbojpeg.dll +0 -0
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +4 -3
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +901 -660
- mindspore/compression/common/constant.py +0 -124
- mindspore/compression/export/__init__.py +0 -19
- mindspore/compression/export/quant_export.py +0 -514
- mindspore/compression/quant/qat.py +0 -636
- mindspore/compression/quant/quant_utils.py +0 -462
- mindspore/compression/quant/quantizer.py +0 -68
- mindspore/libatomic-1.dll +0 -0
- mindspore/libgcc_s_seh-1.dll +0 -0
- mindspore/libgfortran-4.dll +0 -0
- mindspore/libgomp-1.dll +0 -0
- mindspore/libjpeg-62.dll +0 -0
- mindspore/libmindspore.dll +0 -0
- mindspore/libmindspore_common.dll +0 -0
- mindspore/libmindspore_core.dll +0 -0
- mindspore/libmindspore_glog.dll +0 -0
- mindspore/libnnacl.dll +0 -0
- mindspore/libopencv_core452.dll +0 -0
- mindspore/libopencv_imgcodecs452.dll +0 -0
- mindspore/libopencv_imgproc452.dll +0 -0
- mindspore/libquadmath-0.dll +0 -0
- mindspore/libsqlite3.dll +0 -0
- mindspore/libssp-0.dll +0 -0
- mindspore/libstdc++-6.dll +0 -0
- mindspore/libtinyxml2.dll +0 -0
- mindspore/libturbojpeg.dll +0 -0
- mindspore/libwinpthread-1.dll +0 -0
- mindspore/nn/layer/quant.py +0 -1868
- mindspore/nn/layer/rnn_utils.py +0 -90
- mindspore/nn/probability/dpn/__init__.py +0 -22
- mindspore/nn/probability/dpn/vae/__init__.py +0 -25
- mindspore/nn/probability/dpn/vae/cvae.py +0 -138
- mindspore/nn/probability/dpn/vae/vae.py +0 -122
- mindspore/nn/probability/infer/__init__.py +0 -22
- mindspore/nn/probability/infer/variational/elbo.py +0 -70
- mindspore/nn/probability/infer/variational/svi.py +0 -84
- mindspore/nn/probability/toolbox/__init__.py +0 -22
- mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
- mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -363
- mindspore/nn/probability/transforms/__init__.py +0 -22
- mindspore/nn/probability/transforms/transform_bnn.py +0 -262
- mindspore/nn/probability/zhusuan/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
- mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
- mindspore/ops/_op_impl/tbe/bias_add_grad_ds.py +0 -52
- mindspore/ops/_op_impl/tbe/scatter_nd_add_ds.py +0 -43
- mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Identity_bprop.mindir +0 -9
- mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -17
- mindspore/ops/bprop_mindir/stop_gradient_bprop.mindir +0 -12
- mindspore/ops/composite/array_ops.py +0 -210
- mindspore/ops/composite/clip_ops.py +0 -238
- mindspore/ops/composite/random_ops.py +0 -426
- mindspore/ops/composite/vmap_ops.py +0 -38
- mindspore/ops/operations/sponge_ops.py +0 -3531
- mindspore/ops/operations/sponge_update_ops.py +0 -2546
- mindspore/parallel/nn/__init__.py +0 -42
- mindspore/parallel/nn/loss.py +0 -22
- mindspore/parallel/nn/moe.py +0 -21
- mindspore/parallel/nn/op_parallel_config.py +0 -22
- mindspore/parallel/nn/transformer.py +0 -31
- mindspore/run_check/_check_deps_version.py +0 -84
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -17,8 +17,11 @@ This module is to write data into mindrecord.
|
|
|
17
17
|
"""
|
|
18
18
|
import os
|
|
19
19
|
import platform
|
|
20
|
+
import queue
|
|
20
21
|
import re
|
|
21
22
|
import stat
|
|
23
|
+
import time
|
|
24
|
+
import multiprocessing as mp
|
|
22
25
|
import numpy as np
|
|
23
26
|
from mindspore import log as logger
|
|
24
27
|
from .shardwriter import ShardWriter
|
|
@@ -26,7 +29,7 @@ from .shardreader import ShardReader
|
|
|
26
29
|
from .shardheader import ShardHeader
|
|
27
30
|
from .shardindexgenerator import ShardIndexGenerator
|
|
28
31
|
from .shardutils import MIN_SHARD_COUNT, MAX_SHARD_COUNT, VALID_ATTRIBUTES, VALID_ARRAY_ATTRIBUTES, \
|
|
29
|
-
check_filename, VALUE_TYPE_MAP
|
|
32
|
+
check_filename, VALUE_TYPE_MAP, SUCCESS
|
|
30
33
|
from .common.exceptions import ParamValueError, ParamTypeError, MRMInvalidSchemaError, MRMDefineIndexError
|
|
31
34
|
|
|
32
35
|
__all__ = ['FileWriter']
|
|
@@ -103,6 +106,13 @@ class FileWriter:
|
|
|
103
106
|
self._writer = ShardWriter()
|
|
104
107
|
self._generator = None
|
|
105
108
|
|
|
109
|
+
# parallel write mode
|
|
110
|
+
self._parallel_writer = None
|
|
111
|
+
self._writers = None
|
|
112
|
+
self._queue = None
|
|
113
|
+
self._workers = None
|
|
114
|
+
self._index_workers = None
|
|
115
|
+
|
|
106
116
|
@classmethod
|
|
107
117
|
def open_for_append(cls, file_name):
|
|
108
118
|
r"""
|
|
@@ -163,7 +173,7 @@ class FileWriter:
|
|
|
163
173
|
The schema is added to describe the raw data to be written.
|
|
164
174
|
|
|
165
175
|
Note:
|
|
166
|
-
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter
|
|
176
|
+
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter` .
|
|
167
177
|
|
|
168
178
|
Args:
|
|
169
179
|
content (dict): Dictionary of schema content.
|
|
@@ -186,14 +196,14 @@ class FileWriter:
|
|
|
186
196
|
def add_index(self, index_fields):
|
|
187
197
|
"""
|
|
188
198
|
Select index fields from schema to accelerate reading.
|
|
189
|
-
schema is added through `add_schema
|
|
199
|
+
schema is added through `add_schema` .
|
|
190
200
|
|
|
191
201
|
Note:
|
|
192
202
|
The index fields should be primitive type. e.g. int/float/str.
|
|
193
203
|
If the function is not called, the fields of the primitive type
|
|
194
204
|
in schema are set as indexes by default.
|
|
195
205
|
|
|
196
|
-
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter
|
|
206
|
+
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter` .
|
|
197
207
|
|
|
198
208
|
Args:
|
|
199
209
|
index_fields (list[str]): fields from schema.
|
|
@@ -217,56 +227,10 @@ class FileWriter:
|
|
|
217
227
|
raise ParamTypeError('index field', 'str')
|
|
218
228
|
return self._header.add_index_fields(index_fields)
|
|
219
229
|
|
|
220
|
-
def _verify_based_on_schema(self, raw_data):
|
|
221
|
-
"""
|
|
222
|
-
Verify data according to schema and remove invalid data if validation failed.
|
|
223
|
-
|
|
224
|
-
1) allowed data type contains: "int32", "int64", "float32", "float64", "string", "bytes".
|
|
225
|
-
|
|
226
|
-
Args:
|
|
227
|
-
raw_data (list[dict]): List of raw data.
|
|
228
|
-
"""
|
|
229
|
-
error_data_dic = {}
|
|
230
|
-
schema_content = self._header.schema
|
|
231
|
-
for field in schema_content:
|
|
232
|
-
for i, v in enumerate(raw_data):
|
|
233
|
-
if i in error_data_dic:
|
|
234
|
-
continue
|
|
235
|
-
|
|
236
|
-
if field not in v:
|
|
237
|
-
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
238
|
-
"there is not '{}' object in the raw data.".format(i, field)
|
|
239
|
-
continue
|
|
240
|
-
field_type = type(v[field]).__name__
|
|
241
|
-
if field_type not in VALUE_TYPE_MAP:
|
|
242
|
-
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
243
|
-
"data type for '{}' is not matched.".format(i, field)
|
|
244
|
-
continue
|
|
245
|
-
|
|
246
|
-
if schema_content[field]["type"] not in VALUE_TYPE_MAP[field_type]:
|
|
247
|
-
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
248
|
-
"data type for '{}' is not matched.".format(i, field)
|
|
249
|
-
continue
|
|
250
|
-
|
|
251
|
-
if field_type == 'ndarray':
|
|
252
|
-
if 'shape' not in schema_content[field]:
|
|
253
|
-
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
254
|
-
"data type for '{}' is not matched.".format(i, field)
|
|
255
|
-
else:
|
|
256
|
-
try:
|
|
257
|
-
np.reshape(v[field], schema_content[field]['shape'])
|
|
258
|
-
except ValueError:
|
|
259
|
-
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
260
|
-
"data type for '{}' is not matched.".format(i, field)
|
|
261
|
-
error_data_dic = sorted(error_data_dic.items(), reverse=True)
|
|
262
|
-
for i, v in error_data_dic:
|
|
263
|
-
raw_data.pop(i)
|
|
264
|
-
logger.warning(v)
|
|
265
|
-
|
|
266
230
|
def open_and_set_header(self):
|
|
267
231
|
"""
|
|
268
232
|
Open writer and set header which stores meta information. The function is only used for parallel \
|
|
269
|
-
writing and is called before the `write_raw_data
|
|
233
|
+
writing and is called before the `write_raw_data` .
|
|
270
234
|
|
|
271
235
|
Returns:
|
|
272
236
|
MSRStatus, SUCCESS or FAILED.
|
|
@@ -289,7 +253,7 @@ class FileWriter:
|
|
|
289
253
|
files after the raw data is verified against the schema.
|
|
290
254
|
|
|
291
255
|
Note:
|
|
292
|
-
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter
|
|
256
|
+
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter` .
|
|
293
257
|
|
|
294
258
|
Args:
|
|
295
259
|
raw_data (list[dict]): List of raw data.
|
|
@@ -304,23 +268,72 @@ class FileWriter:
|
|
|
304
268
|
MRMValidateDataError: If data does not match blob fields.
|
|
305
269
|
MRMSetHeaderError: If failed to set header.
|
|
306
270
|
MRMWriteDatasetError: If failed to write dataset.
|
|
271
|
+
TypeError: If parallel_writer is not bool.
|
|
307
272
|
"""
|
|
308
|
-
if not
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
if not isinstance(
|
|
321
|
-
raise ParamTypeError('raw_data
|
|
322
|
-
|
|
323
|
-
|
|
273
|
+
if not isinstance(parallel_writer, bool):
|
|
274
|
+
raise TypeError("The parameter `parallel_writer` must be bool.")
|
|
275
|
+
|
|
276
|
+
if self._parallel_writer is None:
|
|
277
|
+
self._parallel_writer = parallel_writer
|
|
278
|
+
if self._parallel_writer != parallel_writer:
|
|
279
|
+
raise RuntimeError("The parameter `parallel_writer` must be consistent during use.")
|
|
280
|
+
if not self._parallel_writer:
|
|
281
|
+
if not self._writer.is_open:
|
|
282
|
+
self._writer.open(self._paths, self._overwrite)
|
|
283
|
+
if not self._writer.get_shard_header():
|
|
284
|
+
self._writer.set_shard_header(self._header)
|
|
285
|
+
if not isinstance(raw_data, list):
|
|
286
|
+
raise ParamTypeError('raw_data', 'list')
|
|
287
|
+
if self._flush and not self._append:
|
|
288
|
+
raise RuntimeError("Not allowed to call `write_raw_data` on flushed MindRecord files." \
|
|
289
|
+
"When creating new Mindrecord files, please remove `commit` before " \
|
|
290
|
+
"`write_raw_data`. In other cases, when appending to existing MindRecord files, " \
|
|
291
|
+
"please call `open_for_append` first and then `write_raw_data`.")
|
|
292
|
+
for each_raw in raw_data:
|
|
293
|
+
if not isinstance(each_raw, dict):
|
|
294
|
+
raise ParamTypeError('raw_data item', 'dict')
|
|
295
|
+
self._verify_based_on_schema(raw_data)
|
|
296
|
+
return self._writer.write_raw_data(raw_data, True, parallel_writer)
|
|
297
|
+
|
|
298
|
+
## parallel write mode
|
|
299
|
+
# init the _writers and launch the workers
|
|
300
|
+
if self._writers is None:
|
|
301
|
+
self._writers = [None] * len(self._paths) # writers used by worker
|
|
302
|
+
self._queue = mp.Queue(len(self._paths) * 2) # queue for worker
|
|
303
|
+
self._workers = [None] * len(self._paths) # worker process
|
|
304
|
+
for i, path in enumerate(self._paths):
|
|
305
|
+
self._writers[i] = ShardWriter()
|
|
306
|
+
self._writers[i].open([path], self._overwrite)
|
|
307
|
+
self._writers[i].set_shard_header(self._header)
|
|
308
|
+
|
|
309
|
+
# launch the workers for parallel write
|
|
310
|
+
self._queue._joincancelled = True # pylint: disable=W0212
|
|
311
|
+
p = mp.Process(target=self._write_worker, args=(i, self._queue))
|
|
312
|
+
p.daemon = True
|
|
313
|
+
p.start()
|
|
314
|
+
logger.info("Start worker process(pid:{}) to parallel write.".format(p.pid))
|
|
315
|
+
self._workers[i] = p
|
|
316
|
+
|
|
317
|
+
# fill the self._queue
|
|
318
|
+
check_interval = 0.5 # 0.5s
|
|
319
|
+
start_time = time.time()
|
|
320
|
+
while True:
|
|
321
|
+
try:
|
|
322
|
+
self._queue.put(raw_data, block=False)
|
|
323
|
+
except queue.Full:
|
|
324
|
+
if time.time() - start_time > check_interval:
|
|
325
|
+
start_time = time.time()
|
|
326
|
+
logger.warning("Because there are too few MindRecord file shards, the efficiency of parallel " \
|
|
327
|
+
"writing is too low. You can stop the current task and add the parameter " \
|
|
328
|
+
"`shard_num` of `FileWriter` to upgrade the task.")
|
|
329
|
+
|
|
330
|
+
# check the status of worker process
|
|
331
|
+
for i in range(len(self._paths)):
|
|
332
|
+
if not self._workers[i].is_alive():
|
|
333
|
+
raise RuntimeError("Worker process(pid:{}) has stopped abnormal. Please check " \
|
|
334
|
+
"the above log".format(self._workers[i].pid))
|
|
335
|
+
continue
|
|
336
|
+
return SUCCESS
|
|
324
337
|
|
|
325
338
|
def set_header_size(self, header_size):
|
|
326
339
|
"""
|
|
@@ -329,7 +342,6 @@ class FileWriter:
|
|
|
329
342
|
the MindRecord file can store. If the size of header is larger than \
|
|
330
343
|
the default size (16MB), users need to call the API to set a proper size.
|
|
331
344
|
|
|
332
|
-
|
|
333
345
|
Args:
|
|
334
346
|
header_size (int): Size of header, between 16*1024(16KB) and
|
|
335
347
|
128*1024*1024(128MB).
|
|
@@ -369,16 +381,16 @@ class FileWriter:
|
|
|
369
381
|
Examples:
|
|
370
382
|
>>> from mindspore.mindrecord import FileWriter
|
|
371
383
|
>>> writer = FileWriter(file_name="test.mindrecord", shard_num=1)
|
|
372
|
-
>>> status = writer.set_page_size(1 << 26)
|
|
384
|
+
>>> status = writer.set_page_size(1 << 26) # 64MB
|
|
373
385
|
"""
|
|
374
386
|
return self._writer.set_page_size(page_size)
|
|
375
387
|
|
|
376
|
-
def commit(self):
|
|
388
|
+
def commit(self): # pylint: disable=W0212
|
|
377
389
|
"""
|
|
378
390
|
Flush data in memory to disk and generate the corresponding database files.
|
|
379
391
|
|
|
380
392
|
Note:
|
|
381
|
-
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter
|
|
393
|
+
Please refer to the Examples of class: `mindspore.mindrecord.FileWriter` .
|
|
382
394
|
|
|
383
395
|
Returns:
|
|
384
396
|
MSRStatus, SUCCESS or FAILED.
|
|
@@ -389,25 +401,37 @@ class FileWriter:
|
|
|
389
401
|
MRMIndexGeneratorError: If failed to create index generator.
|
|
390
402
|
MRMGenerateIndexError: If failed to write to database.
|
|
391
403
|
MRMCommitError: If failed to flush data to disk.
|
|
404
|
+
RuntimeError: Parallel write failed.
|
|
392
405
|
"""
|
|
393
|
-
self.
|
|
394
|
-
|
|
395
|
-
self._writer.
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
self._writer.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
if self.
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
406
|
+
if not self._parallel_writer:
|
|
407
|
+
self._flush = True
|
|
408
|
+
if not self._writer.is_open:
|
|
409
|
+
self._writer.open(self._paths, self._overwrite)
|
|
410
|
+
# permit commit without data
|
|
411
|
+
if not self._writer.get_shard_header():
|
|
412
|
+
self._writer.set_shard_header(self._header)
|
|
413
|
+
self._writer.commit()
|
|
414
|
+
if self._index_generator:
|
|
415
|
+
if self._append:
|
|
416
|
+
self._generator = ShardIndexGenerator(self._file_name, self._append)
|
|
417
|
+
elif len(self._paths) >= 1:
|
|
418
|
+
self._generator = ShardIndexGenerator(os.path.realpath(self._paths[0]), self._append)
|
|
419
|
+
self._generator.build()
|
|
420
|
+
self._generator.write_to_db()
|
|
421
|
+
else:
|
|
422
|
+
# maybe a empty mindrecord, so need check _writers
|
|
423
|
+
if self._writers is None:
|
|
424
|
+
self._writers = [None] * len(self._paths)
|
|
425
|
+
for i, path in enumerate(self._paths):
|
|
426
|
+
self._writers[i] = ShardWriter()
|
|
427
|
+
self._writers[i].open(path, self._overwrite)
|
|
428
|
+
self._writers[i].set_shard_header(self._header)
|
|
429
|
+
|
|
430
|
+
self._parallel_commit()
|
|
407
431
|
|
|
432
|
+
# change the file mode to 600
|
|
408
433
|
mindrecord_files = []
|
|
409
434
|
index_files = []
|
|
410
|
-
# change the file mode to 600
|
|
411
435
|
for item in self._paths:
|
|
412
436
|
if os.path.exists(item):
|
|
413
437
|
os.chmod(item, stat.S_IRUSR | stat.S_IWUSR)
|
|
@@ -420,7 +444,73 @@ class FileWriter:
|
|
|
420
444
|
logger.info("The list of mindrecord files created are: {}, and the list of index files are: {}".format(
|
|
421
445
|
mindrecord_files, index_files))
|
|
422
446
|
|
|
423
|
-
return
|
|
447
|
+
return SUCCESS
|
|
448
|
+
|
|
449
|
+
def _index_worker(self, i):
|
|
450
|
+
"""The worker do the index generator"""
|
|
451
|
+
generator = ShardIndexGenerator(os.path.realpath(self._paths[i]), False)
|
|
452
|
+
generator.build()
|
|
453
|
+
generator.write_to_db()
|
|
454
|
+
|
|
455
|
+
def _parallel_commit(self):
|
|
456
|
+
"""Parallel commit"""
|
|
457
|
+
# if some workers stopped, error may occur
|
|
458
|
+
alive_count = 0
|
|
459
|
+
for i in range(len(self._paths)):
|
|
460
|
+
if self._workers[i].is_alive():
|
|
461
|
+
alive_count += 1
|
|
462
|
+
if alive_count != len(self._paths):
|
|
463
|
+
raise RuntimeError("Parallel write worker error, please check the log file.")
|
|
464
|
+
|
|
465
|
+
# send EOF to worker process
|
|
466
|
+
for _ in range(len(self._paths)):
|
|
467
|
+
while True:
|
|
468
|
+
try:
|
|
469
|
+
self._queue.put("EOF", block=False)
|
|
470
|
+
except queue.Full:
|
|
471
|
+
time.sleep(1)
|
|
472
|
+
continue
|
|
473
|
+
break
|
|
474
|
+
|
|
475
|
+
# wait the worker processing
|
|
476
|
+
while True:
|
|
477
|
+
alive_count = 0
|
|
478
|
+
for i in range(len(self._paths)):
|
|
479
|
+
if self._workers[i].is_alive():
|
|
480
|
+
alive_count += 1
|
|
481
|
+
if alive_count == 0:
|
|
482
|
+
break
|
|
483
|
+
time.sleep(1)
|
|
484
|
+
logger.info("Waiting for all the parallel workers to finish.")
|
|
485
|
+
|
|
486
|
+
del self._queue
|
|
487
|
+
|
|
488
|
+
# wait for worker process stop
|
|
489
|
+
for index in range(len(self._paths)):
|
|
490
|
+
while True:
|
|
491
|
+
logger.info("Waiting for the worker process(pid:{}) to process all the data.".format(
|
|
492
|
+
self._workers[index].pid))
|
|
493
|
+
if self._workers[index].is_alive():
|
|
494
|
+
time.sleep(1)
|
|
495
|
+
continue
|
|
496
|
+
elif self._workers[index].exitcode != 0:
|
|
497
|
+
raise RuntimeError("Worker process(pid:{}) has stopped abnormal. Please check " \
|
|
498
|
+
"the above log".format(self._workers[index].pid))
|
|
499
|
+
break
|
|
500
|
+
|
|
501
|
+
if self._index_generator:
|
|
502
|
+
# use parallel index workers to generator index
|
|
503
|
+
self._index_workers = [None] * len(self._paths)
|
|
504
|
+
for index in range(len(self._paths)):
|
|
505
|
+
p = mp.Process(target=self._index_worker, args=(index,))
|
|
506
|
+
p.daemon = True
|
|
507
|
+
p.start()
|
|
508
|
+
logger.info("Start worker process(pid:{}) to generate index.".format(p.pid))
|
|
509
|
+
self._index_workers[index] = p
|
|
510
|
+
|
|
511
|
+
# wait the index workers stop
|
|
512
|
+
for index in range(len(self._paths)):
|
|
513
|
+
self._index_workers[index].join()
|
|
424
514
|
|
|
425
515
|
def _validate_array(self, k, v):
|
|
426
516
|
"""
|
|
@@ -448,6 +538,52 @@ class FileWriter:
|
|
|
448
538
|
return False, error
|
|
449
539
|
return True, ''
|
|
450
540
|
|
|
541
|
+
def _verify_based_on_schema(self, raw_data):
|
|
542
|
+
"""
|
|
543
|
+
Verify data according to schema and remove invalid data if validation failed.
|
|
544
|
+
|
|
545
|
+
1) allowed data type contains: "int32", "int64", "float32", "float64", "string", "bytes".
|
|
546
|
+
|
|
547
|
+
Args:
|
|
548
|
+
raw_data (list[dict]): List of raw data.
|
|
549
|
+
"""
|
|
550
|
+
error_data_dic = {}
|
|
551
|
+
schema_content = self._header.schema
|
|
552
|
+
for field in schema_content:
|
|
553
|
+
for i, v in enumerate(raw_data):
|
|
554
|
+
if i in error_data_dic:
|
|
555
|
+
continue
|
|
556
|
+
|
|
557
|
+
if field not in v:
|
|
558
|
+
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
559
|
+
"there is not '{}' object in the raw data.".format(i, field)
|
|
560
|
+
continue
|
|
561
|
+
field_type = type(v[field]).__name__
|
|
562
|
+
if field_type not in VALUE_TYPE_MAP:
|
|
563
|
+
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
564
|
+
"data type for '{}' is not matched.".format(i, field)
|
|
565
|
+
continue
|
|
566
|
+
|
|
567
|
+
if schema_content[field]["type"] not in VALUE_TYPE_MAP[field_type]:
|
|
568
|
+
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
569
|
+
"data type for '{}' is not matched.".format(i, field)
|
|
570
|
+
continue
|
|
571
|
+
|
|
572
|
+
if field_type == 'ndarray':
|
|
573
|
+
if 'shape' not in schema_content[field]:
|
|
574
|
+
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
575
|
+
"data type for '{}' is not matched.".format(i, field)
|
|
576
|
+
else:
|
|
577
|
+
try:
|
|
578
|
+
np.reshape(v[field], schema_content[field]['shape'])
|
|
579
|
+
except ValueError:
|
|
580
|
+
error_data_dic[i] = "for schema, {} th data is wrong, " \
|
|
581
|
+
"data type for '{}' is not matched.".format(i, field)
|
|
582
|
+
error_data_dic = sorted(error_data_dic.items(), reverse=True)
|
|
583
|
+
for i, v in error_data_dic:
|
|
584
|
+
raw_data.pop(i)
|
|
585
|
+
logger.warning(v)
|
|
586
|
+
|
|
451
587
|
def _validate_schema(self, content):
|
|
452
588
|
"""
|
|
453
589
|
Validate schema and return validation result and error message.
|
|
@@ -488,3 +624,29 @@ class FileWriter:
|
|
|
488
624
|
error = "Field '{}' should be dict.".format(k)
|
|
489
625
|
return False, error
|
|
490
626
|
return True, error
|
|
627
|
+
|
|
628
|
+
def _write_worker(self, i, in_queue):
|
|
629
|
+
"""The worker do the data check and write to disk for parallel mode"""
|
|
630
|
+
while True:
|
|
631
|
+
# try to get new raw_data from master
|
|
632
|
+
try:
|
|
633
|
+
raw_data = in_queue.get(block=False)
|
|
634
|
+
except queue.Empty:
|
|
635
|
+
continue
|
|
636
|
+
|
|
637
|
+
# get EOF from master, worker should commit and stop
|
|
638
|
+
if raw_data == "EOF":
|
|
639
|
+
ret = self._writers[i].commit()
|
|
640
|
+
if ret != SUCCESS:
|
|
641
|
+
raise RuntimeError("Commit the {}th shard of MindRecord file failed.".format(i))
|
|
642
|
+
break
|
|
643
|
+
|
|
644
|
+
# check the raw_data
|
|
645
|
+
if not isinstance(raw_data, list):
|
|
646
|
+
raise ParamTypeError('raw_data', 'list')
|
|
647
|
+
for each_raw in raw_data:
|
|
648
|
+
if not isinstance(each_raw, dict):
|
|
649
|
+
raise ParamTypeError('raw_data item', 'dict')
|
|
650
|
+
|
|
651
|
+
self._verify_based_on_schema(raw_data)
|
|
652
|
+
self._writers[i].write_raw_data(raw_data, True, False)
|
mindspore/mindrecord/mindpage.py
CHANGED
|
@@ -34,7 +34,7 @@ class MindPage:
|
|
|
34
34
|
It should not be smaller than 1 or larger than the number of processor cores.
|
|
35
35
|
|
|
36
36
|
Raises:
|
|
37
|
-
ParamValueError: If `file_name
|
|
37
|
+
ParamValueError: If `file_name` , `num_consumer` or columns is invalid.
|
|
38
38
|
MRMInitSegmentError: If failed to initialize ShardSegment.
|
|
39
39
|
"""
|
|
40
40
|
@check_parameter
|
|
@@ -54,6 +54,16 @@ class MindPage:
|
|
|
54
54
|
"""
|
|
55
55
|
return self._candidate_fields
|
|
56
56
|
|
|
57
|
+
@property
|
|
58
|
+
def category_field(self):
|
|
59
|
+
"""
|
|
60
|
+
Getter function for category fields.
|
|
61
|
+
|
|
62
|
+
Returns:
|
|
63
|
+
list[str], by which data could be grouped.
|
|
64
|
+
"""
|
|
65
|
+
return self._category_field
|
|
66
|
+
|
|
57
67
|
def get_category_fields(self):
|
|
58
68
|
"""
|
|
59
69
|
Return candidate category fields.
|
|
@@ -86,16 +96,6 @@ class MindPage:
|
|
|
86
96
|
raise MRMDefineCategoryError("Field '{}' is not a candidate category field.".format(category_field))
|
|
87
97
|
return self._segment.set_category_field(category_field)
|
|
88
98
|
|
|
89
|
-
@property
|
|
90
|
-
def category_field(self):
|
|
91
|
-
"""
|
|
92
|
-
Getter function for category fields.
|
|
93
|
-
|
|
94
|
-
Returns:
|
|
95
|
-
list[str], by which data could be grouped.
|
|
96
|
-
"""
|
|
97
|
-
return self._category_field
|
|
98
|
-
|
|
99
99
|
@category_field.setter
|
|
100
100
|
def category_field(self, category_field):
|
|
101
101
|
"""
|
|
@@ -128,7 +128,7 @@ class MindPage:
|
|
|
128
128
|
Query by category id in pagination.
|
|
129
129
|
|
|
130
130
|
Args:
|
|
131
|
-
category_id (int): Category id, referred to the return of `read_category_info
|
|
131
|
+
category_id (int): Category id, referred to the return of `read_category_info` .
|
|
132
132
|
page (int): Index of page.
|
|
133
133
|
num_row (int): Number of rows in a page.
|
|
134
134
|
|
|
@@ -154,7 +154,7 @@ class MindPage:
|
|
|
154
154
|
|
|
155
155
|
Args:
|
|
156
156
|
category_name (str): String of category field's value,
|
|
157
|
-
referred to the return of `read_category_info
|
|
157
|
+
referred to the return of `read_category_info` .
|
|
158
158
|
page (int): Index of page.
|
|
159
159
|
num_row (int): Number of row in a page.
|
|
160
160
|
|
|
@@ -34,6 +34,21 @@ class ShardHeader:
|
|
|
34
34
|
else:
|
|
35
35
|
self._header = ms.ShardHeader()
|
|
36
36
|
|
|
37
|
+
@property
|
|
38
|
+
def header(self):
|
|
39
|
+
"""Getter of header"""
|
|
40
|
+
return self._header
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def blob_fields(self):
|
|
44
|
+
"""Getter of blob fields"""
|
|
45
|
+
return self._get_blob_fields()
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
def schema(self):
|
|
49
|
+
"""Getter of schema"""
|
|
50
|
+
return self._get_schema()
|
|
51
|
+
|
|
37
52
|
def add_schema(self, schema):
|
|
38
53
|
"""
|
|
39
54
|
Add object of ShardSchema.
|
|
@@ -93,11 +108,6 @@ class ShardHeader:
|
|
|
93
108
|
raise MRMBuildSchemaError
|
|
94
109
|
return schema
|
|
95
110
|
|
|
96
|
-
@property
|
|
97
|
-
def header(self):
|
|
98
|
-
"""Getter of header"""
|
|
99
|
-
return self._header
|
|
100
|
-
|
|
101
111
|
def _get_schema(self):
|
|
102
112
|
"""
|
|
103
113
|
Get schema info.
|
|
@@ -129,13 +139,3 @@ class ShardHeader:
|
|
|
129
139
|
|
|
130
140
|
logger.critical("Failed to get meta info.")
|
|
131
141
|
raise MRMGetMetaError
|
|
132
|
-
|
|
133
|
-
@property
|
|
134
|
-
def blob_fields(self):
|
|
135
|
-
"""Getter of blob fields"""
|
|
136
|
-
return self._get_blob_fields()
|
|
137
|
-
|
|
138
|
-
@property
|
|
139
|
-
def schema(self):
|
|
140
|
-
"""Getter of schema"""
|
|
141
|
-
return self._get_schema()
|
|
@@ -106,3 +106,12 @@ class ShardReader:
|
|
|
106
106
|
def close(self):
|
|
107
107
|
"""close MindRecord File."""
|
|
108
108
|
self._reader.close()
|
|
109
|
+
|
|
110
|
+
def len(self):
|
|
111
|
+
"""
|
|
112
|
+
Get the number of the samples in MindRecord.
|
|
113
|
+
|
|
114
|
+
Returns:
|
|
115
|
+
int, the number of the samples in MindRecord.
|
|
116
|
+
"""
|
|
117
|
+
return self._reader.len()
|
|
@@ -36,6 +36,18 @@ class ShardWriter:
|
|
|
36
36
|
self._header = None
|
|
37
37
|
self._is_open = False
|
|
38
38
|
|
|
39
|
+
@property
|
|
40
|
+
def is_open(self):
|
|
41
|
+
"""getter function"""
|
|
42
|
+
return self._is_open
|
|
43
|
+
|
|
44
|
+
@staticmethod
|
|
45
|
+
def convert_np_types(val):
|
|
46
|
+
"""convert numpy type to python primitive type"""
|
|
47
|
+
if isinstance(val, (np.int32, np.int64, np.float32, np.float64)):
|
|
48
|
+
return val.item()
|
|
49
|
+
return val
|
|
50
|
+
|
|
39
51
|
def open(self, paths, override):
|
|
40
52
|
"""
|
|
41
53
|
Open a new MindRecord File and prepare to write raw data.
|
|
@@ -137,13 +149,6 @@ class ShardWriter:
|
|
|
137
149
|
def get_shard_header(self):
|
|
138
150
|
return self._header
|
|
139
151
|
|
|
140
|
-
@staticmethod
|
|
141
|
-
def convert_np_types(val):
|
|
142
|
-
"""convert numpy type to python primitive type"""
|
|
143
|
-
if isinstance(val, (np.int32, np.int64, np.float32, np.float64)):
|
|
144
|
-
return val.item()
|
|
145
|
-
return val
|
|
146
|
-
|
|
147
152
|
def write_raw_data(self, data, validate=True, parallel_writer=False):
|
|
148
153
|
"""
|
|
149
154
|
Write raw data of cv dataset.
|
|
@@ -168,7 +173,7 @@ class ShardWriter:
|
|
|
168
173
|
for item in data:
|
|
169
174
|
row_blob = self._merge_blob({field: item[field] for field in self._header.blob_fields})
|
|
170
175
|
if row_blob:
|
|
171
|
-
blob_data.append(
|
|
176
|
+
blob_data.append(row_blob)
|
|
172
177
|
# filter raw data according to schema
|
|
173
178
|
row_raw = {field: self.convert_np_types(item[field])
|
|
174
179
|
for field in self._header.schema.keys() - self._header.blob_fields if field in item}
|
|
@@ -181,6 +186,22 @@ class ShardWriter:
|
|
|
181
186
|
raise MRMWriteDatasetError
|
|
182
187
|
return ret
|
|
183
188
|
|
|
189
|
+
def commit(self):
|
|
190
|
+
"""
|
|
191
|
+
Flush data to disk.
|
|
192
|
+
|
|
193
|
+
Returns:
|
|
194
|
+
MSRStatus, SUCCESS or FAILED.
|
|
195
|
+
|
|
196
|
+
Raises:
|
|
197
|
+
MRMCommitError: If failed to flush data to disk.
|
|
198
|
+
"""
|
|
199
|
+
ret = self._writer.commit()
|
|
200
|
+
if ret != ms.MSRStatus.SUCCESS:
|
|
201
|
+
logger.critical("Failed to commit.")
|
|
202
|
+
raise MRMCommitError
|
|
203
|
+
return ret
|
|
204
|
+
|
|
184
205
|
def _merge_blob(self, blob_data):
|
|
185
206
|
"""
|
|
186
207
|
Merge multiple blob data whose type is bytes or ndarray
|
|
@@ -207,24 +228,3 @@ class ShardWriter:
|
|
|
207
228
|
merged += int_to_bytes(len(v))
|
|
208
229
|
merged += v
|
|
209
230
|
return merged
|
|
210
|
-
|
|
211
|
-
def commit(self):
|
|
212
|
-
"""
|
|
213
|
-
Flush data to disk.
|
|
214
|
-
|
|
215
|
-
Returns:
|
|
216
|
-
MSRStatus, SUCCESS or FAILED.
|
|
217
|
-
|
|
218
|
-
Raises:
|
|
219
|
-
MRMCommitError: If failed to flush data to disk.
|
|
220
|
-
"""
|
|
221
|
-
ret = self._writer.commit()
|
|
222
|
-
if ret != ms.MSRStatus.SUCCESS:
|
|
223
|
-
logger.critical("Failed to commit.")
|
|
224
|
-
raise MRMCommitError
|
|
225
|
-
return ret
|
|
226
|
-
|
|
227
|
-
@property
|
|
228
|
-
def is_open(self):
|
|
229
|
-
"""getter function"""
|
|
230
|
-
return self._is_open
|