Aurélien Vannieuwenhuyze

CLASSIFICATION DES IRIS

Dans ce cas pratique, nous allons utiliser le jeu de données des Iris considéré aujourd'hui comme un cas d'école. Néanmoins, ce jeu de données va nous permettre de mettre en pratique quelques fonctions liées à l'analyse de données en utilisant le module Pandas et la réalisation d'apprentissages à l'aide d'algorithmes de machine learning dédiés à la classification.

Enfin, nous terminerons par l'utilisation de réseau de neurones (deep learning à l'aide des frameworks Tensorflow et Keras

Pour toute remarque ou question, n'hésitez pas à nous contacter, nous nous ferons un plaisir de vous répondre !

Définition du problème</H2>

En tant que responsable botanique d’un grand château situé à Versailles, j’aimerais pouvoir disposer d’un logiciel capable d’identifier quelle espèce d’iris à élue domicile dans les jardins du château.

1ère partie : Compréhension des données

Acquisition des données

Le module SciKit-Learn comporte le jeu de données dont nous avons besoin.

In [2]:
from sklearn import datasets
iris = datasets.load_iris()
print("> Données chargées")
> Données chargées

Transformation des données en DataFrame grace au module Pandas

In [3]:
import pandas as pd
iris_df = pd.DataFrame(iris.data, columns = iris.feature_names)
iris_df.head(10)
Out[3]:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
5 5.4 3.9 1.7 0.4
6 4.6 3.4 1.4 0.3
7 5.0 3.4 1.5 0.2
8 4.4 2.9 1.4 0.2
9 4.9 3.1 1.5 0.1

Récupération des données à prédire, c'est à dire l'espèce d'Iris et stockage de celles-ci dans un DataFrame (0 = Setosa, 1 = Versicolor, 2 = Viriginica)

In [4]:
iris_type_df = pd.DataFrame(iris.target)
iris_type_df.head(5)
Out[4]:
0
0 0
1 0
2 0
3 0
4 0

Fusion des deux DataFrame pour n'en obtenir qu'un seul qui contiendra les caractéristiques des Iris et l'espèce correspondante. Cette fusion se fait par l'ajout d'une colonne dans le premier DataFrame où seront copiées les données du Data Frame contenant les espèces

In [5]:
#Creation d'une colonne "species" contant le dataFrame iris_type_df
iris_df['species'] = iris_type_df
iris_df.head(5)
Out[5]:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) species
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
2 4.7 3.2 1.3 0.2 0
3 4.6 3.1 1.5 0.2 0
4 5.0 3.6 1.4 0.2 0

Analyse des données

Combiens avons nous d'observations et de caractéristiques ?

In [6]:
iris_df.shape
Out[6]:
(150, 5)

150 observations et 5 caractéristiques

Comment se nomment les caractéristiques ?

In [7]:
iris_df.columns
Out[7]:
Index(['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)',
       'petal width (cm)', 'species'],
      dtype='object')

On constate que les noms des caractéristiques comportent des espaces, ce n'est pas très "coding friendly". Nous allons donc les renommer

In [8]:
iris_df = iris_df.rename(columns={"sepal length (cm)": "sepal_length",
                                  "sepal width (cm)": "sepal_width",
                                  "petal length (cm)": "petal_length",
                                  "petal width (cm)": "petal_width",
                   })

iris_df.columns
Out[8]:
Index(['sepal_length', 'sepal_width', 'petal_length', 'petal_width',
       'species'],
      dtype='object')

Quel est le type des différentes caractéristiques ?

In [9]:
iris_df.dtypes
Out[9]:
sepal_length    float64
sepal_width     float64
petal_length    float64
petal_width     float64
species           int32
dtype: object

Toutes les caractéristiques sont de type numériques

Avons nous des données manquantes ?

In [10]:
iris_df.isnull().sum()
Out[10]:
sepal_length    0
sepal_width     0
petal_length    0
petal_width     0
species         0
dtype: int64

Aucune donnée manquante

Combien avons nous d'iris de chaque espèce ?(0 = Setosa, 1 = Versicolor, 2 = Viriginica) Les données sont-elles équilibrées ?

In [11]:
print(iris_df["species"].value_counts())
2    50
1    50
0    50
Name: species, dtype: int64

Nous disposons de 150 observations dont la répartition des espèces est équilibrée (3 espèces comportant chacune 50 observations)

In [ ]:
iris_df.loc[:49]
In [ ]:
iris_df.loc[50:99]
In [ ]:
iris_df.loc[100:149]

Les données ne sont pas mélangées (les iris sont classés par espèce) ce qui peut géner l'apprentissage. Nous allons donc corriger ce point

In [12]:
iris_df = iris_df.sample(frac=1).reset_index(drop=True)
print(iris_df.head(10))
   sepal_length  sepal_width  petal_length  petal_width  species
0           5.6          3.0           4.1          1.3        1
1           4.8          3.0           1.4          0.3        0
2           7.1          3.0           5.9          2.1        2
3           5.4          3.7           1.5          0.2        0
4           6.7          3.0           5.0          1.7        1
5           6.3          3.3           6.0          2.5        2
6           5.9          3.0           5.1          1.8        2
7           5.5          2.6           4.4          1.2        1
8           5.9          3.2           4.8          1.8        1
9           6.4          2.7           5.3          1.9        2

Visualisation de la corrélation des données entre elles

In [24]:
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(15,6))
g = sns.heatmap(iris_df.corr(),
            vmin=-1,
            vmax=1,
            cmap='coolwarm',
            annot=True,
            linewidths=2,
            square=True);
g.set_yticklabels(g.get_yticklabels(), rotation = 0, fontsize = 8)
plt.show()

On note une forte correlation entre la caractéristique à prédire (species) et les caractéristique des pétales

Visualisation des espèces en fonction de leur sépales

In [15]:
import warnings
warnings.filterwarnings("ignore")

sns.set_style("whitegrid");
sns.FacetGrid(iris_df, hue="species", size=4) \
.map(plt.scatter, "sepal_length", "sepal_width") \
.add_legend();
plt.show()

On constate une catégorisation possible pour les iris de type sétosa. Cependant cela reste plus complexe pour les iris virginica et versicolor

Visualisation des espèces en fonction de leur pétales

In [16]:
import seaborn as sns
sns.set_style("whitegrid");
sns.FacetGrid(iris_df, hue="species", size=4) \
.map(plt.scatter, "petal_length", "petal_width") \
.add_legend();
plt.show()

Cette fois ci la catégorisation des différentes espèces d'iris est plus marquée à l'aide des caractéristiques des pétales comme nous l'indiquait le graphique des corrélations

2ème partie : Machine learning

Recherche d'un modèle

Nous sommes en présence d'un apprentissage supervisé répondant un à problème de classification. Dans ce cas, nous pouvons utiliser les modèles suivants:

  • La Regression logistique
  • Machine vecteurs de support (SVM)
  • KNN (K plus proches voisins)
  • L'arbre de décision
  • Les rorêts aléatoires
  • Naive Bayes

Nous allons donc créer un tableau chargé de contenir les différents algorithmes à tester

In [26]:
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.naive_bayes import GaussianNB

algorithmes = []
algorithmes.append(('Regression Logistique', LogisticRegression()))
algorithmes.append(('Machine vecteurs de support', SVC()))
algorithmes.append(('KNN', KNeighborsClassifier()))
algorithmes.append(('Arbre de decision', DecisionTreeClassifier()))
algorithmes.append(('Forêt aléatoire',RandomForestClassifier()))
algorithmes.append(('Naive Bayes', GaussianNB()))

print("Tableau créé...")
Tableau créé...

La première étape va consister à selectionner les caractéristiques relatives à l'apprentissage (X) et celle relative à la prédiction (Y)

In [27]:
X_APPRENTISSAGE = iris_df[['sepal_length','sepal_width','petal_length','petal_width']]
Y_APPRENTISSAGE = iris_df[['species']]

print("Découpage effectué...")
Découpage effectué...

Nous pouvons tester les algorithmes les uns aprés les autres, cependant pour nous faciliter cette tache nous allons utiliser un procédé appelé cross_validation.

La première étape consiste à découper nos données (X et Y) en petits groupes (fold) qui serviront de base d'apprentissage et de test. Ce découpage est réalisé à l'aide de la fonction KFold. Dans notre cas, nous allons découper nos données en 4 petits groupes.

Voici comment la cross validation s'opère pour un algorithme :

  • Le premier groupe sert de groupe de test
  • Les groupes 2,3,4 servent pour l'apprentissage
  • L'algorithme apprend sur les 3 groupes d'apprentissage
  • Une validation de cet apprentissage est fait sur le groupe de test
  • Une précision de l'apprentissage est réalisé

  • Le second groupe sert de groupe de test
  • Les groupes 1,3,4 servent pour l'apprentissage
  • L'algorithme apprend sur les 3 groupes d'apprentissage
  • Une validation de cet apprentissage est fait sur le groupe de test
  • Une précision de l'apprentissage est réalisé

  • etc...

A l'issu des différents apprentissages, une moyenne des précisions est calculé donnant alors la précision de l'algorithme.

pour plus d'information sur la cross validation, vous pouvez consulter cette adresse : https://scikit-learn.org/stable/modules/cross_validation.html#cross-validation-and-model-selection

In [31]:
#On ignore les warning
import warnings
warnings.filterwarnings("ignore")

#Fonction de selection de modèle
from sklearn import model_selection

#KFOld
nombreDeGroupes = 4
nombreIterations = nombreDeGroupes
kfold = model_selection.KFold(n_splits=nombreDeGroupes, random_state=101)

#On mesure la performance des algorithmes sur leur précision
score = 'accuracy'

#On stock les différents résultats
scores = []


for nom_algorithme, algorithme in algorithmes:
    kfold = model_selection.KFold(n_splits=nombreDeGroupes, random_state=101)
    print("\n-- "+nom_algorithme+"--")
    
    #Appprentissage 
    cross_validation_resultats = model_selection.cross_val_score(algorithme, X_APPRENTISSAGE, Y_APPRENTISSAGE, cv=nombreIterations, scoring=score)
    print("Précisions de chaque apprentissage : "+str(cross_validation_resultats))
    scores.append(cross_validation_resultats.mean())
    print("Moyenne des précisions = "+str(cross_validation_resultats.mean()))

print("\n")
print("*******************************************")
print("Meilleur algorithme : ")
print(" - "+algorithmes[scores.index(max(scores))][0]+" avec "+str(round((scores[scores.index(max(scores))])*100,2))+ " %")
print("*******************************************")
print("")
-- Regression Logistique--
Précisions de chaque apprentissage : [1.         0.94871795 0.86111111 1.        ]
Moyenne des précisions = 0.9524572649572649

-- Machine vecteurs de support--
Précisions de chaque apprentissage : [0.97435897 1.         0.94444444 0.97222222]
Moyenne des précisions = 0.9727564102564104

-- KNN--
Précisions de chaque apprentissage : [0.97435897 0.94871795 0.94444444 1.        ]
Moyenne des précisions = 0.9668803418803418

-- Arbre de decision--
Précisions de chaque apprentissage : [0.97435897 0.94871795 0.94444444 0.97222222]
Moyenne des précisions = 0.9599358974358974

-- Forêt aléatoire--
Précisions de chaque apprentissage : [0.97435897 0.94871795 0.88888889 0.97222222]
Moyenne des précisions = 0.9460470085470085

-- Naive Bayes--
Précisions de chaque apprentissage : [0.94871795 0.94871795 0.91666667 1.        ]
Moyenne des précisions = 0.953525641025641


*******************************************
Meilleur algorithme : 
 - Machine vecteurs de support avec 97.28 %
*******************************************

2ème partie : Deep Learning

Architecture du réseau de neurones

Nous avons choisi de mettre en place cette architecture :

  • Nombre de neurones en entrée = Nombre de caractéristique explicatives = 4
  • Nombre de neurones en sortie = Nombre de classes à prédire = 3 (0 = Setosa, 1 = Versicolor, 2 = Viriginica)
  • Nombre de couche cachées = 1
  • Nombre de neurones dans la couche cachée = moyenne entre le nombre de neurones en entrée et en sortie = 3
  • Un biais pour la couche d'entrée
  • Un biais pour la couche de sortie

    Pour les fonctions d'activation et d'erreur nous utiliserons (Fonctions communément utilisées pour ce type de problème) :

  • Relu pour la fonction d'activation de la couche cachée
  • Softmax pour la fonction d'activation de la dernière couche
  • Cross Entropy pour la fonction d'erreur

Utilisation de Tensorflow

Hot encoding des espèces

Chaque observation contient un numéro d'espèce (caractéristique species) : 0 = Setosa, 1 = Versicolor, 2 = Viriginica Dans notre réseau de neurones, nous avons 3 neurones de sorties correspondant chacun à une espèce. Nous allons donc devoir traduire l'espèce de l'observation pour qu'elle soit compréhensible par notre réseau de neurones :

  • Si c'est un iris setosa nous aurons [1,0,0] 1 pour le premier neurone et 0 pour les autres
  • Si c'est un iris versicolor nous aurons [0,1,0] 1 pour le second neurone et 0 pour les autres
  • Si c'est un iris virginica nous aurons [0,0,1] 1 pour le troisième neurone et 0 pour les autres

Pour réaliser cela, nous allons ajouter 3 colonnes à notre dataframe grâce à la méthode get_dummies du module pandas.

In [32]:
import numpy as np

iris_df = pd.get_dummies(iris_df, columns=['species'])
print(iris_df.head(10))
   sepal_length  sepal_width  petal_length  petal_width  species_0  species_1  \
0           5.1          3.5           1.4          0.2          1          0   
1           4.9          3.0           1.4          0.2          1          0   
2           4.7          3.2           1.3          0.2          1          0   
3           4.6          3.1           1.5          0.2          1          0   
4           5.0          3.6           1.4          0.2          1          0   
5           5.4          3.9           1.7          0.4          1          0   
6           4.6          3.4           1.4          0.3          1          0   
7           5.0          3.4           1.5          0.2          1          0   
8           4.4          2.9           1.4          0.2          1          0   
9           4.9          3.1           1.5          0.1          1          0   

   species_2  
0          0  
1          0  
2          0  
3          0  
4          0  
5          0  
6          0  
7          0  
8          0  
9          0  

Découpage des données en jeu d'apprentissage (70% du jeu de données complet) et jeu de test (30% du jeu de données complet)

In [33]:
#Extraction des caractéristiques
X = iris_df[['sepal_length','sepal_width','petal_length','petal_width']]
y = iris_df [['species_0','species_1','species_2']]

#Transformation des données en tableau numpy (Pour Tensorflow)
y = np.array(y, dtype='float32')
X = np.array(X, dtype='float32')

#Decoupage en jeu de d'apprentissage et de test
#Test size = 30%
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=101)

print("Découpage effectué...")
Découpage effectué...

Paramétrage du réseau de neurones

In [35]:
import tensorflow as tf

# Couches d'entrée et de sortie
couche_entree = tf.placeholder(shape=[None, 4], dtype=tf.float32)
couche_sortie = tf.placeholder(shape=[None, 3], dtype=tf.float32)

#Nombre de neurones sur la couche cachée
nb_neurones_couche_cachée = 3

# Poids des différentes couches
w1 = tf.Variable(tf.random_normal(shape=[4,nb_neurones_couche_cachée])) # Couche entrée -> couche cachée
w2 = tf.Variable(tf.random_normal(shape=[nb_neurones_couche_cachée,3])) # couche cachée -> couche de sortie


#Biais
b1 = tf.Variable(tf.random_normal(shape=[nb_neurones_couche_cachée]))   #Biais de la couche d'entrée
b2 = tf.Variable(tf.random_normal(shape=[3]))   # Biais de la couche cachée

