diff --git a/include/aidge/backend/cpu/operator/AvgPoolingImpl_forward_kernels.hpp b/include/aidge/backend/cpu/operator/AvgPoolingImpl_forward_kernels.hpp index d6950e11e935a3f6d5548148d1c393a5340af224..8079b6898602ee03f308292af44cf55db6fee3cd 100644 --- a/include/aidge/backend/cpu/operator/AvgPoolingImpl_forward_kernels.hpp +++ b/include/aidge/backend/cpu/operator/AvgPoolingImpl_forward_kernels.hpp @@ -91,8 +91,14 @@ void AvgPoolingImpl2D_cpu_forward_kernel(const AvgPooling_Op<2>::Attrs &attrs, output[oIndexFull] += input[iIndex + (ix+sx)*dims[3] + (iy+sy)]; } } - // padding not used - output[oIndexFull] /= (sxMax - sxMin) * (syMax - syMin); + if (std::get<2>(attrs)) { + // count_include_pad is true + output[oIndexFull] /= std::get<1>(attrs)[0] * std::get<1>(attrs)[1]; + } + else { + // padding not used + output[oIndexFull] /= (sxMax - sxMin) * (syMax - syMin); + } } } }