summaryrefslogtreecommitdiff
path: root/Layer/InputLayer.cpp
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;
}