首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当应用于单个句子时,BertModel如何知道跳过attention_mask参数?

当应用于单个句子时,BertModel如何知道跳过attention_mask参数?
EN

Stack Overflow用户
提问于 2020-10-12 22:03:55
回答 1查看 42关注 0票数 0

我正在创建一个类,它可以使用预先训练好的BertModel为单个句子和一组句子生成句子嵌入。从示例代码中,我可以看到下面的语句

代码语言:javascript
复制
outputs = self.model(tokens_tensor, segments_tensors)

它没有attention_mask参数。但是,如果我输入注意掩码张量参数,它会产生相同的结果

代码语言:javascript
复制
outputs = self.model(tokens_tensor, attention_tensors, segments_tensors)

当运行整个数据集的代码时,attention_tensors是绝对必要的。

我理解为什么单个句子不需要注意掩码的原因,但是python代码如何知道第二个参数实际上是segments_tensor,因为在文档中,它期望attention_tensors是第二个参数。

https://huggingface.co/transformers/model_doc/bert.html

EN

回答 1

Stack Overflow用户

发布于 2020-10-13 16:54:50

如果未设置attention_mask (因此为None),则在任何地方都显式设置为1。

参见l. 803 in modeling_bert.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64319429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档