概要
Bert。ModuleNotFoundError: No module named 'transformers.tokenization_bert_japanese'のtransformers 4.xでの回避方法を示す。
補足情報
この記事の作成日: 2021/07/28
環境: windows
いまtransformersを取得した場合のバージョン: 4.9.1
エラーが発生するケース
transformers 4.9.1にて
from transformers.tokenization_bert_japanese import BertJapaneseTokenizer
とすると、
該当のエラーになる。
回避方法
以下のように、tokenization_bert_japaneseを消す
from transformers import BertJapaneseTokenizer
⇒⇒ BertJapaneseTokenizer が直下(のみ)になったということ。
ちなみに、
transformers 3.5.1では、BertJapaneseTokenizerは
直下と、transformers.tokenization_bert_japanese の両方に見えるので、移行の方針だったのだと思う。
ただ、3.5.1環境で、「python -m pydoc transformers.tokenization_bert_japanese」で出る情報に廃止予定みたいなことは、わかりやすいところには書いてませんでした。。。
応用
以下も同様。transformers 4.9.1では、エラーになるはず。(対策は、同様。)
from transformers.modeling_bert import BertModel
ModuleNotFoundError: No module named 'transformers.modeling_bert'
補足
transformers 3.5.1に戻す対策しかネット上で見えなかったので記事にした。