tipe/src/dense/include/neuron.h

28 lines
1017 B
C
Raw Normal View History

2022-04-01 15:52:04 +02:00
#ifndef DEF_NEURON_H
#define DEF_NEURON_H
2022-09-23 14:27:13 +02:00
// Neurone
2022-05-14 10:34:26 +02:00
typedef struct Neuron {
2022-04-25 14:39:45 +02:00
float* weights; // Liste de tous les poids des arêtes sortants du neurone
float bias; // Caractérise le bias du neurone
2022-06-30 10:27:42 +02:00
float z; // Sauvegarde des calculs faits sur le neurone
2022-03-25 19:19:27 +01:00
2022-04-25 14:39:45 +02:00
float *back_weights; // Changement des poids sortants lors de la backpropagation
2022-09-10 18:23:16 +02:00
float *last_back_weights; // Dernier changement de d_poids_sortants
2022-04-25 14:39:45 +02:00
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-09-23 14:27:13 +02:00
// Couche du réseau de neurones
2022-05-14 10:34:26 +02:00
typedef struct Layer {
2022-04-25 14:39:45 +02:00
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-09-23 14:27:13 +02:00
// Réseau de neurones
2022-05-14 10:34:26 +02:00
typedef struct Network {
2022-04-25 14:39:45 +02:00
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