diff --git a/main.c b/main.c index 30bc0a6..93062de 100644 --- a/main.c +++ b/main.c @@ -14,15 +14,19 @@ int main(int argc, char *argv[]) printf("Bonjour et bienvenu ;)\n"); - /*int n_neurons[] = {15,120,220,120,200,25}; - char *activations[] = {"relu","relu","relu","relu","relu","relu"}; + int n_neurons[] = {3,120,220,120,200,10}; + char *activations[] = {"relu","relu","relu","relu","relu","sigmoid"}; Network *net = init_network(n_neurons, 6, activations); print_network(net); - destroy_network(net);*/ Data *data = csv_to_samples("mydata.csv", 3, ",", 70.0, "yes", 3); print_data(data); - destroy_data(data); + + forward(net, data->first_sample); + print_network(net); + + destroy_network(net); + destroy_data(data); return 0; } \ No newline at end of file diff --git a/network.c b/network.c index 37c1fbe..e646892 100644 --- a/network.c +++ b/network.c @@ -56,6 +56,9 @@ Network *init_network(int n_neurons_per_layer[], int n_layers, char *activation_ void print_network(const Network *network) { int i, n_params=0; + Neuron *temp; + printf("\n#>>==========================================<<#\n"); + printf("# NEURAL NETWORK #\n"); printf("#>>==========================================<<#\n"); printf(">> Number of layers : %d\n", network->n_layers); printf("------------------------------------------------\n"); @@ -65,10 +68,26 @@ void print_network(const Network *network) { printf(">> Input layer\n"); printf("size : %d\n", network->neurons_per_layer[i]); + printf("neurons' outputs : "); + temp = network->layers_first_neurons[i]; + while(temp != NULL) + { + printf("%f ", temp->output); + temp = temp->same_layer_next_neuron; + } + printf("\n"); }else if(i==network->n_layers-1) { printf(">> Output layer\n"); printf("size : %d\n", network->neurons_per_layer[i]); + printf("neurons' outputs : "); + temp = network->layers_first_neurons[i]; + while(temp != NULL) + { + printf("%f ", temp->output); + temp = temp->same_layer_next_neuron; + } + printf("\n"); }else { printf(">> Hidden layer %d\n", i); @@ -82,7 +101,7 @@ void print_network(const Network *network) n_params += network->neurons_per_layer[i] * (network->neurons_per_layer[i-1] + 1); } printf("%d\n", n_params); - printf("#>>==========================================<<#\n"); + printf("#>>==========================================<<#\n\n"); } void destroy_network(Network *network) diff --git a/preprocessing.c b/preprocessing.c index 1faf0e7..2c721ec 100644 --- a/preprocessing.c +++ b/preprocessing.c @@ -175,6 +175,8 @@ void print_data(const Data *data) Sample *current_sample = data->first_sample; Feature *temp_feature; OneHotLabel *temp_hotlabel; + printf("\n#=============================================#\n"); + printf("# DATA #\n"); printf("#=============================================#\n"); if(current_sample != NULL) { @@ -219,5 +221,5 @@ void print_data(const Data *data) { printf("Nothing to print : empty data !!!\n"); } - printf("#=============================================#\n"); + printf("#=============================================#\n\n"); } \ No newline at end of file