Modification of struct.h

This commit is contained in:
Julien Chemillier 2022-09-16 14:36:50 +02:00
parent 204e4ce520
commit 93e1555136

View File

@ -3,40 +3,39 @@
typedef struct Kernel_cnn { typedef struct Kernel_cnn {
int k_size; int k_size;
int rows; int rows; // Depth of the input
int columns; int columns; // Depth of the output
int b; float*** bias; // bias[columns][k_size][k_size]
float*** bias; // De dimension columns*k_size*k_size float*** d_bias; // d_bias[columns][k_size][k_size]
float*** d_bias; // De dimension columns*k_size*k_size float**** w; // w[rows][columns][k_size][k_size]
float**** w; // De dimension rows*columns*k_size*k_size float**** d_w; // dw[rows][columns][k_size][k_size]
float**** d_w; // De dimension rows*columns*k_size*k_size
} Kernel_cnn; } Kernel_cnn;
typedef struct Kernel_nn { typedef struct Kernel_nn {
int input_units; // Nombre d'éléments en entrée int input_units; // Nombre d'éléments en entrée
int output_units; int output_units; // Nombre d'éléments en sortie
float* bias; // De dimension output_units float* bias; // bias[output_units]
float* d_bias; // De dimension output_units float* d_bias; // d_bias[output_units]
float** weights; // De dimension input_units*output_units float** weights; // weight[input_units][output_units]
float** d_weights; // De dimension input_units*output_units float** d_weights; // d_weights[input_units][output_units]
} Kernel_nn; } Kernel_nn;
typedef struct Kernel { typedef struct Kernel {
Kernel_cnn* cnn; Kernel_cnn* cnn; // NULL si ce n'est pas un cnn
Kernel_nn* nn; Kernel_nn* nn; // NULL si ce n'est pas un nn
int activation; // Vaut l'activation sauf pour un pooling où il: vaut kernel_size*100 + activation int activation; // Vaut l'activation sauf pour un pooling où il: vaut kernel_size*100 + activation
} Kernel; } Kernel;
typedef struct Network{ typedef struct Network{
int dropout; // Contient la probabilité d'abandon entre 0 et 100 (inclus) int dropout; // Contient la probabilité d'abandon d'un neurone dans [0, 100] (entiers)
int initialisation; // Contient le type d'initialisation int initialisation; // Contient le type d'initialisation
int max_size; // Taille maximale du réseau après initialisation int max_size; // Taille du tableau contenant le réseau
int size; // Taille actuelle du réseau int size; // Taille actuelle du réseau (size ≤ max_size)
int* width; // Contient les dimensions de l'input (width*depth) int* width; // width[size]
int* depth; // Contient les dimensions de l'input (width*depth) int* depth; // depth[size]
Kernel** kernel; Kernel** kernel; // Tableau de tous les kernels
float**** input; // Équivalent du z float**** input; // Tableau de toutes les couches du réseau input[nb couches][?][?][?]
} Network; } Network;
#endif #endif