2016-01-28 4 views
1

J'ai construit un script qui enregistre mon meilleur modèle dans le système de fichiers et je veux qu'il enregistre également les données sur les performances attendues du modèle dans un fichier texte différent.Comment enregistrer des données sur les performances attendues du modèle dans Keras?

Code actuel:

model = Sequential() 

model.add(Dense(64, input_dim=14, init='uniform')) 
model.add(LeakyReLU(alpha=0.3)) 
model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None)) 
model.add(Dropout(0.5)) 

model.add(Dense(64, init='uniform')) 
model.add(LeakyReLU(alpha=0.3)) 
model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None)) 
model.add(Dropout(0.5)) 

model.add(Dense(2, init='uniform')) 
model.add(Activation('softmax')) 


sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) 
model.compile(loss='binary_crossentropy', optimizer=sgd) 

checkpointer = ModelCheckpoint(filepath="/Desktop/SquareSpace/checkpointer", verbose=2, save_best_only=True) 
model.fit(X_train, y_train, nb_epoch=100, batch_size=50, show_accuracy=True, validation_split=0.2, verbose = 2, callbacks=[checkpointer]) 

J'enregistrons actuellement mon meilleur modèle en tant que fichier HDF5. Existe-t-il un moyen d'enregistrer les performances du meilleur modèle enregistré dans le fichier HDF5 en utilisant Keras dans un fichier texte différent?

EDIT: Est-il possible d'utiliser ceci ici http://keras.io/callbacks/?

Répondre

2

Vous pouvez utiliser le module python logging pour enregistrer vos données. Utilisez FileHandler pour écrire toutes vos données dans un fichier et vous pouvez également utiliser ConsoleHandler pour afficher toutes les données sur la console.

TimedRotatingFileHandler peut vous aider à faire pivoter votre fichier journal à certains intervalles de temps. Par exemple: toutes les heures, tous les jours ou toutes les semaines.

+0

Existe-t-il un moyen d'entrer la sortie de précision du modèle de Keras dans le module de journalisation comme il convient? Je ne sais pas comment accéder à la précision du meilleur modèle après qu'il a été enregistré en tant que fichier HDF5. – pr338

+1

si vous sauvegardez vos données en tant que chaîne json, il peut être facilement reconstruit. Est-ce ce que tu veux dire? – haifzhan