【模型学习】

https://zhuanlan.zhihu.com/p/522344841

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
tokenizer("男女主角亦有专属声优这一模式是由谁改编的?", "任天堂游戏谜之村雨城")
{
'input_ids': [101, 5615, 3235, 2111, 7164, 2167, 4461, 2084, 3496, 3173, 2224, 7700, 2072, 4723, 3709, 4380, 5611, 7363, 4282, 6377, 5718, 10083, 102, 2212, 3198, 3102, 5089, 3974, 7379, 2120, 4492, 8289, 3086, 102],
'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
}

在这个示例中,我们使用了Hugging Face的Transformers库中的AutoTokenizer类来创建一个预训练的分词器(tokenizer)。AutoTokenizer.from_pretrained方法用于从预训练模型的检查点(model_checkpoint)加载分词器。然后,我们使用这个分词器对两个文本进行预处理,将它们转换为模型可以理解的输入ID序列、token类型ID序列和注意力掩码(attention mask)序列。

解释
input_ids:这是一个列表,表示输入文本被分词后的ID序列。每个ID对应一个词汇的编码。在这个示例中,input_ids表示了两个文本被分词后的ID序列。

token_type_ids:这是一个列表,表示每个子词的类型(通常用于区分输入文本中的两个文本)。在这个示例中,token_type_ids的值为0或1,表示两个文本的分词结果。

attention_mask:这是一个列表,表示每个子词是否有效(即是否在输入文本中)。在这个示例中,attention_mask的值为1,表示所有子词都是有效的。

示例代码
以下是一个完整的示例代码,展示了如何使用AutoTokenizer对文本进行预处理:

from transformers import AutoTokenizer# 使用预训练的分词器
tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")# 示例文本
text1 = "男女主角亦有专属声优这一模式是由谁改编的?"
text2 = "任天堂游戏谜之村雨城"# 预处理文本
inputs = tokenizer(text1, text2, return_tensors='pt', max_length=50, truncation=True)# 查看预处理结果
print(inputs)

input_ids**:这是一个列表,表示输入文本被分词后的ID序列 , 什么意思
在这里插入图片描述

attention_mask 干什么用的
attention_mask在自然语言处理(NLP)中主要用于指示模型在处理输入文本时哪些位置的子词是有效的(即应该考虑),哪些位置的子词是不重要的(如填充符号或特殊标记)。它通常是一个二进制掩码(0或1),其中1表示有效的子词,0表示不重要的子词。

详细解释
有效子词(1):当attention_mask的值为1时,表示该位置的子词是有效的,模型应该考虑它。在预处理文本时,通常会将有效的子词设置为1。

不重要子词(0):当attention_mask的值为0时,表示该位置的子词是不重要的。这些子词通常是填充符号(padding symbols)或特殊标记(如[CLS]和[SEP]),它们在模型的计算过程中不提供有用的信息。

示例
假设我们有一个文本"男女主角是由谁改编的?任天堂游戏谜之村雨城",经过分词后变成了以下子词ID序列:
attention_mask在自然语言处理(NLP)中主要用于指示模型在处理输入文本时哪些位置的子词是有效的(即应该考虑),哪些位置的子词是不重要的(如填充符号或特殊标记)。它通常是一个二进制掩码(0或1),其中1表示有效的子词,0表示不重要的子词。

详细解释
有效子词(1):当attention_mask的值为1时,表示该位置的子词是有效的,模型应该考虑它。在预处理文本时,通常会将有效的子词设置为1。

不重要子词(0):当attention_mask的值为0时,表示该位置的子词是不重要的。这些子词通常是填充符号(padding symbols)或特殊标记(如[CLS]和[SEP]),它们在模型的计算过程中不提供有用的信息。

