Чтобы отслеживать модели и все их параметры, которые я тренирую для конкретной задачи, я хочу хранить всю необходимую информацию в базе данных.Поскольку я знаком с пандами, я выбрал HDF для этой цели.Однако у меня возникают проблемы с хранением объектов Python.
У меня есть следующая функция для сохранения модели с ее параметрами в базе данных (хранилище HDF):
import pandas as pd
def store_model_to_database():
data = {
'model name' : model_name, # string
'model' : model, # python object (keras model)
'file' : model_store_path, # string
'optimizer' : optimizer, # string
'loss' : loss, # string
'#epochs' : epochs, # int
'batch size' : batch_size, # int
'accuracy' : accuracy, # float
'history' : history # python object
}
store = pd.HDFStore('data/model_store.h5', 'a')
df = pd.DataFrame.from_records([data])
store.append('data', df)
Для каждого питонаобъект в кадре данных при вызове store.append
Я получу ошибку вида
TypeError: Невозможно сериализовать столбец [поле], поскольку его содержимое данных [смешанный] объект dtype
где <field>
является одним из model
или history
.
Но, насколько мне известно, хранилища HDF могут хранить любые данные, включая объекты Python.Что необходимо для успешной записи объектов Python в хранилище HDF с пандами?