nlp - SpaCy:在为自定义实体训练模型时,我是否需要提前停止?
问题描述
我将我的数据分为训练和测试。
https://spacy.io/usage/training#ner
根据 spacy 提供的用于训练自定义实体的代码片段,似乎没有提前停止。所以我在这里有一个问题??
我是否应该编写一个自定义代码,在每次迭代后执行以下一组操作: 1. 迭代完成。2.根据测试数据检查模型的准确性。3.如果精度超过之前的模型,则保存,否则继续。4. 执行下一次迭代。
或者我完成所有迭代后的最终模型,例如 30 次迭代是最好的模型??
根据上面的输出,说最好的模型在第 13 次迭代是否正确?
解决方案
您应该切换到 train CLI,其中包括更好的评估指标和提前停止:https ://spacy.io/api/cli#train
spacy convert
可以将很多常见的 NER 格式转换为 spacy 的内部训练格式,并且spacy train
比简单的示例训练脚本有更多的选择。(spacyspacy train
在内部使用它分发的模型。)
推荐阅读
- pentaho - Pentaho “获取文件名”从 2019 年 7 月起停止在 Windows 2012 服务器上工作
- python - 当我尝试使用 opencv python 从 IP Cam 获取流时连接被拒绝
- gradle - Intellij gradle 项目:找不到包
- scala - fpscala:序列()函数中的模式匹配错误
- teradata - 全球事务支持 Teradata
- javascript - API 返回 http 400 时未解析响应正文
- abap - 语法错误“语句不可访问”
- arrays - 如何从 ng-repeat 获取表的文本框数据到数组
- r - 如何对包含相同字符串的行进行两次子集化
- python - 优雅关机和信号处理