报错原因是 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‘报错问题