Самый эффективный способ хранения и сохранения большого количества моделей Keras?

#python #tensorflow #machine-learning #keras #deep-learning

#python #тензорный поток #машинное обучение #keras #глубокое обучение

Вопрос:

В настоящее время я пытаюсь решить проблему многоклассовой классификации, используя несколько моделей двоичной классификации (~ 100 классов). Объем каждой модели составляет около 70-100 МБ, и для тестирования мне нужно загрузить каждую отдельную модель. Для каждой модели требуется около 2-5 секунд, поэтому загрузка всех моделей занимает много времени.

Есть ли способ либо сохранить каждую модель двоичной классификации как одну гигантскую модель, и заставить ее предсказывать каждый класс отдельно, либо есть способ загружать несколько моделей одновременно?

Я попытался использовать load_model() с многопроцессорной обработкой, но быстро столкнулся с ошибкой ООМ (у меня всего 4 ГБ видеопамяти), даже если у меня одновременно запущено 3 процесса.

Архитектура для каждой модели идентична.

Комментарии:

1. Почему бы не иметь единую модель, которая предсказывает все классы?

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

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

4. Но у меня очень хорошая точность и потери …? Я уже увеличиваю данные, но они по-прежнему дают плохие результаты.