|
|
|
@@ -81,9 +81,7 @@ void AvgPooling(const float *input_ptr, float *output_ptr, PoolingParameter *poo |
|
|
|
} // win_w loop |
|
|
|
} // win_h loop |
|
|
|
#ifdef ENABLE_NEON |
|
|
|
float reverse_count = 1 / real_count; |
|
|
|
float32x4_t dup_count = vdupq_n_f32(reverse_count); |
|
|
|
vst1q_f32(output_ptr + out_channel_offset, vmulq_f32(tmp_avg, dup_count)); |
|
|
|
vst1q_f32(output_ptr + out_channel_offset, tmp_avg / vdupq_n_f32(real_count)); |
|
|
|
#else |
|
|
|
*(output_ptr + out_channel_offset) = tmp_avg1 / (float)real_count; |
|
|
|
*(output_ptr + out_channel_offset + 1) = tmp_avg2 / (float)real_count; |
|
|
|
@@ -208,4 +206,3 @@ void MaxPooling(const float *input_ptr, float *output_ptr, PoolingParameter *poo |
|
|
|
} // out_plane loop |
|
|
|
} // out_batch loop |
|
|
|
} |
|
|
|
|