Transformers 4.37 中文文档(九十四)(4)https://developer.aliyun.com/article/1564067
TFTapasForMaskedLM
class transformers.TFTapasForMaskedLM
( config: TapasConfig *inputs **kwargs ) • 1
参数
config
(TapasConfig)— 具有模型所有参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只加载配置。查看 from_pretrained()方法以加载模型权重。
带有顶部的语言建模
头的 Tapas 模型。
此模型继承自 TFPreTrainedModel。查看超类文档以获取库为所有模型实现的通用方法(例如下载或保存,调整输入嵌入,修剪头等)。
此模型还是一个tf.keras.Model子类。将其用作常规的 TF 2.0 Keras 模型,并参考 TF 2.0 文档以获取与一般用法和行为相关的所有信息。
transformers
中的 TensorFlow 模型和层接受两种格式的输入:
- 将所有输入作为关键字参数(类似于 PyTorch 模型),或
- 将所有输入作为列表、元组或字典放在第一个位置参数中。
支持第二种格式的原因是,Keras 方法在将输入传递给模型和层时更喜欢这种格式。由于这种支持,当使用model.fit()
等方法时,应该可以“正常工作” - 只需以model.fit()
支持的任何格式传递输入和标签!但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 KerasFunctional
API 创建自己的层或模型时,有三种可能性可以用来收集第一个位置参数中的所有输入张量:
- 只有一个包含
input_ids
的张量,没有其他内容:model(input_ids)
- 一个长度不定的列表,其中包含一个或多个输入张量,按照文档字符串中给定的顺序:
model([input_ids, attention_mask])
或model([input_ids, attention_mask, token_type_ids])
- 一个字典,其中包含一个或多个与文档字符串中给定的输入名称相关联的输入张量:
model({"input_ids": input_ids, "token_type_ids": token_type_ids})
请注意,当使用子类化创建模型和层时,您无需担心这些问题,因为您可以像对待任何其他 Python 函数一样传递输入!
call
( input_ids: TFModelInputType | None = None attention_mask: np.ndarray | tf.Tensor | None = None token_type_ids: np.ndarray | tf.Tensor | None = None position_ids: np.ndarray | tf.Tensor | None = None head_mask: np.ndarray | tf.Tensor | None = None inputs_embeds: np.ndarray | tf.Tensor | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None labels: np.ndarray | tf.Tensor | None = None training: Optional[bool] = False ) → export const metadata = 'undefined';transformers.modeling_tf_outputs.TFMaskedLMOutput or tuple(tf.Tensor) • 1
参数
input_ids
(np.ndarray
,tf.Tensor
,List[tf.Tensor]
,Dict[str, tf.Tensor]
或Dict[str, np.ndarray]
,每个示例的形状必须为(batch_size, sequence_length)
)— 输入序列标记在词汇表中的索引。
可以使用 AutoTokenizer 获取索引。查看 PreTrainedTokenizer.call
()和 PreTrainedTokenizer.encode()以获取详细信息。
什么是输入 ID?attention_mask
(形状为(batch_size, sequence_length)
的np.ndarray
或tf.Tensor
,可选)— 用于避免在填充标记索引上执行注意力的掩码。选择的掩码值在[0, 1]
中:
- 1 用于“未被掩蔽”的标记,
- 0 用于“被掩蔽”的标记。
- 什么是注意力掩码?
token_type_ids
(形状为(batch_size, sequence_length, 7)
的np.ndarray
或tf.Tensor
,可选)— 编码表格结构的标记索引。可以使用 AutoTokenizer 获取索引。查看此类以获取更多信息。
什么是标记类型 ID?position_ids
(np.ndarray
或形状为(batch_size, sequence_length)
的tf.Tensor
,optional) — 每个输入序列标记在位置嵌入中的位置索引。如果 TapasConfig 的reset_position_index_per_cell
设置为True
,将使用相对位置嵌入。在范围[0, config.max_position_embeddings - 1]
中选择。
什么是位置 ID?head_mask
(np.ndarray
或形状为(num_heads,)
或(num_layers, num_heads)
的tf.Tensor
,optional) — 用于使自注意力模块中的选定头部失效的掩码。掩码值选定在[0, 1]
之间:
- 1 表示头部
未被掩码
, - 0 表示头部
被掩码
。
inputs_embeds
(np.ndarray
或形状为(batch_size, sequence_length, hidden_size)
的tf.Tensor
,optional) — 可选地,您可以选择直接传递嵌入表示,而不是传递input_ids
。如果您想要更多控制权来将input_ids
索引转换为相关向量,这将非常有用,而不是使用模型的内部嵌入查找矩阵。output_attentions
(bool
, optional) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回张量下的attentions
。此参数仅在急切模式下可用,在图模式下将使用配置中的值。output_hidden_states
(bool
, optional) — 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量下的hidden_states
。此参数仅在急切模式下可用,在图模式下将使用配置中的值。return_dict
(bool
, optional) — 是否返回一个 ModelOutput 而不是一个普通元组。此参数可在急切模式下使用,在图模式下该值将始终设置为 True。training
(bool
, optional,默认为`False“) — 是否在训练模式下使用模型(一些模块如 dropout 模块在训练和评估之间有不同的行为)。labels
(tf.Tensor
或形状为(batch_size, sequence_length)
的np.ndarray
,optional) — 用于计算掩码语言建模损失的标签。索引应在[-100, 0, ..., config.vocab_size]
内(请参阅input_ids
文档字符串)。索引设置为-100
的标记将被忽略(掩码),仅对具有标签在[0, ..., config.vocab_size]
内的标记计算损失。
返回
transformers.modeling_tf_outputs.TFMaskedLMOutput 或 tuple(tf.Tensor)
一个 transformers.modeling_tf_outputs.TFMaskedLMOutput 或一个tf.Tensor
元组(如果传递return_dict=False
或config.return_dict=False
时)包含各种元素,具体取决于配置(TapasConfig)和输入。
loss
(tf.Tensor
,形状为(n,)
,optional,当提供labels
时返回,其中 n 是非掩码标签的数量) — 掩码语言建模(MLM)损失。logits
(tf.Tensor
,形状为(batch_size, sequence_length, config.vocab_size)
) — 语言建模头部的预测分数(SoftMax 之前每个词汇标记的分数)。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)
,可选,当传递output_attentions=True
或config.output_attentions=True
时返回) - 形状为(batch_size, num_heads, sequence_length, sequence_length)
的tf.Tensor
元组(每层一个)。
在注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。
TFTapasForMaskedLM 的前向方法覆盖了__call__
特殊方法。
尽管前向传递的步骤需要在此函数内定义,但应该在此之后调用Module
实例,而不是这个,因为前者会负责运行预处理和后处理步骤,而后者会默默地忽略它们。
示例:
>>> from transformers import AutoTokenizer, TapasForMaskedLM >>> import pandas as pd >>> tokenizer = AutoTokenizer.from_pretrained("google/tapas-base") >>> model = TapasForMaskedLM.from_pretrained("google/tapas-base") >>> data = { ... "Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], ... "Age": ["56", "45", "59"], ... "Number of movies": ["87", "53", "69"], ... } >>> table = pd.DataFrame.from_dict(data) >>> inputs = tokenizer( ... table=table, queries="How many [MASK] has George [MASK] played in?", return_tensors="tf" ... ) >>> labels = tokenizer( ... table=table, queries="How many movies has George Clooney played in?", return_tensors="tf" ... )["input_ids"] >>> outputs = model(**inputs, labels=labels) >>> logits = outputs.logits • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • 13 • 14 • 15 • 16 • 17 • 18 • 19 • 20 • 21 • 22
TFTapasForSequenceClassification
class transformers.TFTapasForSequenceClassification
( config: TapasConfig *inputs **kwargs ) • 1
参数
config
(TapasConfig) - 具有模型所有参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。
在顶部具有序列分类头的 Tapas 模型(在汇总输出的顶部有一个线性层),例如用于表格蕴涵任务,如 TabFact(Chen 等,2020)。
该模型继承自 TFPreTrainedModel。查看超类文档以了解库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入、修剪头等)。
该模型也是一个tf.keras.Model子类。将其用作常规的 TF 2.0 Keras 模型,并参考 TF 2.0 文档以获取与一般用法和行为相关的所有信息。
TensorFlow 模型和transformers
中的层接受两种格式作为输入:
- 将所有输入作为关键字参数(类似于 PyTorch 模型),或
- 将所有输入作为列表、元组或字典放在第一个位置参数中。
支持第二种格式的原因是,当将输入传递给模型和层时,Keras 方法更喜欢这种格式。由于这种支持,当使用model.fit()
等方法时,应该“只需工作” - 只需传递您的输入和标签以任何model.fit()
支持的格式!但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctional
API 创建自己的层或模型时,有三种可能性可以用来收集所有输入张量在第一个位置参数中:
- 只有一个包含
input_ids
的张量,没有其他内容:model(input_ids)
- 一个长度不同的列表,其中包含一个或多个按照文档字符串中给定的顺序的输入张量:
model([input_ids, attention_mask])
或model([input_ids, attention_mask, token_type_ids])
- 一个字典,其中包含一个或多个与文档字符串中给定的输入名称相关联的输入张量:
model({"input_ids": input_ids, "token_type_ids": token_type_ids})
请注意,当使用子类化创建模型和层时,您无需担心任何这些,因为您可以像对待任何其他 Python 函数一样传递输入!
call
( input_ids: TFModelInputType | None = None attention_mask: np.ndarray | tf.Tensor | None = None token_type_ids: np.ndarray | tf.Tensor | None = None position_ids: np.ndarray | tf.Tensor | None = None head_mask: np.ndarray | tf.Tensor | None = None inputs_embeds: np.ndarray | tf.Tensor | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None labels: np.ndarray | tf.Tensor | None = None training: Optional[bool] = False ) → export const metadata = 'undefined';transformers.modeling_tf_outputs.TFSequenceClassifierOutput or tuple(tf.Tensor) • 1
参数
input_ids
(np.ndarray
,tf.Tensor
,List[tf.Tensor]
,Dict[str, tf.Tensor]
或Dict[str, np.ndarray]
,每个示例的形状必须为(batch_size, num_choices, sequence_length)
) — 词汇表中输入序列标记的索引。
可以使用 AutoTokenizer 获取索引。查看 PreTrainedTokenizer.call
() 和 PreTrainedTokenizer.encode() 以获取详细信息。
什么是输入 ID?attention_mask
(np.ndarray
或tf.Tensor
,形状为(batch_size, num_choices, sequence_length)
,可选) — 避免在填充标记索引上执行注意力的掩码。掩码值选择在[0, 1]
:
- 对于
未屏蔽
的标记, - 0 对于
被屏蔽
的标记。
- 什么是注意力掩码?
token_type_ids
(np.ndarray
或tf.Tensor
,形状为(batch_size, num_choices, sequence_length, 7)
,可选) — 编码表格结构的标记索引。可以使用 AutoTokenizer 获取索引。查看此类以获取更多信息。
什么是标记类型 ID?position_ids
(np.ndarray
或tf.Tensor
,形状为(batch_size, num_choices, sequence_length)
,可选) — 每个输入序列标记在位置嵌入中的位置索引。如果 TapasConfig 的reset_position_index_per_cell
设置为True
,将使用相对位置嵌入。选择范围为[0, config.max_position_embeddings - 1]
。
什么是位置 ID?head_mask
(np.ndarray
或tf.Tensor
,形状为(num_heads,)
或(num_layers, num_heads)
,可选) — 用于使自注意力模块的选定头部失效的掩码。掩码值选择在[0, 1]
:
- 1 表示头部未被
屏蔽
, - 0 表示头部被
屏蔽
。
inputs_embeds
(np.ndarray
或tf.Tensor
,形状为(batch_size, num_choices, sequence_length, hidden_size)
,可选) — 可选地,可以直接传递嵌入表示而不是传递input_ids
。如果您想要更多控制如何将input_ids
索引转换为相关向量,这将很有用,而不是使用模型的内部嵌入查找矩阵。output_attentions
(bool
,可选) — 是否返回所有注意力层的注意力张量。查看返回张量中的attentions
以获取更多细节。此参数仅在急切模式下可用,在图模式下将使用配置中的值。output_hidden_states
(bool
,可选) — 是否返回所有层的隐藏状态。查看返回张量中的hidden_states
以获取更多细节。此参数仅在急切模式下可用,在图模式下将使用配置中的值。return_dict
(bool
,可选) — 是否返回 ModelOutput 而不是普通元组。此参数可以在急切模式下使用,在图模式下该值将始终设置为 True。training
(bool
,可选,默认为 `False“) — 是否在训练模式下使用模型(一些模块如丢弃模块在训练和评估之间有不同的行为)。labels
(torch.LongTensor
,形状为(batch_size,)
,可选) — 用于计算序列分类/回归损失的标签。索引应在[0, ..., config.num_labels - 1]
范围内。如果config.num_labels == 1
,则计算回归损失(均方损失),如果config.num_labels > 1
,则计算分类损失(交叉熵)。注意:在原始实现中称为“classification_class_index”。
返回
transformers.modeling_tf_outputs.TFSequenceClassifierOutput 或 tuple(tf.Tensor)
一个 transformers.modeling_tf_outputs.TFSequenceClassifierOutput 或者一个tf.Tensor
元组(如果传入return_dict=False
或者当config.return_dict=False
时)包含各种元素,取决于配置(TapasConfig)和输入。
loss
(tf.Tensor
,形状为(batch_size, )
,可选,当提供labels
时返回) — 分类(或者如果config.num_labels==1
则为回归)损失。logits
(tf.Tensor
,形状为(batch_size, config.num_labels)
) — 分类(或者如果config.num_labels==1
则为回归)得分(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, sequence_length)
的tf.Tensor
元组(每个层一个)。
注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。
TFTapasForSequenceClassification 的前向方法,覆盖了__call__
特殊方法。
虽然前向传递的步骤需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者会负责运行预处理和后处理步骤,而后者会默默地忽略它们。
示例:
>>> from transformers import AutoTokenizer, TapasForSequenceClassification >>> import tensorflow as tf >>> import pandas as pd >>> tokenizer = AutoTokenizer.from_pretrained("google/tapas-base-finetuned-tabfact") >>> model = TapasForSequenceClassification.from_pretrained("google/tapas-base-finetuned-tabfact") >>> data = { ... "Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], ... "Age": ["56", "45", "59"], ... "Number of movies": ["87", "53", "69"], ... } >>> table = pd.DataFrame.from_dict(data) >>> queries = [ ... "There is only one actor who is 45 years old", ... "There are 3 actors which played in more than 60 movies", ... ] >>> inputs = tokenizer(table=table, queries=queries, padding="max_length", return_tensors="tf") >>> labels = tf.convert_to_tensor([1, 0]) # 1 means entailed, 0 means refuted >>> outputs = model(**inputs, labels=labels) >>> loss = outputs.loss >>> logits = outputs.logits • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • 13 • 14 • 15 • 16 • 17 • 18 • 19 • 20 • 21 • 22 • 23 • 24
TFTapasForQuestionAnswering
class transformers.TFTapasForQuestionAnswering
( config: TapasConfig *inputs **kwargs ) • 1
参数
config
(TapasConfig) — 包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。
Tapas 模型,带有单元选择头和可选的聚合头,用于表格上的问答任务(在隐藏状态输出的顶部进行线性层计算logits
和可选的logits_aggregation
),例如用于 SQA、WTQ 或 WikiSQL 监督任务。
此模型继承自 TFPreTrainedModel。查看超类文档以了解库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入、修剪头等)。
该模型也是一个tf.keras.Model子类。将其用作常规的 TF 2.0 Keras 模型,并参考 TF 2.0 文档以获取与一般用法和行为相关的所有内容。
transformers
中的 TensorFlow 模型和层接受两种格式的输入:
- 将所有输入作为关键字参数(类似于 PyTorch 模型),或
- 将所有输入作为列表、元组或字典放在第一个位置参数中。
支持第二种格式的原因是,当将输入传递给模型和层时,Keras 方法更喜欢这种格式。由于有了这种支持,当使用model.fit()
等方法时,您应该可以“轻松使用” - 只需以model.fit()
支持的任何格式传递输入和标签即可!但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctional
API 创建自己的层或模型时,有三种可能性可用于将所有输入张量收集到第一个位置参数中:
- 只有一个张量,其中仅包含
input_ids
,没有其他内容:model(input_ids)
- 一个长度可变的列表,其中包含一个或多个按照文档字符串中给定顺序的输入张量:
model([input_ids, attention_mask])
或model([input_ids, attention_mask, token_type_ids])
- 一个包含一个或多个与文档字符串中给定输入名称相关联的输入张量的字典:
model({"input_ids": input_ids, "token_type_ids": token_type_ids})
请注意,当使用子类化创建模型和层时,您无需担心这些内容,因为您可以像对待其他 Python 函数一样传递输入!
call
( input_ids: TFModelInputType | None = None attention_mask: np.ndarray | tf.Tensor | None = None token_type_ids: np.ndarray | tf.Tensor | None = None position_ids: np.ndarray | tf.Tensor | None = None head_mask: np.ndarray | tf.Tensor | None = None inputs_embeds: np.ndarray | tf.Tensor | None = None table_mask: np.ndarray | tf.Tensor | None = None aggregation_labels: np.ndarray | tf.Tensor | None = None float_answer: np.ndarray | tf.Tensor | None = None numeric_values: np.ndarray | tf.Tensor | None = None numeric_values_scale: np.ndarray | tf.Tensor | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None labels: np.ndarray | tf.Tensor | None = None training: Optional[bool] = False ) → export const metadata = 'undefined';transformers.models.tapas.modeling_tf_tapas.TFTableQuestionAnsweringOutput or tuple(tf.Tensor) • 1
参数
input_ids
(np.ndarray
,tf.Tensor
,List[tf.Tensor]
``Dict[str, tf.Tensor]或
Dict[str, np.ndarray],每个示例的形状必须为
(batch_size, sequence_length)`) — 词汇表中输入序列标记的索引。
可以使用 AutoTokenizer 获取索引。查看 PreTrainedTokenizer.call
()和 PreTrainedTokenizer.encode()获取详细信息。
什么是输入 ID?attention_mask
(np.ndarray
或形状为(batch_size, sequence_length)
的tf.Tensor
,可选) — 避免在填充标记索引上执行注意力的蒙版。蒙版值选择在[0, 1]
之间:
- 1 表示标记未被
masked
, - 对于被
masked
的标记,值为 0。
- 注意力蒙版是什么?
token_type_ids
(np.ndarray
或形状为(batch_size, sequence_length, 7)
的tf.Tensor
,可选) — 编码表格结构的标记索引。可以使用 AutoTokenizer 获取索引。查看此类获取更多信息。
什么是标记类型 ID?position_ids
(np.ndarray
或形状为(batch_size, sequence_length)
的tf.Tensor
,可选) — 每个输入序列标记位置的索引在位置嵌入中。如果 TapasConfig 的reset_position_index_per_cell
设置为True
,将使用相对位置嵌入。选择范围为[0, config.max_position_embeddings - 1]
。
什么是位置 ID?head_mask
(np.ndarray
或形状为(num_heads,)
或(num_layers, num_heads)
的tf.Tensor
,可选) — 用于使自注意力模块的选定头部无效的蒙版。蒙版值选择在[0, 1]
之间:
- 1 表示头部未被
masked
, - 0 表示头部被
masked
。
inputs_embeds
(np.ndarray
或tf.Tensor
,形状为(batch_size, sequence_length, hidden_size)
,optional) — 可选地,可以直接传递嵌入表示而不是传递input_ids
。如果您想要更多控制如何将input_ids
索引转换为相关向量,而不是模型的内部嵌入查找矩阵,则这很有用。output_attentions
(bool
, optional) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回的张量下的attentions
。此参数仅在急切模式下可用,在图模式下将使用配置中的值。output_hidden_states
(bool
, optional) — 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回的张量下的hidden_states
。此参数仅在急切模式下可用,在图模式下将使用配置中的值。return_dict
(bool
, optional) — 是否返回一个 ModelOutput 而不是一个普通的元组。在急切模式下可以使用此参数,在图模式下该值将始终设置为 True。training
(bool
, optional, 默认为`False“) — 是否在训练模式下使用模型(一些模块如 dropout 模块在训练和评估之间有不同的行为)。table_mask
(tf.Tensor
,形状为(batch_size, seq_length)
,optional) — 表的掩码。指示哪些标记属于表格(1)。问题标记、表头和填充为 0。labels
(tf.Tensor
,形状为(batch_size, seq_length)
,optional) — 用于计算分层单元选择损失的每个标记的标签。这编码了答案在表中出现的位置。可以使用 AutoTokenizer 获得。
- 1 表示是答案的一部分,
- 0 表示不是答案的标记。
aggregation_labels
(tf.Tensor
,形状为(batch_size, )
,optional) — 用于计算聚合损失的每个示例的聚合函数索引。索引应在[0, ..., config.num_aggregation_labels - 1]
范围内。仅在强监督的情况下用于聚合(WikiSQL-supervised)。float_answer
(tf.Tensor
,形状为(batch_size, )
,optional) — 批次中每个示例的浮点答案。对于单元选择问题,设置为float(‘nan’)。仅在弱监督(WTQ)的情况下需要,以计算聚合掩码和回归损失。numeric_values
(tf.Tensor
,形状为(batch_size, seq_length)
,optional) — 每个标记的数值,对于不是数值的标记为 NaN。可以使用 AutoTokenizer 获得。仅在弱监督的情况下用于聚合(WTQ)以计算回归损失。numeric_values_scale
(tf.Tensor
,形状为(batch_size, seq_length)
,optional) — 每个标记的数值的规模。可以使用 AutoTokenizer 获得。仅在弱监督的情况下用于聚合(WTQ)以计算回归损失。
返回
transformers.models.tapas.modeling_tf_tapas.TFTableQuestionAnsweringOutput
或tuple(tf.Tensor)
一个transformers.models.tapas.modeling_tf_tapas.TFTableQuestionAnsweringOutput
或一个tf.Tensor
元组(如果传递了return_dict=False
或当config.return_dict=False
时),包括根据配置(TapasConfig)和输入而异的各种元素。
损失
(tf.Tensor
的形状为(1,)
, 可选的, 当提供labels
(可能还有answer
,aggregation_labels
,numeric_values
和numeric_values_scale
)时返回) — 总损失,由层次单元选择对数似然损失的总和以及(可选的)半监督回归损失和(可选的)聚合的监督损失组成。logits
(tf.Tensor
的形状为(batch_size, sequence_length)
) — 每个标记的单元选择头的预测分数。logits_aggregation
(tf.Tensor
, 可选的, 形状为(batch_size, num_aggregation_labels)
) — 每个聚合操作符的聚合头的预测分数。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, sequence_length)
的tf.Tensor
元组。注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。
TFTapasForQuestionAnswering 前向方法,覆盖了 __call__
特殊方法。
虽然前向传递的步骤需要在这个函数内定义,但应该在此之后调用 Module
实例,而不是这个函数,因为前者会处理运行前后处理步骤,而后者会默默地忽略它们。
示例:
>>> from transformers import AutoTokenizer, TapasForQuestionAnswering >>> import pandas as pd >>> tokenizer = AutoTokenizer.from_pretrained("google/tapas-base-finetuned-wtq") >>> model = TapasForQuestionAnswering.from_pretrained("google/tapas-base-finetuned-wtq") >>> data = { ... "Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], ... "Age": ["56", "45", "59"], ... "Number of movies": ["87", "53", "69"], ... } >>> table = pd.DataFrame.from_dict(data) >>> queries = ["How many movies has George Clooney played in?", "How old is Brad Pitt?"] >>> inputs = tokenizer(table=table, queries=queries, padding="max_length", return_tensors="tf") >>> outputs = model(**inputs) >>> logits = outputs.logits >>> logits_aggregation = outputs.logits_aggregation • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • 13 • 14 • 15 • 16 • 17 • 18 • 19
需要,以计算聚合掩码和回归损失。
numeric_values
(tf.Tensor
,形状为(batch_size, seq_length)
,optional) — 每个标记的数值,对于不是数值的标记为 NaN。可以使用 AutoTokenizer 获得。仅在弱监督的情况下用于聚合(WTQ)以计算回归损失。numeric_values_scale
(tf.Tensor
,形状为(batch_size, seq_length)
,optional) — 每个标记的数值的规模。可以使用 AutoTokenizer 获得。仅在弱监督的情况下用于聚合(WTQ)以计算回归损失。
返回
transformers.models.tapas.modeling_tf_tapas.TFTableQuestionAnsweringOutput
或tuple(tf.Tensor)
一个transformers.models.tapas.modeling_tf_tapas.TFTableQuestionAnsweringOutput
或一个tf.Tensor
元组(如果传递了return_dict=False
或当config.return_dict=False
时),包括根据配置(TapasConfig)和输入而异的各种元素。
损失
(tf.Tensor
的形状为(1,)
, 可选的, 当提供labels
(可能还有answer
,aggregation_labels
,numeric_values
和numeric_values_scale
)时返回) — 总损失,由层次单元选择对数似然损失的总和以及(可选的)半监督回归损失和(可选的)聚合的监督损失组成。logits
(tf.Tensor
的形状为(batch_size, sequence_length)
) — 每个标记的单元选择头的预测分数。logits_aggregation
(tf.Tensor
, 可选的, 形状为(batch_size, num_aggregation_labels)
) — 每个聚合操作符的聚合头的预测分数。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, sequence_length)
的tf.Tensor
元组。注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。
TFTapasForQuestionAnswering 前向方法,覆盖了 __call__
特殊方法。
虽然前向传递的步骤需要在这个函数内定义,但应该在此之后调用 Module
实例,而不是这个函数,因为前者会处理运行前后处理步骤,而后者会默默地忽略它们。
示例:
>>> from transformers import AutoTokenizer, TapasForQuestionAnswering >>> import pandas as pd >>> tokenizer = AutoTokenizer.from_pretrained("google/tapas-base-finetuned-wtq") >>> model = TapasForQuestionAnswering.from_pretrained("google/tapas-base-finetuned-wtq") >>> data = { ... "Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], ... "Age": ["56", "45", "59"], ... "Number of movies": ["87", "53", "69"], ... } >>> table = pd.DataFrame.from_dict(data) >>> queries = ["How many movies has George Clooney played in?", "How old is Brad Pitt?"] >>> inputs = tokenizer(table=table, queries=queries, padding="max_length", return_tensors="tf") >>> outputs = model(**inputs) >>> logits = outputs.logits >>> logits_aggregation = outputs.logits_aggregation • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • 13 • 14 • 15 • 16 • 17 • 18 • 19