huggingface tokenizer错误

如果继承了Tokenizer例如mTokenizer(GPT2Tokenizer),在__init__中加入了一些新tokens,这样在save之后from_pretrained时不能用mTokenizer.from_pretrained,会报错。

AssertionError: Non-consecutive added token '<|b_img|>' found. Should have index 50317 but has index 50257 in saved vocabulary.

这是因为from_pretrained调用时是先初始化实例,再从本地文件中加载词表,因此mTokenizer初始化时会加入新tokens,而从本地词表中又会再加一次,导致了重复。最好的做法是把加新tokens的过程移出__init__。

posted @ 2021-05-11 14:48  Luke_Ye  阅读(1601)  评论(0编辑  收藏  举报