From 79e3c00fbef53af0a50095063e271bf300ebf02f Mon Sep 17 00:00:00 2001
From: Olivier BICHLER <olivier.bichler@cea.fr>
Date: Fri, 21 Jun 2024 14:29:48 +0200
Subject: [PATCH] Added CountIncludePad attribute

---
 .../cpu/operator/AvgPoolingImpl_forward_kernels.hpp    | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/aidge/backend/cpu/operator/AvgPoolingImpl_forward_kernels.hpp b/include/aidge/backend/cpu/operator/AvgPoolingImpl_forward_kernels.hpp
index d6950e11..8079b689 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);
+                        }
                     }
                 }
             }
-- 
GitLab