Эффективная загрузка нескольких моделей Keras в словарь Python - PullRequest
0 голосов
/ 17 июня 2019

У меня около 120 обученных моделей, которые хранятся в нескольких папках.Я пытаюсь загрузить эти модели в словарь для составления прогнозов, характерных для их вариантов использования.

Но проблема в том, что, поскольку словарь становится слишком большим, требуется загрузка этих моделей, а также прогнозирование.выводы.

Есть ли более эффективный способ загрузки этих моделей, чем в словаре Python?Я даже пытался загрузить эти 120 моделей в 12 различных словарей, но загрузка и прогнозирование все равно занимают уйму времени.

Но проблема в том, что, поскольку словарь становится слишком большим, требуется время, чтобызагрузить эти модели, а также прогнозировать результаты.

model = {}
for _ in tqdm(os.listdir("wts_deep")):
    try:
        int(_[0])
        list_of_models = os.listdir("wts_deep/"+_)
        a = np.array([float(___.split("-")[3].split(".hdf5")[0]) for ___ in list_of_models])
        __ = np.where(a == a.max())[-1][-1]
        model[_] = load_model("wts_deep/"+str(_)+"/"+str(list_of_models[__]))
    except:
        print(_)

Загрузка самой модели занимает около 33 минут

1 Ответ

0 голосов
/ 17 июня 2019

Слишком большой словарь почти не проблема.Поскольку словари являются хеш-картами, сложность времени при загрузке модели должна составлять O (1).Проблема в том, что керасы загружают модели или куда-то еще.Также имейте в виду, что переменная _ обычно не должна использоваться, когда вам действительно нужно использовать переменную, которую она хранит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...