应用简单训练模型时未命名向量的空间错误

时间:2018-09-07 04:03:35

标签: python-3.6 spacy

我正在使用Spacy示例NER代码进行测试。直接从spacy网站https://spacy.io/usage/training复制。我只是添加了导入空间并随机输入

import spacy
import random

TRAIN_DATA = [
     ("Uber blew through $1 million a week", {'entities': [(0, 4, 'ORG')]}),
     ("Google rebrands its business apps", {'entities': [(0, 6, "ORG")]})]

nlp = spacy.blank('en')
optimizer = nlp.begin_training()
for i in range(20):
    random.shuffle(TRAIN_DATA)
    for text, annotations in TRAIN_DATA:
        nlp.update([text], [annotations], sgd=optimizer)
nlp.to_disk('/model')

但是,当我运行代码时。它显示了错误。

Warning: Unnamed vectors -- this won't allow multiple vectors models to be loaded. (Shape: (0, 0))

我在社区中进行搜索,但没有任何线索。谢谢您的帮助

1 个答案:

答案 0 :(得分:3)

在优化程序足够之前放置nlp.vocab.vectors.name = 'spacy_pretrained_vectors'

import spacy
import random

TRAIN_DATA = [
     ("Uber blew through $1 million a week", {'entities': [(0, 4, 'ORG')]}),
     ("Google rebrands its business apps", {'entities': [(0, 6, "ORG")]})]

nlp = spacy.blank('en')
nlp.vocab.vectors.name = 'spacy_pretrained_vectors'
optimizer = nlp.begin_training()
for i in range(20):
    random.shuffle(TRAIN_DATA)
    for text, annotations in TRAIN_DATA:
        nlp.update([text], [annotations], sgd=optimizer)
nlp.to_disk('/model')