05.AI搭建preparationの(transformers01)BertTokenizer实现分词编码

一、下载 

bert-base-chinese镜像下载

二、简介作用:

模型每个参数占用的字节大小模型大小模型大小层数头数
GPT-14 个字节的 FP32 精度浮点数117M446MB1212
GPT-22 个字节的 FP161.5亿到1.75亿0.5GB到1.5GB4816
GPT-32 个字节的 FP161.75万亿(17500亿)350GB17596个头

BERT(Bidirectional Encoder Representations from Transformers)

针对中文语言,HuggingFace 团队推出了 bert-base-chinese 模型,提供语言处理能力。

Transformers提供两大类的模型架构,一类用于语言生成NLG任务,比如GPT、GPT-2、Transformer-XL、XLNet和XLM,

另一类主要用于语言理解任务,如Bert、DistilBert、RoBERTa、XLM.

三、环境依赖

pip install transformers==4.20.0

transformers · PyPI

四、实践

1、 vocab.txt 是已经设定好的词表

2、分词编码

利用transformers库中的BertTokenizer实现分词编码

from transformers import BertTokenizer#111
bert_name = './bert-base-chinese'
tokenizer = BertTokenizer.from_pretrained(bert_name)
text = '窗前明月光,'
input_ids = tokenizer.encode(text,#需要编码的文本;
add_special_tokens=True,#是否添加特殊token,即CLS分类token和SEP分隔token;
max_length=128,#文本的最大长度
truncation=True,#使用truncation=True来明确地将示例截断为最大长度。
padding='max_length',#将批次中所有序列填充到最长序列的长度
return_tensors='pt'# 返回的tensor类型,有4种为 [‘pt’, ‘tf’, ‘np’, ‘jax’] 分别代表 pytorch tensor、tensorflow tensor、int32数组形式和 jax tensor;
)
print('text:\n', text)
print('text字符数:', len(text))
print('input_ids:\n', input_ids)
print('input_ids大小:', input_ids.size())

3、特殊标记

整个词表的大小为21128个字,共有5种特殊token标记:

[PAD]: 填充标记,编码为0;
[UNK]: 未知字符标记,即该字不在所定义的词表中,编码为100;
[CLS]: 分类标记,蕴含整个文本的含义,编码为101;
[SEP]: 分隔字符标记,用于断开两句话,编码为102;
[MASK]: 掩码标记,该字被遮挡,编码为103;


4、补充:

某些transformers版本 或者会产生一些提醒,但是可以正常运行,我们可以加上以下语句来清除警告

from transformers import logging

logging.set_verbosity_error()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41741.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业4G路由器赋能智慧停车场高效管理

工业4G路由器作为智慧停车场管理系统通信核心,将停车场内的各个子系统连接起来,包括车牌识别系统、道闸控制系统、车位检测系统、收费系统以及监控系统等。通过4G网络,将这些系统采集到的数据传输到云端服务器或管理中心,实现信息…

git 基础操作

1. git 的安装 与 卸载 1.1. git 的安装 判断是否安装 git git --version 安装 git: centos: sudo yum -y install git ubuntu: sudo apt-get install git -y windows: 3.安装git和图形化界面工具_哔哩哔哩_bilibili 1.2. git 的卸载 判断是否安装 git git --version…

【计算机网络】计算机网络协议、接口与服务全面解析——结合生活化案例与图文详解

协议、接口与服务 导读一、协议1.1 定义1.2 组成 二、接口三、服务3.1 定义3.2 服务与协议的区别3.3 分类3.3.1 面向连接服务于无连接服务3.3.2 可靠服务和不可靠服务3.3.3 有应答服务和无应答服务 结语 导读 大家好,很高兴又和大家见面啦!!…

Vue.js 完全指南:从入门到精通

1. Vue.js 简介 1.1 什么是 Vue.js? Vue.js(通常简称为 Vue)是一个用于构建用户界面的渐进式 JavaScript 框架。所谓"渐进式",意味着 Vue 的设计是由浅入深的,你可以根据自己的需求选择使用它的一部分或全部功能。 Vue 最初由尤雨溪(Evan You)在 2014 年创…

qt QOffscreenSurface详解

1、概述 QOffscreenSurface 是 Qt 中用于离屏渲染的一个类。它允许在不直接与屏幕交互的情况下进行 OpenGL 渲染操作,常用于生成纹理、预渲染场景等。通过 QOffscreenSurface,可以在后台创建一个渲染表面,进行绘制操作,并将结果捕…

如何使用VS中的Android Game Development Extension (AGDE) 来查看安卓 Logcat 日志

