- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理文本分类问题,我想使用 BERT 模型作为基础,然后是密集层。我想知道这 3 个参数是如何工作的?例如,如果我有 3 个句子:
'My name is slim shade and I am an aspiring AI Engineer',
'I am an aspiring AI Engineer',
'My name is Slim'
那么这 3 个参数会做什么呢?我认为如下:
max_length=5
将严格保留长度为 5 的所有句子 padding=max_length
将为第三句 truncate=True
将截断第一个和第二个句子,使其长度严格为 5。! pip install transformers==3.5.1
from transformers import BertTokenizerFast
tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased')
tokens = tokenizer.batch_encode_plus(text,max_length=5,padding='max_length', truncation=True)
text_seq = torch.tensor(tokens['input_ids'])
text_mask = torch.tensor(tokens['attention_mask'])
最佳答案
您所假设的几乎是正确的,但是,几乎没有区别。max_length=5
, max_length
指定 的长度标记化文本 .默认情况下,BERT 执行词段标记化。例如“playing”这个词可以拆分为“play”和“##ing”(这可能不是很精确,只是为了帮助你理解词块标记化),然后添加[CLS]
句子开头的标记,以及 [SEP]
句末的记号。因此,它首先标记句子,将其截断为 max_length-2
(如果 truncation=True
),然后添加 [CLS]
开头和[SEP]
最后的标记。(所以总长度为 max_length
)padding='max_length'
, 在这个例子中,第三个例子将被填充不是很明显,因为长度超过 5
追加后 [CLS]
和 [SEP]
token 。但是,如果您有 max_length
共 10 个。标记化的文本对应于 [101, 2026, 2171, 2003, 11754, 102, 0, 0, 0, 0]
,其中 101 是 [CLS]
的 ID 102 是 [SEP]
的 ID token 。因此,用零填充使所有文本的长度为 max_length
同样,truncate=True
将确保严格遵守 max_length,即较长的句子被截断为 max_length
仅当 truncate=True
关于python - max_length、填充和截断参数在 HuggingFace' BertTokenizerFast.from_pretrained ('bert-base-uncased' ) 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65246703/
我如何访问 max_length Django 中的模型字段?我正在用 REST 框架编写一个序列化程序,我想编写一个自定义验证函数来验证长度。请注意,我使用的是 SQLite,因此数据库本身不强制执
我正在开发 Django 应用程序,我想知道是否有任何理由为模型字段(特别是 TextField,但我对所有字段都感兴趣)显式设置 max_length . 它是减少表的大小,还是提高效率?较小的 m
我希望一个模型属性的整数值是另一个模型属性的 max_length,如下所述“capacity = models.IntegerField(max_length=Concerthall.capac
所以我有这个预先存在的数据库,我正在尝试使用 Django 连接它,我已经对数据库进行了内省(introspection),我只是在实际做任何事情之前清理模型,我遇到了一个路障。其中一个数据库表有一行
我在模型中有一个字段, name = models.CharField(max_length=2000) 输入的数据是, name='abc' django 模型的 max_length 设置为 20
我有这个模型字段: id_student = models.PositiveIntegerField(primary_key=True, max_length=10) max_length限制不起作用
我编写了以下脚本来获取指定表的列上的一些数据: DECLARE @QueryTable varchar(35); SET @QueryTable = 'Test'; SELECT DISTINCT
我使用的是 Django 1.9,其中用户名的字符数限制为 30 个。为了克服这个问题,我创建了一个自定义用户模型,如下所示: class User(AbstractUser): pass #
我正在尝试使我的管理员登录字段大于 30 个字符,因为我使用的是自定义电子邮件身份验证后端,它并不真正关心用户名字段有多长。 我想建立一个monkey_patch将更改应用于所有管理站点的应用程序。
我在 django 中有以下模型: class Node(models.Model): name = models.CharField(max_length=255) 以及上述模型的子类: c
我遇到了一个非常奇怪的数据库错误: psycopg2.DataError: value too long for type character varying(4) 当我试图在我的调查应用程序中保存一
MySQL 在属性 max_length 中返回当前字段值长度。 我有办法获得正确的值吗? ie 字段part_code是一个varchar(32),如果它包含“ABC”的值,则返回3,而不是预期的结
这是我的模型: class Position(models.Model): map = models.ForeignKey(Map,primary_key=True) #members
在不得不增加模型中另一个字段的 max_length 之后,我开始怀疑:也许这不是方法? 我正在从外部 API 获取数据,因此我无法检查最大长度是多少。假设我猜测该字段可以有 100 个字符 - 因为
我有一个提供的数据库模式,我想为其创建一个 Django 应用程序。架构中的许多表共享一组通用的列,例如 name 和 date_created。这促使我创建一个包含这些列的抽象 Standard_m
嗨,有没有一种方法可以在 Django 中过滤字段属性而不是字段值? 例如,对于我的 GUI 布局,我想知道按 max_length 排序的字段的顺序。我的模型: class Person(model
我想用我的 Django 模型覆盖文件。因此,如果我上传“一个”然后上传“两个”,“两个”应该覆盖“一个”(在文件系统上)。但是我得到一个错误。 这是我的模型: class StudentAssign
我正在尝试创建一个选择有限的字段: Action_Types=( ('0','foo'), ('1','bar'),
假设我有一个类似这样的 Django 类: class Person(models.Model): name = models.CharField(max_length=50) # .
我使用 Django allauth 作为我的 Django 站点的用户帐户框架。文档显示有一个 ACCOUNT_USERNAME_MIN_LENGTH但是由于某种原因没有 ACCOUNT_USERN
我是一名优秀的程序员,十分优秀!