Как инициализировать tok2vec Transformer с пользовательской моделью spacy ner
У меня возникли проблемы с инициализацией преобразователя tok2vec с пользовательской моделью spacy ner. Как мне правильно использовать tok2vec до того, как в конвейере начнется шаг ner?
В этом:
nlp = spacy.load("./output_training_11.11")
ner = nlp.get_pipe("ner")
config = {"model": DEFAULT_TOK2VEC_MODEL}
nlp.add_pipe("tok2vec", before='ner')
Обучение:
with nlp.disable_pipes(*other_pipes):
optimizer = nlp.begin_training()
for i in range(100):
random.shuffle(TRAIN_DATA)
for text, annotation in TRAIN_DATA:
doc = nlp.make_doc(text)
#print(annotation)
try:
example = Example.from_dict(doc, annotation)
#print(example)
except ValueError as e:
print(e)
print("Text: " , doc[0:50])
print("------")
nlp.update([example],
sgd=optimizer, drop=dropout)```
nlp("random text")
ValueError: [E109] Component 'tok2vec' could not be run. Did you forget to call `initialize()`?