Python: Spacy NER и потребление памяти - PullRequest
0 голосов

Я использую SPACY для распознавания именованных объектов. У меня есть собственная обученная модель на en_core_web_md. Размер моей модели составляет 223 мегабайта. Когда модель загружается в память, она использует 800 мегабайт. Возможно ли каким-то образом для целей NER загружать не все (lexemes.bin, string. json, key2row), а только векторы и модели (которые весят 4 и 24 мегабайта соответственно), чтобы использовать намного меньше памяти? или все это нужно для загрузки NER?

1 Ответ

1 голос
/ 04 мая 2020

Для spacy v2.2 необходимо загрузить все. Существует одна незначительная ошибка, которая влияет на key2row в md моделях: чтобы улучшить размер и время загрузки key2row в md моделях с версиями v2.2.0-v2.2.5, см. { ссылка }.

Ошибка, связанная с key2row, исправлена ​​в v2.2.4, если вы тренируете модель с нуля с помощью собственных векторов, но у предоставленных моделей v2.2 md эта проблема все еще будет возникать.

Запланировано для v2.3: удаление lexemes.bin с лексемами, созданными только по требованию. С этими изменениями модели md будут на 50% меньше на диске, а начальная загрузка модели будет примерно на 50% быстрее. Модель Engli sh md выглядит примерно на 300 МБ меньше в памяти при первоначальной загрузке, но использование памяти немного увеличится при построении кеша лексемы. См .: https://github.com/explosion/spaCy/pull/5238

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