From 8e8a57c5b382e33df38bc3e2c5c34f13737f1016 Mon Sep 17 00:00:00 2001 From: julienChemillier Date: Sat, 20 May 2023 15:43:31 +0200 Subject: [PATCH] Fix 'convolution.c' padding issues --- src/cnn/convolution.c | 4 ++-- src/cnn/convolution.cu | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cnn/convolution.c b/src/cnn/convolution.c index c280b71..715e099 100644 --- a/src/cnn/convolution.c +++ b/src/cnn/convolution.c @@ -29,7 +29,7 @@ void make_convolution_cpu(Kernel_cnn* kernel, float*** input, float*** output, i int x = (stride*j+b); int y = (stride*k+c); if (not_outside(x, y, 0, input_width)) { - f += kernel->weights[a][i][b][c]*input[a][stride*j+b][stride*k+c]; + f += kernel->weights[a][i][b+padding][c+padding]*input[a][x][y]; } } } @@ -62,7 +62,7 @@ __global__ void make_convolution_kernel(float**** weights, float*** bias, int k_ int idy_2 = idy*stride+b; int idz_2 = idz*stride+c; if (not_outside(idy_2, idz_2, 0, input_width)) { - f += weights[a][idx][b][c]*input[a][idy_2][idz_2]; + f += weights[a][idx][b+padding][c+padding]*input[a][idy_2][idz_2]; } } } diff --git a/src/cnn/convolution.cu b/src/cnn/convolution.cu index c280b71..715e099 100644 --- a/src/cnn/convolution.cu +++ b/src/cnn/convolution.cu @@ -29,7 +29,7 @@ void make_convolution_cpu(Kernel_cnn* kernel, float*** input, float*** output, i int x = (stride*j+b); int y = (stride*k+c); if (not_outside(x, y, 0, input_width)) { - f += kernel->weights[a][i][b][c]*input[a][stride*j+b][stride*k+c]; + f += kernel->weights[a][i][b+padding][c+padding]*input[a][x][y]; } } } @@ -62,7 +62,7 @@ __global__ void make_convolution_kernel(float**** weights, float*** bias, int k_ int idy_2 = idy*stride+b; int idz_2 = idz*stride+c; if (not_outside(idy_2, idz_2, 0, input_width)) { - f += weights[a][idx][b][c]*input[a][idy_2][idz_2]; + f += weights[a][idx][b+padding][c+padding]*input[a][idy_2][idz_2]; } } }