Модели загрузки SpaCy

Я новичок в НЛП и spaCy. Я использую модель en_core_web_md. Я загружаю его с помощью spacy.load()
Всякий раз, когда я запускаю свою программу, она загружает модель. Есть ли способ загрузить модель только один раз для всех последующих прогонов?


person Himanshu Ranjan Upadhyay    schedule 07.08.2018    source источник


Ответы (1)


Да, вы можете, в примере кода ниже

import spacy

nlp = spacy.load('en_core_web_md')  # make sure to use larger model!
tokens = nlp(u'dog cat banana')

for token1 in tokens:
    for token2 in tokens:
        print(token1.text, token2.text, token1.similarity(token2))

сохраните переменную nlp save, поскольку она содержит модель. и вы можете передавать nlp снова и снова, просто передавая его через требуемую функцию.

person Arsalan Ahmed    schedule 07.08.2018
comment
Хорошо, я понимаю это, но что, если я захочу развернуть приложение через Интернет, как тогда оно будет работать? Спасибо за ответ. Я просто хочу знать, ищем ли мы запрос в Интернете каждый раз, когда пользователь отправляет запрос, будет ли загружена модель? - person Himanshu Ranjan Upadhyay; 08.08.2018
comment
Вы должны понимать ML как услугу. Когда вы запускаете свой бэкэнд-сервер, он должен загружать модель, и каждый раз, когда он получает запрос post-get, он просто использует эту переменную модели для выполнения необходимой операции. - person Arsalan Ahmed; 08.08.2018
comment
Вы можете найти это репо полезным: github.com/explosion/spacy-services Он включает несколько простые примеры обслуживания spaCy и его возможностей через REST API. Здесь загруженные модели хранятся в глобальной переменной. Когда вы запускаете app.py, модели загружаются и хранятся в памяти. - person Ines Montani; 09.08.2018