You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mssa-2021-008.patch 2.1 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From 5aab6599e7280d2512a87434c174f13a0a2e7008 Mon Sep 17 00:00:00 2001
  2. From: lzk <liuzhongkai2@huawei.com>
  3. Date: Fri, 21 May 2021 01:25:06 -0700
  4. Subject: [PATCH] array cross the border
  5. ---
  6. .../backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c | 3 +++
  7. mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc | 5 +++++
  8. 2 files changed, 8 insertions(+)
  9. diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c
  10. index 19e20e71bd..df36be303a 100644
  11. --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c
  12. +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/tile_infer.c
  13. @@ -63,6 +63,9 @@ int TileInferShape(const TensorC *const *inputs, size_t inputs_size, TensorC **o
  14. return NNACL_INPUT_TENSOR_ERROR;
  15. }
  16. multiples_size = data_num;
  17. + if (inputs[1]->data_type_ != kNumberTypeInt && inputs[1]->data_type_ != kNumberTypeInt32) {
  18. + return NNACL_INPUT_TENSOR_ERROR;
  19. + }
  20. int *input1_data = inputs[1]->data_;
  21. if (input1_data == NULL) {
  22. return NNACL_INFER_INVALID;
  23. diff --git a/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc b/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc
  24. index 54548699d0..6898bcffff 100644
  25. --- a/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc
  26. +++ b/mindspore/lite/src/runtime/kernel/arm/base/tile_base.cc
  27. @@ -50,6 +50,11 @@ int TileCPUKernel::ReSize() {
  28. MS_LOG(ERROR) << "tile's input1 data_num cannot be larger than input0's shape_size.";
  29. return false;
  30. }
  31. + if (in_tensors_[1]->data_type() != kNumberTypeInt && in_tensors_[1]->data_type() != kNumberTypeInt32) {
  32. + MS_LOG(ERROR) << "in_tensors_[1]->data_type():" << in_tensors_[1]->data_type()
  33. + << " must be kNumberTypeInt32 or kNumberTypeInt!";
  34. + return RET_ERROR;
  35. + }
  36. auto input1_addr = reinterpret_cast<int *>(in_tensors_[1]->data_c());
  37. for (int i = 0; i < in_tensors_[1]->ElementsNum(); ++i) {
  38. tile_parameter_->dims_[i] = i;
  39. --
  40. 2.17.1