SpaCy: включить предыдущие отключенные каналы - PullRequest
0 голосов
/ 29 октября 2018

У меня есть модель, которая содержит две трубы: ['sbd', 'tagger']. Первый - это токенизатор предложений, а второй - тегер. Теперь я хочу тренировать NER с этой моделью, чтобы у меня была окончательная модель с тремя трубами: ['sbd', 'tagger','ner']. Согласно документации мне нужно отключить tagger трубу, чтобы тренировать только NER . Я сделал это, и тренировочный процесс прошел гладко.

Моя проблема в том, что в итоге сохраненная модель содержит только одну трубу, а именно систему NER . Можно ли включить обратно предыдущие отключенные каналы, чтобы я мог сохранить окончательную модель с полным конвейером?

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Чтобы вообще избежать этой проблемы, вы можете отключить каналы в блоке with, ограниченном областью обучения:

with nlp.disable_pipes(*other_pipes):
    train_model()

# continue with other stuff
0 голосов
/ 29 октября 2018

Хорошо, я обнаружил, что могу восстановить ранее отключенные каналы. Предполагая, что я загрузил свою модель в nlp и отключил все каналы, кроме ner:

other_pipes = [pipe for pipe in nlp.pipe_names if pipe != 'ner']
disabled = nlp.disable_pipes(*other_pipes)

training...

disabled.restore()
...