|
|
|
@@ -150,12 +150,12 @@ void MaxPooling(const float *input_ptr, float *output_ptr, PoolingParameter *poo |
|
|
|
int in_channel_offset = in_batch_offset + j * C4NUM; |
|
|
|
int out_channel_offset = out_plane_offset + j * C4NUM; |
|
|
|
#ifdef ENABLE_NEON |
|
|
|
float32x4_t tmp_max = vdupq_n_f32(FLT_MIN); |
|
|
|
float32x4_t tmp_max = vdupq_n_f32(-FLT_MAX); |
|
|
|
#else |
|
|
|
float tmp_max1 = FLT_MIN; |
|
|
|
float tmp_max2 = FLT_MIN; |
|
|
|
float tmp_max3 = FLT_MIN; |
|
|
|
float tmp_max4 = FLT_MIN; |
|
|
|
float tmp_max1 = -FLT_MAX; |
|
|
|
float tmp_max2 = -FLT_MAX; |
|
|
|
float tmp_max3 = -FLT_MAX; |
|
|
|
float tmp_max4 = -FLT_MAX; |
|
|
|
#endif |
|
|
|
for (int h = 0; h < win_h; h++) { |
|
|
|
for (int w = 0; w < win_w; w++) { |
|
|
|
@@ -188,7 +188,7 @@ void MaxPooling(const float *input_ptr, float *output_ptr, PoolingParameter *poo |
|
|
|
for (int k = channel_s; k < channel; k++) { |
|
|
|
int in_channel_offset = in_batch_offset + k; |
|
|
|
int out_channel_offset = out_plane_offset + k; |
|
|
|
float tmp_max = FLT_MIN; |
|
|
|
float tmp_max = -FLT_MAX; |
|
|
|
for (int h = 0; h < win_h; h++) { |
|
|
|
for (int w = 0; w < win_w; w++) { |
|
|
|
if ((in_h_index + h) < 0 || (in_h_index + h) >= in_h || (in_w_index + w) < 0 || |
|
|
|
|