我有一個(gè)包含兩個(gè)管道的模型:['sbd', 'tagger']. 第一個(gè)是句子標(biāo)記器,第二個(gè)是標(biāo)記器?,F(xiàn)在我想用這個(gè)模型訓(xùn)練一個(gè)NER,這樣我就可以得到一個(gè)包含三個(gè)管道的最終模型:['sbd', 'tagger','ner']. 根據(jù)文檔,我需要禁用tagger管道才能僅訓(xùn)練NER。我做到了,培訓(xùn)過程順利進(jìn)行。我的問題是,最后保存的模型只包含一個(gè)管道,即NER系統(tǒng)。我可以重新啟用以前禁用的管道,以便可以使用完整管道保存最終模型嗎?
2 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
好的,我發(fā)現(xiàn)我可以恢復(fù)以前禁用的管道。假設(shè)我加載了我的模型nlp并禁用了所有管道,除了ner:
other_pipes = [pipe for pipe in nlp.pipe_names if pipe != 'ner']
disabled = nlp.disable_pipes(*other_pipes)
training...
disabled.restore()

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
為了完全避免這個(gè)問題,你可以在一個(gè)with僅限于訓(xùn)練范圍的塊中禁用管道:
with nlp.disable_pipes(*other_pipes):
train_model()
# continue with other stuff
添加回答
舉報(bào)
0/150
提交
取消