transformers库的tokenizer

transformers库的tokenizer在默认情况下,decode中有个参数clean_up_tokenization_spaces会设置成True,即如果一个token是空格加句号,那么decode出来空格就没了,这可能会导致先encode再decode的结果和输入不一致,因此最好将这个参数设置成False。

另外GPT2Tokenizer在decode的时候,还有一个隐藏参数是spaces_between_special_tokens,默认是True,会导致额外加的token两侧产生意外的空格,GPT2TokenizerFast则不会有这个问题(用AutoTokenizer.from_pretrained得到的是GPT2TokenizerFast,用GPT2Tokenizer.from_pretrained得到的是GPT2Tokenizer)

在确认这个的过程中,还发现一个比较好用的库,python自带的inspect库,可以动态检查源代码,例如inspect.getsource(a.func),inspect.getsourcefile(a.func)等,在面对这种多继承的情况下尤其好用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容