From 81272d86a66af370b2b0ae12df8e11d17e4a3165 Mon Sep 17 00:00:00 2001 From: liuwenhao4 Date: Fri, 30 Oct 2020 15:13:56 +0800 Subject: [PATCH] fix static checking of lite ops --- mindspore/lite/nnacl/fp32/deconv_winograd.c | 2 +- mindspore/lite/nnacl/fp32/lstm.c | 4 ++-- mindspore/lite/nnacl/fp32/resize.c | 8 ++++---- mindspore/lite/nnacl/fp32/resize.h | 4 ++-- mindspore/lite/nnacl/fp32/scale.c | 20 +++++++++---------- mindspore/lite/nnacl/fp32/scale.h | 6 +++--- mindspore/lite/nnacl/fp32/space_to_batch.c | 2 +- mindspore/lite/nnacl/fp32/space_to_batch.h | 3 ++- mindspore/lite/nnacl/fp32/space_to_depth.c | 2 +- mindspore/lite/nnacl/fp32/space_to_depth.h | 2 +- mindspore/lite/nnacl/fp32/stack.c | 5 +++-- mindspore/lite/nnacl/fp32/stack.h | 5 +++-- .../lite/nnacl/int8/conv_depthwise_int8.c | 4 ++-- .../lite/nnacl/int8/space_to_batch_int8.c | 4 ++-- .../lite/nnacl/int8/space_to_batch_int8.h | 4 ++-- .../lite/nnacl/minimal_filtering_generator.c | 2 +- .../lite/nnacl/minimal_filtering_generator.h | 2 +- mindspore/lite/nnacl/transpose.c | 10 +++++----- mindspore/lite/nnacl/transpose.h | 10 +++++----- .../lite/src/ops/binary_cross_entropy.cc | 4 ++++ .../kernel/arm/fp32/deconvolution_winograd.cc | 10 ++++------ 21 files changed, 59 insertions(+), 54 deletions(-) diff --git a/mindspore/lite/nnacl/fp32/deconv_winograd.c b/mindspore/lite/nnacl/fp32/deconv_winograd.c index e6fd751af8..8467c58fd9 100644 --- a/mindspore/lite/nnacl/fp32/deconv_winograd.c +++ b/mindspore/lite/nnacl/fp32/deconv_winograd.c @@ -340,7 +340,7 @@ void DeConvWgMerge(const float *src, float *dst, size_t src_stride, size_t dst_s return; } -void _deConvWinograd(const float *tile_in, float *tile_out, float *weight_buf, float *tmp_buf, float *at_buf, +void _deConvWinograd(const float *tile_in, float *tile_out, float *weight_buf, float *tmp_buf, const float *at_buf, float *a_mid_buf, float *trans_a_buf, bool *transfered, const float *bt_buf, float *b_tmp_buf, int unit_size, int w_start, int h_start, ConvParameter *conv_param, DeConvParam *deconv_param) { int winograd_plane = unit_size * unit_size; diff --git a/mindspore/lite/nnacl/fp32/lstm.c b/mindspore/lite/nnacl/fp32/lstm.c index d90e405347..2d8e96df20 100644 --- a/mindspore/lite/nnacl/fp32/lstm.c +++ b/mindspore/lite/nnacl/fp32/lstm.c @@ -79,8 +79,8 @@ void ElementMulAcc(const float *input0, const float *input1, float *output, int } } -void UpdataState(float *cell_state, const float *forget_gate, const float *input_gate, float *cell_gate, int batch, - int hidden_size) { +void UpdataState(float *cell_state, const float *forget_gate, const float *input_gate, const float *cell_gate, + int batch, int hidden_size) { ElementMul(forget_gate, cell_state, cell_state, batch * hidden_size); ElementMulAcc(input_gate, cell_gate, cell_state, batch * hidden_size); } diff --git a/mindspore/lite/nnacl/fp32/resize.c b/mindspore/lite/nnacl/fp32/resize.c index 28d0f80750..8502bc1f88 100644 --- a/mindspore/lite/nnacl/fp32/resize.c +++ b/mindspore/lite/nnacl/fp32/resize.c @@ -65,7 +65,7 @@ int PrepareResizeBilinear(const int *input_shape, const int *output_shape, bool } int ResizeBilinear(const float *input_data, float *output_data, const int *input_shape, const int *output_shape, - const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, float *y_bottom_weights, + const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, const float *y_bottom_weights, float *x_left_weights, int n_h_begin, int n_h_end) { if (input_data == NULL || output_data == NULL || input_shape == NULL || output_shape == NULL || y_bottoms == NULL || y_tops == NULL || x_lefts == NULL || x_rights == NULL || y_bottom_weights == NULL || x_left_weights == NULL) { @@ -154,8 +154,8 @@ int ResizeBilinear(const float *input_data, float *output_data, const int *input return NNACL_OK; } -int InterpRow(const float *src_line, float *linear_output, int new_width, float *x_left_weights, const int *x_lefts, - const int *x_rights, int in_c) { +int InterpRow(const float *src_line, float *linear_output, int new_width, const float *x_left_weights, + const int *x_lefts, const int *x_rights, int in_c) { int w; for (w = 0; w < new_width; w++) { int c = 0; @@ -208,7 +208,7 @@ int InterpCol(const float *bottom_line, const float *top_line, float *output, in } int ResizeBilinear2(const float *input_data, float *output_data, const int *input_shape, const int *output_shape, - const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, float *y_bottom_weights, + const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, const float *y_bottom_weights, float *x_left_weights, float *line0, float *line1, int n_h_begin, int n_h_end) { if (input_data == NULL || output_data == NULL || input_shape == NULL || output_shape == NULL || y_bottoms == NULL || y_tops == NULL || x_lefts == NULL || x_rights == NULL || y_bottom_weights == NULL || x_left_weights == NULL) { diff --git a/mindspore/lite/nnacl/fp32/resize.h b/mindspore/lite/nnacl/fp32/resize.h index e9114d042a..8b9b939822 100644 --- a/mindspore/lite/nnacl/fp32/resize.h +++ b/mindspore/lite/nnacl/fp32/resize.h @@ -30,11 +30,11 @@ int PrepareResizeBilinear(const int *input_shape, const int *output_shape, bool int *y_tops, int *x_lefts, int *x_rights, float *y_bottom_weights, float *x_left_weights); int ResizeBilinear(const float *input_data, float *output_data, const int *input_shape, const int *output_shape, - const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, float *y_bottom_weights, + const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, const float *y_bottom_weights, float *x_left_weights, int n_h_begin, int n_h_end); int ResizeBilinear2(const float *input_data, float *output_data, const int *input_shape, const int *output_shape, - const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, float *y_bottom_weights, + const int *y_bottoms, const int *y_tops, int *x_lefts, int *x_rights, const float *y_bottom_weights, float *x_left_weights, float *line0, float *line1, int n_h_begin, int n_h_end); int ResizeNearestNeighbor(const float *input_data, float *output_data, const int *input_shape, const int *output_shape, diff --git a/mindspore/lite/nnacl/fp32/scale.c b/mindspore/lite/nnacl/fp32/scale.c index 008096989a..a898c97457 100644 --- a/mindspore/lite/nnacl/fp32/scale.c +++ b/mindspore/lite/nnacl/fp32/scale.c @@ -18,7 +18,7 @@ #ifdef ENABLE_ARM #include #endif -void ScaleInner(float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, +void ScaleInner(const float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, int outer_end, int axis_size, int inner_size) { for (int out = outer_start; out < outer_end; out++) { int out_offset = out * axis_size * inner_size; @@ -43,8 +43,8 @@ void ScaleInner(float *in_data, float *out_data, const float *scale, const float } } -void ScaleAxis(float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, int outer_end, - int axis_size) { +void ScaleAxis(const float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, + int outer_end, int axis_size) { for (int out = outer_start; out < outer_end; out++) { int out_offset = out * axis_size; int index = 0; @@ -65,7 +65,7 @@ void ScaleAxis(float *in_data, float *out_data, const float *scale, const float } } -void DoScale(float *in_data, float *out_data, const float *scale, float *offset, int task_id, +void DoScale(const float *in_data, float *out_data, const float *scale, float *offset, int task_id, ScaleParameter *scale_param) { int outer_step = UP_DIV(scale_param->outer_size_, scale_param->op_parameter_.thread_num_); int outer_start = task_id * outer_step; @@ -79,7 +79,7 @@ void DoScale(float *in_data, float *out_data, const float *scale, float *offset, } } -void ScaleInnerRelu(float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, +void ScaleInnerRelu(const float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, int outer_end, int axis_size, int inner_size) { #ifdef ENABLE_ARM64 float32x4_t zeros = {0, 0, 0, 0}; @@ -109,7 +109,7 @@ void ScaleInnerRelu(float *in_data, float *out_data, const float *scale, const f } } -void ScaleAxisRelu(float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, +void ScaleAxisRelu(const float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, int outer_end, int axis_size) { #ifdef ENABLE_ARM64 float32x4_t zeros = {0, 0, 0, 0}; @@ -136,7 +136,7 @@ void ScaleAxisRelu(float *in_data, float *out_data, const float *scale, const fl } } -void DoScaleRelu(float *in_data, float *out_data, const float *scale, float *offset, int task_id, +void DoScaleRelu(const float *in_data, float *out_data, const float *scale, const float *offset, int task_id, ScaleParameter *scale_param) { int outer_step = UP_DIV(scale_param->outer_size_, scale_param->op_parameter_.thread_num_); int outer_start = task_id * outer_step; @@ -150,7 +150,7 @@ void DoScaleRelu(float *in_data, float *out_data, const float *scale, float *off } } -void ScaleInnerRelu6(float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, +void ScaleInnerRelu6(const float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, int outer_end, int axis_size, int inner_size) { #ifdef ENABLE_ARM64 float32x4_t zeros = {0, 0, 0, 0}; @@ -181,7 +181,7 @@ void ScaleInnerRelu6(float *in_data, float *out_data, const float *scale, const } } -void ScaleAxisRelu6(float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, +void ScaleAxisRelu6(const float *in_data, float *out_data, const float *scale, const float *offset, int outer_start, int outer_end, int axis_size) { #ifdef ENABLE_ARM64 float32x4_t zeros = {0, 0, 0, 0}; @@ -209,7 +209,7 @@ void ScaleAxisRelu6(float *in_data, float *out_data, const float *scale, const f } } -void DoScaleRelu6(float *in_data, float *out_data, const float *scale, float *offset, int task_id, +void DoScaleRelu6(const float *in_data, float *out_data, const float *scale, const float *offset, int task_id, ScaleParameter *scale_param) { int outer_step = UP_DIV(scale_param->outer_size_, scale_param->op_parameter_.thread_num_); int outer_start = task_id * outer_step; diff --git a/mindspore/lite/nnacl/fp32/scale.h b/mindspore/lite/nnacl/fp32/scale.h index 53b28a4210..97ca61303f 100644 --- a/mindspore/lite/nnacl/fp32/scale.h +++ b/mindspore/lite/nnacl/fp32/scale.h @@ -22,11 +22,11 @@ #ifdef __cplusplus extern "C" { #endif -void DoScale(float *in_data, float *out_data, const float *scale, float *offset, int task_id, +void DoScale(const float *in_data, float *out_data, const float *scale, float *offset, int task_id, ScaleParameter *scale_param); -void DoScaleRelu(float *in_data, float *out_data, const float *scale, float *offset, int task_id, +void DoScaleRelu(const float *in_data, float *out_data, const float *scale, const float *offset, int task_id, ScaleParameter *scale_param); -void DoScaleRelu6(float *in_data, float *out_data, const float *scale, float *offset, int task_id, +void DoScaleRelu6(const float *in_data, float *out_data, const float *scale, const float *offset, int task_id, ScaleParameter *scale_param); #ifdef __cplusplus } diff --git a/mindspore/lite/nnacl/fp32/space_to_batch.c b/mindspore/lite/nnacl/fp32/space_to_batch.c index 3ae61e9ffc..10d2a9607d 100644 --- a/mindspore/lite/nnacl/fp32/space_to_batch.c +++ b/mindspore/lite/nnacl/fp32/space_to_batch.c @@ -16,7 +16,7 @@ #include "nnacl/fp32/space_to_batch.h" #include "nnacl/arithmetic_common.h" -void DoSpaceToBatchNHWC(const float *input, float *output, const int *block_sizes, int *in_shape, +void DoSpaceToBatchNHWC(const float *input, float *output, const int *block_sizes, const int *in_shape, const int *out_shape) { int out_dim0 = out_shape[0]; int out_dim1 = out_shape[1]; diff --git a/mindspore/lite/nnacl/fp32/space_to_batch.h b/mindspore/lite/nnacl/fp32/space_to_batch.h index 7a5b26cc68..4612f782a0 100644 --- a/mindspore/lite/nnacl/fp32/space_to_batch.h +++ b/mindspore/lite/nnacl/fp32/space_to_batch.h @@ -30,7 +30,8 @@ typedef struct SpaceToBatchParameter { #ifdef __cplusplus extern "C" { #endif -void DoSpaceToBatchNHWC(const float *input, float *output, const int *block_sizes, int *in_shape, const int *out_shape); +void DoSpaceToBatchNHWC(const float *input, float *output, const int *block_sizes, const int *in_shape, + const int *out_shape); void DoSpaceToBatchPaddingNHWC(const float *input, float *output, int *in_shape, const int *padding, const int *out_shape); #ifdef __cplusplus diff --git a/mindspore/lite/nnacl/fp32/space_to_depth.c b/mindspore/lite/nnacl/fp32/space_to_depth.c index 35d6628941..bc0ee6d5df 100644 --- a/mindspore/lite/nnacl/fp32/space_to_depth.c +++ b/mindspore/lite/nnacl/fp32/space_to_depth.c @@ -18,7 +18,7 @@ #include "nnacl/errorcode.h" #include "nnacl/op_base.h" -int SpaceToDepthForNHWC(const float *input, float *output, int *in_shape, const int *out_shape, int shape_size, +int SpaceToDepthForNHWC(const float *input, float *output, const int *in_shape, const int *out_shape, int shape_size, int block_size, int h_start, int h_end) { if (input == NULL || output == NULL) { return NNACL_NULL_PTR; diff --git a/mindspore/lite/nnacl/fp32/space_to_depth.h b/mindspore/lite/nnacl/fp32/space_to_depth.h index a19e17f8ba..78b89e53a4 100644 --- a/mindspore/lite/nnacl/fp32/space_to_depth.h +++ b/mindspore/lite/nnacl/fp32/space_to_depth.h @@ -24,7 +24,7 @@ typedef struct SpaceToDepthParameter { #ifdef __cplusplus extern "C" { #endif -int SpaceToDepthForNHWC(const float *input, float *output, int *in_shape, const int *out_shape, int shape_size, +int SpaceToDepthForNHWC(const float *input, float *output, const int *in_shape, const int *out_shape, int shape_size, int block_size, int h_start, int h_end); #ifdef __cplusplus } diff --git a/mindspore/lite/nnacl/fp32/stack.c b/mindspore/lite/nnacl/fp32/stack.c index 94ab176a93..6dd4d3b9e7 100644 --- a/mindspore/lite/nnacl/fp32/stack.c +++ b/mindspore/lite/nnacl/fp32/stack.c @@ -37,7 +37,8 @@ size_t GetStackPreAxisCount(const int *in_shape, int axis) { return pre_axis_count; } -void DoStack(const float *const *inputs, size_t input_num, int *in_shape, size_t shape_size, int axis, float *output) { +void DoStack(const float *const *inputs, size_t input_num, const int *in_shape, size_t shape_size, int axis, + float *output) { size_t copy_num = GetStackCopyNum(axis, in_shape, shape_size); size_t copy_size = copy_num * sizeof(float); size_t pre_axis_count = GetStackPreAxisCount(in_shape, axis); @@ -52,7 +53,7 @@ void DoStack(const float *const *inputs, size_t input_num, int *in_shape, size_t } } -void DoStackInt32(const int32_t *const *inputs, size_t input_num, int *in_shape, size_t shape_size, int axis, +void DoStackInt32(const int32_t *const *inputs, size_t input_num, const int *in_shape, size_t shape_size, int axis, int32_t *output) { size_t copy_num = GetStackCopyNum(axis, in_shape, shape_size); size_t copy_size = copy_num * sizeof(int32_t); diff --git a/mindspore/lite/nnacl/fp32/stack.h b/mindspore/lite/nnacl/fp32/stack.h index bf12641a90..5c3b1b1853 100644 --- a/mindspore/lite/nnacl/fp32/stack.h +++ b/mindspore/lite/nnacl/fp32/stack.h @@ -21,8 +21,9 @@ #ifdef __cplusplus extern "C" { #endif -void DoStack(const float *const *inputs, size_t input_num, int *in_shape, size_t shape_size, int axis, float *output); -void DoStackInt32(const int32_t *const *inputs, size_t input_num, int *in_shape, size_t shape_size, int axis, +void DoStack(const float *const *inputs, size_t input_num, const int *in_shape, size_t shape_size, int axis, + float *output); +void DoStackInt32(const int32_t *const *inputs, size_t input_num, const int *in_shape, size_t shape_size, int axis, int32_t *output); void DoStackOneInput(const int8_t *input, int8_t *output, size_t data_size); #ifdef __cplusplus diff --git a/mindspore/lite/nnacl/int8/conv_depthwise_int8.c b/mindspore/lite/nnacl/int8/conv_depthwise_int8.c index 78fd2cb03f..caaf1c59ce 100644 --- a/mindspore/lite/nnacl/int8/conv_depthwise_int8.c +++ b/mindspore/lite/nnacl/int8/conv_depthwise_int8.c @@ -491,7 +491,7 @@ void ConvDw3x3Int8Pad(int8_t *output_data, const int8_t *input_data, const int16 /*conv depthwise sliding window perchannel int8 begin*/ void DepthwiseBorderPixelInt8(int8_t *dst, const int8_t *src, const int16_t *weight, const int32_t *bias, int height, int width, int in_kh_step, int in_kw_step, int kernel_w, int8_t *input_zp, - int32_t *out_zp, const int *out_multiplier, int *left_shift, const int *right_shift, + int32_t *out_zp, const int *out_multiplier, const int *left_shift, const int *right_shift, int32_t *acc_min, int32_t *acc_max) { int tmp_buffer[C8NUM]; for (int i = 0; i < C8NUM; i++) { @@ -527,7 +527,7 @@ void DepthwiseBorderPixelInt8(int8_t *dst, const int8_t *src, const int16_t *wei void DepthwiseBorderInt8(int8_t *dst, const int8_t *src, const int16_t *weight, const int32_t *bias, int top, int bottom, int left, int right, const ConvParameter *conv_param, - const SlidingWindowParam *sliding, int8_t *in_zp, int32_t *out_zp, int *out_multiplier, + const SlidingWindowParam *sliding, int8_t *in_zp, int32_t *out_zp, const int *out_multiplier, int *left_shift, const int *right_shift, int32_t *acc_min, int32_t *acc_max) { int8_t *dst_h = dst + top * sliding->out_h_step_; for (int oh = top; oh < bottom; oh++) { diff --git a/mindspore/lite/nnacl/int8/space_to_batch_int8.c b/mindspore/lite/nnacl/int8/space_to_batch_int8.c index 33a9741ced..3a1df54925 100644 --- a/mindspore/lite/nnacl/int8/space_to_batch_int8.c +++ b/mindspore/lite/nnacl/int8/space_to_batch_int8.c @@ -16,7 +16,7 @@ #include "nnacl/int8/space_to_batch_int8.h" #include "nnacl/arithmetic_common.h" -void DoSpaceToBatchNHWCInt8(const int8_t *input, int8_t *output, const int *block_sizes, int *in_shape, +void DoSpaceToBatchNHWCInt8(const int8_t *input, int8_t *output, const int *block_sizes, const int *in_shape, const int *out_shape) { int out_dim0 = out_shape[0]; int out_dim1 = out_shape[1]; @@ -46,7 +46,7 @@ void DoSpaceToBatchNHWCInt8(const int8_t *input, int8_t *output, const int *bloc } } -void DoSpaceToBatchPaddingNHWCInt8(const int8_t *input, int8_t *output, int *in_shape, const int *padding, +void DoSpaceToBatchPaddingNHWCInt8(const int8_t *input, int8_t *output, const int *in_shape, const int *padding, const int *out_shape, int32_t zp) { int in_h = in_shape[1]; int in_w = in_shape[2]; diff --git a/mindspore/lite/nnacl/int8/space_to_batch_int8.h b/mindspore/lite/nnacl/int8/space_to_batch_int8.h index cebcb0f162..c58f7ede80 100644 --- a/mindspore/lite/nnacl/int8/space_to_batch_int8.h +++ b/mindspore/lite/nnacl/int8/space_to_batch_int8.h @@ -21,9 +21,9 @@ #ifdef __cplusplus extern "C" { #endif -void DoSpaceToBatchNHWCInt8(const int8_t *input, int8_t *output, const int *block_sizes, int *in_shape, +void DoSpaceToBatchNHWCInt8(const int8_t *input, int8_t *output, const int *block_sizes, const int *in_shape, const int *out_shape); -void DoSpaceToBatchPaddingNHWCInt8(const int8_t *input, int8_t *output, int *in_shape, const int *padding, +void DoSpaceToBatchPaddingNHWCInt8(const int8_t *input, int8_t *output, const int *in_shape, const int *padding, const int *out_shape, int32_t zp); #ifdef __cplusplus } diff --git a/mindspore/lite/nnacl/minimal_filtering_generator.c b/mindspore/lite/nnacl/minimal_filtering_generator.c index b32c87e34b..ddc0901380 100644 --- a/mindspore/lite/nnacl/minimal_filtering_generator.c +++ b/mindspore/lite/nnacl/minimal_filtering_generator.c @@ -103,7 +103,7 @@ void T(const float *poly_array, float *matrix_t, int n) { } } -int B(float *poly_array, float *matrix_b, int in_unit) { +int B(const float *poly_array, float *matrix_b, int in_unit) { memset(matrix_b, 0, in_unit * in_unit * sizeof(float)); int n = in_unit - 1; if ((n * n) > MAX_LEN || (n * in_unit) > MAX_LEN) { diff --git a/mindspore/lite/nnacl/minimal_filtering_generator.h b/mindspore/lite/nnacl/minimal_filtering_generator.h index 14c402cad1..762682daca 100644 --- a/mindspore/lite/nnacl/minimal_filtering_generator.h +++ b/mindspore/lite/nnacl/minimal_filtering_generator.h @@ -36,7 +36,7 @@ int LT(const float *poly_array, float *matrix_lt, int n); void T(const float *poly_array, float *matrix_t, int n); -int B(float *poly_array, float *matrix_b, int in_unit); +int B(const float *poly_array, float *matrix_b, int in_unit); void GenerateIntervalArray(float *array, float interval, int degree); diff --git a/mindspore/lite/nnacl/transpose.c b/mindspore/lite/nnacl/transpose.c index 053f5ad3ae..000c4b6b97 100644 --- a/mindspore/lite/nnacl/transpose.c +++ b/mindspore/lite/nnacl/transpose.c @@ -19,7 +19,7 @@ #include "nnacl/errorcode.h" void TransposeDim2(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end) { + const int *output_shape, int h_start, int h_end) { const int stride0 = strides[perm[0]]; const int stride1 = strides[perm[1]]; const int output0 = output_shape[0]; @@ -34,7 +34,7 @@ void TransposeDim2(float *in_data, float *out_data, const int *strides, int *out } void TransposeDim3(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end) { + const int *output_shape, int h_start, int h_end) { const int stride0 = strides[perm[0]]; const int stride1 = strides[perm[1]]; const int stride2 = strides[perm[2]]; @@ -57,7 +57,7 @@ void TransposeDim3(float *in_data, float *out_data, const int *strides, int *out } void TransposeDim4(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end) { + const int *output_shape, int h_start, int h_end) { const int stride0 = strides[perm[0]]; const int stride1 = strides[perm[1]]; const int stride2 = strides[perm[2]]; @@ -89,7 +89,7 @@ void TransposeDim4(float *in_data, float *out_data, const int *strides, int *out } void TransposeDim5(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end) { + const int *output_shape, int h_start, int h_end) { const int stride0 = strides[perm[0]]; const int stride1 = strides[perm[1]]; const int stride2 = strides[perm[2]]; @@ -128,7 +128,7 @@ void TransposeDim5(float *in_data, float *out_data, const int *strides, int *out } void TransposeDims(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end, int dims, int *size, int *position) { + const int *output_shape, int h_start, int h_end, int dims, int *size, int *position) { *(size + dims - 1) = 1; for (int i = dims - 1; i > 0; --i) { *(size + i - 1) = *(size + i) * output_shape[i]; diff --git a/mindspore/lite/nnacl/transpose.h b/mindspore/lite/nnacl/transpose.h index 219005ea81..c11c627c4b 100644 --- a/mindspore/lite/nnacl/transpose.h +++ b/mindspore/lite/nnacl/transpose.h @@ -35,15 +35,15 @@ extern "C" { int DoTranspose(float *in_data, float *out_data, int *input_shape, int *output_shape, TransposeParameter *transpose_param, int h_start, int h_end, int *size, int *position); void TransposeDim2(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end); + const int *output_shape, int h_start, int h_end); void TransposeDim3(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end); + const int *output_shape, int h_start, int h_end); void TransposeDim4(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end); + const int *output_shape, int h_start, int h_end); void TransposeDim5(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end); + const int *output_shape, int h_start, int h_end); void TransposeDims(float *in_data, float *out_data, const int *strides, int *out_strides, const int *perm, - int *output_shape, int h_start, int h_end, int dims, int *size, int *position); + const int *output_shape, int h_start, int h_end, int dims, int *size, int *position); #ifdef __cplusplus } #endif diff --git a/mindspore/lite/src/ops/binary_cross_entropy.cc b/mindspore/lite/src/ops/binary_cross_entropy.cc index f0d02fdbfe..174cf062ea 100644 --- a/mindspore/lite/src/ops/binary_cross_entropy.cc +++ b/mindspore/lite/src/ops/binary_cross_entropy.cc @@ -40,6 +40,7 @@ int BinaryCrossEntropy::UnPackAttr(const Primitive &prim, const std::vectorvalue.type) << "is not equal" << schema::EnumNamePrimitiveType(schema::PrimitiveType_BinaryCrossEntropy); delete this->primitive_; + this->primitive_ = nullptr; return RET_ERROR; } if (this->primitive_->value.value == nullptr) { @@ -47,6 +48,7 @@ int BinaryCrossEntropy::UnPackAttr(const Primitive &prim, const std::vectorprimitive_; + this->primitive_ = nullptr; return RET_ERROR; } // default is mean @@ -55,6 +57,8 @@ int BinaryCrossEntropy::UnPackAttr(const Primitive &prim, const std::vectorprimitive_; delete attr; + this->primitive_ = nullptr; + attr = nullptr; return RET_ERROR; } else { reduction = GetValue(prim.GetAttr("reduction")); diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd.cc b/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd.cc index d4d4cecdc5..c0aa442055 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd.cc @@ -88,14 +88,12 @@ void DeConvolutionWinogradCPUKernel::FreeDeconvParam() { } } } - } - if (deconv_param_->compute_units_ != nullptr) { - free(deconv_param_->compute_units_); - deconv_param_->compute_units_ = nullptr; - } + if (deconv_param_->compute_units_ != nullptr) { + free(deconv_param_->compute_units_); + deconv_param_->compute_units_ = nullptr; + } - if (deconv_param_ != nullptr) { delete (deconv_param_); deconv_param_ = nullptr; }