NLP 中的pad/padding操作代码分析

今天分析一下NLP中的pad操作代码:

该方法的作用是将输入的序列列表seqs进行填充操作,使其具有相同的长度,以便进行批处理。填充使用指定的pad_token进行,并生成一个对应的mask标志列表,用于标记哪些部分是填充内容(值为1)和哪些部分是原始内容(值为0)。填充后的序列列表和掩盖标志列表将作为方法的返回值,供进一步使用或处理。

    @staticmethoddef _pad_seqs(seqs, pad_token):# 定义变量pad_length,通过遍历seqs token列表获取其中最长token的长度,从而将token列表的所有seq长度都填充到pad_lengthpad_length = max([len(seq) for seq in seqs])# 对seqs中的每个token列表进行填充,填充内容为pad_token,填充至长度为pad_lengthpadded = [seq + ([pad_token] * (pad_length - len(seq))) for seq in seqs]# 创建一个mask标志列表,长度为seq的长度,并将前部填充部分置为0(未经过pad),后部未填充部分置为1(经过了pad操作),添加到masks列表中。masks = [([0] * len(seq)) + ([1] * (pad_length - len(seq))) for seq in seqs]return padded, masks

输入:

  • seqs是token的list
  • pad_token是词表中预先定义的特殊字符 '<PAD>'
tokens, orig_pad_masks = self._pad_seqs(tokens, self.pad_token)

输出:

  • 填充后的token,padded[0]:['^', 'C', 'C', 'n', '1', 'c', 'c', '(', '/', 'C', '=', 'C', '2', '/', 'C', '(', '=', 'O', ')', 'N', '(', 'c', '3', 'c', 'c', 'c', '(', 'C', ')', 'c', '(', 'Cl', ')', 'c', '3', ')', 'C', '(', '=', 'O', ')', 'N', '=', 'C', '2', '[O-]', ')', 'c', '2', 'c', 'c', 'c', 'c', 'c', '2', '1', '&', '<PAD>', '<PAD>', '<PAD>', '<PAD>', '<PAD>', '<PAD>', '<PAD>']
  • mask标志列表,mask[0]:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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]

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

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

相关文章

如何用3D格式转换工具HOOPS Exchange读取颜色和材料信息?

作为应用程序开发人员&#xff0c;非常希望导入部件的图形表示与它们在创作软件中的外观尽可能接近。外观可以在每个B-Rep面的基础上指定&#xff0c;而且&#xff0c;通过装配层次结构的特定路径可以在视觉外观上赋予父/子覆盖。HOOPS ExchangeHOOPS Exchange可捕获有关来自各…

新零售数字化商业模式如何建立?新零售数字化营销怎么做?

随着零售行业增速放缓、用户消费结构升级&#xff0c;企业需要需求新的价值增长点进行转型升级&#xff0c;从而为消费者提供更为多元化的消费需求、提升自己的消费体验。在大数据、物联网、5G及区块链等技术兴起的背景下&#xff0c;数字化新零售系统应运而生。 开利网络认为&…

让GPT人工智能变身常用工具-上

1.密码生成器:GPT为您创建安全密码 想象GPT作为您的个人密码生成器,负责从头到尾为您创建复杂且安全的密码。您只需要告诉他您的密码需求,比如密码的长度,是否包含大写字母、小写字母、数字或特殊字符,他会立即为您生成一个复杂但经过深度设计的密码。 例子: 我希望您…

数学学习总结

最近在准备一场考试&#xff0c;通过这几个月的学习发现数学思维还是有待建立&#xff0c;逻辑性、熟练度、思维想象力还是不足&#xff0c;本身数学基础不扎实&#xff0c;要通过这场考试&#xff0c;需要更进一步努力&#xff0c;复习一轮后&#xff0c;看视频、看老师讲解都…

Python 单继承、多继承、@property、异常、文件操作、线程与进程、进程间通信、TCP框架 7.24

