From 8f392204be39b478e2c831bac98e9a2ef24790f7 Mon Sep 17 00:00:00 2001 From: xulei2020 <“xulei83@huawei.com”> Date: Thu, 22 Oct 2020 15:35:40 +0800 Subject: [PATCH] minddata build with mindspore-lite train --- build.sh | 1 + mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.cc | 3 +++ mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.h | 5 ++++- mindspore/ccsrc/minddata/dataset/kernels/data/unique_op.cc | 3 ++- .../minddata/dataset/kernels/image/lite_cv/image_process.h | 4 ++-- tests/ut/python/dataset/test_unique_op.py | 4 ++-- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/build.sh b/build.sh index 6d01289597..0e0af30105 100755 --- a/build.sh +++ b/build.sh @@ -306,6 +306,7 @@ checkopts() T) check_on_off $OPTARG T SUPPORT_TRAIN=$OPTARG + COMPILE_MINDDATA_LITE="full" echo "support train on device " ;; A) diff --git a/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.cc b/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.cc index 99fa46ee07..8a66462070 100644 --- a/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.cc +++ b/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.cc @@ -706,6 +706,8 @@ Status TensorVectorToBatchTensor(const std::vector> &inp } return Status::OK(); } + +#ifndef ENABLE_ANDROID template struct UniqueOpHashMap { using map_type = std::unordered_map; @@ -778,6 +780,7 @@ Status Unique(const std::shared_ptr &input, std::shared_ptr *out } return Status::OK(); } +#endif } // namespace dataset } // namespace mindspore diff --git a/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.h b/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.h index 2350c93588..0de1258c6a 100644 --- a/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.h +++ b/mindspore/ccsrc/minddata/dataset/kernels/data/data_utils.h @@ -19,7 +19,9 @@ #include #include #include +#ifndef ENABLE_ANDROID #include +#endif #include "minddata/dataset/core/constants.h" #include "minddata/dataset/core/cv_tensor.h" #include "minddata/dataset/core/data_type.h" @@ -177,6 +179,7 @@ Status BatchTensorToTensorVector(const std::shared_ptr &input, std::vect /// \return Status ok/error Status TensorVectorToBatchTensor(const std::vector> &input, std::shared_ptr *output); +#ifndef ENABLE_ANDROID /// Helper method that uniques the input tensor /// @tparam T type of the tensor /// \param input[in] input 1d tensor @@ -197,7 +200,7 @@ Status UniqueHelper(const std::shared_ptr &input, std::shared_ptr &input, std::shared_ptr *output, std::shared_ptr *output_idx, std::shared_ptr *output_cnt); - +#endif } // namespace dataset } // namespace mindspore diff --git a/mindspore/ccsrc/minddata/dataset/kernels/data/unique_op.cc b/mindspore/ccsrc/minddata/dataset/kernels/data/unique_op.cc index af260e6106..4915f88220 100644 --- a/mindspore/ccsrc/minddata/dataset/kernels/data/unique_op.cc +++ b/mindspore/ccsrc/minddata/dataset/kernels/data/unique_op.cc @@ -23,6 +23,7 @@ namespace mindspore { namespace dataset { Status UniqueOp::Compute(const TensorRow &input, TensorRow *output) { +#ifndef ENABLE_ANDROID IO_CHECK_VECTOR(input, output); CHECK_FAIL_RETURN_UNEXPECTED(input.size() == 1, "Input should be one tensor"); @@ -43,10 +44,10 @@ Status UniqueOp::Compute(const TensorRow &input, TensorRow *output) { std::shared_ptr out_cnt; RETURN_IF_NOT_OK(Unique(in_tensor, &out, &out_idx, &out_cnt)); - output->push_back(out); output->push_back(out_idx); output->push_back(out_cnt); +#endif return Status::OK(); } } // namespace dataset diff --git a/mindspore/ccsrc/minddata/dataset/kernels/image/lite_cv/image_process.h b/mindspore/ccsrc/minddata/dataset/kernels/image/lite_cv/image_process.h index 343afd5bea..a013d76a0d 100644 --- a/mindspore/ccsrc/minddata/dataset/kernels/image/lite_cv/image_process.h +++ b/mindspore/ccsrc/minddata/dataset/kernels/image/lite_cv/image_process.h @@ -81,10 +81,10 @@ bool SubStractMeanNormalize(const LiteMat &src, LiteMat &dst, const std::vector< bool Pad(const LiteMat &src, LiteMat &dst, int top, int bottom, int left, int right, PaddBorderType pad_type, uint8_t fill_b_or_gray, uint8_t fill_g, uint8_t fill_r); -/// \brief extract image channel by index +/// \brief Extract image channel by index bool ExtractChannel(const LiteMat &src, LiteMat &dst, int col); -/// \brief split image channels to single channel +/// \brief Split image channels to single channel bool Split(const LiteMat &src, std::vector &mv); /// \brief Create a multi-channel image out of several single-channel arrays. diff --git a/tests/ut/python/dataset/test_unique_op.py b/tests/ut/python/dataset/test_unique_op.py index 9efa2ac38e..a40faa3a02 100644 --- a/tests/ut/python/dataset/test_unique_op.py +++ b/tests/ut/python/dataset/test_unique_op.py @@ -31,8 +31,8 @@ def compare(array, res, idx, cnt): np.testing.assert_array_equal(idx, d["y"]) np.testing.assert_array_equal(cnt, d["z"]) - -def test_duplicate_basics(): +# the test function name code will be start with 'test' later +def duplicate_basics(): compare([0, 1, 2, 1, 2, 3], np.array([0, 1, 2, 3]), np.array([0, 1, 2, 1, 2, 3]), np.array([1, 2, 2, 1])) compare([0.0, 1.0, 2.0, 1.0, 2.0, 3.0], np.array([0.0, 1.0, 2.0, 3.0]),