示例
假设我们有一个文本"男女主角是由谁改编的?任天堂游戏谜之村雨城",经过分词后变成了以下子词ID序列:
为了将这个序列输入模型,我们需要为其创建一个attention_mask。假设我们使用了一个最大长度为50的序列,并且文本长度为23,那么我们需要将attention_mask设置为长度为50的序列,其中前23个位置为1,后27个位置为0:
为了将这个序列输入模型,我们需要为其创建一个attention_mask。假设我们使用了一个最大长度为50的序列,并且文本长度为23,那么我们需要将attention_mask设置为长度为50的序列,其中前23个位置为1,后27个位置为0:
在这个attention_mask中,前23个位置(对应有效的子词)被设置为1,后27个位置(对应填充符号)被设置为0。模型在处理这个输入序列时,只会考虑前23个有效的子词,忽略后面的填充符号。

使用场景
attention_mask在多种场景中都非常有用,包括但不限于:

文本分类:在分类任务中,可能需要将输入文本截断到一个固定的长度,并使用attention_mask来指示模型哪些位置的子词是有效的。

序列对齐:在机器翻译任务中,源文本和目标文本的长度可能不同,使用attention_mask可以帮助模型区分哪些位置的子词是源文本的哪些位置的子词。

问答任务:在问答任务中,输入文本可能包含多个段落,使用attention_mask可以帮助模型区分哪些位置的子词属于哪个段落。

通过attention_mask,模型可以更准确地理解输入文本的结构和内容,从而提高模型的性能和准确性。

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

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

相关文章

速卖通2024年海外双11及黑五大促节奏与玩法

速卖通在2024年的双11和黑五大促销活动中,推出了一系列新的节奏和玩法,以适应全球化的市场需求和提升消费者体验。以下是详细的活动安排和商家激励措施: 双11大促节奏 预热阶段:11月8日至11月10日,为期3天。 正式售卖…

OpenCV视觉分析之运动分析(4)背景减除类:BackgroundSubtractorKNN的一系列set函数的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 BackgroundSubtractorKNN类有一系列的set函数,下面我们一一列举他们的名字和用法。 一系列set函数 函数setDetectShadows() setDe…

WPF+MVVM案例实战(三)- 动态数字卡片效果实现

1、创建项目 打开 VS2022 ,新建项目 Wpf_Examples,创建各层级文件夹,安装 CommunityToolkit.Mvvm 和 Microsoft.Extensions.DependencyInjectio NuGet包,完成MVVM框架搭建。搭建完成后项目层次如下图所示: 这里如何实现 MVVM 框…

【AI学习】Mamba学习(十二):深入理解S4模型

#1024程序员节|征文# HiPPO的学习暂告一段落,按照“HiPPO->S4->Mamba 演化历程”,接着学习S4。 S4对应的论文:《Efficiently Modeling Long Sequences with Structured State Spaces》 文章链接:https://ar5iv…

【论文笔记】X-Former: Unifying Contrastive and Reconstruction Learning for MLLMs

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: X-Former: Unifying Contr…

《在1688的数字海洋中,如何用API网罗一家店铺的所有商品?》

想象一下,你是一位船长,航行在1688这个电商的数字海洋上。你的任务是探索一家神秘的店铺岛屿,并且用你的API魔法网,网罗岛上所有的商品宝藏。不用担心,即使你不是海贼王,有了代码的力量,你也能成…

uniapp:sqlite最详细教程,小白可直接粘贴复制

新建uniapp项目,需要4个页面, loading 启动页:打开数据库,判断数据表是否存在,表内是否有数据,创建数据表的逻辑。 register 注册页:数据表已存在,但是没有数据,需要进入该页面注册第一条数据 index 首页:展示数据列表内的数据,可修改默认,添加新数据 edit 编辑:编…

vuetify学习笔记(v-app和v-responsive)

我最近在学习vuetify3,我以前是用element plus和taiwind css。vuetify的一个好处是,它不仅是一个向element plus一样提供好用的组件库,而且还提供了向taiwind css一样的原子类,可以通过类名方便的定义组建的样式。以前element plu…

ReactOS系统中搜索给定长度的空间地址区间中的二叉树

搜索给定长度的空间地址区间 //搜索给定长度的空间地址区间 MmFindGap MmFindGapTopDown PVOID NTAPI MmFindGap(PMADDRESS_SPACE AddressSpace,ULONG_PTR Length,ULONG_PTR Granularity,BOOLEAN TopDown );PMADDRESS_SPACE AddressSpace,//该进程用户空间 ULONG_PTR Length,…

