transformers Tokenizer

2024-06-21 03:36
文章标签 transformers tokenizer

本文主要是介绍transformers Tokenizer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

☆ 问题描述

Tokenizer的学习笔记(Tokenizer is all you need)

Tokenizer用于数据预处理
- 分词
- 构建词典
- 数据转换
- 数据填充与截断
现在Tokenizer可以做到上面的所有事情。

★ 解决方案

Tokenizer的基本使用


# 导入Tokenizer
from transformers import AutoTokenizer# 模型加载
# 从HuggingFace加载,输入模型名称,即可加载对于的分词器
tokenizer = AutoTokenizer.from_pretrained("uer/roberta-base-finetuned-dianping-chinese")# tokenizer 保存到本地
tokenizer.save_pretrained("./roberta_tokenizer")# 从本地加载tokenizer
tokenizer = AutoTokenizer.from_pretrained("./roberta_tokenizer/")
tokenizer# 句子分词
tokens = tokenizer.tokenize("这是一个句子")# 查看字典
tokenizer.vocab# 查看字典大小
tokenizer.vocab_size# 将词序列转换为id序列
ids = tokenizer.convert_tokens_to_ids(tokens)# 将id序列转换为token序列
tokens = tokenizer.convert_ids_to_tokens(ids)# 将token序列转换为string
str_sen = tokenizer.convert_tokens_to_string(tokens)# 将字符串转换为id序列,又称之为编码
ids = tokenizer.encode(sen, add_special_tokens=True)# 将id序列转换为字符串,又称之为解码
str_sen = tokenizer.decode(ids, skip_special_tokens=False)# 填充
ids = tokenizer.encode(sen, padding="max_length", max_length=15)# 截断
ids = tokenizer.encode(sen, max_length=5, truncation=True)# 快速调用方式
inputs = tokenizer.encode_plus(sen, padding="max_length", max_length=15)
#或
inputs = tokenizer(sen, padding="max_length", max_length=15)# batch数据
sens = ["弱小的我也有大梦想","有梦想谁都了不起","追逐梦想的心,比梦想本身,更可贵"]
res = tokenizer(sens)# fast 和 slow Tokenizer
# fast
fast_tokenizer = AutoTokenizer.from_pretrained("uer/roberta-base-finetuned-dianping-chinese")
# slow
slow_tokenizer = AutoTokenizer.from_pretrained("uer/roberta-base-finetuned-dianping-chinese", use_fast=False)

✅ 总结

这篇关于transformers Tokenizer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080093

相关文章

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

解决Can‘t load tokenizer for ‘bert-base-chinese‘.问题

报错提示: OSError: Can't load tokenizer for 'bert-base-chinese'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwi

【人工智能】Transformers之Pipeline(十五):总结(summarization)

​​​​​​​ 目录 一、引言  二、总结(summarization) 2.1 概述 2.2 BERT与GPT的结合—BART 2.3 应用场景​​​​​​​ 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4.2 pipeline对象使用参数 ​​​​​​​ 2.4.3 pipeline返回参数 ​​​​​​​​​​​​​​ 2.5 pipe

HOW DO VISION TRANSFORMERS WORK

HOW DO VISION TRANSFORMERS WORK Namuk Park1,2, Songkuk Kim1 1Yonsei University, 2NAVER AI Lab{namuk.park,songkuk}@yonsei.ac.kr 总结 MSA 改善模型泛化能力: MSA 不仅提高了模型的准确性,还通过平滑损失景观来提高泛化能力。损失景观的平坦化使得模型更容易优化,表现

【HuggingFace Transformers】LlamaMLP源码解析

LlamaMLP源码解析 1. LlamaMLP 介绍2. LlamaMLP类 源码解析 1. LlamaMLP 介绍 LlamaMLP 是 LLaMA 模型中的 MLP 层,主要用于对输入特征进行非线性变换。在分片预训练模式下,线性层的权重被切分,分步处理后再进行拼接和求和,而在常规模式下,直接应用线性变换和激活函数处理输入数据。其计算公式为: o u t p u t = W

NLP-文本摘要:利用预训练模型进行文本摘要任务【transformers:pipeline、T5、BART、Pegasus】

一、pipeline 可以使用pipeline快速实现文本摘要 from transformers import pipelinesummarizer = pipeline(task="summarization", model='t5-small')text = """summarize: (CNN)For the second time during his papacy, Pope Fr

BPE_tokenizer代码实现

import refrom collections import Counter# 导入 Counter 的示例(如果需要的话)class BytePairEncoder:def __init__(self):self.ws_token = "_"self.unk_token = "<UNK>"self.corpus = {}self.word_count = {}self.vocab = C

论文泛读: TransNeXt: Robust Foveal Visual Perception for Vision Transformers

文章目录 TransNeXt: Robust Foveal Visual Perception for Vision Transformers论文中的知识补充非QKV注意力变体仿生视觉建模 动机现状问题 贡献方法 TransNeXt: Robust Foveal Visual Perception for Vision Transformers 论文链接: https://o

【HuggingFace Transformers】LlamaModel源码解析

LlamaModel源码解析 1. LlamaModel 介绍2. LlamaModel类 源码解析3. 4维因果注意力掩码生成 1. LlamaModel 介绍 LlamaModel 是一个基于 Transformer 架构的解码器模型,用于自然语言处理任务。它是 Meta 的 LLaMA (Large Language Model Meta AI) 系列的一部分,设计用于生成

【HuggingFace Transformers】BertSelfOutput 和 BertOutput源码解析

BertSelfOutput 和 BertOutput源码解析 1. 介绍1.1 共同点(1) 残差连接 (Residual Connection)(2) 层归一化 (Layer Normalization)(3) Dropout(4) 线性变换 (Linear Transformation) 1.2 不同点(1) 处理的输入类型(2) 线性变换的作用(3) 输入的特征大小 2. 源码解析