diff --git a/include/aidge/backend/cpu/operator/ConvDepthWiseImpl_kernels.hpp b/include/aidge/backend/cpu/operator/ConvDepthWiseImpl_kernels.hpp index 39a35703baa9ef3cb36b158c6d3d61c0bdfcaf98..e38177c82a7a25b7a0b060fc8fb8294738ecf3a4 100644 --- a/include/aidge/backend/cpu/operator/ConvDepthWiseImpl_kernels.hpp +++ b/include/aidge/backend/cpu/operator/ConvDepthWiseImpl_kernels.hpp @@ -53,12 +53,14 @@ void ConvDepthWiseImpl1D_cpu_forward_kernel(const std::array<DimSize_t, 1>& stri // output H size + const DimSize_t dilated_kernel_x = dilationDims[0]*(kernelDims[0] - 1) + 1; const std::size_t oxSize = - static_cast<std::size_t>(std::floor(static_cast<float>(inputDims[2] - kernelDims[0] + strideDims[0]) / + static_cast<std::size_t>(std::floor(static_cast<float>(inputDims[2] - dilated_kernel_x + strideDims[0]) / static_cast<float>(strideDims[0]))); const DimSize_t dilated_kernel_x = dilationDims[0]*(kernelDims[0] - 1) + 1; + // TODO: kernel computation // output (batch, outCh, Xout, Yout) // input (batch, ch, Xin, Yin) @@ -133,13 +135,15 @@ void ConvDepthWiseImpl2D_cpu_forward_kernel(const std::array<DimSize_t, 2>& stri // output H size + const DimSize_t dilated_kernel_x = dilationDims[0]*(kernelDims[0] - 1) + 1; const std::size_t oxSize = - static_cast<std::size_t>(std::floor(static_cast<float>(inputDims[2] - kernelDims[0] + strideDims[0]) / + static_cast<std::size_t>(std::floor(static_cast<float>(inputDims[2] - dilated_kernel_x + strideDims[0]) / static_cast<float>(strideDims[0]))); const DimSize_t dilated_kernel_x = dilationDims[0]*(kernelDims[0] - 1) + 1; // output W size + const DimSize_t dilated_kernel_y = dilationDims[1]*(kernelDims[1] - 1) + 1; const std::size_t oySize = - static_cast<std::size_t>(std::floor(static_cast<float>(inputDims[3] - kernelDims[1] + strideDims[1]) / + static_cast<std::size_t>(std::floor(static_cast<float>(inputDims[3] - dilated_kernel_y + strideDims[1]) / static_cast<float>(strideDims[1]))); const DimSize_t dilated_kernel_y = dilationDims[1]*(kernelDims[1] - 1) + 1;