Cité de l' evaluate()
documentation de la méthode:
Retourne
Scalaire test de perte (si le modèle a une seule sortie et pas de statistiques), ou
liste des scalaires (si le modèle a plusieurs sorties et/ou des paramètres).
L'attribut model.metrics_names
vous donnera l'affichage des étiquettes
pour le scalaire sorties.
Par conséquent, vous pouvez utiliser metrics_names
de la propriété de votre modèle pour savoir ce que chacune de ces valeurs correspond à. Par exemple:
from keras import layers
from keras import models
import numpy as np
input_data = layers.Input(shape=(100,))
out_1 = layers.Dense(1)(input_data)
out_2 = layers.Dense(1)(input_data)
model = models.Model(input_data, [out_1, out_2])
model.compile(loss='mse', optimizer='adam', metrics=['mae'])
print(model.metrics_names)
les sorties suivantes:
['loss', 'dense_1_loss', 'dense_2_loss', 'dense_1_mean_absolute_error', 'dense_2_mean_absolute_error']
ce qui indique que chacun de ces chiffres que vous voyez dans la sortie de l' evaluate
méthode correspond à.
De plus, si vous avez de nombreuses couches, puis ceux - dense_1
et dense_2
des noms peut-être un peu ambiguë. Pour résoudre cette ambiguïté, vous pouvez attribuer des noms à vos couches à l'aide de name
argument de couches (pas nécessairement sur eux tous, mais seulement sur l'entrée et la sortie des couches):
# ...
out_1 = layers.Dense(1, name='output_1')(input_data)
out_2 = layers.Dense(1, name='output_2')(input_data)
# ...
print(model.metrics_names)
ce qui génère une plus claire description:
['loss', 'output_1_loss', 'output_2_loss', 'output_1_mean_absolute_error', 'output_2_mean_absolute_error']