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);