Beispiel #1
0
// Creation structure reseau de neurones
void Mlp::create(int neurones_caches, unsigned long data_size) {

    // Creation des couches
    for (unsigned int i = 0; i < data_size; i++)
        couche_entree.push_back(Neurone());

    for (unsigned int i = 0; i < neurones_caches; i++)
        couche_cachee.push_back(Neurone());

    for (unsigned int i = 0; i < 10; i++)
        couche_sortie.push_back(Neurone());


    // Initialisation aléatoire des poids (entre -1 et 1)
    for (unsigned int i = 0; i < couche_entree.size(); i++)
        for (int j = 0; j < couche_cachee.size(); j++)
            couche_entree[i].add_poids(((double) rand() / (double)RAND_MAX) * (1 + 1) - 1);

    for (unsigned int i = 0; i < couche_cachee.size(); i++)
        for (int j = 0; j < couche_sortie.size(); j++)
            couche_cachee[i].add_poids(((double) rand() / (double)RAND_MAX) * (1 + 1) - 1);
}
Beispiel #2
0
Layer::Layer(int numOfNeurones): hidden(true) {
  for (int i = 0; i < numOfNeurones; i++)
    neurones.push_back (Neurone());
}