2022-04-01 15:52:04 +02:00
|
|
|
#ifndef DEF_NEURON_H
|
|
|
|
#define DEF_NEURON_H
|
|
|
|
|
2022-04-25 14:39:45 +02:00
|
|
|
typedef struct Neuron{
|
|
|
|
float* weights; // Liste de tous les poids des arêtes sortants du neurone
|
|
|
|
float bias; // Caractérise le bias du neurone
|
2022-03-25 19:19:27 +01:00
|
|
|
float z; // Sauvegarde des calculs faits sur le neurone (programmation dynamique)
|
|
|
|
|
2022-04-25 14:39:45 +02:00
|
|
|
float *back_weights; // Changement des poids sortants lors de la backpropagation
|
|
|
|
float *last_back_weights; // Dernier changement de d_poid_sortants
|
|
|
|
float back_bias; // Changement du bias lors de la backpropagation
|
|
|
|
float last_back_bias; // Dernier changement de back_bias
|
|
|
|
} Neuron;
|
2022-03-25 19:19:27 +01:00
|
|
|
|
|
|
|
|
2022-04-25 14:39:45 +02:00
|
|
|
typedef struct Layer{
|
|
|
|
int nb_neurons; // Nombre de neurones dans la couche (longueur du tableau ci-dessous)
|
|
|
|
Neuron** neurons; // Tableau des neurones dans la couche
|
|
|
|
} Layer;
|
2022-03-26 18:50:09 +01:00
|
|
|
|
2022-04-25 14:39:45 +02:00
|
|
|
typedef struct Network{
|
|
|
|
int nb_layers; // Nombre de couches dans le réseau neuronal (longueur du tableau ci-dessous)
|
|
|
|
Layer** layers; // Tableau des couches dans le réseau neuronal
|
|
|
|
} Network;
|
2022-04-01 15:52:04 +02:00
|
|
|
|
|
|
|
#endif
|