Хранение DataFrame с объектами Python в качестве данных в хранилище HDF - PullRequest
0 голосов
/ 30 января 2019

Чтобы отслеживать модели и все их параметры, которые я тренирую для конкретной задачи, я хочу хранить всю необходимую информацию в базе данных.Поскольку я знаком с пандами, я выбрал 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 с пандами?

...