#Fonctions d'activation :
hidden_output = tf.nn.relu(tf.add(tf.matmul(couche_entree, w1), b1)) # Relu
final_output = tf.nn.softmax(tf.add(tf.matmul(hidden_output, w2), b2)) #Softmax

print("Réseau paramétré...")
Réseau paramétré...

Fonction d'erreur à minimiser

Les fonction d'activation et de minimisation d'erreur utilisées dans notre réseau de neurones, sont propres à une configuration dédiée à la classification devenue "Standard" pour son obtention de bons résultats. Cette configuration comporte une activation de type softmax pour la dernière couche de neurone et une fonction d'erreur de type cross entropy. Pour plus d'informations: https://ml-cheatsheet.readthedocs.io/en/latest/loss_functions.html

In [36]:
#Formule de calcul de l'erreur (cross entropy)
erreur = tf.reduce_mean(-tf.reduce_sum(couche_sortie * tf.log(final_output), axis=0))

# Minimisation de l'erreur à l'aide de l'algorithme de descente de gradient comprenant
# un taux d'apprentissage de 0.001
optimiseur = tf.train.GradientDescentOptimizer(learning_rate=0.001).minimize(erreur)

print("Paramétrage effectué...")
Paramétrage effectué...

Initialisation du réseau et apprentissage

In [41]:
# Initialisation des variables (poids...)
init = tf.global_variables_initializer()

#Nombre de boucles d'apprentissage
epochs = 1000 

#Session tensorflow
session = tf.Session()
session.run(init)

#Création d'un tableau afin de représenter l'erreur commise lors de l'apprentissage
Graphique_Erreur=[]

# Apprentissage
print('Apprentissage du modèle...')
for i in range(1, (epochs + 1)):
    #Apprentissage
    session.run(optimiseur, feed_dict={couche_entree: X_train, couche_sortie: y_train})
    #Calcul de l'erreur
    erreur_epoch = session.run(erreur, feed_dict={couche_entree: X_train, couche_sortie: y_train})
    Graphique_Erreur.append(erreur_epoch)
    print('Epoch', i, '|', 'Erreur :',erreur_epoch )
