keras: импорт load_model занимает слишком много времени - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь поместить проект Python на флэш-накопитель.Я использую WinPython для достижения этой цели.Одна вещь, которую я обнаружил, заключается в том, что некоторые операции в программе Python выполняются намного медленнее.Это имеет смысл, потому что это на USB.Одно из мест, где это особенно очевидно, - во время отчетов об импорте.В основном я был в состоянии более избирательно импортировать вещи, и по большей части все было в порядке.

Однако в своем проекте я использую модель keras.И для этого я загружаю файл hdf5 с load_model из модуля keras.models.Когда я запускаю это на WinPython, импорт занимает более десяти минут!Как я могу уменьшить это время импорта?

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете преобразовать свою модель hdf5 в файл json_file и сохранить веса в файле h5.Сделайте это на «нормальном» компьютере, где функция импортируется не так медленно.Затем в WinPython на вашем флеш-накопителе, используя функции model_from_json и load_weights, вы можете загрузить модель.Время импорта намного быстрее.Это работает так:

Этот скрипт преобразует файл hdf5 в файл json и сохраняет вес модели.Запустите это на установке python на машине, которая может обработать импорт.

from keras.models import load_model

model = load_model("my_model.hdf5")
model_json = model.to_json()
with open("my_json_model.json", 'w') as json_file:
    json_file.write(model_json)

model.save_weights("weight_model.h5")

Затем, чтобы загрузить вашу модель в ваш WinPython, сделайте что-то вроде этого:

from keras.models import model_from_json

with open("my_json_model.json", 'r') as json_file:
    loaded_json = json_file.read()
emotion_classifier = model_from_json(loaded_json)
emotion_classifier.load_weights("weight_model.h5")

Я нашелэтот импорт будет НАМНОГО быстрее в WinPython.Подробнее о загрузке моделей keras можно узнать здесь.

...