From 7fdd869d6ebcfbfb7dda3e894a2fa340f66a7fc8 Mon Sep 17 00:00:00 2001 From: julienChemillier Date: Tue, 17 Jan 2023 15:25:34 +0100 Subject: [PATCH] Fix Kernel size --- src/cnn/creation.c | 2 +- src/cnn/free.c | 2 +- test/cnn_structure.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cnn/creation.c b/src/cnn/creation.c index 79077fc..7c6d559 100644 --- a/src/cnn/creation.c +++ b/src/cnn/creation.c @@ -21,7 +21,7 @@ Network* create_network(int max_size, float learning_rate, int dropout, int init network->kernel = (Kernel**)malloc(sizeof(Kernel*)*(max_size-1)); network->width = (int*)malloc(sizeof(int*)*max_size); network->depth = (int*)malloc(sizeof(int*)*max_size); - for (int i=0; i < max_size; i++) { + for (int i=0; i < max_size-1; i++) { network->kernel[i] = (Kernel*)malloc(sizeof(Kernel)); } network->width[0] = input_dim; diff --git a/src/cnn/free.c b/src/cnn/free.c index c33e6be..629b773 100644 --- a/src/cnn/free.c +++ b/src/cnn/free.c @@ -101,7 +101,7 @@ void free_dense_linearisation(Network* network, int pos) { void free_network_creation(Network* network) { free_a_cube_input_layer(network, 0, network->depth[0], network->width[0]); - for (int i=0; imax_size; i++) + for (int i=0; i < network->max_size-1; i++) free(network->kernel[i]); free(network->width); free(network->depth); diff --git a/test/cnn_structure.c b/test/cnn_structure.c index 5584377..dc0bc07 100644 --- a/test/cnn_structure.c +++ b/test/cnn_structure.c @@ -17,7 +17,7 @@ int main() { printf(GREEN "OK\n" RESET); printf("Architecture LeNet5:\n"); - for (int i=0; i < network->size; i++) { + for (int i=0; i < network->size-1; i++) { kernel = network->kernel[i]; if ((!kernel->cnn)&&(!kernel->nn)) { printf("\n==== Couche %d de type "YELLOW"Pooling"RESET" ====\n", i);