Загрузка модели, веса и индекса символов Keras в другое приложение Python - PullRequest
0 голосов
/ 12 февраля 2019

Я обучил модель классификации Keras LSTM для персонажей, сохранил ее модель архитектуры и веса, и теперь хочу загрузить ее в отдельное приложение, которое я могу запустить отдельно от системы обучения, прикрепить к нему конечную точку REST изатем можно будет делать прогнозы с помощью REST ...

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

т.е. индекс 1="a",2="g",3=" ",4="b", а также "оригинальные" метки ["green","blue","red","orange"] до того, как метка будет закодирована в горячем виде ...

Так что я понимаю:

  • веса основаны на числовых входных данных, которые были даны первоначально обученной модели
  • числовые входные данные и сгенерированный индекс основаны на конкретныхнабор данных, который использовался для обучения
  • выходы из модели, представляющей классификацию, основаны на порядке, в котором источникбыли добавлены все метки набора данных, т. е. если green было в позиции 0 меток обучения и в позиции 1 фактических меток времени выполнения, то это не сработает ... верно?

, что означает, что повторное использование модели + веса не только требует фактической архитектуры и веса модели, но также требует индексов входных и выходных данных ...

Это правильно?Или я что-то упускаю?

Потому что дело в том ... Если это так, есть ли способ сохранить и загрузить индексы, кроме как сделать это вручную?Потому что, если это нужно сделать вручную, то мы как бы теряем преимущества функции предварительной обработки keras (например, Tokenizer и np_utils.to_categorically), которые мы БУДЕМ использовать в системе обучения ...

У кого-нибудь есть шаблон для выполнения этого вида деятельности?

В настоящее время я делаю что-то вроде:

  • сохранить индекс X и массив меток Y во время обучениявместе с архитектурой и весами модели
  • в приложении прогнозирования загрузите и воссоздайте модель с архитектурой и весами
  • имеют собственный класс для токенизации входных слов на основе индекса X, дополните егона правильную длину и т. д.
  • сделайте прогноз
  • , возьмите прогноз и сопоставьте элемент с наибольшей вероятностью с исходным массивом меток Y, и, следовательно, выясните, что такое прогнозируемая метка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...