報錯原因是 class名稱與使用的fastNLP版本不比對
- 在fastNLP 0.5.0 中運作:
from fastNLP.embeddings.bert_embedding import _WordBertModel
正确
- 但在fastNLP 0.6.0 中,應相應改為:
from fastNLP.embeddings.bert_embedding import _BertWordModel
這是因為在這兩個版本的fastNLP.embeddings.bert_embedding子產品中此class名稱不同,檢視源代碼即可發現。如下圖所示:
- fastNLP0.5.0:
解決ImportError: cannot import name ‘_WordBertModel‘ from ‘fastNLP.embeddings.bert_embedding‘報錯問題 - fastNLP 0.6.0:
解決ImportError: cannot import name ‘_WordBertModel‘ from ‘fastNLP.embeddings.bert_embedding‘報錯問題