diff --git a/mindspore/lite/nnacl/fp16/reduce_fp16.c b/mindspore/lite/nnacl/fp16/reduce_fp16.c index 69a21a4c64..bed1b3b0ee 100644 --- a/mindspore/lite/nnacl/fp16/reduce_fp16.c +++ b/mindspore/lite/nnacl/fp16/reduce_fp16.c @@ -30,11 +30,11 @@ int ReduceMeanFp16(const int outer_size, const int inner_size, const int axis_si for (k = 0; k < inner_size; k++) { const float16_t *inner_src = outer_src + k; float16_t *inner_dst = outer_dst + k; - float16_t tmp = 0.0; + float tmp = 0.0; for (i = 0; i < axis_size; i++) { tmp += inner_src[i * inner_size]; } - *inner_dst = tmp / (float16_t)axis_size; + *inner_dst = (float16_t)(tmp / axis_size); } } return NNACL_OK; diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic.cc b/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic.cc index 8c41ad946b..eead37132f 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic.cc @@ -36,7 +36,7 @@ int ArithmeticCPUKernel::Init() { if (!InferShapeDone()) { return RET_OK; } - if (in_tensors_[0]->data_type() == kNumberTypeFloat32) { + if (in_tensors_[0]->data_type() == kNumberTypeFloat32 || in_tensors_[0]->data_type() == kNumberTypeFloat16) { data_type_ = kDataTypeFloat; } else { data_type_ = kDataTypeInt;