Apprentissage du modèle...
Epoch 1 | Erreur : 113.9444
Epoch 2 | Erreur : 70.2732
Epoch 3 | Erreur : 49.659748
Epoch 4 | Erreur : 40.22095
Epoch 5 | Erreur : 36.711956
Epoch 6 | Erreur : 35.204144
Epoch 7 | Erreur : 34.31513
Epoch 8 | Erreur : 33.639107
Epoch 9 | Erreur : 33.04726
Epoch 10 | Erreur : 32.535233
Epoch 11 | Erreur : 32.08742
Epoch 12 | Erreur : 31.65386
Epoch 13 | Erreur : 31.241137
Epoch 14 | Erreur : 30.833984
Epoch 15 | Erreur : 30.441391
Epoch 16 | Erreur : 30.058708
Epoch 17 | Erreur : 29.685783
Epoch 18 | Erreur : 29.323196
Epoch 19 | Erreur : 28.97151
Epoch 20 | Erreur : 28.629213
Epoch 21 | Erreur : 28.285852
Epoch 22 | Erreur : 27.955717
Epoch 23 | Erreur : 27.638578
Epoch 24 | Erreur : 27.334177
Epoch 25 | Erreur : 27.040026
Epoch 26 | Erreur : 26.757082
Epoch 27 | Erreur : 26.484741
Epoch 28 | Erreur : 26.223106
Epoch 29 | Erreur : 25.97074
Epoch 30 | Erreur : 25.72734
Epoch 31 | Erreur : 25.492552
Epoch 32 | Erreur : 25.26596
Epoch 33 | Erreur : 25.041176
Epoch 34 | Erreur : 24.825022
Epoch 35 | Erreur : 24.616547
Epoch 36 | Erreur : 24.415613
Epoch 37 | Erreur : 24.222069
Epoch 38 | Erreur : 24.034605
Epoch 39 | Erreur : 23.852745
Epoch 40 | Erreur : 23.676275
Epoch 41 | Erreur : 23.506569
Epoch 42 | Erreur : 23.34271
Epoch 43 | Erreur : 23.18325
Epoch 44 | Erreur : 23.028214
Epoch 45 | Erreur : 22.878431
Epoch 46 | Erreur : 22.732567
Epoch 47 | Erreur : 22.591177
Epoch 48 | Erreur : 22.45555
Epoch 49 | Erreur : 22.32298
Epoch 50 | Erreur : 22.193075
Epoch 51 | Erreur : 22.065561
Epoch 52 | Erreur : 21.940252
Epoch 53 | Erreur : 21.81736
Epoch 54 | Erreur : 21.69825
Epoch 55 | Erreur : 21.581083
Epoch 56 | Erreur : 21.465714
Epoch 57 | Erreur : 21.353277
Epoch 58 | Erreur : 21.245125
Epoch 59 | Erreur : 21.138582
Epoch 60 | Erreur : 21.033548
Epoch 61 | Erreur : 20.929937
Epoch 62 | Erreur : 20.827904
Epoch 63 | Erreur : 20.728165
Epoch 64 | Erreur : 20.63141
Epoch 65 | Erreur : 20.53766
Epoch 66 | Erreur : 20.446653
Epoch 67 | Erreur : 20.357203
Epoch 68 | Erreur : 20.269697
Epoch 69 | Erreur : 20.184519
Epoch 70 | Erreur : 20.101501
Epoch 71 | Erreur : 20.022001
Epoch 72 | Erreur : 19.94501
Epoch 73 | Erreur : 19.869677
Epoch 74 | Erreur : 19.795624
Epoch 75 | Erreur : 19.722649
Epoch 76 | Erreur : 19.650621
Epoch 77 | Erreur : 19.579473
Epoch 78 | Erreur : 19.509146
Epoch 79 | Erreur : 19.439608
Epoch 80 | Erreur : 19.371435
Epoch 81 | Erreur : 19.305138
Epoch 82 | Erreur : 19.24127
Epoch 83 | Erreur : 19.179083
Epoch 84 | Erreur : 19.118025
Epoch 85 | Erreur : 19.057867
Epoch 86 | Erreur : 18.998474
Epoch 87 | Erreur : 18.939766
Epoch 88 | Erreur : 18.88169
Epoch 89 | Erreur : 18.82422
Epoch 90 | Erreur : 18.76732
Epoch 91 | Erreur : 18.710985
Epoch 92 | Erreur : 18.655699
Epoch 93 | Erreur : 18.601988
Epoch 94 | Erreur : 18.548927
Epoch 95 | Erreur : 18.49739
Epoch 96 | Erreur : 18.446531
Epoch 97 | Erreur : 18.396257
Epoch 98 | Erreur : 18.347017
Epoch 99 | Erreur : 18.299038
Epoch 100 | Erreur : 18.25167
Epoch 101 | Erreur : 18.204834
Epoch 102 | Erreur : 18.158468
Epoch 103 | Erreur : 18.112547
Epoch 104 | Erreur : 18.067041
Epoch 105 | Erreur : 18.02257
Epoch 106 | Erreur : 17.978949
Epoch 107 | Erreur : 17.936338
Epoch 108 | Erreur : 17.894674
Epoch 109 | Erreur : 17.853573
Epoch 110 | Erreur : 17.812943
Epoch 111 | Erreur : 17.77272
Epoch 112 | Erreur : 17.732874
Epoch 113 | Erreur : 17.69386
Epoch 114 | Erreur : 17.65574
Epoch 115 | Erreur : 17.618067
Epoch 116 | Erreur : 17.580776
Epoch 117 | Erreur : 17.543823
Epoch 118 | Erreur : 17.507183
Epoch 119 | Erreur : 17.470839
Epoch 120 | Erreur : 17.434769
Epoch 121 | Erreur : 17.398966
Epoch 122 | Erreur : 17.363424
Epoch 123 | Erreur : 17.32813
Epoch 124 | Erreur : 17.293085
Epoch 125 | Erreur : 17.258284
Epoch 126 | Erreur : 17.223719
Epoch 127 | Erreur : 17.189386
Epoch 128 | Erreur : 17.155287
Epoch 129 | Erreur : 17.121414
Epoch 130 | Erreur : 17.08777
Epoch 131 | Erreur : 17.05435
Epoch 132 | Erreur : 17.02115
Epoch 133 | Erreur : 16.988173
Epoch 134 | Erreur : 16.955412
Epoch 135 | Erreur : 16.922869
Epoch 136 | Erreur : 16.890537
Epoch 137 | Erreur : 16.858421
Epoch 138 | Erreur : 16.826517
Epoch 139 | Erreur : 16.794825
Epoch 140 | Erreur : 16.763336
Epoch 141 | Erreur : 16.732061
Epoch 142 | Erreur : 16.700989
Epoch 143 | Erreur : 16.670118
Epoch 144 | Erreur : 16.639452
Epoch 145 | Erreur : 16.608984
Epoch 146 | Erreur : 16.578718
Epoch 147 | Erreur : 16.548647
Epoch 148 | Erreur : 16.51878
Epoch 149 | Erreur : 16.489103
Epoch 150 | Erreur : 16.459932
Epoch 151 | Erreur : 16.431515
Epoch 152 | Erreur : 16.403349
Epoch 153 | Erreur : 16.375404
Epoch 154 | Erreur : 16.347658
Epoch 155 | Erreur : 16.3201
Epoch 156 | Erreur : 16.292727
Epoch 157 | Erreur : 16.265528
Epoch 158 | Erreur : 16.2385
Epoch 159 | Erreur : 16.211649
Epoch 160 | Erreur : 16.184958
Epoch 161 | Erreur : 16.158434
Epoch 162 | Erreur : 16.132074
Epoch 163 | Erreur : 16.105875
Epoch 164 | Erreur : 16.079834
Epoch 165 | Erreur : 16.053951
Epoch 166 | Erreur : 16.028229
Epoch 167 | Erreur : 16.003336
Epoch 168 | Erreur : 15.978671
Epoch 169 | Erreur : 15.9542
Epoch 170 | Erreur : 15.929904
Epoch 171 | Erreur : 15.90577
Epoch 172 | Erreur : 15.881793
Epoch 173 | Erreur : 15.858111
Epoch 174 | Erreur : 15.834804
Epoch 175 | Erreur : 15.811749
Epoch 176 | Erreur : 15.788903
Epoch 177 | Erreur : 15.766238
Epoch 178 | Erreur : 15.743739
Epoch 179 | Erreur : 15.721394
Epoch 180 | Erreur : 15.699191
Epoch 181 | Erreur : 15.677127
Epoch 182 | Erreur : 15.655194
Epoch 183 | Erreur : 15.633389
Epoch 184 | Erreur : 15.61171
Epoch 185 | Erreur : 15.590264
Epoch 186 | Erreur : 15.569373
Epoch 187 | Erreur : 15.548695
Epoch 188 | Erreur : 15.528192
Epoch 189 | Erreur : 15.507842
Epoch 190 | Erreur : 15.487634
Epoch 191 | Erreur : 15.467553
Epoch 192 | Erreur : 15.447591
Epoch 193 | Erreur : 15.427745
Epoch 194 | Erreur : 15.408009
Epoch 195 | Erreur : 15.388377
Epoch 196 | Erreur : 15.368846
Epoch 197 | Erreur : 15.349411
Epoch 198 | Erreur : 15.330078
Epoch 199 | Erreur : 15.310834
Epoch 200 | Erreur : 15.291683
Epoch 201 | Erreur : 15.272624
Epoch 202 | Erreur : 15.2536545
Epoch 203 | Erreur : 15.234771
Epoch 204 | Erreur : 15.216217
Epoch 205 | Erreur : 15.198033
Epoch 206 | Erreur : 15.180015
Epoch 207 | Erreur : 15.162129
Epoch 208 | Erreur : 15.144362
Epoch 209 | Erreur : 15.126697
Epoch 210 | Erreur : 15.10913
Epoch 211 | Erreur : 15.091655
Epoch 212 | Erreur : 15.074267
Epoch 213 | Erreur : 15.056962
Epoch 214 | Erreur : 15.039738
Epoch 215 | Erreur : 15.0225935
Epoch 216 | Erreur : 15.005519
Epoch 217 | Erreur : 14.988522
Epoch 218 | Erreur : 14.971596
Epoch 219 | Erreur : 14.954738
Epoch 220 | Erreur : 14.937953
Epoch 221 | Erreur : 14.921231
Epoch 222 | Erreur : 14.904582
Epoch 223 | Erreur : 14.887998
Epoch 224 | Erreur : 14.871478
Epoch 225 | Erreur : 14.855023
Epoch 226 | Erreur : 14.838672
Epoch 227 | Erreur : 14.82275
Epoch 228 | Erreur : 14.806951
Epoch 229 | Erreur : 14.791255
Epoch 230 | Erreur : 14.775647
Epoch 231 | Erreur : 14.760118
Epoch 232 | Erreur : 14.744664
Epoch 233 | Erreur : 14.729281
Epoch 234 | Erreur : 14.713966
Epoch 235 | Erreur : 14.698716
Epoch 236 | Erreur : 14.683529
Epoch 237 | Erreur : 14.668397
Epoch 238 | Erreur : 14.653331
Epoch 239 | Erreur : 14.638316
Epoch 240 | Erreur : 14.623361
Epoch 241 | Erreur : 14.6084585
Epoch 242 | Erreur : 14.593608
Epoch 243 | Erreur : 14.578816
Epoch 244 | Erreur : 14.564227
Epoch 245 | Erreur : 14.549916
Epoch 246 | Erreur : 14.535747
Epoch 247 | Erreur : 14.521687
Epoch 248 | Erreur : 14.507721
Epoch 249 | Erreur : 14.4938345
Epoch 250 | Erreur : 14.480023
Epoch 251 | Erreur : 14.466277
Epoch 252 | Erreur : 14.452596
Epoch 253 | Erreur : 14.438975
Epoch 254 | Erreur : 14.425407
Epoch 255 | Erreur : 14.411895
Epoch 256 | Erreur : 14.398433
Epoch 257 | Erreur : 14.385018
Epoch 258 | Erreur : 14.371655
Epoch 259 | Erreur : 14.358335
Epoch 260 | Erreur : 14.345059
Epoch 261 | Erreur : 14.331828
Epoch 262 | Erreur : 14.318638
Epoch 263 | Erreur : 14.305486
Epoch 264 | Erreur : 14.2923765
Epoch 265 | Erreur : 14.279307
Epoch 266 | Erreur : 14.266276
Epoch 267 | Erreur : 14.253281
Epoch 268 | Erreur : 14.240326
Epoch 269 | Erreur : 14.22741
Epoch 270 | Erreur : 14.214641
Epoch 271 | Erreur : 14.202004
Epoch 272 | Erreur : 14.189481
Epoch 273 | Erreur : 14.177032
Epoch 274 | Erreur : 14.164613
Epoch 275 | Erreur : 14.152274
Epoch 276 | Erreur : 14.139997
Epoch 277 | Erreur : 14.127778
Epoch 278 | Erreur : 14.115617
Epoch 279 | Erreur : 14.1035
Epoch 280 | Erreur : 14.091435
Epoch 281 | Erreur : 14.0794115
Epoch 282 | Erreur : 14.067432
Epoch 283 | Erreur : 14.055491
Epoch 284 | Erreur : 14.043591
Epoch 285 | Erreur : 14.031726
Epoch 286 | Erreur : 14.019898
Epoch 287 | Erreur : 14.008106
Epoch 288 | Erreur : 13.996349
Epoch 289 | Erreur : 13.984623
Epoch 290 | Erreur : 13.97293
Epoch 291 | Erreur : 13.961268
Epoch 292 | Erreur : 13.949639
Epoch 293 | Erreur : 13.938041
Epoch 294 | Erreur : 13.926467
Epoch 295 | Erreur : 13.9149275
Epoch 296 | Erreur : 13.903417
Epoch 297 | Erreur : 13.891936
Epoch 298 | Erreur : 13.880481
Epoch 299 | Erreur : 13.869052
Epoch 300 | Erreur : 13.857654
Epoch 301 | Erreur : 13.84628
Epoch 302 | Erreur : 13.834937
Epoch 303 | Erreur : 13.823621
Epoch 304 | Erreur : 13.812331
Epoch 305 | Erreur : 13.801068
Epoch 306 | Erreur : 13.789833
Epoch 307 | Erreur : 13.778621
Epoch 308 | Erreur : 13.767434
Epoch 309 | Erreur : 13.756278
Epoch 310 | Erreur : 13.745143
Epoch 311 | Erreur : 13.734036
Epoch 312 | Erreur : 13.722954
Epoch 313 | Erreur : 13.711896
Epoch 314 | Erreur : 13.700866
Epoch 315 | Erreur : 13.68986
Epoch 316 | Erreur : 13.67888
Epoch 317 | Erreur : 13.667922
Epoch 318 | Erreur : 13.656991
Epoch 319 | Erreur : 13.646085
Epoch 320 | Erreur : 13.635203
Epoch 321 | Erreur : 13.624345
Epoch 322 | Erreur : 13.61351
Epoch 323 | Erreur : 13.602702
Epoch 324 | Erreur : 13.591918
Epoch 325 | Erreur : 13.581157
Epoch 326 | Erreur : 13.570422
Epoch 327 | Erreur : 13.559709
Epoch 328 | Erreur : 13.549023
Epoch 329 | Erreur : 13.538357
Epoch 330 | Erreur : 13.527715
Epoch 331 | Erreur : 13.517095
Epoch 332 | Erreur : 13.506503
Epoch 333 | Erreur : 13.495934
Epoch 334 | Erreur : 13.485386
Epoch 335 | Erreur : 13.474862
Epoch 336 | Erreur : 13.464358
Epoch 337 | Erreur : 13.453881
Epoch 338 | Erreur : 13.443427
Epoch 339 | Erreur : 13.432995
Epoch 340 | Erreur : 13.422587
Epoch 341 | Erreur : 13.4122
Epoch 342 | Erreur : 13.401835
Epoch 343 | Erreur : 13.391494
Epoch 344 | Erreur : 13.381175
Epoch 345 | Erreur : 13.370953
Epoch 346 | Erreur : 13.3608465
Epoch 347 | Erreur : 13.350815
Epoch 348 | Erreur : 13.340821
Epoch 349 | Erreur : 13.330846
Epoch 350 | Erreur : 13.320915
Epoch 351 | Erreur : 13.311025
Epoch 352 | Erreur : 13.30117
Epoch 353 | Erreur : 13.29135
Epoch 354 | Erreur : 13.281559
Epoch 355 | Erreur : 13.271796
Epoch 356 | Erreur : 13.262063
Epoch 357 | Erreur : 13.2523575
Epoch 358 | Erreur : 13.242676
Epoch 359 | Erreur : 13.233022
Epoch 360 | Erreur : 13.223389
Epoch 361 | Erreur : 13.213786
Epoch 362 | Erreur : 13.204202
Epoch 363 | Erreur : 13.194638
Epoch 364 | Erreur : 13.185103
Epoch 365 | Erreur : 13.175587
Epoch 366 | Erreur : 13.166092
Epoch 367 | Erreur : 13.156617
Epoch 368 | Erreur : 13.147163
Epoch 369 | Erreur : 13.1377325
Epoch 370 | Erreur : 13.128318
Epoch 371 | Erreur : 13.118923
Epoch 372 | Erreur : 13.109553
Epoch 373 | Erreur : 13.1002
Epoch 374 | Erreur : 13.090865
Epoch 375 | Erreur : 13.081548
Epoch 376 | Erreur : 13.072251
Epoch 377 | Erreur : 13.062973
Epoch 378 | Erreur : 13.053714
Epoch 379 | Erreur : 13.044476
Epoch 380 | Erreur : 13.035253
Epoch 381 | Erreur : 13.026047
Epoch 382 | Erreur : 13.016861
Epoch 383 | Erreur : 13.007693
Epoch 384 | Erreur : 12.99854
Epoch 385 | Erreur : 12.989408
Epoch 386 | Erreur : 12.98029
Epoch 387 | Erreur : 12.971195
Epoch 388 | Erreur : 12.962115
Epoch 389 | Erreur : 12.953052
Epoch 390 | Erreur : 12.944005
Epoch 391 | Erreur : 12.934978
Epoch 392 | Erreur : 12.925967
Epoch 393 | Erreur : 12.916972
Epoch 394 | Erreur : 12.907994
Epoch 395 | Erreur : 12.899034
Epoch 396 | Erreur : 12.890091
Epoch 397 | Erreur : 12.8811655
Epoch 398 | Erreur : 12.872256
Epoch 399 | Erreur : 12.863361
Epoch 400 | Erreur : 12.854487
Epoch 401 | Erreur : 12.845627
Epoch 402 | Erreur : 12.836784
Epoch 403 | Erreur : 12.827957
Epoch 404 | Erreur : 12.819145
Epoch 405 | Erreur : 12.810352
Epoch 406 | Erreur : 12.801575
Epoch 407 | Erreur : 12.792815
Epoch 408 | Erreur : 12.784066
Epoch 409 | Erreur : 12.775338
Epoch 410 | Erreur : 12.766625
Epoch 411 | Erreur : 12.757927
Epoch 412 | Erreur : 12.749246
Epoch 413 | Erreur : 12.740582
Epoch 414 | Erreur : 12.731934
Epoch 415 | Erreur : 12.723297
Epoch 416 | Erreur : 12.714681
Epoch 417 | Erreur : 12.706078
Epoch 418 | Erreur : 12.697492
Epoch 419 | Erreur : 12.688922
Epoch 420 | Erreur : 12.6803665
Epoch 421 | Erreur : 12.671828
Epoch 422 | Erreur : 12.663303
Epoch 423 | Erreur : 12.654794
Epoch 424 | Erreur : 12.6463
Epoch 425 | Erreur : 12.637824
Epoch 426 | Erreur : 12.629361
Epoch 427 | Erreur : 12.6209135
Epoch 428 | Erreur : 12.61248
Epoch 429 | Erreur : 12.604062
Epoch 430 | Erreur : 12.595662
Epoch 431 | Erreur : 12.5872755
Epoch 432 | Erreur : 12.578904
Epoch 433 | Erreur : 12.570545
Epoch 434 | Erreur : 12.562205
Epoch 435 | Erreur : 12.553879
Epoch 436 | Erreur : 12.545564
Epoch 437 | Erreur : 12.537267
Epoch 438 | Erreur : 12.52898
Epoch 439 | Erreur : 12.520715
Epoch 440 | Erreur : 12.51246
Epoch 441 | Erreur : 12.504222
Epoch 442 | Erreur : 12.495997
Epoch 443 | Erreur : 12.487788
Epoch 444 | Erreur : 12.479591
Epoch 445 | Erreur : 12.471413
Epoch 446 | Erreur : 12.463245
Epoch 447 | Erreur : 12.455092
Epoch 448 | Erreur : 12.446953
Epoch 449 | Erreur : 12.43883
Epoch 450 | Erreur : 12.43072
Epoch 451 | Erreur : 12.422626
Epoch 452 | Erreur : 12.41454
Epoch 453 | Erreur : 12.406475
Epoch 454 | Erreur : 12.398422
Epoch 455 | Erreur : 12.390382
Epoch 456 | Erreur : 12.382358
Epoch 457 | Erreur : 12.374349
Epoch 458 | Erreur : 12.366348
Epoch 459 | Erreur : 12.358365
Epoch 460 | Erreur : 12.350395
Epoch 461 | Erreur : 12.342438
Epoch 462 | Erreur : 12.334496
Epoch 463 | Erreur : 12.326569
Epoch 464 | Erreur : 12.318652
Epoch 465 | Erreur : 12.31075
Epoch 466 | Erreur : 12.302861
Epoch 467 | Erreur : 12.294987
Epoch 468 | Erreur : 12.2871275
Epoch 469 | Erreur : 12.279277
Epoch 470 | Erreur : 12.271443
Epoch 471 | Erreur : 12.263623
Epoch 472 | Erreur : 12.255816
Epoch 473 | Erreur : 12.248023
Epoch 474 | Erreur : 12.240242
Epoch 475 | Erreur : 12.232474
Epoch 476 | Erreur : 12.224719
Epoch 477 | Erreur : 12.216976
Epoch 478 | Erreur : 12.209247
Epoch 479 | Erreur : 12.201533
Epoch 480 | Erreur : 12.193831
Epoch 481 | Erreur : 12.186139
Epoch 482 | Erreur : 12.178464
Epoch 483 | Erreur : 12.1708
Epoch 484 | Erreur : 12.16315
Epoch 485 | Erreur : 12.15551
Epoch 486 | Erreur : 12.147887
Epoch 487 | Erreur : 12.140275
Epoch 488 | Erreur : 12.132675
Epoch 489 | Erreur : 12.125088
Epoch 490 | Erreur : 12.117513
Epoch 491 | Erreur : 12.109952
Epoch 492 | Erreur : 12.102405
Epoch 493 | Erreur : 12.094867
Epoch 494 | Erreur : 12.087341
Epoch 495 | Erreur : 12.079831
Epoch 496 | Erreur : 12.072331
Epoch 497 | Erreur : 12.064846
Epoch 498 | Erreur : 12.057369
Epoch 499 | Erreur : 12.049907
Epoch 500 | Erreur : 12.042457
Epoch 501 | Erreur : 12.035019
Epoch 502 | Erreur : 12.027593
Epoch 503 | Erreur : 12.020181
Epoch 504 | Erreur : 12.012778
Epoch 505 | Erreur : 12.00539
Epoch 506 | Erreur : 11.998015
Epoch 507 | Erreur : 11.990647
Epoch 508 | Erreur : 11.983295
Epoch 509 | Erreur : 11.975956
Epoch 510 | Erreur : 11.968628
Epoch 511 | Erreur : 11.96131
Epoch 512 | Erreur : 11.954002
Epoch 513 | Erreur : 11.946712
Epoch 514 | Erreur : 11.939427
Epoch 515 | Erreur : 11.93216
Epoch 516 | Erreur : 11.9249
Epoch 517 | Erreur : 11.917655
Epoch 518 | Erreur : 11.91042
Epoch 519 | Erreur : 11.903195
Epoch 520 | Erreur : 11.895986
Epoch 521 | Erreur : 11.888786
Epoch 522 | Erreur : 11.881597
Epoch 523 | Erreur : 11.87442
Epoch 524 | Erreur : 11.867256
Epoch 525 | Erreur : 11.860103
Epoch 526 | Erreur : 11.852959
Epoch 527 | Erreur : 11.845828
Epoch 528 | Erreur : 11.83871
Epoch 529 | Erreur : 11.831601
Epoch 530 | Erreur : 11.824504
Epoch 531 | Erreur : 11.817418
Epoch 532 | Erreur : 11.810346
Epoch 533 | Erreur : 11.803281
Epoch 534 | Erreur : 11.796227
Epoch 535 | Erreur : 11.789189
Epoch 536 | Erreur : 11.782159
Epoch 537 | Erreur : 11.775139
Epoch 538 | Erreur : 11.768132
Epoch 539 | Erreur : 11.761136
Epoch 540 | Erreur : 11.75415
Epoch 541 | Erreur : 11.747174
Epoch 542 | Erreur : 11.740212
Epoch 543 | Erreur : 11.73326
Epoch 544 | Erreur : 11.726317
Epoch 545 | Erreur : 11.719386
Epoch 546 | Erreur : 11.712466
Epoch 547 | Erreur : 11.705558
Epoch 548 | Erreur : 11.698658
Epoch 549 | Erreur : 11.69177
Epoch 550 | Erreur : 11.684894
Epoch 551 | Erreur : 11.678027
Epoch 552 | Erreur : 11.67117
Epoch 553 | Erreur : 11.664325
Epoch 554 | Erreur : 11.657491
Epoch 555 | Erreur : 11.650668
Epoch 556 | Erreur : 11.643853
Epoch 557 | Erreur : 11.637051
Epoch 558 | Erreur : 11.630257
Epoch 559 | Erreur : 11.623474
Epoch 560 | Erreur : 11.616704
Epoch 561 | Erreur : 11.609941
Epoch 562 | Erreur : 11.6031885
Epoch 563 | Erreur : 11.59645
Epoch 564 | Erreur : 11.589719
Epoch 565 | Erreur : 11.582999
Epoch 566 | Erreur : 11.576289
Epoch 567 | Erreur : 11.569591
Epoch 568 | Erreur : 11.562901
Epoch 569 | Erreur : 11.556222
Epoch 570 | Erreur : 11.549552
Epoch 571 | Erreur : 11.542892
Epoch 572 | Erreur : 11.536244
Epoch 573 | Erreur : 11.529606
Epoch 574 | Erreur : 11.522977
Epoch 575 | Erreur : 11.516357
Epoch 576 | Erreur : 11.5097475
Epoch 577 | Erreur : 11.503152
Epoch 578 | Erreur : 11.496562
Epoch 579 | Erreur : 11.489983
Epoch 580 | Erreur : 11.483414
Epoch 581 | Erreur : 11.476898
Epoch 582 | Erreur : 11.470497
Epoch 583 | Erreur : 11.464112
Epoch 584 | Erreur : 11.457723
Epoch 585 | Erreur : 11.451375
Epoch 586 | Erreur : 11.44506
Epoch 587 | Erreur : 11.438764
Epoch 588 | Erreur : 11.432491
Epoch 589 | Erreur : 11.426235
Epoch 590 | Erreur : 11.420001
Epoch 591 | Erreur : 11.413779
Epoch 592 | Erreur : 11.407577
Epoch 593 | Erreur : 11.401385
Epoch 594 | Erreur : 11.39521
Epoch 595 | Erreur : 11.389052
Epoch 596 | Erreur : 11.382903
Epoch 597 | Erreur : 11.37677
Epoch 598 | Erreur : 11.370648
Epoch 599 | Erreur : 11.364537
Epoch 600 | Erreur : 11.358437
Epoch 601 | Erreur : 11.352349
Epoch 602 | Erreur : 11.346274
Epoch 603 | Erreur : 11.340211
Epoch 604 | Erreur : 11.334155
Epoch 605 | Erreur : 11.32811
Epoch 606 | Erreur : 11.322074
Epoch 607 | Erreur : 11.316048
Epoch 608 | Erreur : 11.310031
Epoch 609 | Erreur : 11.304027
Epoch 610 | Erreur : 11.298027
Epoch 611 | Erreur : 11.292041
Epoch 612 | Erreur : 11.28606
Epoch 613 | Erreur : 11.28009
Epoch 614 | Erreur : 11.274128
Epoch 615 | Erreur : 11.268174
Epoch 616 | Erreur : 11.26223
Epoch 617 | Erreur : 11.256294
Epoch 618 | Erreur : 11.250365
Epoch 619 | Erreur : 11.244445
Epoch 620 | Erreur : 11.238533
Epoch 621 | Erreur : 11.232631
Epoch 622 | Erreur : 11.226733
Epoch 623 | Erreur : 11.220847
Epoch 624 | Erreur : 11.214966
Epoch 625 | Erreur : 11.209094
Epoch 626 | Erreur : 11.203227
Epoch 627 | Erreur : 11.197372
Epoch 628 | Erreur : 11.191524
Epoch 629 | Erreur : 11.185679
Epoch 630 | Erreur : 11.179848
Epoch 631 | Erreur : 11.174024
Epoch 632 | Erreur : 11.168204
Epoch 633 | Erreur : 11.162393
Epoch 634 | Erreur : 11.156587
Epoch 635 | Erreur : 11.150791
Epoch 636 | Erreur : 11.145004
Epoch 637 | Erreur : 11.139221
Epoch 638 | Erreur : 11.133446
Epoch 639 | Erreur : 11.127679
Epoch 640 | Erreur : 11.121918
Epoch 641 | Erreur : 11.116168
Epoch 642 | Erreur : 11.110421
Epoch 643 | Erreur : 11.104683
Epoch 644 | Erreur : 11.098953
Epoch 645 | Erreur : 11.093227
Epoch 646 | Erreur : 11.087512
Epoch 647 | Erreur : 11.081801
Epoch 648 | Erreur : 11.076098
Epoch 649 | Erreur : 11.070403
Epoch 650 | Erreur : 11.0647135
Epoch 651 | Erreur : 11.059033
Epoch 652 | Erreur : 11.053357
Epoch 653 | Erreur : 11.047691
Epoch 654 | Erreur : 11.042031
Epoch 655 | Erreur : 11.036377
Epoch 656 | Erreur : 11.030732
Epoch 657 | Erreur : 11.025093
Epoch 658 | Erreur : 11.019459
Epoch 659 | Erreur : 11.013831
Epoch 660 | Erreur : 11.008213
Epoch 661 | Erreur : 11.002599
Epoch 662 | Erreur : 10.996994
Epoch 663 | Erreur : 10.991397
Epoch 664 | Erreur : 10.985805
Epoch 665 | Erreur : 10.980217
Epoch 666 | Erreur : 10.974643
Epoch 667 | Erreur : 10.969068
Epoch 668 | Erreur : 10.963506
Epoch 669 | Erreur : 10.957946
Epoch 670 | Erreur : 10.952395
Epoch 671 | Erreur : 10.946853
Epoch 672 | Erreur : 10.941311
Epoch 673 | Erreur : 10.935782
Epoch 674 | Erreur : 10.930257
Epoch 675 | Erreur : 10.924736
Epoch 676 | Erreur : 10.919229
Epoch 677 | Erreur : 10.913722
Epoch 678 | Erreur : 10.908223
Epoch 679 | Erreur : 10.902732
Epoch 680 | Erreur : 10.897246
Epoch 681 | Erreur : 10.891768
Epoch 682 | Erreur : 10.886296
Epoch 683 | Erreur : 10.88083
Epoch 684 | Erreur : 10.875373
Epoch 685 | Erreur : 10.86992
Epoch 686 | Erreur : 10.864474
Epoch 687 | Erreur : 10.859035
Epoch 688 | Erreur : 10.8536
Epoch 689 | Erreur : 10.848174
Epoch 690 | Erreur : 10.842754
Epoch 691 | Erreur : 10.837341
Epoch 692 | Erreur : 10.831935
Epoch 693 | Erreur : 10.826533
Epoch 694 | Erreur : 10.821139
Epoch 695 | Erreur : 10.81575
Epoch 696 | Erreur : 10.810369
Epoch 697 | Erreur : 10.804993
Epoch 698 | Erreur : 10.799623
Epoch 699 | Erreur : 10.794258
Epoch 700 | Erreur : 10.788902
Epoch 701 | Erreur : 10.783551
Epoch 702 | Erreur : 10.77821
Epoch 703 | Erreur : 10.77287
Epoch 704 | Erreur : 10.767536
Epoch 705 | Erreur : 10.762212
Epoch 706 | Erreur : 10.756893
Epoch 707 | Erreur : 10.751579
Epoch 708 | Erreur : 10.746274
Epoch 709 | Erreur : 10.740973
Epoch 710 | Erreur : 10.735679
Epoch 711 | Erreur : 10.73039
Epoch 712 | Erreur : 10.725106
Epoch 713 | Erreur : 10.7198305
Epoch 714 | Erreur : 10.714561
Epoch 715 | Erreur : 10.709298
Epoch 716 | Erreur : 10.70404
Epoch 717 | Erreur : 10.698789
Epoch 718 | Erreur : 10.6935425
Epoch 719 | Erreur : 10.688304
Epoch 720 | Erreur : 10.68307
Epoch 721 | Erreur : 10.677842
Epoch 722 | Erreur : 10.67262
Epoch 723 | Erreur : 10.667404
Epoch 724 | Erreur : 10.662195
Epoch 725 | Erreur : 10.656991
Epoch 726 | Erreur : 10.6517935
Epoch 727 | Erreur : 10.646603
Epoch 728 | Erreur : 10.6414175
Epoch 729 | Erreur : 10.636235
Epoch 730 | Erreur : 10.6310625
Epoch 731 | Erreur : 10.6258955
Epoch 732 | Erreur : 10.620734
Epoch 733 | Erreur : 10.615575
Epoch 734 | Erreur : 10.610427
Epoch 735 | Erreur : 10.605283
Epoch 736 | Erreur : 10.600143
Epoch 737 | Erreur : 10.59501
Epoch 738 | Erreur : 10.589883
Epoch 739 | Erreur : 10.584762
Epoch 740 | Erreur : 10.579647
Epoch 741 | Erreur : 10.574538
Epoch 742 | Erreur : 10.569434
Epoch 743 | Erreur : 10.564338
Epoch 744 | Erreur : 10.559243
Epoch 745 | Erreur : 10.554156
Epoch 746 | Erreur : 10.549075
Epoch 747 | Erreur : 10.544002
Epoch 748 | Erreur : 10.538934
Epoch 749 | Erreur : 10.533869
Epoch 750 | Erreur : 10.528811
Epoch 751 | Erreur : 10.523759
Epoch 752 | Erreur : 10.518714
Epoch 753 | Erreur : 10.513675
Epoch 754 | Erreur : 10.5086355
Epoch 755 | Erreur : 10.503606
Epoch 756 | Erreur : 10.498584
Epoch 757 | Erreur : 10.493566
Epoch 758 | Erreur : 10.488553
Epoch 759 | Erreur : 10.483544
Epoch 760 | Erreur : 10.478545
Epoch 761 | Erreur : 10.473549
Epoch 762 | Erreur : 10.468558
Epoch 763 | Erreur : 10.4635725
Epoch 764 | Erreur : 10.458594
Epoch 765 | Erreur : 10.453621
Epoch 766 | Erreur : 10.448651
Epoch 767 | Erreur : 10.44369
Epoch 768 | Erreur : 10.438733
Epoch 769 | Erreur : 10.433781
Epoch 770 | Erreur : 10.428834
Epoch 771 | Erreur : 10.423894
Epoch 772 | Erreur : 10.418959
Epoch 773 | Erreur : 10.414029
Epoch 774 | Erreur : 10.409103
Epoch 775 | Erreur : 10.404187
Epoch 776 | Erreur : 10.399274
Epoch 777 | Erreur : 10.394366
Epoch 778 | Erreur : 10.38946
Epoch 779 | Erreur : 10.384565
Epoch 780 | Erreur : 10.379672
Epoch 781 | Erreur : 10.374787
Epoch 782 | Erreur : 10.3699045
Epoch 783 | Erreur : 10.365028
Epoch 784 | Erreur : 10.360158
Epoch 785 | Erreur : 10.355292
Epoch 786 | Erreur : 10.350433
Epoch 787 | Erreur : 10.345581
Epoch 788 | Erreur : 10.34073
Epoch 789 | Erreur : 10.335889
Epoch 790 | Erreur : 10.331046
Epoch 791 | Erreur : 10.326214
Epoch 792 | Erreur : 10.321386
Epoch 793 | Erreur : 10.316564
Epoch 794 | Erreur : 10.311748
Epoch 795 | Erreur : 10.306935
Epoch 796 | Erreur : 10.302127
Epoch 797 | Erreur : 10.297325
Epoch 798 | Erreur : 10.292529
Epoch 799 | Erreur : 10.287739
Epoch 800 | Erreur : 10.28295
Epoch 801 | Erreur : 10.278172
Epoch 802 | Erreur : 10.273395
Epoch 803 | Erreur : 10.268623
Epoch 804 | Erreur : 10.263857
Epoch 805 | Erreur : 10.259099
Epoch 806 | Erreur : 10.254342
Epoch 807 | Erreur : 10.249593
Epoch 808 | Erreur : 10.244849
Epoch 809 | Erreur : 10.2401085
Epoch 810 | Erreur : 10.2353735
Epoch 811 | Erreur : 10.230643
Epoch 812 | Erreur : 10.225917
Epoch 813 | Erreur : 10.221198
Epoch 814 | Erreur : 10.216484
Epoch 815 | Erreur : 10.211774
Epoch 816 | Erreur : 10.20707
Epoch 817 | Erreur : 10.20237
Epoch 818 | Erreur : 10.197675
Epoch 819 | Erreur : 10.1929865
Epoch 820 | Erreur : 10.188302
Epoch 821 | Erreur : 10.183623
Epoch 822 | Erreur : 10.178951
Epoch 823 | Erreur : 10.174281
Epoch 824 | Erreur : 10.169614
Epoch 825 | Erreur : 10.164956
Epoch 826 | Erreur : 10.160302
Epoch 827 | Erreur : 10.155651
Epoch 828 | Erreur : 10.151006
Epoch 829 | Erreur : 10.146367
Epoch 830 | Erreur : 10.141733
Epoch 831 | Erreur : 10.137103
Epoch 832 | Erreur : 10.132478
Epoch 833 | Erreur : 10.127859
Epoch 834 | Erreur : 10.123246
Epoch 835 | Erreur : 10.118633
Epoch 836 | Erreur : 10.114029
Epoch 837 | Erreur : 10.109428
Epoch 838 | Erreur : 10.104834
Epoch 839 | Erreur : 10.100242
Epoch 840 | Erreur : 10.095656
Epoch 841 | Erreur : 10.091076
Epoch 842 | Erreur : 10.086497
Epoch 843 | Erreur : 10.081926
Epoch 844 | Erreur : 10.077359
Epoch 845 | Erreur : 10.0728
Epoch 846 | Erreur : 10.068241
Epoch 847 | Erreur : 10.063688
Epoch 848 | Erreur : 10.059142
Epoch 849 | Erreur : 10.054599
Epoch 850 | Erreur : 10.05006
Epoch 851 | Erreur : 10.045527
Epoch 852 | Erreur : 10.041001
Epoch 853 | Erreur : 10.036476
Epoch 854 | Erreur : 10.031955
Epoch 855 | Erreur : 10.027444
Epoch 856 | Erreur : 10.022931
Epoch 857 | Erreur : 10.018428
Epoch 858 | Erreur : 10.013927
Epoch 859 | Erreur : 10.009431
Epoch 860 | Erreur : 10.00494
Epoch 861 | Erreur : 10.000455
Epoch 862 | Erreur : 9.995972
Epoch 863 | Erreur : 9.991496
Epoch 864 | Erreur : 9.987023
Epoch 865 | Erreur : 9.9825535
Epoch 866 | Erreur : 9.978092
Epoch 867 | Erreur : 9.973633
Epoch 868 | Erreur : 9.969182
Epoch 869 | Erreur : 9.96473
Epoch 870 | Erreur : 9.960288
Epoch 871 | Erreur : 9.955847
Epoch 872 | Erreur : 9.951411
Epoch 873 | Erreur : 9.94698
Epoch 874 | Erreur : 9.942554
Epoch 875 | Erreur : 9.938133
Epoch 876 | Erreur : 9.933717
Epoch 877 | Erreur : 9.929303
Epoch 878 | Erreur : 9.924897
Epoch 879 | Erreur : 9.920493
Epoch 880 | Erreur : 9.916093
Epoch 881 | Erreur : 9.911698
Epoch 882 | Erreur : 9.90731
Epoch 883 | Erreur : 9.902924
Epoch 884 | Erreur : 9.898543
Epoch 885 | Erreur : 9.894166
Epoch 886 | Erreur : 9.889796
Epoch 887 | Erreur : 9.8854265
Epoch 888 | Erreur : 9.881065
Epoch 889 | Erreur : 9.876708
Epoch 890 | Erreur : 9.872352
Epoch 891 | Erreur : 9.868004
Epoch 892 | Erreur : 9.863656
Epoch 893 | Erreur : 9.859317
Epoch 894 | Erreur : 9.854978
Epoch 895 | Erreur : 9.850647
Epoch 896 | Erreur : 9.846318
Epoch 897 | Erreur : 9.841996
Epoch 898 | Erreur : 9.837678
Epoch 899 | Erreur : 9.833364
Epoch 900 | Erreur : 9.829055
Epoch 901 | Erreur : 9.824749
Epoch 902 | Erreur : 9.820448
Epoch 903 | Erreur : 9.816151
Epoch 904 | Erreur : 9.811856
Epoch 905 | Erreur : 9.80757
Epoch 906 | Erreur : 9.803285
Epoch 907 | Erreur : 9.799006
Epoch 908 | Erreur : 9.794732
Epoch 909 | Erreur : 9.79046
Epoch 910 | Erreur : 9.786194
Epoch 911 | Erreur : 9.78193
Epoch 912 | Erreur : 9.777672
Epoch 913 | Erreur : 9.773418
Epoch 914 | Erreur : 9.769172
Epoch 915 | Erreur : 9.764924
Epoch 916 | Erreur : 9.760683
Epoch 917 | Erreur : 9.756446
Epoch 918 | Erreur : 9.752215
Epoch 919 | Erreur : 9.747985
Epoch 920 | Erreur : 9.743764
Epoch 921 | Erreur : 9.739544
Epoch 922 | Erreur : 9.735329
Epoch 923 | Erreur : 9.731116
Epoch 924 | Erreur : 9.72691
Epoch 925 | Erreur : 9.722709
Epoch 926 | Erreur : 9.718509
Epoch 927 | Erreur : 9.7143135
Epoch 928 | Erreur : 9.710125
Epoch 929 | Erreur : 9.705936
Epoch 930 | Erreur : 9.701756
Epoch 931 | Erreur : 9.697578
Epoch 932 | Erreur : 9.693404
Epoch 933 | Erreur : 9.689237
Epoch 934 | Erreur : 9.68507
Epoch 935 | Erreur : 9.680909
Epoch 936 | Erreur : 9.676753
Epoch 937 | Erreur : 9.6726
Epoch 938 | Erreur : 9.668451
Epoch 939 | Erreur : 9.664307
Epoch 940 | Erreur : 9.660165
Epoch 941 | Erreur : 9.65603
Epoch 942 | Erreur : 9.651897
Epoch 943 | Erreur : 9.647769
Epoch 944 | Erreur : 9.643646
Epoch 945 | Erreur : 9.6395235
Epoch 946 | Erreur : 9.635408
Epoch 947 | Erreur : 9.631298
Epoch 948 | Erreur : 9.62719
Epoch 949 | Erreur : 9.623087
Epoch 950 | Erreur : 9.618988
Epoch 951 | Erreur : 9.61489
Epoch 952 | Erreur : 9.610799
Epoch 953 | Erreur : 9.606712
Epoch 954 | Erreur : 9.602628
Epoch 955 | Erreur : 9.598549
Epoch 956 | Erreur : 9.594474
Epoch 957 | Erreur : 9.590401
Epoch 958 | Erreur : 9.586334
Epoch 959 | Erreur : 9.582271
Epoch 960 | Erreur : 9.578211
Epoch 961 | Erreur : 9.574155
Epoch 962 | Erreur : 9.570103
Epoch 963 | Erreur : 9.566056
Epoch 964 | Erreur : 9.562013
Epoch 965 | Erreur : 9.557973
Epoch 966 | Erreur : 9.553937
Epoch 967 | Erreur : 9.549905
Epoch 968 | Erreur : 9.5458765
Epoch 969 | Erreur : 9.541852
Epoch 970 | Erreur : 9.537832
Epoch 971 | Erreur : 9.533818
Epoch 972 | Erreur : 9.529803
Epoch 973 | Erreur : 9.525796
Epoch 974 | Erreur : 9.521791
Epoch 975 | Erreur : 9.517793
Epoch 976 | Erreur : 9.513795
Epoch 977 | Erreur : 9.509801
Epoch 978 | Erreur : 9.505815
Epoch 979 | Erreur : 9.501828
Epoch 980 | Erreur : 9.4978485
Epoch 981 | Erreur : 9.49387
Epoch 982 | Erreur : 9.489899
Epoch 983 | Erreur : 9.485929
Epoch 984 | Erreur : 9.481961
Epoch 985 | Erreur : 9.478001
Epoch 986 | Erreur : 9.474042
Epoch 987 | Erreur : 9.470086
Epoch 988 | Erreur : 9.466138
Epoch 989 | Erreur : 9.462191
Epoch 990 | Erreur : 9.458247
Epoch 991 | Erreur : 9.4543085
Epoch 992 | Erreur : 9.450374
Epoch 993 | Erreur : 9.446443
Epoch 994 | Erreur : 9.442515
Epoch 995 | Erreur : 9.438591
Epoch 996 | Erreur : 9.434672
Epoch 997 | Erreur : 9.430755
Epoch 998 | Erreur : 9.426844
Epoch 999 | Erreur : 9.422933
Epoch 1000 | Erreur : 9.419029
In [42]:
#Affichage du graphique
plt.plot(Graphique_Erreur)
plt.show()