单继承 class luban:def __init__(self, name):self.name nameself.skill "摸鱼飞弹"self.damageLevel 20def attack(self):print("{} 使用了技能{} &#xff0c;给敌方带来了极大的困扰\n""并有{}% 的机会造成一击必杀的效果".format(self.…

Docker介绍以及实战教程

Docker简介 Docker为什么出现 从事软件开发的朋友&#xff0c;可能经常会碰到以下场景&#xff1a;运维&#xff1a;你这程序有Bug啊&#xff0c;怎么跑不起来啊&#xff01;开发&#xff1a;我机子上能跑啊&#xff0c;你会不会用啊究其原因还是开发环境与生产环境不同造成的…

【java安全】RMI

文章目录 【java安全】RMI前言RMI的组成RMI实现Server0x01 编写一个远程接口0x02 实现该远程接口0x03 Registry注册远程对象 Client 小疑问RMI攻击 【java安全】RMI 前言 RMI全称为&#xff1a;Remote Method Invocation 远程方法调用&#xff0c;是java独立的一种机制。 RM…

SoapUI、Jmeter、Postman三种接口测试工具的比较分析

前段时间忙于接口测试&#xff0c;也看了几款接口测试工具&#xff0c;简单从几个角度做了个比较&#xff0c;拿出来与诸位分享一下。本文从多个方面对接口测试的三款常用工具进行比较分析&#xff0c;以便于在特定的情况下选择最合适的工具&#xff0c;或者使用自己编写的工具…

CentOS 7.9 安装 MySQL Redis

CentOS 7.9 安装 MySQL Redis 安装包网上有 MySQL 使用远程连接工具连接 CentOS 服务器&#xff0c;将 MySQL 压缩包上传到服务器上。 根目录创建 app 文件夹&#xff0c;把JDK压缩包通过xftp传到目标服务器 cd /app #进入根目录 tar -xvf mysql-5.7.24-linux-glibc2.12-x…

12.(开发工具篇vscode+git)vscode 不能识别npm命令

1&#xff1a;vscode 不能识别npm命令 问题描述&#xff1a; 解决方式&#xff1a; &#xff08;1&#xff09;右击VSCode图标&#xff0c;选择以管理员身份运行&#xff1b; &#xff08;2&#xff09;在终端中执行get-ExecutionPolicy&#xff0c;显示Restricted&#xff…

展锐5G模块: NCM 多路网卡测试

本文档基于移远 Rx500U 模组 1&#xff09;AT指令查询和设置 a) 设置atqcfg"multiusbnet",2,0 产生2路网卡&#xff0c;网卡1对应PDP contex 1 , 网卡2对应PDP contex 2 rootubuntu:/home/# ls /dev/ttyUSB* /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 …

【主成分分析(PCA)】

主成分分析&#xff08;PCA&#xff09; 摘要 在现代数据科学中&#xff0c;维度灾难常常是数据处理与分析的一大难题。主成分分析&#xff08;PCA&#xff09;是一种广泛使用的数据降维技术&#xff0c;它通过将原始数据转换为新的低维空间&#xff0c;保留最重要的信息&…

centos python3 安装psycopg2 模块

安装异常 Collecting psycopg2Using cached psycopg2-2.8.6.tar.gz (383 kB)ERROR: Command errored out with exit status 1:command: /usr/local/python3/bin/python3.8 -c import sys, setuptools, tokenize; sys.argv[0] ""/tmp/pip-install-cccqzv8r/psycopg2…

C国演义 [第十一章]

第十一章 有效的字母异位词题目理解代码 两数之和题目理解(暴力篇)代码题目理解(哈希篇)代码 有效的字母异位词 力扣链接 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;…

git常用命令

git安装后-指定名称和邮箱 $ git config --global user.name “Your Name” $ git config --global user.email “emailexample.com” 本地初始化GIT 仓库: #基于远程仓库克隆至本地 git clone <remote_url> #当前目录初始化为git 本地仓库 git init “directory” 把文…

JVM-类加载器

主要分为4大步&#xff1a; #mermaid-svg-XlM6AyiZ7c3enqnX {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-XlM6AyiZ7c3enqnX .error-icon{fill:#552222;}#mermaid-svg-XlM6AyiZ7c3enqnX .error-text{fill:#552222;…

Linux:多进程和多线程回环socket服务器和客户端

多进程socket服务器代码&#xff1a; #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> #include <ctype.h> #include <sys/wait.h> #i…

Facebook Messenger市场营销,跨境电商不可忽略的营销手段

营销始于广告。广告仍然是不可或缺的&#xff0c;但广告的方式正在发生变化。以前商家会使用广告邮件或者直接转到网站上的产品页面&#xff0c;但是这两种方法都存在很大问题。虽然企业可以通过电子邮件与潜在客户保持联系&#xff0c;但不能保证这些潜在客户会真正看广告邮件…

Gitee 上传项目到仓库(上传文件夹)

一、将仓库下载到本地 1.首先打开仓库&#xff0c;点击下载压缩包 2.将下载的压缩包解压&#xff0c;并打开&#xff0c;在当前目录下打开 二、git操作 1.在文件当前目录打开git bash 2.初始化git git init 该命令会生成一个隐藏的.git文件夹 如果不是第一次使用&#…

try catch不能捕获promise的错误

参考链接 try catch不是万能的&#xff0c;不能捕获promise的错误。但可以promise接catch来捕获错误&#xff0c;如果有多层的promise&#xff0c;每层都要加catch。 代码示例 // 捕获失败 try {new Promise((resolve,reject)>{throw Error(1)}) } catch (e) {console.erro…