blob: 79c07514f7ea04c553d084c5316ff5a6b7aaac22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include "./InputLayer.h"
/**
* Constructeur par taille
* @method InputLayer::InputLayer
* @param taille Nombre de neurones dans le layer
*/
InputLayer::InputLayer(int taille,FonctionActivation::EnumFonctionActivation fct){
membres =std::vector<Neurone *> (taille);
nbNeurone = taille;
input=std::vector<double>(taille);
output= std::vector<double>(taille);
for (int i = 0; i < taille; i ++){
membres[i] = new Neurone(1, new std::vector<double>(1,1),fct);
}
}
/**
* Méthode de propagation en avant
* @method InputLayer::fire
* @param input Vecteur en entrées
* @param k Coefficient de sigmoid
* @return Valeur d'activation
*/
std::vector<double> InputLayer::fire(std::vector<double> input, double k){
for (unsigned int i =0; i < input.size(); i ++){
this->input[i] = input[i];
}
for (int i = 0 ; i < nbNeurone; i ++){
output[i]=membres[i]->fire({input[i]},k); //faut il activer ou non? OUI!
}
return output;
}
|