2

到目前为止,我一直在使用 spacy 2.3.1,并为我的自定义语言类训练并保存了几个管道。但是现在使用 spacy 3.0,spacy.load('model-path')我面临着诸如config.cfg file not found和其他类型的错误之类的问题。

升级 spacy 后是否必须从头开始训练模型?是否有迁移训练模型的分步指南?

4

1 回答 1

3

恐怕您将无法仅迁移训练有素的管道。使用 v2 训练的管道与 v3 不兼容,因此您将无法仅spacy.load在它们上使用。

您必须将代码库迁移到 v3,并重新训练您的模型。你有两个选择:

  • 更新您的训练循环以将 API 调用从 v2 更改为 v3,请参阅此处了解更多详细信息:https ://spacy.io/usage/v3#migrating
  • (推荐方法):将您的训练代码完全转换为 v3 中的新配置系统。虽然这可能看起来有很大的不同,但您会很快掌握配置系统的窍门,并且您会注意到与从头开始编写所有内容相比,它更加强大和方便。要开始使用配置系统,请查看init config命令,例如:
python -m spacy init config config.cfg --lang en --pipeline ner,textcat --optimize accuracy

这将为您提供一些合理的默认设置,以及一个您可以根据您的要求进一步自定义的配置文件。

于 2021-04-19T08:10:04.420 回答