Autotokenizer PretrainedTokenizerBase utillites of encoder_plus

tokenizer.encoder_plus函数输入与返回

前言

近期在阅读dice-loss-for-nlp数据预处理源码时对encoder_plus()函数使用不太明晰,故整理其参数设置及输入输出文档
整理内容源自hugging face transformer官方文档,地址为huggingface/encoder_plus文档

模型输入参数

:Para

text:第一个被编码的句子

text_pair:第二个被编码的句子

add_special_tokens:是否对句子中的特殊字符([CLS]、[SEP]、[PAD]])进行编码(default:true)

padding:激活与控制padding策略

  • True/longest:填充至batch中最长序列长度(如果只有一个序列就不进行填充)
  • max_length:填充至根据参数指定的最长长度或是模型能接受的最大长度
  • False/do_not_pad:不填充(default)

truncation:截断策略

  • True/longest_first:截断至max_length指定的长度或是模型能接受的最大长度,如果提供了一对序列,则会从较长的那个序列中删除一个token
  • only_first:截断至max_length指定的长度或是模型能接受的最大长度,如果提供了一对序列,则只会对第一个序列进行截断
  • only_second:截断至max_length指定的长度或是模型能接受的最大长度,如果提供了一对序列,则只会对第二个序列进行截断
  • Flase or do_not_truncation:不进行截断(default)

max_length:控制截断或填充的最大序列长度

stride:定义重叠tokens的数量(default:0)。如果与max_length一同设置为一个数字,当return_overflowing_tokens设置为True时,溢出的tokens将会包含一些从截断序列末尾返回的一些标记

is_split_into_words:输入是否已经是预分词的状态(default:False),如果设置为True,则tokenizer默认输入已经是分好词的状态(比如用空格分开)

pad_to_multiple_of:将序列填充至所提供值的倍数,需要padding被激活(主要用于compute capability>=7.5(Volta)的NVDIA硬件上启动Tensor Cores很有用)

return_tensors:返回tensor而非list of python integers(‘tf’、‘pt’、‘np’,分别对应tensorflow、pytorch与numpy三种tensor形式)

return_token_type_ids:是否返回token type IDs,如果设为默认则根据tokenizer的默认设置返回token type IDs

return_attention_mask:是否返回attention_mask,如果设为默认则根据tokenizer的默认设置返回attention_mask

return_overflowing_tokens:是否返回overflowing_tokens,如果是一对序列输入,则按照truncation_strategy=longest_first/true进行截断(default False)

return_special_tokens_mask:是否返回特殊token的掩码信息

return_offset_mapping:是否返回每个token的起始和结束字符(default False)

return_length:是否返回编码输入的长度(default False)

verbose:是否打印更多输出与警告信息(default True)

模型输出参数

:Return

BatchEncoding

input_ids:进入模型的token ids序列

token_type_ids:进入模型的token type ids序列

attention_mask:序列掩码标记,指定模型关注哪些tokens的索引列表

overflowing_tokens:溢出token序列

num_truncated_tokens:溢出token序列长度

special_tokens_mask:0/1序列,1表示添加的特殊token,0表示普通序列token(只有add_special_tokens=True和return_special_tokens_mask=True生效才有用)

length:input的长度(return_length=true)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码应该是用来读取编码器的速度值的,如果你想将速度值显示在 OLED 屏幕上,你需要使用 OLED 屏幕的库函数来实现。具体步骤如下: 1. 首先,你需要在代码中包含 OLED 屏幕的库文件和头文件。 2. 然后,在 Init_Encoder_Speed 函数中,添加 OLED 屏幕的初始化代码,以便在程序开始时初始化屏幕。 3. 在 Read_Encoder_Speed 函数中,将读取到的速度值传递给 OLED 屏幕的库函数,让屏幕显示出来。 下面是一个简单的示例代码,用于将速度值显示在 OLED 屏幕上: ``` #include "oled.h" static int Encoder_Count_Last = 0; static uint32_t Time_Last = 0; void Init_Encoder_Speed(void) { Encoder_Count_Last = TIM4->CNT; Time_Last = HAL_GetTick(); OLED_Init(); // OLED 屏幕的初始化 } void Display_Speed(float speed) { char buffer[20]; sprintf(buffer, "Speed: %.2f", speed); OLED_Clear(); // 清空屏幕 OLED_ShowString(0, 0, buffer, 16); // 在屏幕上显示速度值 } float Read_Encoder_Speed(void) { int Encoder_Count = TIM4->CNT; uint32_t Time = HAL_GetTick(); int Encoder_Diff = Encoder_Count - Encoder_Count_Last; if (Encoder_Diff > 0x7fff) { Encoder_Diff -= 0xffff; } else if (Encoder_Diff < -0x7fff) { Encoder_Diff = 0xffff; } float Speed = Encoder_Diff / 192.0f / ((Time - Time_Last) / 1000000.0f); Encoder_Count_Last = Encoder_Count; Time_Last = Time; Display_Speed(Speed); // 显示速度值到 OLED 屏幕上 return Speed; } ``` 这个示例代码假设你已经有了一个 OLED 屏幕的库文件和头文件,并且使用了 OLED 屏幕的 SPI 接口来连接到 MCU。如果你的情况不同,你需要根据实际情况修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值