为了账号安全,请及时绑定邮箱和手机立即绑定

SpaCy:启用以前禁用的管道

SpaCy:启用以前禁用的管道

森林海 2021-08-02 21:23:51
我有一个包含两个管道的模型:['sbd', 'tagger']. 第一个是句子标记器,第二个是标记器。现在我想用这个模型训练一个NER,这样我就可以得到一个包含三个管道的最终模型:['sbd', 'tagger','ner']. 根据文档,我需要禁用tagger管道才能仅训练NER。我做到了,培训过程顺利进行。我的问题是,最后保存的模型只包含一个管道,即NER系统。我可以重新启用以前禁用的管道,以便可以使用完整管道保存最终模型吗?
查看完整描述

2 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

好的,我发现我可以恢复以前禁用的管道。假设我加载了我的模型nlp并禁用了所有管道,除了ner:


other_pipes = [pipe for pipe in nlp.pipe_names if pipe != 'ner']

disabled = nlp.disable_pipes(*other_pipes)


training...


disabled.restore()


查看完整回答
反对 回复 2021-08-03
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

为了完全避免这个问题,你可以在一个with仅限于训练范围的块中禁用管道:


with nlp.disable_pipes(*other_pipes):

    train_model()


# continue with other stuff


查看完整回答
反对 回复 2021-08-03
  • 2 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号