数据结构:堆的应用

堆排序 假定有一组数据极多的数,让我们进行排序,那我们很容易想到一种经典的排序方法,冒泡排序,我们对冒泡排序的时间复杂度进行分析: 显然,冒泡排序的时间复杂度是O(n^2),当数据量…

Trimble三维激光扫描开启工业元宇宙的安全“智造”之路-沪敖3D

以下文章来源于天宝Trimble Field Systems ,作者小甜宝 工业制造是一个固有危险性的行业,人身伤害、物理损坏和长时间的维修都可能导致项目停滞。因此,确保安全不仅仅对工作人员重要,更是保证项目顺利进行关键。 在自动化程度提…

Kafka Tool(Offset Explorer)在windows下配置访问kerberos认证Kafka

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言准备配置文件配置软件参数及启动 前言 Offset Explorer(以前称为Kafka Tool)是一个用于管理和使用Apache Kafka集群的图形用户界面(GUI)应用程序。…

ubuntu查看系统版本命令

查看系统版本指令 在 Ubuntu 操作系统中,您可以使用多个命令来查看系统版本。以下是一些常用的命令: lsb_release -a 这个命令会显示详细的 Ubuntu 版本信息,包括发行版名称、版本号、代号等。lsb_release -acat /etc/os-release 这个命令会显…

海外盲盒系统搭建:海外市场带来的全新机遇

我国盲盒在海外迅速火爆,今年以来销量一直呈现高增长态势,各类盲盒在海外受到消费者疯抢,供不应求,海外盲盒市场发展前景巨大! 在开拓海外市场中,我国盲盒先后在泰国、越南等国家取得了显著的成绩&#xf…

小米15、SU7 Ultra、新平板,粮厂「科技春晚」定了

继高通发布骁龙 8 至尊版两天后,给一众网友脖子盼僵的小米 15,终于是迎来了官宣定档! 就在昨天,小米官方宣布「小米 15 系列暨小米澎湃 OS 2 新品发布会」将于 10 月 29 日举行。 而这场发布会不光会有年度新机小米 15 系、全新澎…

量子纠错--shor‘s 码

定理1 (量子纠错的条件) C是一组量子编码,P是映射到C上的投影算子。假设是一个算子元素描述的量子操作,那么基于量子编码C,存在一个能对抗描述的噪声的纠错操作R的充要条件是 对某个复元素厄米矩阵成立。 将算子元素称为导致的错误。如果这样…

【C++】类和对象(附题)

目录 一、类的定义 1.1.类定义格式 1.2.访问限定符 1.3.类域 二、实例化 2.1.实例化概念 2.2.对象大小 三、this指针 附加题:(增进对this指针的理解) 1.下面程序编译运行结果是() 2.下面程序编译运行结果是&…

昆虫种类识别数据集昆虫物种分类数据集YOLO格式VOC格式 目标检测 机器视觉数据集

一、数据集概述 数据集名称:10类昆虫图像数据集 数据集包含了多种农作物中常见的昆虫种类,包括军虫、豆蓟象、红蜘蛛、水稻瘿蚊、水稻卷叶蛾、水稻叶蝉、水稻水蚤、小麦薄翅薄翅蔗蝇、白背飞虱和黄稻螟。 1.1可能应用的领域 农业害虫监测与防控&#x…

基于 Python 的机器学习模型部署到 Flask Web 应用:从训练到部署的完整指南

目录 引言 技术栈 步骤一:数据预处理 步骤二:训练机器学习模型 步骤三:创建 Flask Web 应用 步骤四:测试 Web 应用 步骤五:模型的保存与加载 保存模型 加载模型并在 Flask 中使用 步骤六:Web 应用…

超越OpenAI GPT-4o,Yi-Lightning指南:中国AI大模型新巅峰

Yi-Lightning 是零一万物公司最新发布的旗舰模型,它在国际权威盲测榜单 LMSYS 上超越了硅谷知名 OpenAI GPT-4o-2024-05-13、Anthropic Claude 3.5 Sonnet,排名世界第六,中国第一,这标志着中国大模型首次实现超越 OpenAI GPT-4o 的…