Transformers 4.37 中文文档(四十)(4)https://developer.aliyun.com/article/1564996
LongformerTokenizerFast
class transformers.LongformerTokenizerFast
( vocab_file = None merges_file = None tokenizer_file = None errors = 'replace' bos_token = '<s>' eos_token = '</s>' sep_token = '</s>' cls_token = '<s>' unk_token = '<unk>' pad_token = '<pad>' mask_token = '<mask>' add_prefix_space = False trim_offsets = True **kwargs )
参数
vocab_file
(str
)— 词汇表文件的路径。merges_file
(str
)— 合并文件的路径。errors
(str
,可选,默认为"replace"
)— 解码字节为 UTF-8 时要遵循的范例。有关更多信息,请参阅bytes.decode。bos_token
(str
,可选,默认为""
)— 在预训练期间使用的序列开始标记。可以用作序列分类器标记。
在使用特殊标记构建序列时,这不是用于序列开头的标记。使用的标记是cls_token
。eos_token
(str
,可选,默认为"
"
)— 序列结束标记。
在使用特殊标记构建序列时,这不是用于序列结尾的标记。使用的标记是sep_token
。sep_token
(str
,可选,默认为""
)— 分隔符标记,用于从多个序列构建序列,例如用于序列分类的两个序列或用于文本和问题的问题回答。它也用作使用特殊标记构建的序列的最后一个标记。cls_token
(str
,可选,默认为""
)— 在进行序列分类(整个序列的分类,而不是每个标记的分类)时使用的分类器标记。当使用特殊标记构建序列时,它是序列的第一个标记。unk_token
(str
,可选,默认为""
)— 未知标记。词汇表中没有的标记无法转换为 ID,而是设置为此标记。pad_token
(str
,可选,默认为""
)— 用于填充的标记,例如在批处理不同长度的序列时使用。mask_token
(str
,可选,默认为""
)— 用于屏蔽值的标记。这是在使用掩码语言建模训练此模型时使用的标记。这是模型将尝试预测的标记。add_prefix_space
(bool
,可选,默认为False
)— 是否在输入中添加初始空格。这允许将前导单词视为任何其他单词。(Longformer 分词器通过前面的空格检测单词的开头)。trim_offsets
(bool
,可选,默认为True
)— 后处理步骤是否应该修剪偏移量以避免包含空格。
构建一个“快速”Longformer 分词器(由 HuggingFace 的tokenizers库支持),派生自 GPT-2 分词器,使用字节级字节对编码。
这个分词器已经训练过,将空格视为标记的一部分(有点像 sentencepiece),所以一个单词会
在句子开头(没有空格)或不是时,可能会以不同方式编码:
>>> from transformers import LongformerTokenizerFast >>> tokenizer = LongformerTokenizerFast.from_pretrained("allenai/longformer-base-4096") >>> tokenizer("Hello world")["input_ids"] [0, 31414, 232, 2] >>> tokenizer(" Hello world")["input_ids"] [0, 20920, 232, 2]
您可以通过在实例化此分词器时或在对某些文本调用它时传递add_prefix_space=True
来避免这种行为,但由于模型不是以这种方式进行预训练的,可能会导致性能下降。
当与is_split_into_words=True
一起使用时,需要使用add_prefix_space=True
来实例化此分词器。
这个分词器继承自 PreTrainedTokenizerFast,其中包含大部分主要方法。用户应该参考这个超类以获取有关这些方法的更多信息。
create_token_type_ids_from_sequences
( token_ids_0: List token_ids_1: Optional = None ) → export const metadata = 'undefined';List[int]
参数
token_ids_0
(List[int]
) — ID 列表。token_ids_1
(List[int]
, optional) — 序列对的可选第二个 ID 列表。
返回
List[int]
零列表。
从传递的两个序列创建一个用于序列对分类任务的掩码。Longformer 不使用令牌类型 id,因此返回一个零列表。
Longformer 特定输出
class transformers.models.longformer.modeling_longformer.LongformerBaseModelOutput
( last_hidden_state: FloatTensor hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
last_hidden_state
(torch.FloatTensor
,形状为(batch_size, sequence_length, hidden_size)
) — 模型最后一层的隐藏状态序列。hidden_states
(tuple(torch.FloatTensor)
, optional, 当传递output_hidden_states=True
或config.output_hidden_states=True
时返回) — 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组(一个用于嵌入输出,一个用于每一层的输出)。
模型每一层输出的隐藏状态以及初始嵌入输出。attentions
(tuple(torch.FloatTensor)
, optional, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 每一层的torch.FloatTensor
元组,形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
,其中x
是具有全局注意力掩码的令牌数量。在注意力 softmax 之后的局部注意力权重,用于计算自注意力头中的加权平均值。这些是序列中每个令牌到具有全局注意力的每个令牌(前x
个值)和到注意力窗口中的每个令牌(剩余的attention_window
)的注意力权重。
- 1
values)。请注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌到自身的注意力权重位于索引
x + attention_window / 2,前(后)的
attention_window / 2个值是到前(后)的令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;该值应从前
x个注意力权重中访问。如果一个令牌具有全局注意力,则到
attentions中的所有其他令牌的注意力权重设置为 0,该值应从
global_attentions`中访问。
global_attentions
(tuple(torch.FloatTensor)
, optional, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 每一层的torch.FloatTensor
元组,形状为(batch_size, num_heads, sequence_length, x)
,其中x
是具有全局注意力掩码的令牌数量。
在注意力 softmax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是来自具有全局注意力的每个令牌到序列中每个令牌的注意力权重。
Longformer 输出的基类,具有潜在的隐藏状态、局部和全局注意力。
class transformers.models.longformer.modeling_longformer.LongformerBaseModelOutputWithPooling
( last_hidden_state: FloatTensor pooler_output: FloatTensor = None hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
last_hidden_state
(torch.FloatTensor
,形状为(batch_size, sequence_length, hidden_size)
) — 模型最后一层的隐藏状态序列。pooler_output
(形状为(batch_size, hidden_size)
的torch.FloatTensor
)— 序列第一个令牌(分类令牌)的最后一层隐藏状态,进一步由线性层和 Tanh 激活函数处理。线性层的权重是通过预训练期间的下一个句子预测(分类)目标进行训练的。hidden_states
(tuple(torch.FloatTensor)
,可选,当传递output_hidden_states=True
或config.output_hidden_states=True
时返回)— 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)— 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数量。在注意力 softmax 之后的本地注意力权重,用于计算自注意力头中的加权平均值。这些是从序列中的每个令牌到具有全局注意力的每个令牌(前x
个值)以及到注意力窗口中的每个令牌的注意力权重(剩余的attention_window
)。
- 1
值)。注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌对自身的注意力权重位于索引
x + attention_window / 2,前(后)
attention_window / 2个值是对前(后)
attention_window / 2个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;该值应从前
x个注意力权重中访问。如果一个令牌具有全局注意力,则对
attentions中的所有其他令牌的注意力权重设置为 0,应从
global_attentions`中访问这些值。
global_attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)— 形状为(batch_size, num_heads, sequence_length, x)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数量。
在注意力 softmax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是具有全局注意力的每个令牌到序列中的每个令牌的注意力权重。
Longformer 输出的基类,还包含最后隐藏状态的池化。
class transformers.models.longformer.modeling_longformer.LongformerMaskedLMOutput
( loss: Optional = None logits: FloatTensor = None hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
loss
(形状为(1,)
的torch.FloatTensor
,可选,在提供labels
时返回)— 掩码语言建模(MLM)损失。logits
(形状为(batch_size, sequence_length, config.vocab_size)
的torch.FloatTensor
)— 语言建模头的预测分数(SoftMax 之前每个词汇令牌的分数)。hidden_states
(tuple(torch.FloatTensor)
,可选,当传递output_hidden_states=True
或config.output_hidden_states=True
时返回)— 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。在自注意力头中用于计算加权平均值的注意力 softmax 后的本地注意力权重。这些是从序列中的每个令牌到具有全局注意力的每个令牌(前x
个值)和到注意力窗口中的每个令牌(剩余attention_window
个值)的注意力权重。
- 注意:前
x
个值是指文本中具有固定位置的令牌,但剩余的attention_window + 1
个值是指具有相对位置的令牌:令牌对自身的注意力权重位于索引x + attention_window / 2
,前(后)attention_window / 2
个值是对前(后)attention_window / 2
个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;应从前x
个注意力权重中访问该值。如果一个令牌具有全局注意力,则对attentions
中的所有其他令牌的注意力权重设置为 0,应从global_attentions
中访问该值。
global_attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。
在自注意力头中用于计算加权平均值的注意力 softmax 后的全局注意力权重。这些是从具有全局注意力的每个令牌到序列中的每个令牌的注意力权重。
用于掩码语言模型输出的基类。
class transformers.models.longformer.modeling_longformer.LongformerQuestionAnsweringModelOutput
( loss: Optional = None start_logits: FloatTensor = None end_logits: FloatTensor = None hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
损失
(torch.FloatTensor
,形状为(1,)
,可选,当提供labels
时返回) — 总跨度抽取损失是开始和结束位置的交叉熵之和。start_logits
(torch.FloatTensor
,形状为(batch_size, sequence_length)
) — 跨度开始得分(SoftMax 之前)。end_logits
(torch.FloatTensor
,形状为(batch_size, sequence_length)
) — 跨度结束得分(SoftMax 之前)。hidden_states
(tuple(torch.FloatTensor)
,可选,当传递output_hidden_states=True
或config.output_hidden_states=True
时返回) — 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组(嵌入输出的一个和每层输出的一个)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。在自注意力头中用于计算加权平均值的注意力 softmax 后的本地注意力权重。这些是从序列中的每个令牌到具有全局注意力的每个令牌(前x
个值)和到注意力窗口中的每个令牌(剩余attention_window
个值)。
- 1
值)。注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌与自身的注意力权重位于索引
x + attention_window / 2处,前(后)
attention_window / 2个值是指与前(后)
attention_window / 2个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;该值应从前
x个注意力权重中获取。如果一个令牌具有全局注意力,则该令牌对
attentions中的所有其他令牌的注意力权重设置为 0,应从
global_attentions`中获取值。
global_attentions
(tuple(torch.FloatTensor)
, 可选, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数量。
注意力 softmax 后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是每个令牌与序列中每个令牌的全局注意力的注意力权重。
用于问答 Longformer 模型输出的基类。
class transformers.models.longformer.modeling_longformer.LongformerSequenceClassifierOutput
( loss: Optional = None logits: FloatTensor = None hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
loss
(torch.FloatTensor
,形状为(1,)
,可选,当提供labels
时返回) — 分类(如果config.num_labels==1
则为回归)损失。logits
(torch.FloatTensor
,形状为(batch_size, config.num_labels)
) — 分类(如果config.num_labels==1
则为回归)得分(SoftMax 之前)。hidden_states
(tuple(torch.FloatTensor)
, 可选, 当传递output_hidden_states=True
或config.output_hidden_states=True
时返回) — 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组(嵌入输出和每一层输出各一个)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(torch.FloatTensor)
, 可选, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数量。注意力 softmax 后的局部注意力权重,用于计算自注意力头中的加权平均值。这些是序列中每个令牌与具有全局注意力的每个令牌(前x
个值)以及注意力窗口中的每个令牌的注意力权重(剩余的attention_window
值)。
- 1
值)。注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌与自身的注意力权重位于索引
x + attention_window / 2处,前(后)
attention_window / 2个值是指与前(后)
attention_window / 2个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;该值应从前
x个注意力权重中获取。如果一个令牌具有全局注意力,则该令牌对
attentions中的所有其他令牌的注意力权重设置为 0,应从
global_attentions`中获取值。
global_attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)— 形状为(batch_size, num_heads, sequence_length, x)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。
在注意力 softmax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是来自每个令牌的全局注意力到序列中每个令牌的注意力权重。
句子分类模型输出的基类。
class transformers.models.longformer.modeling_longformer.LongformerMultipleChoiceModelOutput
( loss: Optional = None logits: FloatTensor = None hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
loss
(torch.FloatTensor
,形状为*(1,)*,可选,当提供labels
时返回)— 分类损失。logits
(形状为(batch_size, num_choices)
的torch.FloatTensor
)— num_choices是输入张量的第二维度。(参见上面的input_ids)。
分类得分(SoftMax 之前)。hidden_states
(tuple(torch.FloatTensor)
,可选,当传递output_hidden_states=True
或config.output_hidden_states=True
时返回)— 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组(嵌入输出和每层输出各一个)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)— 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。在注意力 softmax 之后的局部注意力权重,用于计算自注意力头中的加权平均值。这些是来自序列中每个令牌的注意力权重,分别对全局注意力的每个令牌(前x
个值)和注意力窗口中的每个令牌进行注意力。
- 1
值)。请注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌对自身的注意力权重位于索引
x + attention_window / 2,前(后)
attention_window / 2个值是对前(后)
attention_window / 2个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;值应从第一个
x注意力权重中访问。如果一个令牌具有全局注意力,则对
attentions中的所有其他令牌的注意力权重设置为 0,值应从
global_attentions`中访问。
global_attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)— 形状为(batch_size, num_heads, sequence_length, x)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。
在注意力 softmax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是来自每个令牌的全局注意力到序列中每个令牌的注意力权重。
多选 Longformer 模型输出的基类。
class transformers.models.longformer.modeling_longformer.LongformerTokenClassifierOutput
( loss: Optional = None logits: FloatTensor = None hidden_states: Optional = None attentions: Optional = None global_attentions: Optional = None )
参数
loss
(形状为(1,)
的torch.FloatTensor
,可选,当提供labels
时返回)— 分类损失。logits
(torch.FloatTensor
of shape(batch_size, sequence_length, config.num_labels)
) — 分类得分(SoftMax 之前)。hidden_states
(tuple(torch.FloatTensor)
, optional, 当传递output_hidden_states=True
或config.output_hidden_states=True
时返回) — 形状为(batch_size, sequence_length, hidden_size)
的torch.FloatTensor
元组(一个用于嵌入的输出 + 一个用于每个层的输出)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(torch.FloatTensor)
, optional, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的标记数。在注意力 softmax 之后的局部注意力权重,用于计算自注意力头中的加权平均值。这些是从序列中的每个标记到具有全局注意力的每个标记(前x
个值)以及到注意力窗口中的每个标记的注意力权重(剩余的attention_window
)。
- 注意:第一个
x
个值是指文本中具有固定位置的标记,但剩余的attention_window + 1
个值是指具有相对位置的标记:标记到自身的注意力权重位于索引x + attention_window / 2
,前(后)面的attention_window / 2
个值是指到前(后)面的标记的注意力权重。如果注意力窗口包含具有全局注意力的标记,则相应索引处的注意力权重设置为 0;值应从第一个x
个注意力权重中获取。如果一个标记具有全局注意力,则该标记到attentions
中的所有其他标记的注意力权重设置为 0,值应从global_attentions
中获取。
global_attentions
(tuple(torch.FloatTensor)
, optional, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x)
的torch.FloatTensor
元组(每层一个),其中x
是具有全局注意力掩码的标记数。
在注意力 softmax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是具有全局注意力的每个标记到序列中的每个标记的注意力权重。
用于标记分类模型输出的基类。
class transformers.models.longformer.modeling_tf_longformer.TFLongformerBaseModelOutput
( last_hidden_state: tf.Tensor = None hidden_states: Tuple[tf.Tensor] | None = None attentions: Tuple[tf.Tensor] | None = None global_attentions: Tuple[tf.Tensor] | None = None )
参数
last_hidden_state
(tf.Tensor
of shape(batch_size, sequence_length, hidden_size)
) — 模型最后一层的隐藏状态序列输出。hidden_states
(tuple(tf.Tensor)
, optional, 当传递output_hidden_states=True
或config.output_hidden_states=True
时返回) — 形状为(batch_size, sequence_length, hidden_size)
的tf.Tensor
元组(一个用于嵌入的输出 + 一个用于每个层的输出)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(tf.Tensor)
, optional, 当传递output_attentions=True
或config.output_attentions=True
时返回) — 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的tf.Tensor
元组(每层一个),其中x
是具有全局注意力掩码的标记数。在注意力 softmax 之后的局部注意力权重,用于计算自注意力头中的加权平均值。这些是从序列中的每个标记到具有全局注意力的每个标记(前x
个值)以及到注意力窗口中的每个标记的注意力权重(剩余的attention_window
)。
- 1
值)。注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌对自身的注意力权重位于索引
x + attention_window / 2,前(后)
attention_window / 2个值是指对前(后)
attention_window / 2个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;该值应从前
x个注意力权重中访问。如果一个令牌具有全局注意力,则对
attentions中的所有其他令牌的注意力权重设置为 0,应从
global_attentions`中访问这些值。
global_attentions
(tuple(tf.Tensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)- 形状为(batch_size, num_heads, sequence_length, x)
的tf.Tensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。
全局注意力在注意力 softmax 之后的权重,用于计算自注意力头中的加权平均值。这些是来自具有全局注意力的每个令牌到序列中每个令牌的注意力权重。
Longformer 输出的基类,具有潜在的隐藏状态,本地和全局注意力。
class transformers.models.longformer.modeling_tf_longformer.TFLongformerBaseModelOutputWithPooling
( last_hidden_state: tf.Tensor = None pooler_output: tf.Tensor = None hidden_states: Tuple[tf.Tensor] | None = None attentions: Tuple[tf.Tensor] | None = None global_attentions: Tuple[tf.Tensor] | None = None )
参数
last_hidden_state
(形状为(batch_size, sequence_length, hidden_size)
的tf.Tensor
)- 模型最后一层的隐藏状态序列。pooler_output
(形状为(batch_size, hidden_size)
的tf.Tensor
)- 序列第一个标记(分类标记)的最后一层隐藏状态,经过线性层和 Tanh 激活函数进一步处理。线性层的权重是在预训练期间从下一个句子预测(分类)目标中训练的。hidden_states
(tuple(tf.Tensor)
,可选,当传递output_hidden_states=True
或config.output_hidden_states=True
时返回)- 形状为(batch_size, sequence_length, hidden_size)
的tf.Tensor
元组(一个用于嵌入的输出 + 一个用于每个层的输出)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(tf.Tensor)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回)- 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的tf.Tensor
元组(每层一个),其中x
是具有全局注意力掩码的令牌数。本地注意力在注意力 softmax 之后的权重,用于计算自注意力头中的加权平均值。这些是来自序列中每个令牌到具有全局注意力的每个令牌(前x
个值)和注意力窗口中每个令牌的注意力权重(剩余attention_window
个值)。
- 1
值)。注意,前
x个值是指文本中具有固定位置的令牌,但剩余的
attention_window + 1个值是指具有相对位置的令牌:令牌对自身的注意力权重位于索引
x + attention_window / 2,前(后)
attention_window / 2个值是指对前(后)
attention_window / 2个令牌的注意力权重。如果注意力窗口包含具有全局注意力的令牌,则相应索引处的注意力权重设置为 0;该值应从前
x个注意力权重中访问。如果一个令牌具有全局注意力,则对
attentions中的所有其他令牌的注意力权重设置为 0,应从
global_attentions`中访问这些值。
global_attentions
(tuple(tf.Tensor)
,可选,当传递output_attentions=True
或当config.output_attentions=True
时返回)- 形状为(batch_size, num_heads, sequence_length, x)
的tf.Tensor
元组(每层一个),其中x
是具有全局注意力掩码的标记数。
在注意力 SoftMax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是具有全局注意力的每个标记到序列中的每个标记的注意力权重。
Longformer 输出的基类,还包含最后隐藏状态的池化。
class transformers.models.longformer.modeling_tf_longformer.TFLongformerMaskedLMOutput
( loss: tf.Tensor | None = None logits: tf.Tensor = None hidden_states: Tuple[tf.Tensor] | None = None attentions: Tuple[tf.Tensor] | None = None global_attentions: Tuple[tf.Tensor] | None = None )
参数
loss
(形状为(1,)
的tf.Tensor
,可选,在提供labels
时返回)- 掩蔽语言建模(MLM)损失。logits
(形状为(batch_size, sequence_length, config.vocab_size)
的tf.Tensor
)- 语言建模头的预测分数(SoftMax 之前每个词汇标记的分数)。hidden_states
(tuple(tf.Tensor)
,可选,当传递output_hidden_states=True
或当config.output_hidden_states=True
时返回)- 形状为(batch_size, sequence_length, hidden_size)
的tf.Tensor
元组(一个用于嵌入的输出 + 一个用于每层的输出)。
模型在每一层输出的隐藏状态加上初始嵌入输出。attentions
(tuple(tf.Tensor)
,可选,当传递output_attentions=True
或当config.output_attentions=True
时返回)- 形状为(batch_size, num_heads, sequence_length, x + attention_window + 1)
的tf.Tensor
元组(每层一个),其中x
是具有全局注意力掩码的标记数。在注意力 SoftMax 之后的局部注意力权重,用于计算自注意力头中的加权平均值。这些是从序列中的每个标记到具有全局注意力的每个标记(前x
个值)以及到注意力窗口中的每个标记的注意力权重(剩余的attention_window
)。
- 注意:第一个
x
个值指的是文本中固定位置的标记,但剩余的attention_window + 1
个值指的是具有相对位置的标记:标记到自身的注意力权重位于索引x + attention_window / 2
,前(后)面的attention_window / 2
个值是到前(后)面的标记的注意力权重。如果注意力窗口包含具有全局注意力的标记,则相应索引处的注意力权重设置为 0;应从第一个x
个注意力权重中访问该值。如果一个标记具有全局注意力,则该标记到attentions
中的所有其他标记的注意力权重设置为 0,应从global_attentions
中访问该值。
global_attentions
(tuple(tf.Tensor)
,可选,当传递output_attentions=True
或当config.output_attentions=True
时返回)- 形状为(batch_size, num_heads, sequence_length, x)
的tf.Tensor
元组(每层一个),其中x
是具有全局注意力掩码的标记数。
在注意力 SoftMax 之后的全局注意力权重,用于计算自注意力头中的加权平均值。这些是具有全局注意力的每个标记到序列中的每个标记的注意力权重。
用于掩蔽语言模型输出的基类。
Transformers 4.37 中文文档(四十)(6)https://developer.aliyun.com/article/1564998