From e91d1d3dbe49f63016e6bee41353835ad7aa55d2 Mon Sep 17 00:00:00 2001 From: augustin64 Date: Fri, 25 Mar 2022 14:26:46 +0100 Subject: [PATCH] Typo --- src/neural_network.c | 97 +++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 59 deletions(-) diff --git a/src/neural_network.c b/src/neural_network.c index a9e7351..b035e0f 100644 --- a/src/neural_network.c +++ b/src/neural_network.c @@ -1,56 +1,35 @@ -/*--------------------------------------------------- -------------------------TO Do------------------------ ----------------------------------------------------*/ -//Creation des structures ::::::::::::::::::::::::::: -//Creation des variables pour le réseaux neuronal ::: -//Initialisation des variables -//Froward propagation -//Bakcward propagation -//Entrainement à partir de données -//Sauvegarde des poids dans un fichier binaire -//Free tout le réseau neuronal :::::::::::::::::::::: - -/*--------------------------------------------------- ---------------------Bibliothèques-------------------- ----------------------------------------------------*/ - #include #include #include #include #include -#define TAUX_APPRENTISSAGE 0.15 //Définit le taux d'apprentissage du réseau neuronal, donc la rapadité d'adaptation du modèle (comprit ent 0 et 1) +#define TAUX_APPRENTISSAGE 0.15 // Définit le taux d'apprentissage du réseau neuronal, donc la rapidité d'adaptation du modèle (compris entre 0 et 1) -//<> Le nombre de couche doit être supérieur à 2 +//<> Le nombre de couches doit être supérieur à 2 /*--------------------------------------------------- ------------------------Macros---------------------- ----------------------------------------------------*/ - - - - -/*--------------------------------------------------- -----------------------Structure---------------------- +----------------------Structures--------------------- ---------------------------------------------------*/ typedef struct neurone_struct{ - float activation; //Caractérise l'activation du neurone - float* poids_sortants; //Liste de tous les poids des arêtes sortants du neurone - float biais; //Caractérise le biais du neurone - float z; //Sauvegarde des calculs faits sur le neurone (programmation dynamique) + float activation; // Caractérise l'activation du neurone + float* poids_sortants; // Liste de tous les poids des arêtes sortants du neurone + float biais; // Caractérise le biais du neurone + float z; // Sauvegarde des calculs faits sur le neurone (programmation dynamique) float dactivation; - float *dw; - float dbiais; - float dz; + float *dw; + float dbiais; + float dz; } neurone_struct; + typedef struct couche_struct{ - int nb_neurone; //Nombre de neurones dans la couche (longueur de la liste ci-dessous) - neurone_struct* neurone; //Liste des neurones dans la couche + int nb_neurone; // Nombre de neurones dans la couche (longueur de la liste ci-dessous) + neurone_struct* neurone; // Liste des neurones dans la couche } couche_struct; + /*--------------------------------------------------- ----------------------Fonctions---------------------- ---------------------------------------------------*/ @@ -69,17 +48,17 @@ void initialisation_du_reseau_neuronal(int nb_couches, int* neurones_par_couche) void creation_du_reseau_neuronal(int nb_couches, int* neurones_par_couche) { /* Créé les différentes variables dans la variable du réseau neuronal à - partir du nombre de couche et de la liste du nombre de neurone par couche */ + partir du nombre de couches et de la liste du nombre de neurones par couche */ - reseau_neuronal = (couche_struct*)malloc(sizeof(couche_struct)*nb_couches); //Création des différentes couches - for (int i=0; i0; i--) { // On remonte les couche de l'avant dernière jusqu'à la première - for(int j=0; j= 0) // ??? ... reseau_neuronal[i].neurone[j].dz = reseau_neuronal[i].neurone[j].dactivation; else // ??? ... reseau_neuronal[i].neurone[j].dz = 0; - for(int k=0; k1) // ??? ... reseau_neuronal[i-1].neurone[k].dactivation = reseau_neuronal[i-1].neurone[k].poids_sortants[j] * reseau_neuronal[i].neurone[j].dz; @@ -193,10 +172,10 @@ void modification_du_reseau_neuronal(int nb_couches, int* neurones_par_couche) { /* Modifie les poids et le biais des neurones du réseau neuronal à partir du nombre de couches et de la liste du nombre de neurone par couche */ - for (int i=0; i