minddata build with mindspore-lite train

This commit is contained in:
xulei2020 2020-10-22 15:35:40 +08:00
parent 511e15b221
commit 8f392204be
6 changed files with 14 additions and 6 deletions

View File

@ -306,6 +306,7 @@ checkopts()
T)
check_on_off $OPTARG T
SUPPORT_TRAIN=$OPTARG
COMPILE_MINDDATA_LITE="full"
echo "support train on device "
;;
A)

View File

@ -706,6 +706,8 @@ Status TensorVectorToBatchTensor(const std::vector<std::shared_ptr<Tensor>> &inp
}
return Status::OK();
}
#ifndef ENABLE_ANDROID
template <typename T>
struct UniqueOpHashMap {
using map_type = std::unordered_map<T, int32_t>;
@ -778,6 +780,7 @@ Status Unique(const std::shared_ptr<Tensor> &input, std::shared_ptr<Tensor> *out
}
return Status::OK();
}
#endif
} // namespace dataset
} // namespace mindspore

View File

@ -19,7 +19,9 @@
#include <memory>
#include <string>
#include <vector>
#ifndef ENABLE_ANDROID
#include <unordered_map>
#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<Tensor> &input, std::vect
/// \return Status ok/error
Status TensorVectorToBatchTensor(const std::vector<std::shared_ptr<Tensor>> &input, std::shared_ptr<Tensor> *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<Tensor> &input, std::shared_ptr<Tensor
/// \return Status ok/error
Status Unique(const std::shared_ptr<Tensor> &input, std::shared_ptr<Tensor> *output,
std::shared_ptr<Tensor> *output_idx, std::shared_ptr<Tensor> *output_cnt);
#endif
} // namespace dataset
} // namespace mindspore

View File

@ -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<Tensor> 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

View File

@ -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<LiteMat> &mv);
/// \brief Create a multi-channel image out of several single-channel arrays.

View File

@ -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]),