Я обучил модель классификации 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, и, следовательно, выясните, что такое прогнозируемая метка