mirror of
https://github.com/augustin64/projet-tipe
synced 2025-02-02 19:39:39 +01:00
Use printf_error and printf_warning when needed
This commit is contained in:
parent
4b87b19188
commit
79312caace
@ -3,6 +3,7 @@
|
||||
|
||||
#include "../include/memory_management.h"
|
||||
#include "include/initialisation.h"
|
||||
#include "../include/colors.h"
|
||||
#include "include/function.h"
|
||||
#include "../include/utils.h"
|
||||
|
||||
@ -10,7 +11,7 @@
|
||||
|
||||
Network* create_network(int max_size, float learning_rate, int dropout, int initialisation, int input_dim, int input_depth) {
|
||||
if (dropout < 0 || dropout > 100) {
|
||||
printf("Erreur, la probabilité de dropout n'est pas respecté, elle doit être comprise entre 0 et 100\n");
|
||||
printf_error("la probabilité de dropout n'est pas respecté, elle doit être comprise entre 0 et 100\n");
|
||||
}
|
||||
Network* network = (Network*)nalloc(1, sizeof(Network));
|
||||
network->learning_rate = learning_rate;
|
||||
@ -102,11 +103,11 @@ void add_2d_average_pooling(Network* network, int dim_output) {
|
||||
int k_pos = n-1;
|
||||
int dim_input = network->width[k_pos];
|
||||
if (network->max_size == n) {
|
||||
printf("Impossible de rajouter une couche d'average pooling, le réseau est déjà plein\n");
|
||||
printf_error("Impossible de rajouter une couche d'average pooling, le réseau est déjà plein\n");
|
||||
return;
|
||||
}
|
||||
if (dim_input%dim_output != 0) {
|
||||
printf("Erreur de dimension dans l'average pooling\n");
|
||||
printf_error("Dimension de l'average pooling incorrecte\n");
|
||||
return;
|
||||
}
|
||||
network->kernel[k_pos]->cnn = NULL;
|
||||
@ -124,11 +125,11 @@ void add_2d_max_pooling(Network* network, int dim_output) {
|
||||
int k_pos = n-1;
|
||||
int dim_input = network->width[k_pos];
|
||||
if (network->max_size == n) {
|
||||
printf("Impossible de rajouter une couche de max pooling, le réseau est déjà plein\n");
|
||||
printf_error("Impossible de rajouter une couche de max pooling, le réseau est déjà plein\n");
|
||||
return;
|
||||
}
|
||||
if (dim_input%dim_output != 0) {
|
||||
printf("Erreur de dimension dans le max pooling\n");
|
||||
printf_error("Dimension du max pooling incorrecte\n");
|
||||
return;
|
||||
}
|
||||
network->kernel[k_pos]->cnn = NULL;
|
||||
@ -145,7 +146,7 @@ void add_convolution(Network* network, int depth_output, int dim_output, int act
|
||||
int n = network->size;
|
||||
int k_pos = n-1;
|
||||
if (network->max_size == n) {
|
||||
printf("Impossible de rajouter une couche de convolution, le réseau est déjà plein \n");
|
||||
printf_error("Impossible de rajouter une couche de convolution, le réseau est déjà plein \n");
|
||||
return;
|
||||
}
|
||||
int depth_input = network->depth[k_pos];
|
||||
@ -207,7 +208,7 @@ void add_dense(Network* network, int size_output, int activation) {
|
||||
int k_pos = n-1;
|
||||
int size_input = network->width[k_pos];
|
||||
if (network->max_size == n) {
|
||||
printf("Impossible de rajouter une couche dense, le réseau est déjà plein\n");
|
||||
printf_error("Impossible de rajouter une couche dense, le réseau est déjà plein\n");
|
||||
return;
|
||||
}
|
||||
network->kernel[k_pos]->cnn = NULL;
|
||||
@ -248,7 +249,7 @@ void add_dense_linearisation(Network* network, int size_output, int activation)
|
||||
int k_pos = n-1;
|
||||
int size_input = network->depth[k_pos]*network->width[k_pos]*network->width[k_pos];
|
||||
if (network->max_size == n) {
|
||||
printf("Impossible de rajouter une couche dense, le réseau est déjà plein\n");
|
||||
printf_error("Impossible de rajouter une couche dense, le réseau est déjà plein\n");
|
||||
return;
|
||||
}
|
||||
network->kernel[k_pos]->cnn = NULL;
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
#include "include/free.h"
|
||||
#include "include/struct.h"
|
||||
#include "../include/colors.h"
|
||||
#include "include/neuron_io.h"
|
||||
|
||||
|
||||
@ -67,7 +68,7 @@ void print_poids_ker_cnn(char* modele) {
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
if (argc < 2) {
|
||||
printf("Pas d'action spécifiée\n");
|
||||
printf_error("Pas d'action spécifiée\n");
|
||||
help(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
@ -79,18 +80,20 @@ int main(int argc, char* argv[]) {
|
||||
modele = argv[i+1];
|
||||
i += 2;
|
||||
} else {
|
||||
printf("Option choisie inconnue: %s\n", argv[i]);
|
||||
printf_warning("Option choisie inconnue: ");
|
||||
printf("%s\n", argv[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if (!modele) {
|
||||
printf("Pas de modèle à utiliser spécifié.\n");
|
||||
printf_error("Pas de modèle à utiliser spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
print_poids_ker_cnn(modele);
|
||||
return 0;
|
||||
}
|
||||
printf("Option choisie non reconnue: %s\n", argv[1]);
|
||||
printf_error("Option choisie non reconnue: ");
|
||||
printf("%s\n", argv[1]);
|
||||
help(argv[0]);
|
||||
return 1;
|
||||
}
|
@ -2,6 +2,8 @@
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "../include/colors.h"
|
||||
|
||||
#include "include/function.h"
|
||||
|
||||
|
||||
@ -107,7 +109,8 @@ void choose_apply_function_matrix(int activation, float*** input, int depth, int
|
||||
} else if (activation == LEAKY_RELU) {
|
||||
apply_function_input(leaky_relu, input, depth, dim, dim);
|
||||
} else {
|
||||
printf("Erreur, fonction d'activation inconnue (choose_apply_function_matrix): %d\n", activation);
|
||||
printf_error("fonction d'activation inconnue (apply_function_to_matrix): ");
|
||||
printf("%d\n", activation);
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,7 +126,8 @@ void choose_apply_function_vector(int activation, float*** input, int dim) {
|
||||
} else if (activation == LEAKY_RELU) {
|
||||
apply_function_input(leaky_relu, input, 1, 1, dim);
|
||||
} else {
|
||||
printf("Erreur, fonction d'activation inconnue (choose_apply_function_vector): %d\n", activation);
|
||||
printf_error("fonction d'activation inconnue (apply_function_to_vector): ");
|
||||
printf("%d\n", activation);
|
||||
}
|
||||
}
|
||||
|
||||
@ -147,11 +151,11 @@ ptr get_function_activation(int activation) {
|
||||
return &sigmoid_derivative;
|
||||
}
|
||||
if (activation == SOFTMAX) {
|
||||
printf("Erreur, impossible de renvoyer la fonction softmax\n");
|
||||
printf_error("impossible de renvoyer la fonction softmax\n");
|
||||
return NULL;
|
||||
}
|
||||
if (activation == -SOFTMAX) {
|
||||
printf("Erreur, impossible de renvoyer la dérivée de la fonction softmax\n");
|
||||
printf_error("impossible de renvoyer la dérivée de la fonction softmax\n");
|
||||
return NULL;
|
||||
}
|
||||
if (activation == TANH) {
|
||||
@ -166,6 +170,7 @@ ptr get_function_activation(int activation) {
|
||||
if (activation == -LEAKY_RELU) {
|
||||
return &leaky_relu_derivative;
|
||||
}
|
||||
printf("Erreur, fonction d'activation inconnue (choose_apply_function_vector): %d\n", activation);
|
||||
printf_error("fonction d'activation inconnue (get_activation_function): ");
|
||||
printf("%d\n", activation);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ void help(char* call) {
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
if (argc < 2) {
|
||||
printf("Pas d'action spécifiée\n");
|
||||
printf_error("Pas d'action spécifiée\n");
|
||||
help(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
@ -87,30 +87,31 @@ int main(int argc, char* argv[]) {
|
||||
recover = argv[i+1];
|
||||
i += 2;
|
||||
} else {
|
||||
printf("Option choisie inconnue: %s\n", argv[i]);
|
||||
printf_warning("Option choisie inconnue: ");
|
||||
printf("%s\n", argv[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if ((dataset!=NULL) && !strcmp(dataset, "mnist")) {
|
||||
dataset_type = 0;
|
||||
if (!images_file) {
|
||||
printf("Pas de fichier d'images spécifié\n");
|
||||
printf_error("Pas de fichier d'images spécifié\n");
|
||||
return 1;
|
||||
}
|
||||
if (!labels_file) {
|
||||
printf("Pas de fichier de labels spécifié\n");
|
||||
printf_error("Pas de fichier de labels spécifié\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if ((dataset!=NULL) && !strcmp(dataset, "jpg")) {
|
||||
dataset_type = 1;
|
||||
if (!data_dir) {
|
||||
printf("Pas de dossier de données spécifié.\n");
|
||||
printf_error("Pas de dossier de données spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
printf("Pas de type de dataset spécifié.\n");
|
||||
printf_error("Pas de type de dataset spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
if (!out) {
|
||||
@ -155,35 +156,36 @@ int main(int argc, char* argv[]) {
|
||||
i++;
|
||||
}
|
||||
else {
|
||||
printf("Option choisie inconnue: %s\n", argv[i]);
|
||||
printf_warning("Option choisie inconnue: ");
|
||||
printf("%s\n", argv[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if ((dataset!=NULL) && !strcmp(dataset, "mnist")) {
|
||||
dataset_type = 0;
|
||||
if (!images_file) {
|
||||
printf("Pas de fichier d'images spécifié\n");
|
||||
printf_error("Pas de fichier d'images spécifié\n");
|
||||
return 1;
|
||||
}
|
||||
if (!labels_file) {
|
||||
printf("Pas de fichier de labels spécifié\n");
|
||||
printf_error("Pas de fichier de labels spécifié\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if ((dataset!=NULL) && !strcmp(dataset, "jpg")) {
|
||||
dataset_type = 1;
|
||||
if (!data_dir) {
|
||||
printf("Pas de dossier de données spécifié.\n");
|
||||
printf_error("Pas de dossier de données spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
printf("Pas de type de dataset spécifié.\n");
|
||||
printf_error("Pas de type de dataset spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!modele) {
|
||||
printf("Pas de modèle à utiliser spécifié.\n");
|
||||
printf_error("Pas de modèle à utiliser spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
test_network(dataset_type, modele, images_file, labels_file, data_dir, preview_fails);
|
||||
@ -213,7 +215,8 @@ int main(int argc, char* argv[]) {
|
||||
input_file = argv[i+1];
|
||||
i += 2;
|
||||
} else {
|
||||
printf("Option choisie inconnue: %s\n", argv[i]);
|
||||
printf_warning("Option choisie inconnue: ");
|
||||
printf("%s\n", argv[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@ -223,24 +226,25 @@ int main(int argc, char* argv[]) {
|
||||
dataset_type = 1;
|
||||
}
|
||||
else {
|
||||
printf("Pas de type de dataset spécifié.\n");
|
||||
printf_error("Pas de type de dataset spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
if (!input_file) {
|
||||
printf("Pas de fichier d'entrée spécifié, rien à faire.\n");
|
||||
printf_error("Pas de fichier d'entrée spécifié, rien à faire.\n");
|
||||
return 1;
|
||||
}
|
||||
if (!out) {
|
||||
out = "text";
|
||||
}
|
||||
if (!modele) {
|
||||
printf("Pas de modèle à utiliser spécifié.\n");
|
||||
printf_error("Pas de modèle à utiliser spécifié.\n");
|
||||
return 1;
|
||||
}
|
||||
recognize(dataset_type, modele, input_file, out);
|
||||
return 0;
|
||||
}
|
||||
printf("Option choisie non reconnue: %s\n", argv[1]);
|
||||
printf_error("Option choisie non reconnue: ");
|
||||
printf("%s\n", argv[1]);
|
||||
help(argv[0]);
|
||||
return 1;
|
||||
}
|
@ -153,7 +153,7 @@ Network* read_network(char* filename) {
|
||||
|
||||
fread(&magic, sizeof(uint32_t), 1, ptr);
|
||||
if (magic != MAGIC_NUMBER) {
|
||||
printf("Incorrect magic number !\n");
|
||||
printf_error("Incorrect magic number !\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user