【NLP学习笔记】transformers中的tokenizer切词时是否返回token_type_ids

结论

先说结论:

是否返回token_type_ids,可以在切词时通过 return_token_type_ids=True/False指定,指定了True就肯定会返回,指定False,不一定就不返回。

分析

  • Doc地址
    https://huggingface.co/docs/transformers/main/en/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.call

  • 源码分析

    由上图可以,transformers的tokenization_utils_base.py明确指出,是否返回由return_token_type_idsself.model_input_names两个属性控制

    同时可见,如果return_token_type_ids是False,那么会判断model_input_names里有没有token_type_idsmodel_input_names顾名思义,就是当前的模型需要哪些输入。

    默认值是有token_type_ids的,所以即使不指定,像Bert的tokenizer,切词时没有指定return_token_type_ids,并且transformers的Bert的切词源码里也没指定model_input_names相关,但是依旧可以返回token_type_ids

    但是像GPT2的切词源码里,继承时重载了model_input_names这个变量,没有指定token_type_ids,所以默认情况下GPT2的切词方式是不返回token_type_ids

相关推荐
蒸蒸yyyyzwd11 分钟前
cpp选手秋招学习笔记 day12
笔记·学习·oracle
Wang's Blog17 分钟前
PostgreSQL笔记38:慢查询定位与优化的系统方法论
数据库·笔记·postgresql
慕容引刀35 分钟前
或许你真的需要这个Git神器:让团队提交文案终于对齐了
人工智能·git·vscode·自然语言处理·github
GeekPlusA39 分钟前
ai-opendesign学习
学习
XiaQ09191 小时前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习
He BianGu1 小时前
【笔记】使用Assembly.LoadFrom和AssemblyLoadContext加载插件对比,以及有没有更合适的加载插件方案
笔记
hhwyqwqhhwy1 小时前
正点原子-ZYNQ7020 开发笔记
笔记
LuminousCPP1 小时前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)
c语言·数据结构·笔记·算法·leetcode
Zkaisen1 小时前
mtreoCVE-2025-11953学习(目录遍历与远程命令执行)
学习·react native·react.js·metro
GGMM7891 小时前
富士 EP‑3957E‑C4 电源驱动板维修实战笔记
笔记·变频器·变频器维修