一、首先按照以下 指引 中的 第1、2步骤,安装一下 AGDE ,AGDE 的安装包可以在官网上找到。 UE4 使用AndroidGameDevelopmentExtension(AGDE)对安卓客户端做“断点调试”与“代码热更”-CSDN博客 在执行第二步骤前,记得…

NodeJs之fs模块

一、定义: fs 模块可以实现与硬盘的交互。例如:文件的创建、删除、重命名、移动;文件内容的写入、读取;文件夹的操作。 二、引入 fs 模块: const fs require(fs)三、文件写入: 1、异步写入:w…

Android14 Settings应用添加有线网开关条目实现

Android14 Settings应用添加有线网开关条目 文章目录 Android14 Settings应用添加有线网开关条目一、前言二、适配修改1、network_provider_settings.xml2、NetworkProviderSettings.java3、TurnOnOffEthernetNetworkController.java4、去除有线网提示条目。5、效果UI&#xff…

微信小程序如何接入直播功能

一、小程序直播开通背景 1.政府资质要求 政府的要求,小程序开通直播需要注册主体具备互联网直播的资质,普通企业需要《信息网络传播视听节目许可证》,表演性质的直播需要《网络文化经营许可证》,政府主体需要《社会信用代码》及…

【Linux】MAC帧

目录 一、MAC帧 (一)IP地址和MAC地址 (二)MAC帧格式 (三)MTU对IP协议的影响、 (四)MTU对UDP协议的影响 (五)MTU对TCP协议的影响 二、以太网协议 &…

如何查看window电脑的GPU信息

GPU(图形处理器,Graphics Processing Unit)和显卡是两个密切相关但不同的概念 概念 1. ‌基本概念‌ ‌GPU‌:是专门用于处理图像和视频信息的微处理器,拥有强大的并行计算能力,主要负责图形渲染、数值分…

大数据判存算法

所谓的大数据判存算法,就是如何在海量数据中快速判断某个数据是否存在。这里用到的知识是布隆过滤器(Bloom Filter),下面按照 what - why - how 的顺序来学习它。 1、什么是布隆过滤器 布隆过滤器(英语:B…

Solr-搜索引擎-入门到精通

以下是对 Apache Solr 的简介及其常用语法的快速入门指南: 一、Solr 是什么? • 核心定位:Apache Solr 是一个基于 Lucene 的高性能、开源的搜索平台,支持全文检索、分词、高亮、聚合统计等功能。 • 核心功能: • 全…

Ajax与Axios,以及Apifox的入门使用

Ajax与Axios,以及Apifox的入门使用 作者:blue 时间:2025.3.20 文章目录 Ajax与Axios,以及Apifox的入门使用1.Ajax2.Axios3.Apifox的基本使用内容Path 参数定义语法用途 Query 参数定义语法用途 1.Ajax 概念:Asynchr…

Spring MVC拦截器

一、什么是拦截器 拦截器是 SpringMVC 提供的一种可以在请求处理过程中对请求进行预处理或后处理的机制。简单来说,拦截器就像是一位“守门员”,它拦住所有进来的请求,根据设定的规则决定是否放行或者进行某些操作。 拦截器可以&#xff1a…

mysql语句 聚合+分组+内外链接

1.聚合函数 1.count 记数 2.sum 求和 3.avg *语法:select avg(列名) from 表名; 4.max 求最大值 5.min 求最小值 求一个班级数学平均分? select avg(ifnull(math,0&#x…

WPF 与 C# 融合开发:从基础到高级应用(一)

WPF 与 C# 融合开发:从基础到高级应用 一、C# 语言基础回顾 1.1 C# 语言概述 C# 是微软开发的一种现代、面向对象的编程语言,它融合了 C、C 和 Java 等语言的优点,具有简洁、安全、高效等特点。C# 广泛应用于 Windows 平台的应用开发&…

【Linux】IP协议

目录 一、IP协议的概念 二、IP协议的报头 (一)IP协议报文的封装、解包和分用 (二)8位生存时间 (三)IP分片 三、IP协议的网段划分 (一)为什么需要网段划分 (二&am…

如何快速下载并安装 Postman?

从下载、安装、启动 Postman 这三个方面为大家详细讲解下载安装 Postman 每一步操作,帮助初学者快速上手。 Postman 下载及安装教程(2025最新)

计算机网络高频(三)UDP基础

计算机网络高频(三)UDP基础 1.UDP的头部格式是什么样的?⭐ UDP 头部具有以下字段: 源端口(Source Port):16 位字段,表示发送方的端口号。目标端口(Destination Port):16 位字段,表示接收方的端口号。长度(Length):16 位字段,表示 UDP 数据报(包括头部和数据部…