我正在创建一个类,它可以使用预先训练好的BertModel为单个句子和一组句子生成句子嵌入。从示例代码中,我可以看到下面的语句
outputs = self.model(tokens_tensor, segments_tensors)它没有attention_mask参数。但是,如果我输入注意掩码张量参数,它会产生相同的结果
outputs = self.model(tokens_tensor, attention_tensors, segments_tensors)当运行整个数据集的代码时,attention_tensors是绝对必要的。
我理解为什么单个句子不需要注意掩码的原因,但是python代码如何知道第二个参数实际上是segments_tensor,因为在文档中,它期望attention_tensors是第二个参数。
发布于 2020-10-13 16:54:50
如果未设置attention_mask (因此为None),则在任何地方都显式设置为1。
https://stackoverflow.com/questions/64319429
复制相似问题