我试图创建一个自定义 NER 模型。我使用 spacy 库来创建模型。这行代码是从 base.config
文件创建配置文件。
我的代码是:
!python -m spacy init fill-config /content/drive/MyDrive/NER_RE_New/NER/base_config.cfg /content/drive/MyDrive/NER_RE_New/NER/config.cfg
错误:
catalogue.RegistryError: [E893] Could not find function 'spacy-transformers.TransformerModel.v3' in function registry 'architectures'. If you're using a custom function, make sure the code is available. If the function is provided by a third-party package, e.g. spacy-transformers, make sure the package is installed in your environment.
可用名称:
spacy-legacy.CharacterEmbed.v1,
spacy-legacy.HashEmbedCNN.v1,
spacy-legacy.MaxoutWindowEncoder.v1,
spacy-legacy.MishWindowEncoder.v1,
spacy-legacy.MultiHashEmbed.v1,
spacy-legacy.TextCatBOW.v1,
spacy-legacy.TextCatCNN.v1,
spacy-legacy.TextCatEnsemble.v1,
spacy-legacy.Tok2Vec.v1,
spacy-legacy.TransitionBasedParser.v1,
spacy-transformers.Tok2VecTransformer.v1,
spacy-transformers.TransformerListener.v1,
spacy-transformers.TransformerModel.v1,
spacy.CharacterEmbed.v1,
spacy.EntityLinker.v1,
spacy.HashEmbedCNN.v1,
spacy.MaxoutWindowEncoder.v2,
spacy.MishWindowEncoder.v2,
spacy.MultiHashEmbed.v1,
spacy.PretrainCharacters.v1,
spacy.PretrainVectors.v1,
spacy.Tagger.v1,
spacy.TextCatBOW.v1,
spacy.TextCatCNN.v1,
spacy.TextCatEnsemble.v2,
spacy.TextCatLowData.v1,
spacy.Tok2Vec.v2,
spacy.Tok2VecListener.v1,
spacy.TorchBiLSTMEncoder.v1,
spacy.TransitionBasedParser.v1,
spacy.TransitionBasedParser.v2
最佳答案
发生这种情况是因为 spacy 最近有新的更新 3.1。 base_config 文件的架构被称为“spacy-transformers.TransformerModel.v3”。将其更改为“spacy-transformers.TransformerModel.v1”
[components.transformer.model]
@architectures = "spacy-transformers.TransformerModel.v1"
name = "roberta-base"
tokenizer_config = {"use_fast": true}
关于named-entity-recognition - 在函数注册表 'spacy-transformers.TransformerModel.v3' 中找不到函数 'architectures',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69694277/