ValueError: [E002] Can't find factory for 'transformer' for language English (en). This usually happens when spaCy calls `nlp.create_pipe` with a custom component name that's not registered on the current language class. If you're using a custom component, make sure you've added the decorator `@Language.component` (for function components) or `@Language.factory` (for class components).
Available factories: attribute_ruler, tok2vec, merge_noun_chunks, merge_entities, merge_subtokens, token_splitter, doc_cleaner, parser, beam_parser, lemmatizer, trainable_lemmatizer, entity_linker, entity_ruler, tagger, morphologizer, ner, beam_ner, senter, sentencizer, spancat, spancat_singlelabel, span_finder, future_entity_ruler, span_ruler, textcat, textcat_multilabel, en.lemmatizer
4条答案
按热度按时间wkftcu5l1#
这仅仅是版本不兼容问题,因为我们将transformers固定到了
<4.37.0
上,还是说你能够实际地在本地更新你的transformers
安装,并且一切仍然按预期工作?如果我可以问的话,你正在使用spaCy的哪个版本?因为从3.7版本开始,我们已经开始转向https://github.com/explosion/spacy-curated-transformers - 你尝试过吗?
z6psavjg2#
我正在使用
spacy==3.7.3
我可以卸载
spacy-transformers
以供 spacy-curated-transformers 使用吗?使用
spacy-transformers==1.3.4
时,一切似乎都正常,但我只能得到版本错误。使用
spacy-curated-transformers
时,我遇到了这个错误:运行中:
spacy.load(path)
xoshrz7s3#
我们不得不拉取3.7.3版本(由于无关原因 - 多进程代码中的一个错误),所以请尽量更新到3.7.4版本。
我能否为spacy-curated-transformers卸载spacy-transformers?
是的,但然后你需要使用
curated_transformer
作为工厂,而不仅仅是transformer
。你可以查看一个示例配置here:你正在加载哪个模型?如果这是一个使用旧的
spacy_transformer
'stransformer
工厂的预训练模型,那么你仍然需要spacy_transformer
。如果是我们的预训练模型,你可能可以更新。pbpqsu0x4#
感谢。我想训练一个带有transformers的spancat管道。我下载了
spacy-curated-transformers
和spacy==3.7.4
,但遇到了这个错误:。我在spaCy网站上使用了"This is an auto-generated partial config.",但它仅适用于
spacy-transformers
。我尝试将其适应于spacy-curated-transformers
。这是我实际使用的cfg文件,用于!python -m spacy init labels mycfg.cfg ...
:。