mirror of
https://github.com/augustin64/projet-tipe
synced 2025-02-02 19:39:39 +01:00
Add VGG16 architecture
This commit is contained in:
parent
de48f11e78
commit
003183d3fd
@ -62,6 +62,38 @@ Network* create_network_alexnet(float learning_rate, int dropout, int activation
|
|||||||
return network;
|
return network;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Network* create_network_VGG16(float learning_rate, int dropout, int activation, int initialisation, int size_output) {
|
||||||
|
Network* network = create_network(23, learning_rate, dropout, initialisation, 256, 3);
|
||||||
|
add_convolution(network, 3, 64, 1, 0, activation); // Conv3-64
|
||||||
|
add_convolution(network, 3, 64, 1, 0, activation); // Conv3-64
|
||||||
|
add_average_pooling(network, 2, 2, 0); // Max Pool
|
||||||
|
|
||||||
|
add_convolution(network, 3, 128, 1, 0, activation); // Conv3-128
|
||||||
|
add_convolution(network, 1, 128, 1, 0, activation); // Conv1-128
|
||||||
|
add_average_pooling(network, 2, 2, 0); // Max Pool
|
||||||
|
|
||||||
|
add_convolution(network, 3, 256, 1, 0, activation); // Conv3-256
|
||||||
|
add_convolution(network, 3, 256, 1, 0, activation); // Conv3-256
|
||||||
|
add_convolution(network, 1, 256, 1, 0, activation); // Conv1-256
|
||||||
|
add_average_pooling(network, 2, 2, 0); // Max Pool
|
||||||
|
|
||||||
|
add_convolution(network, 3, 512, 1, 0, activation); // Conv3-512
|
||||||
|
add_convolution(network, 3, 512, 1, 0, activation); // Conv3-512
|
||||||
|
add_convolution(network, 1, 512, 1, 0, activation); // Conv1-512
|
||||||
|
add_average_pooling(network, 2, 2, 0); // Max Pool
|
||||||
|
|
||||||
|
add_convolution(network, 3, 512, 1, 0, activation); // Conv3-512
|
||||||
|
add_convolution(network, 3, 512, 1, 0, activation); // Conv3-512
|
||||||
|
add_convolution(network, 1, 512, 1, 0, activation); // Conv1-512
|
||||||
|
add_average_pooling(network, 2, 2, 0); // Max Pool
|
||||||
|
|
||||||
|
add_dense_linearisation(network, 2048, activation);
|
||||||
|
add_dense(network, 2048, activation);
|
||||||
|
add_dense(network, 256, activation);
|
||||||
|
add_dense(network, size_output, SOFTMAX);
|
||||||
|
return network;
|
||||||
|
}
|
||||||
|
|
||||||
Network* create_simple_one(float learning_rate, int dropout, int activation, int initialisation, int input_width, int input_depth) {
|
Network* create_simple_one(float learning_rate, int dropout, int activation, int initialisation, int input_width, int input_depth) {
|
||||||
Network* network = create_network(3, learning_rate, dropout, initialisation, input_width, input_depth);
|
Network* network = create_network(3, learning_rate, dropout, initialisation, input_width, input_depth);
|
||||||
add_dense_linearisation(network, 80, activation);
|
add_dense_linearisation(network, 80, activation);
|
||||||
|
@ -15,11 +15,17 @@ Network* create_network(int max_size, float learning_rate, int dropout, int init
|
|||||||
Network* create_network_lenet5(float learning_rate, int dropout, int activation, int initialisation, int input_width, int input_depth);
|
Network* create_network_lenet5(float learning_rate, int dropout, int activation, int initialisation, int input_width, int input_depth);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Renvoie un réseau suivante l'architecture AlexNet
|
* Renvoie un réseau suivant l'architecture AlexNet
|
||||||
* C'est à dire une entrée de 3x227x227 et une sortie de taille 'size_output'
|
* C'est à dire en entrée 3x227x227 et une sortie de taille 'size_output'
|
||||||
*/
|
*/
|
||||||
Network* create_network_alexnet(float learning_rate, int dropout, int activation, int initialisation, int size_output);
|
Network* create_network_alexnet(float learning_rate, int dropout, int activation, int initialisation, int size_output);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Renvoie un réseau suivant l'architecture VGG16 modifiée pour prendre en entrée 3x256x256
|
||||||
|
* et une sortie de taille 'size_output'
|
||||||
|
*/
|
||||||
|
Network* create_network_VGG16(float learning_rate, int dropout, int activation, int initialisation, int size_output);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Renvoie un réseau sans convolution, similaire à celui utilisé dans src/dense
|
* Renvoie un réseau sans convolution, similaire à celui utilisé dans src/dense
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user