Réalisation de quelques prédictions

In [43]:
nbPredictions = 0
nbBonnesPredictions = 0

for i in range(len(X_test)):
    nbPredictions = nbPredictions+1
    
    #Prediction attendue
    attendu  = y_test[i]
    
    #Prediction
    predition = np.rint(session.run(final_output, feed_dict={couche_entree: [X_test[i]]}))
    
    
    print('Reel:', y_test[i], 'Predit:', predition[0])
    if (str(y_test[i]) == str(predition[0])):
        nbBonnesPredictions = nbBonnesPredictions+1
        
print ("\nPrecision = "+str((nbBonnesPredictions/nbPredictions)*100)+" %")  
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 1. 0.] Predit: [0. 1. 0.]
Reel: [0. 0. 1.] Predit: [0. 0. 1.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [1. 0. 0.] Predit: [1. 0. 0.]
Reel: [0. 1. 0.] Predit: [0. 0. 1.]
Reel: [0. 1. 0.] Predit: [0. 0. 1.]

Precision = 95.55555555555556 %

Utilisation de KERAS

Configuration du réseau de neurones

In [45]:
from keras import models
from keras import layers
from keras.models import Sequential
from keras.layers import Dense

#Suppression des warning (3 = les messages de type INFO, WARNING et ERROR seront non affichés)
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' 


#Modèle de type séquentiel (Empilement)
model = Sequential()

#Couche d'entrée 
#(Nombre de neurones en sortie, nombre de neurones en entrée, nom, fonction d'activation)
model.add(Dense(3, input_dim=4, name='couche_entree',activation='relu'))

#Couche de sortie
model.add(Dense(3, activation='softmax', name='couche_sortie'))


print(model.summary())
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
couche_entree (Dense)        (None, 3)                 15        
_________________________________________________________________
couche_sortie (Dense)        (None, 3)                 12        
=================================================================
Total params: 27
Trainable params: 27
Non-trainable params: 0
_________________________________________________________________
None

Initialisation du réseau et apprentissage

In [47]:
#Suppression des warning (3 = les messages de type INFO, WARNING et ERROR seront non affichés)
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' 


#On retrouve la fonction d'erreur cross_entropy
model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

#Apprentissage
model.fit(X_train, y_train, epochs=500)
Epoch 1/500
105/105 [==============================] - 0s 3ms/step - loss: 0.5087 - acc: 0.7143
Epoch 2/500
105/105 [==============================] - 0s 48us/step - loss: 0.5083 - acc: 0.7143
Epoch 3/500
105/105 [==============================] - 0s 66us/step - loss: 0.5078 - acc: 0.7143
Epoch 4/500
105/105 [==============================] - 0s 57us/step - loss: 0.5074 - acc: 0.7143
Epoch 5/500
105/105 [==============================] - 0s 57us/step - loss: 0.5070 - acc: 0.7143
Epoch 6/500
105/105 [==============================] - 0s 57us/step - loss: 0.5067 - acc: 0.7143
Epoch 7/500
105/105 [==============================] - 0s 48us/step - loss: 0.5063 - acc: 0.7143
Epoch 8/500
105/105 [==============================] - 0s 67us/step - loss: 0.5059 - acc: 0.7143
Epoch 9/500
105/105 [==============================] - 0s 57us/step - loss: 0.5056 - acc: 0.7143
Epoch 10/500
105/105 [==============================] - 0s 67us/step - loss: 0.5052 - acc: 0.7143
Epoch 11/500
105/105 [==============================] - 0s 57us/step - loss: 0.5048 - acc: 0.7143
Epoch 12/500
105/105 [==============================] - 0s 57us/step - loss: 0.5045 - acc: 0.7143
Epoch 13/500
105/105 [==============================] - 0s 57us/step - loss: 0.5041 - acc: 0.7143
Epoch 14/500
105/105 [==============================] - 0s 47us/step - loss: 0.5038 - acc: 0.7143
Epoch 15/500
105/105 [==============================] - 0s 66us/step - loss: 0.5034 - acc: 0.7143
Epoch 16/500
105/105 [==============================] - 0s 57us/step - loss: 0.5030 - acc: 0.7143
Epoch 17/500
105/105 [==============================] - 0s 76us/step - loss: 0.5027 - acc: 0.7143
Epoch 18/500
105/105 [==============================] - 0s 57us/step - loss: 0.5023 - acc: 0.7143
Epoch 19/500
105/105 [==============================] - 0s 66us/step - loss: 0.5020 - acc: 0.7143
Epoch 20/500
105/105 [==============================] - 0s 57us/step - loss: 0.5016 - acc: 0.7143
Epoch 21/500
105/105 [==============================] - 0s 47us/step - loss: 0.5013 - acc: 0.7143
Epoch 22/500
105/105 [==============================] - 0s 76us/step - loss: 0.5009 - acc: 0.7143
Epoch 23/500
105/105 [==============================] - 0s 47us/step - loss: 0.5006 - acc: 0.7143
Epoch 24/500
105/105 [==============================] - 0s 66us/step - loss: 0.5002 - acc: 0.7143
Epoch 25/500
105/105 [==============================] - 0s 57us/step - loss: 0.4996 - acc: 0.7143
Epoch 26/500
105/105 [==============================] - 0s 57us/step - loss: 0.4989 - acc: 0.7143
Epoch 27/500
105/105 [==============================] - 0s 57us/step - loss: 0.4979 - acc: 0.7143
Epoch 28/500
105/105 [==============================] - 0s 57us/step - loss: 0.4969 - acc: 0.7143
Epoch 29/500
105/105 [==============================] - 0s 57us/step - loss: 0.4955 - acc: 0.7238
Epoch 30/500
105/105 [==============================] - 0s 57us/step - loss: 0.4942 - acc: 0.7238
Epoch 31/500
105/105 [==============================] - 0s 57us/step - loss: 0.4926 - acc: 0.7238
Epoch 32/500
105/105 [==============================] - 0s 66us/step - loss: 0.4909 - acc: 0.7048
Epoch 33/500
105/105 [==============================] - 0s 57us/step - loss: 0.4898 - acc: 0.6952
Epoch 34/500
105/105 [==============================] - 0s 57us/step - loss: 0.4890 - acc: 0.7048
Epoch 35/500
105/105 [==============================] - 0s 38us/step - loss: 0.4885 - acc: 0.7238
Epoch 36/500
105/105 [==============================] - 0s 66us/step - loss: 0.4876 - acc: 0.7429
Epoch 37/500
105/105 [==============================] - 0s 47us/step - loss: 0.4868 - acc: 0.7238
Epoch 38/500
105/105 [==============================] - 0s 47us/step - loss: 0.4864 - acc: 0.7048
Epoch 39/500
105/105 [==============================] - 0s 66us/step - loss: 0.4855 - acc: 0.7048
Epoch 40/500
105/105 [==============================] - 0s 47us/step - loss: 0.4848 - acc: 0.7143
Epoch 41/500
105/105 [==============================] - 0s 76us/step - loss: 0.4842 - acc: 0.7524
Epoch 42/500
105/105 [==============================] - 0s 47us/step - loss: 0.4833 - acc: 0.7619
Epoch 43/500
105/105 [==============================] - 0s 67us/step - loss: 0.4828 - acc: 0.7714
Epoch 44/500
105/105 [==============================] - 0s 47us/step - loss: 0.4821 - acc: 0.7714
Epoch 45/500
105/105 [==============================] - 0s 66us/step - loss: 0.4815 - acc: 0.7810
Epoch 46/500
105/105 [==============================] - 0s 57us/step - loss: 0.4806 - acc: 0.7810
Epoch 47/500
105/105 [==============================] - 0s 48us/step - loss: 0.4800 - acc: 0.7714
Epoch 48/500
105/105 [==============================] - 0s 76us/step - loss: 0.4793 - acc: 0.7714
Epoch 49/500
105/105 [==============================] - 0s 47us/step - loss: 0.4786 - acc: 0.7810
Epoch 50/500
105/105 [==============================] - 0s 67us/step - loss: 0.4779 - acc: 0.7810
Epoch 51/500
105/105 [==============================] - 0s 47us/step - loss: 0.4772 - acc: 0.7714
Epoch 52/500
105/105 [==============================] - 0s 57us/step - loss: 0.4765 - acc: 0.7714
Epoch 53/500
105/105 [==============================] - 0s 57us/step - loss: 0.4759 - acc: 0.7810
Epoch 54/500
105/105 [==============================] - 0s 57us/step - loss: 0.4753 - acc: 0.7810
Epoch 55/500
105/105 [==============================] - 0s 57us/step - loss: 0.4745 - acc: 0.7810
Epoch 56/500
105/105 [==============================] - 0s 57us/step - loss: 0.4736 - acc: 0.7714
Epoch 57/500
105/105 [==============================] - 0s 66us/step - loss: 0.4725 - acc: 0.7905
Epoch 58/500
105/105 [==============================] - 0s 47us/step - loss: 0.4718 - acc: 0.7905
Epoch 59/500
105/105 [==============================] - 0s 66us/step - loss: 0.4715 - acc: 0.8000
Epoch 60/500
105/105 [==============================] - 0s 47us/step - loss: 0.4702 - acc: 0.7905
Epoch 61/500
105/105 [==============================] - 0s 67us/step - loss: 0.4695 - acc: 0.7905
Epoch 62/500
105/105 [==============================] - 0s 47us/step - loss: 0.4688 - acc: 0.7905
Epoch 63/500
105/105 [==============================] - 0s 57us/step - loss: 0.4674 - acc: 0.7905
Epoch 64/500
105/105 [==============================] - 0s 57us/step - loss: 0.4664 - acc: 0.7905
Epoch 65/500
105/105 [==============================] - 0s 76us/step - loss: 0.4656 - acc: 0.7905
Epoch 66/500
105/105 [==============================] - 0s 47us/step - loss: 0.4648 - acc: 0.8000
Epoch 67/500
105/105 [==============================] - 0s 57us/step - loss: 0.4639 - acc: 0.7905
Epoch 68/500
105/105 [==============================] - 0s 57us/step - loss: 0.4634 - acc: 0.7905
Epoch 69/500
105/105 [==============================] - 0s 57us/step - loss: 0.4627 - acc: 0.7905
Epoch 70/500
105/105 [==============================] - 0s 57us/step - loss: 0.4614 - acc: 0.7905
Epoch 71/500
105/105 [==============================] - 0s 57us/step - loss: 0.4608 - acc: 0.8095
Epoch 72/500
105/105 [==============================] - 0s 47us/step - loss: 0.4600 - acc: 0.8095
Epoch 73/500
105/105 [==============================] - 0s 57us/step - loss: 0.4588 - acc: 0.8190
Epoch 74/500
105/105 [==============================] - 0s 57us/step - loss: 0.4580 - acc: 0.8286
Epoch 75/500
105/105 [==============================] - 0s 57us/step - loss: 0.4572 - acc: 0.8381
Epoch 76/500
105/105 [==============================] - 0s 47us/step - loss: 0.4566 - acc: 0.8286
Epoch 77/500
105/105 [==============================] - 0s 57us/step - loss: 0.4555 - acc: 0.8190
Epoch 78/500
105/105 [==============================] - 0s 47us/step - loss: 0.4548 - acc: 0.8381
Epoch 79/500
105/105 [==============================] - 0s 57us/step - loss: 0.4540 - acc: 0.8286
Epoch 80/500
105/105 [==============================] - 0s 66us/step - loss: 0.4531 - acc: 0.8381
Epoch 81/500
105/105 [==============================] - 0s 57us/step - loss: 0.4520 - acc: 0.8381
Epoch 82/500
105/105 [==============================] - 0s 57us/step - loss: 0.4508 - acc: 0.8381
Epoch 83/500
105/105 [==============================] - 0s 48us/step - loss: 0.4497 - acc: 0.8381
Epoch 84/500
105/105 [==============================] - 0s 47us/step - loss: 0.4489 - acc: 0.8381
Epoch 85/500
105/105 [==============================] - 0s 57us/step - loss: 0.4483 - acc: 0.8381
Epoch 86/500
105/105 [==============================] - 0s 47us/step - loss: 0.4471 - acc: 0.8381
Epoch 87/500
105/105 [==============================] - 0s 57us/step - loss: 0.4464 - acc: 0.8381
Epoch 88/500
105/105 [==============================] - 0s 57us/step - loss: 0.4453 - acc: 0.8381
Epoch 89/500
105/105 [==============================] - 0s 47us/step - loss: 0.4446 - acc: 0.8381
Epoch 90/500
105/105 [==============================] - 0s 57us/step - loss: 0.4431 - acc: 0.8381
Epoch 91/500
105/105 [==============================] - 0s 57us/step - loss: 0.4424 - acc: 0.8381
Epoch 92/500
105/105 [==============================] - 0s 76us/step - loss: 0.4415 - acc: 0.8381
Epoch 93/500
105/105 [==============================] - 0s 47us/step - loss: 0.4403 - acc: 0.8381
Epoch 94/500
105/105 [==============================] - 0s 76us/step - loss: 0.4394 - acc: 0.8381
Epoch 95/500
105/105 [==============================] - 0s 47us/step - loss: 0.4385 - acc: 0.8476
Epoch 96/500
105/105 [==============================] - 0s 47us/step - loss: 0.4372 - acc: 0.8571
Epoch 97/500
105/105 [==============================] - 0s 57us/step - loss: 0.4361 - acc: 0.8571
Epoch 98/500
105/105 [==============================] - 0s 47us/step - loss: 0.4352 - acc: 0.8476
Epoch 99/500
105/105 [==============================] - ETA: 0s - loss: 0.4476 - acc: 0.843 - 0s 57us/step - loss: 0.4344 - acc: 0.8476
Epoch 100/500
105/105 [==============================] - 0s 38us/step - loss: 0.4339 - acc: 0.8476
Epoch 101/500
105/105 [==============================] - 0s 57us/step - loss: 0.4324 - acc: 0.8571
Epoch 102/500
105/105 [==============================] - 0s 47us/step - loss: 0.4313 - acc: 0.8476
Epoch 103/500
105/105 [==============================] - 0s 38us/step - loss: 0.4302 - acc: 0.8571
Epoch 104/500
105/105 [==============================] - 0s 57us/step - loss: 0.4292 - acc: 0.8571
Epoch 105/500
105/105 [==============================] - 0s 47us/step - loss: 0.4281 - acc: 0.8667
Epoch 106/500
105/105 [==============================] - 0s 47us/step - loss: 0.4271 - acc: 0.8667
Epoch 107/500
105/105 [==============================] - 0s 47us/step - loss: 0.4264 - acc: 0.8667
Epoch 108/500
105/105 [==============================] - 0s 38us/step - loss: 0.4252 - acc: 0.8667
Epoch 109/500
105/105 [==============================] - 0s 47us/step - loss: 0.4237 - acc: 0.8667
Epoch 110/500
105/105 [==============================] - 0s 47us/step - loss: 0.4228 - acc: 0.8667
Epoch 111/500
105/105 [==============================] - 0s 47us/step - loss: 0.4217 - acc: 0.8667
Epoch 112/500
105/105 [==============================] - 0s 57us/step - loss: 0.4208 - acc: 0.8667
Epoch 113/500
105/105 [==============================] - 0s 47us/step - loss: 0.4196 - acc: 0.8667
Epoch 114/500
105/105 [==============================] - 0s 47us/step - loss: 0.4184 - acc: 0.8667
Epoch 115/500
105/105 [==============================] - 0s 47us/step - loss: 0.4176 - acc: 0.8667
Epoch 116/500
105/105 [==============================] - 0s 47us/step - loss: 0.4163 - acc: 0.8667
Epoch 117/500
105/105 [==============================] - 0s 57us/step - loss: 0.4155 - acc: 0.8667
Epoch 118/500
105/105 [==============================] - 0s 38us/step - loss: 0.4140 - acc: 0.8667
Epoch 119/500
105/105 [==============================] - 0s 47us/step - loss: 0.4138 - acc: 0.8667
Epoch 120/500
105/105 [==============================] - 0s 48us/step - loss: 0.4122 - acc: 0.8667
Epoch 121/500
105/105 [==============================] - 0s 47us/step - loss: 0.4109 - acc: 0.8667
Epoch 122/500
105/105 [==============================] - 0s 47us/step - loss: 0.4096 - acc: 0.8667
Epoch 123/500
105/105 [==============================] - 0s 47us/step - loss: 0.4088 - acc: 0.8762
Epoch 124/500
105/105 [==============================] - 0s 57us/step - loss: 0.4079 - acc: 0.8762
Epoch 125/500
105/105 [==============================] - 0s 57us/step - loss: 0.4066 - acc: 0.8762
Epoch 126/500
105/105 [==============================] - 0s 48us/step - loss: 0.4056 - acc: 0.8762
Epoch 127/500
105/105 [==============================] - 0s 47us/step - loss: 0.4046 - acc: 0.8762
Epoch 128/500
105/105 [==============================] - 0s 47us/step - loss: 0.4035 - acc: 0.8762
Epoch 129/500
105/105 [==============================] - 0s 57us/step - loss: 0.4025 - acc: 0.8762
Epoch 130/500
105/105 [==============================] - 0s 47us/step - loss: 0.4016 - acc: 0.8762
Epoch 131/500
105/105 [==============================] - 0s 57us/step - loss: 0.4014 - acc: 0.8667
Epoch 132/500
105/105 [==============================] - 0s 47us/step - loss: 0.4005 - acc: 0.8667
Epoch 133/500
105/105 [==============================] - 0s 47us/step - loss: 0.3986 - acc: 0.8762
Epoch 134/500
105/105 [==============================] - 0s 57us/step - loss: 0.3974 - acc: 0.8762
Epoch 135/500
105/105 [==============================] - 0s 57us/step - loss: 0.3963 - acc: 0.8762
Epoch 136/500
105/105 [==============================] - 0s 47us/step - loss: 0.3950 - acc: 0.8762
Epoch 137/500
105/105 [==============================] - 0s 38us/step - loss: 0.3937 - acc: 0.8762
Epoch 138/500
105/105 [==============================] - 0s 57us/step - loss: 0.3928 - acc: 0.8762
Epoch 139/500
105/105 [==============================] - 0s 47us/step - loss: 0.3918 - acc: 0.8762
Epoch 140/500
105/105 [==============================] - 0s 47us/step - loss: 0.3911 - acc: 0.8762
Epoch 141/500
105/105 [==============================] - 0s 57us/step - loss: 0.3903 - acc: 0.8857
Epoch 142/500
105/105 [==============================] - 0s 48us/step - loss: 0.3891 - acc: 0.8857
Epoch 143/500
105/105 [==============================] - 0s 47us/step - loss: 0.3895 - acc: 0.8857
Epoch 144/500
105/105 [==============================] - 0s 47us/step - loss: 0.3877 - acc: 0.8857
Epoch 145/500
105/105 [==============================] - 0s 57us/step - loss: 0.3861 - acc: 0.8857
Epoch 146/500
105/105 [==============================] - 0s 47us/step - loss: 0.3856 - acc: 0.8857
Epoch 147/500
105/105 [==============================] - 0s 57us/step - loss: 0.3843 - acc: 0.8762
Epoch 148/500
105/105 [==============================] - 0s 57us/step - loss: 0.3827 - acc: 0.8762
Epoch 149/500
105/105 [==============================] - 0s 57us/step - loss: 0.3814 - acc: 0.8762
Epoch 150/500
105/105 [==============================] - 0s 57us/step - loss: 0.3810 - acc: 0.8762
Epoch 151/500
105/105 [==============================] - 0s 48us/step - loss: 0.3801 - acc: 0.8762
Epoch 152/500
105/105 [==============================] - 0s 48us/step - loss: 0.3791 - acc: 0.8762
Epoch 153/500
105/105 [==============================] - 0s 47us/step - loss: 0.3773 - acc: 0.8762
Epoch 154/500
105/105 [==============================] - 0s 57us/step - loss: 0.3772 - acc: 0.8667
Epoch 155/500
105/105 [==============================] - 0s 57us/step - loss: 0.3758 - acc: 0.8762
Epoch 156/500
105/105 [==============================] - 0s 47us/step - loss: 0.3741 - acc: 0.8762
Epoch 157/500
105/105 [==============================] - 0s 47us/step - loss: 0.3729 - acc: 0.8857
Epoch 158/500
105/105 [==============================] - 0s 47us/step - loss: 0.3738 - acc: 0.8857
Epoch 159/500
105/105 [==============================] - 0s 57us/step - loss: 0.3731 - acc: 0.8857
Epoch 160/500
105/105 [==============================] - 0s 57us/step - loss: 0.3716 - acc: 0.8857
Epoch 161/500
105/105 [==============================] - 0s 47us/step - loss: 0.3694 - acc: 0.8857
Epoch 162/500
105/105 [==============================] - 0s 47us/step - loss: 0.3683 - acc: 0.8857
Epoch 163/500
105/105 [==============================] - 0s 57us/step - loss: 0.3675 - acc: 0.8857
Epoch 164/500
105/105 [==============================] - 0s 47us/step - loss: 0.3664 - acc: 0.8857
Epoch 165/500
105/105 [==============================] - 0s 47us/step - loss: 0.3653 - acc: 0.8857
Epoch 166/500
105/105 [==============================] - 0s 47us/step - loss: 0.3645 - acc: 0.8857
Epoch 167/500
105/105 [==============================] - 0s 38us/step - loss: 0.3630 - acc: 0.8857
Epoch 168/500
105/105 [==============================] - 0s 47us/step - loss: 0.3618 - acc: 0.8857
Epoch 169/500
105/105 [==============================] - 0s 48us/step - loss: 0.3612 - acc: 0.8857
Epoch 170/500
105/105 [==============================] - 0s 47us/step - loss: 0.3598 - acc: 0.8857
Epoch 171/500
105/105 [==============================] - 0s 47us/step - loss: 0.3588 - acc: 0.8952
Epoch 172/500
105/105 [==============================] - 0s 47us/step - loss: 0.3582 - acc: 0.8857
Epoch 173/500
105/105 [==============================] - 0s 47us/step - loss: 0.3567 - acc: 0.8857
Epoch 174/500
105/105 [==============================] - 0s 47us/step - loss: 0.3558 - acc: 0.8952
Epoch 175/500
105/105 [==============================] - 0s 57us/step - loss: 0.3549 - acc: 0.8952
Epoch 176/500
105/105 [==============================] - 0s 38us/step - loss: 0.3540 - acc: 0.8952
Epoch 177/500
105/105 [==============================] - 0s 57us/step - loss: 0.3527 - acc: 0.8857
Epoch 178/500
105/105 [==============================] - 0s 47us/step - loss: 0.3516 - acc: 0.8857
Epoch 179/500
105/105 [==============================] - 0s 47us/step - loss: 0.3509 - acc: 0.8952
Epoch 180/500
105/105 [==============================] - 0s 47us/step - loss: 0.3498 - acc: 0.8857
Epoch 181/500
105/105 [==============================] - 0s 47us/step - loss: 0.3489 - acc: 0.8857
Epoch 182/500
105/105 [==============================] - 0s 38us/step - loss: 0.3480 - acc: 0.8952
Epoch 183/500
105/105 [==============================] - 0s 57us/step - loss: 0.3465 - acc: 0.8952
Epoch 184/500
105/105 [==============================] - 0s 57us/step - loss: 0.3466 - acc: 0.8857
Epoch 185/500
105/105 [==============================] - 0s 57us/step - loss: 0.3450 - acc: 0.9048
Epoch 186/500
105/105 [==============================] - 0s 47us/step - loss: 0.3436 - acc: 0.9048
Epoch 187/500
105/105 [==============================] - 0s 38us/step - loss: 0.3428 - acc: 0.9143
Epoch 188/500
105/105 [==============================] - 0s 57us/step - loss: 0.3423 - acc: 0.9143
Epoch 189/500
105/105 [==============================] - 0s 38us/step - loss: 0.3422 - acc: 0.9238
Epoch 190/500
105/105 [==============================] - 0s 47us/step - loss: 0.3404 - acc: 0.9238
Epoch 191/500
105/105 [==============================] - 0s 57us/step - loss: 0.3388 - acc: 0.9143
Epoch 192/500
105/105 [==============================] - 0s 38us/step - loss: 0.3380 - acc: 0.9048
Epoch 193/500
105/105 [==============================] - 0s 57us/step - loss: 0.3371 - acc: 0.9048
Epoch 194/500
105/105 [==============================] - 0s 47us/step - loss: 0.3361 - acc: 0.9048
Epoch 195/500
105/105 [==============================] - 0s 57us/step - loss: 0.3349 - acc: 0.9048
Epoch 196/500
105/105 [==============================] - 0s 57us/step - loss: 0.3337 - acc: 0.9143
Epoch 197/500
105/105 [==============================] - 0s 47us/step - loss: 0.3327 - acc: 0.9143
Epoch 198/500
105/105 [==============================] - 0s 57us/step - loss: 0.3323 - acc: 0.9143
Epoch 199/500
105/105 [==============================] - 0s 47us/step - loss: 0.3311 - acc: 0.9143
Epoch 200/500
105/105 [==============================] - 0s 57us/step - loss: 0.3303 - acc: 0.9333
Epoch 201/500
105/105 [==============================] - 0s 47us/step - loss: 0.3290 - acc: 0.9143
Epoch 202/500
105/105 [==============================] - 0s 47us/step - loss: 0.3279 - acc: 0.9143
Epoch 203/500
105/105 [==============================] - 0s 57us/step - loss: 0.3271 - acc: 0.9143
Epoch 204/500
105/105 [==============================] - 0s 57us/step - loss: 0.3260 - acc: 0.9143
Epoch 205/500
105/105 [==============================] - 0s 57us/step - loss: 0.3251 - acc: 0.9143
Epoch 206/500
105/105 [==============================] - 0s 57us/step - loss: 0.3242 - acc: 0.9143
Epoch 207/500
105/105 [==============================] - 0s 47us/step - loss: 0.3233 - acc: 0.9143
Epoch 208/500
105/105 [==============================] - 0s 47us/step - loss: 0.3222 - acc: 0.9143
Epoch 209/500
105/105 [==============================] - 0s 47us/step - loss: 0.3212 - acc: 0.9143
Epoch 210/500
105/105 [==============================] - 0s 57us/step - loss: 0.3208 - acc: 0.9143
Epoch 211/500
105/105 [==============================] - 0s 47us/step - loss: 0.3194 - acc: 0.9143
Epoch 212/500
105/105 [==============================] - 0s 47us/step - loss: 0.3186 - acc: 0.9143
Epoch 213/500
105/105 [==============================] - 0s 47us/step - loss: 0.3174 - acc: 0.9143
Epoch 214/500
105/105 [==============================] - 0s 57us/step - loss: 0.3168 - acc: 0.9143
Epoch 215/500
105/105 [==============================] - 0s 48us/step - loss: 0.3165 - acc: 0.9238
Epoch 216/500
105/105 [==============================] - 0s 47us/step - loss: 0.3150 - acc: 0.9143
Epoch 217/500
105/105 [==============================] - 0s 47us/step - loss: 0.3143 - acc: 0.9238
Epoch 218/500
105/105 [==============================] - 0s 48us/step - loss: 0.3137 - acc: 0.9143
Epoch 219/500
105/105 [==============================] - 0s 47us/step - loss: 0.3125 - acc: 0.9143
Epoch 220/500
105/105 [==============================] - 0s 57us/step - loss: 0.3117 - acc: 0.9143
Epoch 221/500
105/105 [==============================] - 0s 48us/step - loss: 0.3105 - acc: 0.9143
Epoch 222/500
105/105 [==============================] - 0s 47us/step - loss: 0.3095 - acc: 0.9143
Epoch 223/500
105/105 [==============================] - 0s 57us/step - loss: 0.3088 - acc: 0.9238
Epoch 224/500
105/105 [==============================] - 0s 47us/step - loss: 0.3077 - acc: 0.9238
Epoch 225/500
105/105 [==============================] - 0s 47us/step - loss: 0.3071 - acc: 0.9238
Epoch 226/500
105/105 [==============================] - 0s 57us/step - loss: 0.3067 - acc: 0.9238
Epoch 227/500
105/105 [==============================] - 0s 47us/step - loss: 0.3055 - acc: 0.9238
Epoch 228/500
105/105 [==============================] - 0s 57us/step - loss: 0.3043 - acc: 0.9238
Epoch 229/500
105/105 [==============================] - 0s 57us/step - loss: 0.3039 - acc: 0.9238
Epoch 230/500
105/105 [==============================] - 0s 57us/step - loss: 0.3033 - acc: 0.9333
Epoch 231/500
105/105 [==============================] - 0s 57us/step - loss: 0.3017 - acc: 0.9238
Epoch 232/500
105/105 [==============================] - 0s 47us/step - loss: 0.3009 - acc: 0.9333
Epoch 233/500
105/105 [==============================] - 0s 47us/step - loss: 0.3000 - acc: 0.9333
Epoch 234/500
105/105 [==============================] - 0s 47us/step - loss: 0.2990 - acc: 0.9333
Epoch 235/500
105/105 [==============================] - 0s 57us/step - loss: 0.2982 - acc: 0.9333
Epoch 236/500
105/105 [==============================] - 0s 57us/step - loss: 0.2980 - acc: 0.9333
Epoch 237/500
105/105 [==============================] - 0s 47us/step - loss: 0.2969 - acc: 0.9333
Epoch 238/500
105/105 [==============================] - 0s 47us/step - loss: 0.2966 - acc: 0.9333
Epoch 239/500
105/105 [==============================] - 0s 48us/step - loss: 0.2958 - acc: 0.9238
Epoch 240/500
105/105 [==============================] - 0s 57us/step - loss: 0.2936 - acc: 0.9333
Epoch 241/500
105/105 [==============================] - 0s 57us/step - loss: 0.2938 - acc: 0.9333
Epoch 242/500
105/105 [==============================] - 0s 47us/step - loss: 0.2932 - acc: 0.9333
Epoch 243/500
105/105 [==============================] - 0s 76us/step - loss: 0.2914 - acc: 0.9429
Epoch 244/500
105/105 [==============================] - 0s 47us/step - loss: 0.2907 - acc: 0.9429
Epoch 245/500
105/105 [==============================] - 0s 57us/step - loss: 0.2898 - acc: 0.9333
Epoch 246/500
105/105 [==============================] - 0s 47us/step - loss: 0.2890 - acc: 0.9333
Epoch 247/500
105/105 [==============================] - 0s 57us/step - loss: 0.2882 - acc: 0.9333
Epoch 248/500
105/105 [==============================] - 0s 48us/step - loss: 0.2877 - acc: 0.9333
Epoch 249/500
105/105 [==============================] - 0s 47us/step - loss: 0.2865 - acc: 0.9333
Epoch 250/500
105/105 [==============================] - 0s 47us/step - loss: 0.2861 - acc: 0.9429
Epoch 251/500
105/105 [==============================] - 0s 57us/step - loss: 0.2850 - acc: 0.9333
Epoch 252/500
105/105 [==============================] - 0s 57us/step - loss: 0.2844 - acc: 0.9333
Epoch 253/500
105/105 [==============================] - 0s 47us/step - loss: 0.2830 - acc: 0.9333
Epoch 254/500
105/105 [==============================] - 0s 47us/step - loss: 0.2827 - acc: 0.9429
Epoch 255/500
105/105 [==============================] - 0s 66us/step - loss: 0.2817 - acc: 0.9429
Epoch 256/500
105/105 [==============================] - 0s 38us/step - loss: 0.2811 - acc: 0.9333
Epoch 257/500
105/105 [==============================] - 0s 57us/step - loss: 0.2798 - acc: 0.9429
Epoch 258/500
105/105 [==============================] - 0s 57us/step - loss: 0.2800 - acc: 0.9429
Epoch 259/500
105/105 [==============================] - 0s 38us/step - loss: 0.2793 - acc: 0.9429
Epoch 260/500
105/105 [==============================] - 0s 57us/step - loss: 0.2781 - acc: 0.9429
Epoch 261/500
105/105 [==============================] - 0s 38us/step - loss: 0.2770 - acc: 0.9333
Epoch 262/500
105/105 [==============================] - 0s 38us/step - loss: 0.2766 - acc: 0.9333
Epoch 263/500
105/105 [==============================] - 0s 47us/step - loss: 0.2758 - acc: 0.9333
Epoch 264/500
105/105 [==============================] - 0s 47us/step - loss: 0.2751 - acc: 0.9333
Epoch 265/500
105/105 [==============================] - 0s 57us/step - loss: 0.2744 - acc: 0.9429
Epoch 266/500
105/105 [==============================] - 0s 114us/step - loss: 0.2731 - acc: 0.9429
Epoch 267/500
105/105 [==============================] - 0s 47us/step - loss: 0.2727 - acc: 0.9429
Epoch 268/500
105/105 [==============================] - 0s 57us/step - loss: 0.2719 - acc: 0.9429
Epoch 269/500
105/105 [==============================] - 0s 57us/step - loss: 0.2719 - acc: 0.9429
Epoch 270/500
105/105 [==============================] - 0s 47us/step - loss: 0.2711 - acc: 0.9429
Epoch 271/500
105/105 [==============================] - 0s 47us/step - loss: 0.2700 - acc: 0.9429
Epoch 272/500
105/105 [==============================] - 0s 57us/step - loss: 0.2687 - acc: 0.9333
Epoch 273/500
105/105 [==============================] - 0s 47us/step - loss: 0.2676 - acc: 0.9429
Epoch 274/500
105/105 [==============================] - 0s 47us/step - loss: 0.2675 - acc: 0.9429
Epoch 275/500
105/105 [==============================] - 0s 48us/step - loss: 0.2669 - acc: 0.9333
Epoch 276/500
105/105 [==============================] - 0s 47us/step - loss: 0.2656 - acc: 0.9429
Epoch 277/500
105/105 [==============================] - 0s 57us/step - loss: 0.2644 - acc: 0.9429
Epoch 278/500
105/105 [==============================] - 0s 47us/step - loss: 0.2645 - acc: 0.9429
Epoch 279/500
105/105 [==============================] - 0s 57us/step - loss: 0.2635 - acc: 0.9429
Epoch 280/500
105/105 [==============================] - 0s 57us/step - loss: 0.2629 - acc: 0.9429
Epoch 281/500
105/105 [==============================] - 0s 38us/step - loss: 0.2624 - acc: 0.9429
Epoch 282/500
105/105 [==============================] - 0s 47us/step - loss: 0.2617 - acc: 0.9429
Epoch 283/500
105/105 [==============================] - 0s 57us/step - loss: 0.2610 - acc: 0.9429
Epoch 284/500
105/105 [==============================] - 0s 38us/step - loss: 0.2600 - acc: 0.9429
Epoch 285/500
105/105 [==============================] - 0s 57us/step - loss: 0.2592 - acc: 0.9429
Epoch 286/500
105/105 [==============================] - 0s 47us/step - loss: 0.2583 - acc: 0.9429
Epoch 287/500
105/105 [==============================] - 0s 57us/step - loss: 0.2577 - acc: 0.9429
Epoch 288/500
105/105 [==============================] - 0s 47us/step - loss: 0.2577 - acc: 0.9429
Epoch 289/500
105/105 [==============================] - 0s 38us/step - loss: 0.2567 - acc: 0.9429
Epoch 290/500
105/105 [==============================] - 0s 47us/step - loss: 0.2558 - acc: 0.9429
Epoch 291/500
105/105 [==============================] - 0s 47us/step - loss: 0.2552 - acc: 0.9524
Epoch 292/500
105/105 [==============================] - 0s 47us/step - loss: 0.2552 - acc: 0.9524
Epoch 293/500
105/105 [==============================] - 0s 57us/step - loss: 0.2538 - acc: 0.9524
Epoch 294/500
105/105 [==============================] - 0s 57us/step - loss: 0.2534 - acc: 0.9524
Epoch 295/500
105/105 [==============================] - 0s 47us/step - loss: 0.2525 - acc: 0.9429
Epoch 296/500
105/105 [==============================] - 0s 47us/step - loss: 0.2516 - acc: 0.9429
Epoch 297/500
105/105 [==============================] - 0s 57us/step - loss: 0.2507 - acc: 0.9524
Epoch 298/500
105/105 [==============================] - 0s 47us/step - loss: 0.2521 - acc: 0.9429
Epoch 299/500
105/105 [==============================] - 0s 57us/step - loss: 0.2500 - acc: 0.9429
Epoch 300/500
105/105 [==============================] - 0s 38us/step - loss: 0.2489 - acc: 0.9429
Epoch 301/500
105/105 [==============================] - 0s 57us/step - loss: 0.2486 - acc: 0.9429
Epoch 302/500
105/105 [==============================] - 0s 57us/step - loss: 0.2481 - acc: 0.9429
Epoch 303/500
105/105 [==============================] - 0s 57us/step - loss: 0.2470 - acc: 0.9429
Epoch 304/500
105/105 [==============================] - 0s 57us/step - loss: 0.2464 - acc: 0.9429
Epoch 305/500
105/105 [==============================] - 0s 57us/step - loss: 0.2458 - acc: 0.9524
Epoch 306/500
105/105 [==============================] - 0s 47us/step - loss: 0.2442 - acc: 0.9524
Epoch 307/500
105/105 [==============================] - 0s 57us/step - loss: 0.2442 - acc: 0.9429
Epoch 308/500
105/105 [==============================] - 0s 57us/step - loss: 0.2441 - acc: 0.9429
Epoch 309/500
105/105 [==============================] - 0s 57us/step - loss: 0.2434 - acc: 0.9429
Epoch 310/500
105/105 [==============================] - 0s 57us/step - loss: 0.2428 - acc: 0.9429
Epoch 311/500
105/105 [==============================] - 0s 47us/step - loss: 0.2414 - acc: 0.9524
Epoch 312/500
105/105 [==============================] - 0s 47us/step - loss: 0.2416 - acc: 0.9524
Epoch 313/500
105/105 [==============================] - 0s 47us/step - loss: 0.2408 - acc: 0.9524
Epoch 314/500
105/105 [==============================] - 0s 57us/step - loss: 0.2403 - acc: 0.9524
Epoch 315/500
105/105 [==============================] - 0s 47us/step - loss: 0.2387 - acc: 0.9524
Epoch 316/500
105/105 [==============================] - 0s 47us/step - loss: 0.2383 - acc: 0.9524
Epoch 317/500
105/105 [==============================] - 0s 47us/step - loss: 0.2380 - acc: 0.9429
Epoch 318/500
105/105 [==============================] - 0s 47us/step - loss: 0.2379 - acc: 0.9429
Epoch 319/500
105/105 [==============================] - 0s 57us/step - loss: 0.2372 - acc: 0.9429
Epoch 320/500
105/105 [==============================] - 0s 57us/step - loss: 0.2360 - acc: 0.9429
Epoch 321/500
105/105 [==============================] - 0s 47us/step - loss: 0.2360 - acc: 0.9429
Epoch 322/500
105/105 [==============================] - 0s 47us/step - loss: 0.2349 - acc: 0.9429
Epoch 323/500
105/105 [==============================] - 0s 57us/step - loss: 0.2343 - acc: 0.9429
Epoch 324/500
105/105 [==============================] - 0s 57us/step - loss: 0.2334 - acc: 0.9524
Epoch 325/500
105/105 [==============================] - 0s 47us/step - loss: 0.2330 - acc: 0.9524
Epoch 326/500
105/105 [==============================] - 0s 47us/step - loss: 0.2324 - acc: 0.9524
Epoch 327/500
105/105 [==============================] - 0s 57us/step - loss: 0.2319 - acc: 0.9524
Epoch 328/500
105/105 [==============================] - 0s 57us/step - loss: 0.2314 - acc: 0.9524
Epoch 329/500
105/105 [==============================] - 0s 48us/step - loss: 0.2304 - acc: 0.9524
Epoch 330/500
105/105 [==============================] - 0s 48us/step - loss: 0.2300 - acc: 0.9524
Epoch 331/500
105/105 [==============================] - 0s 47us/step - loss: 0.2293 - acc: 0.9524
Epoch 332/500
105/105 [==============================] - 0s 47us/step - loss: 0.2287 - acc: 0.9524
Epoch 333/500
105/105 [==============================] - 0s 47us/step - loss: 0.2280 - acc: 0.9524
Epoch 334/500
105/105 [==============================] - 0s 47us/step - loss: 0.2279 - acc: 0.9524
Epoch 335/500
105/105 [==============================] - 0s 57us/step - loss: 0.2277 - acc: 0.9524
Epoch 336/500
105/105 [==============================] - 0s 47us/step - loss: 0.2274 - acc: 0.9524
Epoch 337/500
105/105 [==============================] - 0s 57us/step - loss: 0.2274 - acc: 0.9429
Epoch 338/500
105/105 [==============================] - 0s 47us/step - loss: 0.2263 - acc: 0.9524
Epoch 339/500
105/105 [==============================] - 0s 57us/step - loss: 0.2253 - acc: 0.9524
Epoch 340/500
105/105 [==============================] - 0s 47us/step - loss: 0.2241 - acc: 0.9524
Epoch 341/500
105/105 [==============================] - 0s 47us/step - loss: 0.2236 - acc: 0.9524
Epoch 342/500
105/105 [==============================] - 0s 76us/step - loss: 0.2231 - acc: 0.9524
Epoch 343/500
105/105 [==============================] - 0s 38us/step - loss: 0.2226 - acc: 0.9429
Epoch 344/500
105/105 [==============================] - 0s 57us/step - loss: 0.2223 - acc: 0.9429
Epoch 345/500
105/105 [==============================] - 0s 48us/step - loss: 0.2222 - acc: 0.9429
Epoch 346/500
105/105 [==============================] - 0s 48us/step - loss: 0.2211 - acc: 0.9429
Epoch 347/500
105/105 [==============================] - 0s 47us/step - loss: 0.2208 - acc: 0.9524
Epoch 348/500
105/105 [==============================] - 0s 47us/step - loss: 0.2202 - acc: 0.9524
Epoch 349/500
105/105 [==============================] - 0s 57us/step - loss: 0.2208 - acc: 0.9524
Epoch 350/500
105/105 [==============================] - 0s 57us/step - loss: 0.2196 - acc: 0.9524
Epoch 351/500
105/105 [==============================] - 0s 57us/step - loss: 0.2187 - acc: 0.9524
Epoch 352/500
105/105 [==============================] - 0s 48us/step - loss: 0.2178 - acc: 0.9524
Epoch 353/500
105/105 [==============================] - 0s 47us/step - loss: 0.2175 - acc: 0.9429
Epoch 354/500
105/105 [==============================] - 0s 57us/step - loss: 0.2177 - acc: 0.9524
Epoch 355/500
105/105 [==============================] - 0s 47us/step - loss: 0.2170 - acc: 0.9524
Epoch 356/500
105/105 [==============================] - 0s 47us/step - loss: 0.2164 - acc: 0.9429
Epoch 357/500
105/105 [==============================] - 0s 47us/step - loss: 0.2153 - acc: 0.9524
Epoch 358/500
105/105 [==============================] - 0s 38us/step - loss: 0.2152 - acc: 0.9429
Epoch 359/500
105/105 [==============================] - 0s 57us/step - loss: 0.2139 - acc: 0.9524
Epoch 360/500
105/105 [==============================] - 0s 57us/step - loss: 0.2131 - acc: 0.9524
Epoch 361/500
105/105 [==============================] - 0s 47us/step - loss: 0.2129 - acc: 0.9524
Epoch 362/500
105/105 [==============================] - 0s 48us/step - loss: 0.2122 - acc: 0.9524
Epoch 363/500
105/105 [==============================] - 0s 48us/step - loss: 0.2117 - acc: 0.9524
Epoch 364/500
105/105 [==============================] - 0s 57us/step - loss: 0.2112 - acc: 0.9524
Epoch 365/500
105/105 [==============================] - 0s 47us/step - loss: 0.2108 - acc: 0.9524
Epoch 366/500
105/105 [==============================] - 0s 47us/step - loss: 0.2101 - acc: 0.9524
Epoch 367/500
105/105 [==============================] - 0s 57us/step - loss: 0.2097 - acc: 0.9524
Epoch 368/500
105/105 [==============================] - 0s 57us/step - loss: 0.2091 - acc: 0.9524
Epoch 369/500
105/105 [==============================] - 0s 47us/step - loss: 0.2088 - acc: 0.9524
Epoch 370/500
105/105 [==============================] - 0s 47us/step - loss: 0.2083 - acc: 0.9524
Epoch 371/500
105/105 [==============================] - 0s 47us/step - loss: 0.2077 - acc: 0.9524
Epoch 372/500
105/105 [==============================] - 0s 47us/step - loss: 0.2075 - acc: 0.9524
Epoch 373/500
105/105 [==============================] - 0s 38us/step - loss: 0.2070 - acc: 0.9619
Epoch 374/500
105/105 [==============================] - 0s 57us/step - loss: 0.2066 - acc: 0.9619
Epoch 375/500
105/105 [==============================] - 0s 47us/step - loss: 0.2054 - acc: 0.9524
Epoch 376/500
105/105 [==============================] - 0s 38us/step - loss: 0.2062 - acc: 0.9524
Epoch 377/500
105/105 [==============================] - 0s 47us/step - loss: 0.2057 - acc: 0.9524
Epoch 378/500
105/105 [==============================] - 0s 57us/step - loss: 0.2052 - acc: 0.9524
Epoch 379/500
105/105 [==============================] - 0s 57us/step - loss: 0.2044 - acc: 0.9524
Epoch 380/500
105/105 [==============================] - 0s 48us/step - loss: 0.2036 - acc: 0.9524
Epoch 381/500
105/105 [==============================] - ETA: 0s - loss: 0.2376 - acc: 0.906 - 0s 47us/step - loss: 0.2031 - acc: 0.9524
Epoch 382/500
105/105 [==============================] - 0s 57us/step - loss: 0.2026 - acc: 0.9524
Epoch 383/500
105/105 [==============================] - 0s 47us/step - loss: 0.2024 - acc: 0.9524
Epoch 384/500
105/105 [==============================] - 0s 48us/step - loss: 0.2015 - acc: 0.9524
Epoch 385/500
105/105 [==============================] - 0s 47us/step - loss: 0.2011 - acc: 0.9524
Epoch 386/500
105/105 [==============================] - 0s 38us/step - loss: 0.2007 - acc: 0.9524
Epoch 387/500
105/105 [==============================] - 0s 57us/step - loss: 0.1999 - acc: 0.9524
Epoch 388/500
105/105 [==============================] - 0s 47us/step - loss: 0.1997 - acc: 0.9524
Epoch 389/500
105/105 [==============================] - 0s 47us/step - loss: 0.1993 - acc: 0.9524
Epoch 390/500
105/105 [==============================] - 0s 57us/step - loss: 0.1993 - acc: 0.9524
Epoch 391/500
105/105 [==============================] - 0s 57us/step - loss: 0.1986 - acc: 0.9524
Epoch 392/500
105/105 [==============================] - 0s 57us/step - loss: 0.1980 - acc: 0.9524
Epoch 393/500
105/105 [==============================] - 0s 57us/step - loss: 0.1968 - acc: 0.9524
Epoch 394/500
105/105 [==============================] - 0s 48us/step - loss: 0.1967 - acc: 0.9524
Epoch 395/500
105/105 [==============================] - 0s 47us/step - loss: 0.1965 - acc: 0.9524
Epoch 396/500
105/105 [==============================] - 0s 48us/step - loss: 0.1962 - acc: 0.9524
Epoch 397/500
105/105 [==============================] - 0s 47us/step - loss: 0.1959 - acc: 0.9524
Epoch 398/500
105/105 [==============================] - 0s 47us/step - loss: 0.1957 - acc: 0.9524
Epoch 399/500
105/105 [==============================] - 0s 57us/step - loss: 0.1945 - acc: 0.9524
Epoch 400/500
105/105 [==============================] - 0s 47us/step - loss: 0.1941 - acc: 0.9619
Epoch 401/500
105/105 [==============================] - 0s 47us/step - loss: 0.1937 - acc: 0.9619
Epoch 402/500
105/105 [==============================] - 0s 57us/step - loss: 0.1931 - acc: 0.9619
Epoch 403/500
105/105 [==============================] - 0s 47us/step - loss: 0.1929 - acc: 0.9619
Epoch 404/500
105/105 [==============================] - 0s 47us/step - loss: 0.1920 - acc: 0.9619
Epoch 405/500
105/105 [==============================] - 0s 47us/step - loss: 0.1918 - acc: 0.9524
Epoch 406/500
105/105 [==============================] - 0s 57us/step - loss: 0.1918 - acc: 0.9524
Epoch 407/500
105/105 [==============================] - 0s 57us/step - loss: 0.1910 - acc: 0.9524
Epoch 408/500
105/105 [==============================] - 0s 57us/step - loss: 0.1910 - acc: 0.9524
Epoch 409/500
105/105 [==============================] - 0s 47us/step - loss: 0.1902 - acc: 0.9524
Epoch 410/500
105/105 [==============================] - 0s 47us/step - loss: 0.1908 - acc: 0.9524
Epoch 411/500
105/105 [==============================] - 0s 47us/step - loss: 0.1893 - acc: 0.9524
Epoch 412/500
105/105 [==============================] - 0s 57us/step - loss: 0.1887 - acc: 0.9524
Epoch 413/500
105/105 [==============================] - 0s 47us/step - loss: 0.1884 - acc: 0.9524
Epoch 414/500
105/105 [==============================] - 0s 47us/step - loss: 0.1880 - acc: 0.9619
Epoch 415/500
105/105 [==============================] - 0s 47us/step - loss: 0.1876 - acc: 0.9619
Epoch 416/500
105/105 [==============================] - 0s 47us/step - loss: 0.1871 - acc: 0.9619
Epoch 417/500
105/105 [==============================] - 0s 57us/step - loss: 0.1870 - acc: 0.9524
Epoch 418/500
105/105 [==============================] - 0s 47us/step - loss: 0.1866 - acc: 0.9524
Epoch 419/500
105/105 [==============================] - 0s 38us/step - loss: 0.1866 - acc: 0.9524
Epoch 420/500
105/105 [==============================] - 0s 57us/step - loss: 0.1857 - acc: 0.9524
Epoch 421/500
105/105 [==============================] - 0s 47us/step - loss: 0.1858 - acc: 0.9524
Epoch 422/500
105/105 [==============================] - 0s 57us/step - loss: 0.1852 - acc: 0.9619
Epoch 423/500
105/105 [==============================] - 0s 47us/step - loss: 0.1845 - acc: 0.9619
Epoch 424/500
105/105 [==============================] - 0s 47us/step - loss: 0.1845 - acc: 0.9619
Epoch 425/500
105/105 [==============================] - 0s 48us/step - loss: 0.1842 - acc: 0.9619
Epoch 426/500
105/105 [==============================] - 0s 47us/step - loss: 0.1836 - acc: 0.9619
Epoch 427/500
105/105 [==============================] - 0s 57us/step - loss: 0.1830 - acc: 0.9619
Epoch 428/500
105/105 [==============================] - 0s 57us/step - loss: 0.1826 - acc: 0.9619
Epoch 429/500
105/105 [==============================] - 0s 47us/step - loss: 0.1822 - acc: 0.9524
Epoch 430/500
105/105 [==============================] - 0s 47us/step - loss: 0.1818 - acc: 0.9524
Epoch 431/500
105/105 [==============================] - 0s 38us/step - loss: 0.1819 - acc: 0.9524
Epoch 432/500
105/105 [==============================] - 0s 47us/step - loss: 0.1809 - acc: 0.9524
Epoch 433/500
105/105 [==============================] - 0s 57us/step - loss: 0.1804 - acc: 0.9619
Epoch 434/500
105/105 [==============================] - 0s 47us/step - loss: 0.1803 - acc: 0.9619
Epoch 435/500
105/105 [==============================] - 0s 57us/step - loss: 0.1799 - acc: 0.9619
Epoch 436/500
105/105 [==============================] - 0s 57us/step - loss: 0.1794 - acc: 0.9619
Epoch 437/500
105/105 [==============================] - 0s 38us/step - loss: 0.1795 - acc: 0.9619
Epoch 438/500
105/105 [==============================] - 0s 57us/step - loss: 0.1787 - acc: 0.9524
Epoch 439/500
105/105 [==============================] - 0s 57us/step - loss: 0.1784 - acc: 0.9524
Epoch 440/500
105/105 [==============================] - 0s 57us/step - loss: 0.1781 - acc: 0.9524
Epoch 441/500
105/105 [==============================] - 0s 47us/step - loss: 0.1779 - acc: 0.9524
Epoch 442/500
105/105 [==============================] - 0s 47us/step - loss: 0.1772 - acc: 0.9619
Epoch 443/500
105/105 [==============================] - 0s 47us/step - loss: 0.1768 - acc: 0.9619
Epoch 444/500
105/105 [==============================] - 0s 47us/step - loss: 0.1764 - acc: 0.9524
Epoch 445/500
105/105 [==============================] - 0s 57us/step - loss: 0.1762 - acc: 0.9524
Epoch 446/500
105/105 [==============================] - 0s 57us/step - loss: 0.1759 - acc: 0.9524
Epoch 447/500
105/105 [==============================] - 0s 47us/step - loss: 0.1757 - acc: 0.9524
Epoch 448/500
105/105 [==============================] - 0s 47us/step - loss: 0.1759 - acc: 0.9524
Epoch 449/500
105/105 [==============================] - 0s 57us/step - loss: 0.1753 - acc: 0.9619
Epoch 450/500
105/105 [==============================] - 0s 47us/step - loss: 0.1745 - acc: 0.9619
Epoch 451/500
105/105 [==============================] - 0s 47us/step - loss: 0.1739 - acc: 0.9619
Epoch 452/500
105/105 [==============================] - 0s 47us/step - loss: 0.1739 - acc: 0.9524
Epoch 453/500
105/105 [==============================] - 0s 57us/step - loss: 0.1735 - acc: 0.9524
Epoch 454/500
105/105 [==============================] - 0s 57us/step - loss: 0.1732 - acc: 0.9524
Epoch 455/500
105/105 [==============================] - 0s 47us/step - loss: 0.1727 - acc: 0.9524
Epoch 456/500
105/105 [==============================] - 0s 57us/step - loss: 0.1723 - acc: 0.9524
Epoch 457/500
105/105 [==============================] - 0s 57us/step - loss: 0.1723 - acc: 0.9619
Epoch 458/500
105/105 [==============================] - 0s 66us/step - loss: 0.1723 - acc: 0.9619
Epoch 459/500
105/105 [==============================] - 0s 47us/step - loss: 0.1720 - acc: 0.9619
Epoch 460/500
105/105 [==============================] - 0s 57us/step - loss: 0.1716 - acc: 0.9619
Epoch 461/500
105/105 [==============================] - 0s 57us/step - loss: 0.1710 - acc: 0.9619
Epoch 462/500
105/105 [==============================] - 0s 47us/step - loss: 0.1709 - acc: 0.9619
Epoch 463/500
105/105 [==============================] - 0s 47us/step - loss: 0.1706 - acc: 0.9619
Epoch 464/500
105/105 [==============================] - 0s 57us/step - loss: 0.1694 - acc: 0.9524
Epoch 465/500
105/105 [==============================] - 0s 57us/step - loss: 0.1696 - acc: 0.9524
Epoch 466/500
105/105 [==============================] - 0s 48us/step - loss: 0.1695 - acc: 0.9524
Epoch 467/500
105/105 [==============================] - 0s 47us/step - loss: 0.1689 - acc: 0.9619
Epoch 468/500
105/105 [==============================] - 0s 57us/step - loss: 0.1681 - acc: 0.9619
Epoch 469/500
105/105 [==============================] - 0s 47us/step - loss: 0.1681 - acc: 0.9619
Epoch 470/500
105/105 [==============================] - 0s 57us/step - loss: 0.1681 - acc: 0.9619
Epoch 471/500
105/105 [==============================] - 0s 57us/step - loss: 0.1675 - acc: 0.9524
Epoch 472/500
105/105 [==============================] - 0s 47us/step - loss: 0.1672 - acc: 0.9619
Epoch 473/500
105/105 [==============================] - 0s 47us/step - loss: 0.1673 - acc: 0.9524
Epoch 474/500
105/105 [==============================] - 0s 47us/step - loss: 0.1667 - acc: 0.9524
Epoch 475/500
105/105 [==============================] - 0s 47us/step - loss: 0.1659 - acc: 0.9619
Epoch 476/500
105/105 [==============================] - 0s 47us/step - loss: 0.1649 - acc: 0.9619
Epoch 477/500
105/105 [==============================] - 0s 38us/step - loss: 0.1658 - acc: 0.9524
Epoch 478/500
105/105 [==============================] - 0s 47us/step - loss: 0.1673 - acc: 0.9524
Epoch 479/500
105/105 [==============================] - 0s 57us/step - loss: 0.1664 - acc: 0.9524
Epoch 480/500
105/105 [==============================] - 0s 47us/step - loss: 0.1644 - acc: 0.9524
Epoch 481/500
105/105 [==============================] - 0s 57us/step - loss: 0.1648 - acc: 0.9619
Epoch 482/500
105/105 [==============================] - 0s 47us/step - loss: 0.1642 - acc: 0.9524
Epoch 483/500
105/105 [==============================] - 0s 47us/step - loss: 0.1643 - acc: 0.9524
Epoch 484/500
105/105 [==============================] - 0s 57us/step - loss: 0.1639 - acc: 0.9524
Epoch 485/500
105/105 [==============================] - 0s 57us/step - loss: 0.1633 - acc: 0.9619
Epoch 486/500
105/105 [==============================] - 0s 47us/step - loss: 0.1626 - acc: 0.9619
Epoch 487/500
105/105 [==============================] - 0s 47us/step - loss: 0.1622 - acc: 0.9619
Epoch 488/500
105/105 [==============================] - 0s 47us/step - loss: 0.1619 - acc: 0.9619
Epoch 489/500
105/105 [==============================] - 0s 57us/step - loss: 0.1619 - acc: 0.9524
Epoch 490/500
105/105 [==============================] - 0s 47us/step - loss: 0.1615 - acc: 0.9619
Epoch 491/500
105/105 [==============================] - 0s 47us/step - loss: 0.1612 - acc: 0.9619
Epoch 492/500
105/105 [==============================] - 0s 47us/step - loss: 0.1607 - acc: 0.9619
Epoch 493/500
105/105 [==============================] - 0s 48us/step - loss: 0.1603 - acc: 0.9619
Epoch 494/500
105/105 [==============================] - 0s 47us/step - loss: 0.1602 - acc: 0.9619
Epoch 495/500
105/105 [==============================] - 0s 57us/step - loss: 0.1598 - acc: 0.9619
Epoch 496/500
105/105 [==============================] - 0s 47us/step - loss: 0.1595 - acc: 0.9619
Epoch 497/500
105/105 [==============================] - 0s 47us/step - loss: 0.1591 - acc: 0.9619
Epoch 498/500
105/105 [==============================] - 0s 57us/step - loss: 0.1588 - acc: 0.9619
Epoch 499/500
105/105 [==============================] - 0s 47us/step - loss: 0.1589 - acc: 0.9524
Epoch 500/500
105/105 [==============================] - 0s 57us/step - loss: 0.1587 - acc: 0.9619
Out[47]:
<keras.callbacks.History at 0x29f29c20548>

Quelques prédictions

In [48]:
#Realisation des prédictions
predictions = model.predict_classes(X_test)

nbPredictions = 0
nbBonnesPredictions = 0

# show the inputs and predicted outputs
for i in range(len(predictions)):
    nbPredictions = nbPredictions +1
    print("Attendu=%s, Attendu=%s, Predicted=%s" % (y_test[i],np.argmax(y_test[i]),predictions[i]))
    if (np.argmax(y_test[i]) == predictions[i]):
        nbBonnesPredictions = nbBonnesPredictions +1

print ("\nPrecision = "+str((nbBonnesPredictions/nbPredictions)*100)+" %")  
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 0. 1.], Attendu=2, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 0. 1.], Attendu=2, Predicted=2
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[1. 0. 0.], Attendu=0, Predicted=0
Attendu=[0. 1. 0.], Attendu=1, Predicted=1
Attendu=[0. 1. 0.], Attendu=1, Predicted=1

Precision = 97.77777777777777 %
In [ ]: