当前位置: 首页 > news >正文

玩转tokenizer

🌟 案例 1:加载现成的 BERT 分词器

from tokenizers import Tokenizer# 加载一个预训练的 BERT tokenizer(文件需要提前下载,比如bert-base-uncased)
tokenizer = Tokenizer.from_file("bert-base-uncased-tokenizer.json")# 对文本进行编码
output = tokenizer.encode("Hello, I love studying AI with BERT!")print("Tokens:", output.tokens)   # 分出来的 token
print("IDs:", output.ids)         # 对应的 token id

🌟 案例 2:自己训练一个小分词器

from tokenizers import Tokenizer, models, trainers, pre_tokenizers# 使用 WordPiece 作为分词模型(BERT 用的就是这个)
tokenizer = Tokenizer(models.WordPiece())# 设置预分词器(按空格和标点分)
tokenizer.pre_tokenizer = pre_tokenizers.Whitespace()# 训练器
trainer = trainers.WordPieceTrainer(vocab_size=1000, special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])# 用一些文本来训练(这里随便写几个)
texts = ["I love natural language processing.","BERT is a transformer model.","Deep learning is fun!"
]tokenizer.train_from_iterator(texts, trainer)# 保存分词器
tokenizer.save("my-tokenizer.json")# 使用训练好的分词器
output = tokenizer.encode("I love BERT!")print("Tokens:", output.tokens)
print("IDs:", output.ids)

🌟 案例 3:解码(从 ID 还原文本)

from tokenizers import Tokenizertokenizer = Tokenizer.from_file("my-tokenizer.json")output = tokenizer.encode("BERT makes NLP easier.")
print("IDs:", output.ids)# 解码回文本
decoded = tokenizer.decode(output.ids)
print("Decoded:", decoded)

🌟 案例 4:批量处理

from tokenizers import Tokenizertokenizer = Tokenizer.from_file("my-tokenizer.json")batch = tokenizer.encode_batch(["I like AI.","Transformers are powerful models."
])for out in batch:print(out.tokens, out.ids)

http://www.xdnf.cn/news/1312507.html

相关文章:

  • vscode中用python调用matlab的函数(环境安装)
  • SpringSecurity(一)入门
  • Winsows系统去除右键文件显示的快捷列表
  • 【完整源码+数据集+部署教程】高尔夫球追踪与识别系统源码和数据集:改进yolo11-LAWDS
  • Hexo 双分支部署指南:从原理到 Netlify 实战
  • C# 应用特性的更多内容:多维度解析与深度拓展
  • 启发式合并 + 莫队 恋恋的心跳大冒险
  • 设计索引的原则有哪些?
  • 八、SpringBoot项目热部署
  • 嵌入式硬件篇---电源电路
  • pwn定时器,ARM定时delay 外部中断用函数指针(统一)day55,56
  • 19.3 Transformers量化模型极速加载指南:4倍推理加速+75%显存节省实战
  • 头文件包含和前置声明
  • 什么是微前端?
  • 超越Transformer:大模型架构创新的深度探索
  • 数据结构:二叉平衡树
  • OpenCV 图像处理基础操作指南(二)
  • ClickHouse的学习与了解
  • 概率论基础教程第3章条件概率与独立性(三)
  • Linux sar命令详细使用指南
  • Qt 动态属性(Dynamic Property)详解
  • Qt 关于QString和std::string数据截断的问题- 遇到\0或者0x00如何处理?
  • 【经典上穿突破】副图/选股指标,双均线交叉原理,对价格波动反应灵敏,适合捕捉短期启动点
  • [1Prompt1Story] 注意力机制增强 IPCA | 去噪神经网络 UNet | U型架构分步去噪
  • PowerShell 第11章:过滤和比较(上)
  • 云安全 - The Big IAM Challenge
  • 二分查找。。
  • 智能合约:区块链时代的“数字契约革命”
  • AutoDL使用学习
  • 【Java web】Servlet 详解