diff --git a/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp b/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp index f516a251ed9cea0ec3a14748f8216f960f80b7e2..489e478b820f7e3f22f6225357f906a70e0016e2 100644 --- a/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp +++ b/include/aidge/backend/cpu/operator/ConvImpl_kernels.hpp @@ -633,8 +633,8 @@ void ConvImpl2D_cpu_forward_kernel(const array<DimSize_t, 2> &strideDims, iIndex_channel += inputDims[3] * strideDims[0]) { // loop over associated input line - for (std::size_t ky = 0, ix = 0; ky < kernelDims[1]; - ++ky, ix += inputDims[3] * dilationDims[0]) { + for (std::size_t kx = 0, ix = 0; kx < kernelDims[0]; + ++kx, ix += inputDims[3] * dilationDims[0]) { // loop over the entire line for (std::size_t oy = 0, iy = 0; oy < oySize; ++oy, iy += strideDims[1]) { @@ -642,12 +642,12 @@ void ConvImpl2D_cpu_forward_kernel(const array<DimSize_t, 2> &strideDims, iIndex_channel + ix + iy; // loop over elements assosicated with one // output - for (std::size_t kx = 0; kx < kernelDims[0]; - ++kx) { + for (std::size_t ky = 0; ky < kernelDims[1]; + ++ky) { output[oIndex + oy] += - weights[wIndex + kernelDims[0] * ky + - kx] * - input[iIndex + kx * dilationDims[1]]; + weights[wIndex + kernelDims[1] * kx + + ky] * + input[iIndex + ky * dilationDims[1]]; } } }