Saltar al contenido

guardar y cargar keras.callbacks.History

Hacemos una revisión exhaustiva cada enunciados en nuestro sitio web con la meta de mostrarte en todo momento información con la mayor veracidad y actual.

Solución:

history_model_1 es un objeto de devolución de llamada. Contiene todo tipo de datos y no es serializable.

Sin embargo, contiene un diccionario con todos los valores que realmente desea guardar (consulte su comentario):

import json
# Get the dictionary containing each metric and the loss for each epoch
history_dict = history_model_1.history
# Save it under the form of a json file
json.dump(history_dict, open(your_history_path, 'w'))

Ahora puede acceder al valor de la pérdida en la época 50 de esta manera:

print(history_dict['loss'][49])

recargarlo con

history_dict = json.load(open(your_history_path, 'r'))

Espero que esto ayude.

Puedes crear una clase para que tengas la misma estructura y puedas acceder en ambos casos con el mismo código.

import pickle
class History_trained_model(object):
    def __init__(self, history, epoch, params):
        self.history = history
        self.epoch = epoch
        self.params = params

with open(savemodel_path+'/history', 'wb') as file:
    model_history= History_trained_model(history.history, history.epoch, history.params)
    pickle.dump(model_history, file, pickle.HIGHEST_PROTOCOL)

luego para acceder:

with open(savemodel_path+'/history', 'rb') as file:
    history=pickle.load(file)

print(history.history)

Puede usar Pandas para guardar el objeto de historial como un archivo CSV.

import pandas as pd

pd.DataFrame.from_dict(history_model_1.history).to_csv('history.csv',index=False)

El enfoque JSON da como resultado un TypeError: Object of type 'float32' is not JSON serializable. La razón de esto es que los valores correspondientes en el diccionario histórico son matrices NumPy.

Finalizando este artículo puedes encontrar los comentarios de otros gestores de proyectos, tú además puedes mostrar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *