Change of documention in 'struct.h'

This commit is contained in:
julienChemillier 2023-02-19 13:54:00 +01:00
parent 1d462576a9
commit 76f17371de

View File

@ -2,9 +2,10 @@
#define DEF_STRUCT_H #define DEF_STRUCT_H
typedef struct Kernel_cnn { typedef struct Kernel_cnn {
// Noyau ayant une couche matricielle en sortie
int k_size; // k_size = dim_input - dim_output + 1 int k_size; // k_size = dim_input - dim_output + 1
int rows; // Depth of the input int rows; // Depth de l'input
int columns; // Depth of the output int columns; // Depth de l'output
float*** bias; // bias[columns][dim_output][dim_output] float*** bias; // bias[columns][dim_output][dim_output]
float*** d_bias; // d_bias[columns][dim_output][dim_output] float*** d_bias; // d_bias[columns][dim_output][dim_output]
float**** weights; // weights[rows][columns][k_size][k_size] float**** weights; // weights[rows][columns][k_size][k_size]
@ -12,6 +13,7 @@ typedef struct Kernel_cnn {
} Kernel_cnn; } Kernel_cnn;
typedef struct Kernel_nn { typedef struct Kernel_nn {
// Noyau ayant une couche vectorielle en sortie
int size_input; // Nombre d'éléments en entrée int size_input; // Nombre d'éléments en entrée
int size_output; // Nombre d'éléments en sortie int size_output; // Nombre d'éléments en sortie
float* bias; // bias[size_output] float* bias; // bias[size_output]
@ -23,23 +25,23 @@ typedef struct Kernel_nn {
typedef struct Kernel { typedef struct Kernel {
Kernel_cnn* cnn; // NULL si ce n'est pas un cnn Kernel_cnn* cnn; // NULL si ce n'est pas un cnn
Kernel_nn* nn; // NULL si ce n'est pas un nn Kernel_nn* nn; // NULL si ce n'est pas un nn
int activation; // Vaut l'identifiant de la fonction d'activation int activation; // Id de la fonction d'activation et -Id de sa dérivée
int linearisation; // Vaut 1 si c'est la linéarisation d'une couche, 0 sinon int linearisation; // 1 si c'est la linéarisation d'une couche, 0 sinon
int pooling; // 0 si pas pooling, 1 si average_pooling, 2 si max_pooling int pooling; // 0 si pas pooling, 1 si average_pooling, 2 si max_pooling
} Kernel; } Kernel;
typedef struct Network{ typedef struct Network{
int dropout; // Contient la probabilité d'abandon d'un neurone dans [0, 100] (entiers) int dropout; // Probabilité d'abandon d'un neurone dans [0, 100] (entiers)
float learning_rate; // Taux d'apprentissage du réseau float learning_rate; // Taux d'apprentissage du réseau
int initialisation; // Contient le type d'initialisation int initialisation; // Id du type d'initialisation
int max_size; // Taille du tableau contenant le réseau int max_size; // Taille du tableau contenant le réseau
int size; // Taille actuelle du réseau (size ≤ max_size) int size; // Taille actuelle du réseau (size ≤ max_size)
int* width; // width[size] int* width; // width[size]
int* depth; // depth[size] int* depth; // depth[size]
Kernel** kernel; // kernel[size], contient tous les kernels Kernel** kernel; // kernel[size], contient tous les kernels
float**** input; // Tableau de toutes les couches du réseau input[size][couche->depth][couche->width][couche->width] float**** input_z; // Tableau de toutes les couches du réseau input_z[size][couche->depth][couche->width][couche->width]
float**** input_z; // Même tableau que input mais ne contient pas la dernière fonction d'activation à chaque ligne float**** input; // input[i] = f(input_z[i]) où f est la fonction d'activation de la couche i
} Network; } Network;
#endif #endif