Transformers 4.37 中文文档(八十六)(2)https://developer.aliyun.com/article/1563237
FlavaForPreTraining
class transformers.FlavaForPreTraining
( config: FlavaConfig image_codebook: Optional = None )
参数
config
(FlavaConfig) — 具有模型所有参数的模型配置类。使用配置文件初始化不会加载与模型关联的权重,只会加载配置。查看 from_pretrained() 方法以加载模型权重。image_codebook
(nn.Module
) — 如果传入,图像码书将设置为此值。否则,将使用配置中定义的 image_codebook_config 作为第一个参数进行初始化。
用于预训练的 FLAVA 模型,输出损失、嵌入、对数和变换器输出。
这个模型是 PyTorch 的torch.nn.Module子类。将其用作常规的 PyTorch 模块,并参考 PyTorch 文档以获取与一般用法和行为相关的所有事项。
forward
( input_ids: Optional = None input_ids_masked: Optional = None pixel_values: Optional = None codebook_pixel_values: Optional = None attention_mask: Optional = None token_type_ids: Optional = None bool_masked_pos: Optional = None position_ids: Optional = None image_attention_mask: Optional = None skip_unmasked_multimodal_encoder: bool = None mlm_labels: Optional = None mim_labels: Optional = None itm_labels: Optional = None output_attentions: Optional = None output_hidden_states: bool = True return_dict: Optional = None return_loss: Optional = None ) → export const metadata = 'undefined';transformers.models.flava.modeling_flava.FlavaForPreTrainingOutput or tuple(torch.FloatTensor)
参数
input_ids_masked
(形状为(batch_size, text_seq_len)
的torch.LongTensor
)— 词汇表中输入序列标记的索引。这些是原始任务的掩盖版本,用于 MLM。索引可以使用 AutoTokenizer 以及DataCollatorForMaskedLanguageModeling
获取。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call
()。什么是输入 ID?input_ids
(形状为(batch_size, text_seq_len)
的torch.LongTensor
)— 词汇表中输入序列标记的索引。索引可以使用 AutoTokenizer 获取。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call
()。什么是输入 ID?token_type_ids
(形状为(batch_size, text_seq_len)
的torch.LongTensor
,可选)— 段标记索引,用于指示输入的第一部分和第二部分。索引在[0, 1]
中选择:
- 0 对应于句子 A标记,
- 1 对应于句子 B标记。什么是标记类型 ID?
pixel_values
(形状为(batch_size, num_channels, height, width)
的torch.FloatTensor
)— 像素值。像素值可以使用 AutoImageProcessor 获取。有关详细信息,请参阅 FlavaImageProcessor.call
()。bool_masked_pos
(形状为(batch_size, image_num_patches)
的torch.BoolTensor
)— 布尔掩码位置。指示哪些补丁被掩盖(1),哪些没有(0)。interpolate_pos_encoding
(布尔值,可选)— 是否插值预训练位置编码。image_attention_mask
(形状为(batch_size, image_num_patches)
的torch.FloatTensor
,可选)— 用于避免特定于图像的填充令牌索引执行注意力的掩码。掩码值在[0, 1]
中选择:
- 1 表示
未被掩盖
的标记, - 0 表示被
掩盖
的标记。什么是注意力掩码?
skip_unmasked_multimodal_encoder
(布尔值,可选)— 跳过未掩盖输入的多模态编码器的任何计算。FLAVA 预训练目前不需要未掩盖的多模态嵌入或输出。mlm_labels
(形状为(batch_size, text_seq_len)
的torch.LongTensor
,可选)— 用于计算从左到右的语言和多模态掩码建模损失(下一个词预测)的标签。索引应在[-100, 0, ..., text_config.vocab_size - 1]
中(参见input_ids
文档字符串)。索引设置为-100
的标记将被忽略(掩盖),损失仅计算具有标签在[0, ..., text_config.vocab_size - 1]
中的标记。mim_labels
(形状为(batch_size, image_num_patches)
的torch.LongTensor
,可选)- 用于计算图像和多模态掩码建模损失的标签。索引应在[-100, 0, ..., image_config.vocab_size - 1]
中。将索引设置为-100
的标记将被忽略(masked),仅对具有标签在[0, ..., image_config.vocab_size - 1]
中的标记计算损失。如果未传递,则它们将使用分配给模型的图像码书自动生成。默认情况下,它使用 FlavaImageCodebook。请参阅 FlavaImageCodebook 以了解如何生成 mim_labels。itm_labels
(形状为(batch_size, 1)
的torch.LongTensor
,可选)- 用于计算图像文本匹配损失的标签。0 表示配对不匹配,1 表示匹配。标签为 0 的配对也将被跳过用于计算 MMM 和全局对比损失。return_loss
(bool
,可选,默认为 None)- 是否返回计算的损失。attention_mask
(形状为(batch_size, text_seq_len)
的torch.FloatTensor
,可选)- 用于避免在填充标记索引上执行注意力的掩码。掩码值选定在[0, 1]
中:
- 1 表示未被
masked
的标记, - 0 表示被
masked
的标记。什么是注意力掩码?
head_mask
(形状为(num_heads,)
或(num_layers, num_heads)
的torch.FloatTensor
,可选)- 用于使自注意力模块的选定头部失效的掩码。掩码值选定在[0, 1]
中:
- 1 表示头部未被
masked
, - 0 表示头部是
masked
。
output_attentions
(bool
,可选)- 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回张量下的attentions
。output_hidden_states
(bool
,可选)- 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量下的hidden_states
。return_dict
(bool
,可选)- 是否返回 ModelOutput 而不是普通元组。
示例 -
返回
transformers.models.flava.modeling_flava.FlavaForPreTrainingOutput
或tuple(torch.FloatTensor)
一个transformers.models.flava.modeling_flava.FlavaForPreTrainingOutput
或一个torch.FloatTensor
元组(如果传递了return_dict=False
或当config.return_dict=False
时)包括根据配置()和输入的不同元素。
loss
(torch.FloatTensor
,可选,当return_loss
为 True 时返回)- 为此模型计算的总损失。loss_info
(FlavaLosses
)- FLAVA 预训练损失的详细信息。检查FlavaLosses
类描述以获取关键信息。image_embeddings
(形状为(batch_size, output_dim)
的torch.FloatTensor
,可选,当存在pixel_values
时返回)- 这些基本上是 FlavaImageModel 的汇总输出的图像嵌入。image_output
(BaseModelOutputWithPooling
,可选,当存在pixel_values
时返回)- FlavaImageModel 的输出。text_embeddings
(形状为(batch_size, output_dim)
的torch.FloatTensor
,可选,当存在input_ids
时返回)- 这些基本上是 FlavaTextModel 的汇总输出的文本嵌入。text_output
(BaseModelOutputWithPooling
,可选,当存在input_ids
时返回)- FlavaTextModel 的输出。multimodal_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当input_ids
和pixel_values
存在且skip_unmasked_multimodal_encoder
为None
或False
时返回)- 这些多模态嵌入基本上是 FlavaTextModel 的汇总输出。multimodal_output
(BaseModelOutputWithPooling
,当input_ids
和pixel_values
存在且skip_unmasked_multimodal_encoder
为None
或False
时返回)- FlavaMultimodalModel 的输出。image_masked_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当pixel_values
存在时返回)- 这些图像嵌入基本上是 FlavaImageModel 的汇总输出。使用bool_masked_pos
来创建被屏蔽的图像。image_masked_output
(BaseModelOutputWithPooling
,可选,当pixel_values
存在时返回)- FlavaImageModel 的输出。使用bool_masked_pos
来创建被屏蔽的图像。text_masked_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当input_ids_masked
存在时返回)- 这些文本嵌入基本上是 FlavaTextModel 的汇总输出。text_masked_output
(BaseModelOutputWithPooling
,可选,当input_ids_masked
存在时返回)- FlavaTextModel 的输出。multimodal_masked_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当input_ids
和pixel_values
存在时返回)- 这些多模态嵌入基本上是 FlavaTextModel 的汇总输出。multimodal_masked_output
(BaseModelOutputWithPooling
,当input_ids_masked
和pixel_values
存在时返回)- FlavaMultimodalModel 的输出。mim_logits
(torch.FloatTensor
,形状为(batch_size, num_image_patches, image_vocab_size)
或形状为(total_masked_patches, image_vocab_size)
,可选,当pixel_values
存在且input_ids_masked
不存在时返回)- MIM 单模态损失的 logits。使用book_masked_pos
来获取被屏蔽的补丁。当bool_masked_pos
中有一些补丁被屏蔽时,返回扁平化的输出。mlm_logits
(torch.FloatTensor
,形状为(batch_size, text_seq_length, text_vocab_size)
或形状为(total_masked_seq_length, text_vocab_size)
,可选,当input_ids_masked
存在且pixel_values
不存在时返回)- MLM 单模态损失的 logits。当input_ids_masked
中有一些标记被屏蔽时,返回扁平化的输出。itm_logits
(torch.FloatTensor
,形状为(batch_size, 2)
,可选,当input_ids_masked
和pixel_values
存在时返回)- ITM 损失的 logits。请注意,ITM 损失是在 FLAVA 中对被屏蔽的配对进行计算的。mmm_image_logits
(torch.FloatTensor
,形状为(batch_size, num_image_patches, image_vocab_size)
或形状为(total_masked_patches, image_vocab_size)
,可选,当pixel_values
和input_ids_masked
存在时返回)- MMM 图像多模态损失的 logits。使用book_masked_pos
来获取被屏蔽的补丁。当bool_masked_pos
中有一些补丁被屏蔽时,返回扁平化的输出。mmm_text_logits
(形状为(batch_size, text_seq_length, text_vocab_size)
或形状为(total_masked_seq_length, text_vocab_size)
的torch.FloatTensor
,可选,当pixel_values
和input_ids_masked
存在时返回)- 用于 MMM 文本多模态损失的 logits。当input_ids_masked
中有一些标记被屏蔽时,返回扁平化的输出。contrastive_logits_per_image
(形状为(image_batch_size, text_batch_size)
的torch.FloatTensor
)-image_embeddings
和text_embeddings
之间的缩放点积分数,但分别通过 FLAVA 的image_projection
和text_projection
层。这代表了图像文本相似性得分。这是在未屏蔽的图像和文本上计算的。contrastive_logits_per_text
(形状为(text_batch_size, image_batch_size)
的torch.FloatTensor
)-text_embeddings
和image_embeddings
之间的缩放点积分数,但分别通过 FLAVA 的text_projection
和image_projection
层。这是在未屏蔽的图像和文本上计算的。
FlavaForPreTraining 的前向方法,覆盖了__call__
特殊方法。
虽然前向传递的配方需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者会负责运行前处理和后处理步骤,而后者会默默地忽略它们。
FlavaModel
class transformers.FlavaModel
( config: FlavaConfig )
参数
config
(FlavaConfig)- 模型配置类,包含模型的所有参数。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。
裸的 FLAVA 模型变压器输出原始隐藏状态,没有特定的头部。这个模型是 PyTorch 的torch.nn.Module子类。将其用作常规的 PyTorch 模块,并参考 PyTorch 文档以获取与一般用法和行为相关的所有事项。
forward
( input_ids: Optional = None pixel_values: Optional = None attention_mask: Optional = None token_type_ids: Optional = None bool_masked_pos: Optional = None position_ids: Optional = None image_attention_mask: Optional = None skip_multimodal_encoder: Optional = None output_attentions: Optional = None output_hidden_states: bool = True return_dict: Optional = None ) → export const metadata = 'undefined';transformers.models.flava.modeling_flava.FlavaModelOutput or tuple(torch.FloatTensor)
参数
pixel_values
(形状为(batch_size, num_channels, height, width)
的torch.FloatTensor
)- 像素值。像素值可以使用 AutoImageProcessor 获取。有关详细信息,请参阅 FlavaImageProcessor.call
()。bool_masked_pos
(形状为(batch_size, image_num_patches)
的torch.BoolTensor
)- 布尔掩码位置。指示哪些补丁被屏蔽(1),哪些没有(0)。interpolate_pos_encoding
(bool
,可选)- 是否插值预训练位置编码。input_ids
(形状为(batch_size, image_num_patches + text_seq_len)
的torch.LongTensor
)- 词汇表中输入序列标记的索引。索引可以使用 AutoTokenizer 获取。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call
()。什么是输入 ID?token_type_ids
(torch.LongTensor
,形状为(batch_size, image_num_patches + text_seq_len)
,可选) — 段令牌索引,指示输入的第一部分和第二部分。 索引在[0, 1]
中选择:
- 0 对应于 句子 A 令牌,
- 1 对应于 句子 B 令牌。 什么是令牌类型 ID?
attention_mask
(torch.FloatTensor
,形状为(batch_size, image_num_patches + text_seq_len)
,可选) — 用于避免在填充令牌索引上执行注意力的掩码。 选择的掩码值为[0, 1]
:
- 1 表示未被“掩盖”的令牌。
- 0 表示被“掩盖”的令牌。 什么是注意力掩码?
head_mask
(torch.FloatTensor
,形状为(num_heads,)
或(num_layers, num_heads)
,可选) — 用于使自注意力模块的选定头部无效的掩码。 选择的掩码值在[0, 1]
中:
- 1 表示头部未被“掩盖”,
- 0 表示头部被“掩盖”。
output_attentions
(bool
,可选) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参见返回张量下的attentions
。output_hidden_states
(bool
,可选) — 是否返回所有层的隐藏状态。有关更多详细信息,请参见返回张量下的hidden_states
。return_dict
(bool
,可选) — 是否返回 ModelOutput 而不是普通元组。skip_multimodal_encoder
(bool,可选) — 跳过多模态编码的任何计算。 如果不打算使用多模态编码,则此选项很有用。
返回
transformers.models.flava.modeling_flava.FlavaModelOutput
或 tuple(torch.FloatTensor)
一个 transformers.models.flava.modeling_flava.FlavaModelOutput
或一个 torch.FloatTensor
元组(如果传递了 return_dict=False
或当 config.return_dict=False
时),包括根据配置 () 和输入而异的各种元素。
image_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当pixel_values
存在时返回) — 基本上是 FlavaImageModel 的汇总输出的图像嵌入。image_output
(BaseModelOutputWithPooling
,可选,当pixel_values
存在时返回) — FlavaImageModel 的输出。text_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当input_ids
存在时返回) — 基本上是 FlavaTextModel 的汇总输出的文本嵌入。text_output
(BaseModelOutputWithPooling
,可选,当input_ids
存在时返回) — FlavaTextModel 的输出。multimodal_embeddings
(torch.FloatTensor
,形状为(batch_size, output_dim)
,可选,当input_ids
和pixel_values
存在且skip_multimodal_encoder
为None
或False
时返回) — 基本上是 FlavaTextModel 的汇总输出的多模态嵌入。multimodal_output
(BaseModelOutputWithPooling
,当input_ids
和pixel_values
存在且skip_multimodal_encoder
为None
或False
时返回) — FlavaMultimodalModel 的输出。
FlavaModel 的前向方法,覆盖了 __call__
特殊方法。
尽管前向传递的配方需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者负责运行预处理和后处理步骤,而后者会默默地忽略它们。
示例:
>>> from PIL import Image >>> import requests >>> from transformers import AutoProcessor, FlavaModel >>> model = FlavaModel.from_pretrained("facebook/flava-full") >>> processor = AutoProcessor.from_pretrained("facebook/flava-full") >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" >>> image = Image.open(requests.get(url, stream=True).raw) >>> inputs = processor(text=["a photo of a cat"], images=image, return_tensors="pt", padding=True) >>> outputs = model(**inputs) >>> image_embeddings = outputs.image_embeddings >>> text_embeddings = outputs.text_embeddings >>> multimodal_embeddings = outputs.multimodal_embeddings >>> outputs.image_embeddings.shape torch.Size([1, 197, 768]) >>> text_embeddings.shape torch.Size([1, 7, 768]) >>> multimodal_embeddings.shape torch.Size([1, 205, 768])
get_text_features
( input_ids: Optional = None attention_mask: Optional = None token_type_ids: Optional = None position_ids: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None )
参数
input_ids
(形状为(batch_size, text_seq_length)
的torch.LongTensor
)— 输入序列标记在词汇表中的索引。可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call
()。什么是输入 ID?token_type_ids
(形状为(batch_size, text_seq_length)
的torch.LongTensor
,可选)— 段标记索引,指示输入的第一部分和第二部分。索引选择在[0, 1]
中:
- 0 对应于句子 A标记,
- 1 对应于句子 B标记。什么是标记类型 ID?
attention_mask
(形状为(batch_size, text_seq_length)
的torch.FloatTensor
,可选)— 用于避免在填充标记索引上执行注意力的掩码。掩码值选择在[0, 1]
之间:
- 1 表示未被“masked”的标记,
- 对于被
masked
掉的标记,值为 0。什么是注意力掩码?
head_mask
(形状为(num_heads,)
或(num_layers, num_heads)
的torch.FloatTensor
,可选)— 用于使自注意力模块的选定头部失效的掩码。掩码值选择在[0, 1]
中:
- 1 表示头部未被“masked”,
- 0 表示头部被
masked
。
output_attentions
(bool
,可选)— 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回的张量下的attentions
。output_hidden_states
(bool
,可选)— 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回的张量下的hidden_states
。return_dict
(bool
,可选)— 是否返回 ModelOutput 而不是普通元组。
FlavaModel 的前向方法,覆盖了__call__
特殊方法。
尽管前向传递的配方需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者负责运行预处理和后处理步骤,而后者会默默地忽略它们。
get_image_features
( pixel_values: Optional = None bool_masked_pos: Optional = None interpolate_pos_encoding: Optional = None attention_mask: Optional = None head_mask: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None )
参数
pixel_values
(形状为(batch_size, num_channels, height, width)
的torch.FloatTensor
)— 像素值。像素值可以使用 AutoImageProcessor 获取。有关详细信息,请参阅 FlavaImageProcessor.call
()。bool_masked_pos
(形状为(batch_size, image_num_patches)
的torch.BoolTensor
)— 布尔掩码位置。指示哪些补丁被掩盖(1),哪些没有(0)。interpolate_pos_encoding
(bool
,可选)— 是否插值预训练位置编码。attention_mask
(形状为(batch_size, image_num_patches)
的torch.FloatTensor
,可选)— 用于避免在填充标记索引上执行注意力的掩码。掩码值选择在[0, 1]
之间:
- 1 表示未被“masked”的标记,
- 对于被
masked
掉的标记,值为 0。什么是注意力掩码?
head_mask
(torch.FloatTensor
of shape(num_heads,)
or(num_layers, num_heads)
, optional) — 用于使自注意力模块中选择的头部失效的掩码。掩码值选在[0, 1]
之间:
- 1 表示头部
未被掩盖
, - 0 表示头部
被掩盖
。
output_attentions
(bool
, optional) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回张量下的attentions
。output_hidden_states
(bool
, optional) — 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量下的hidden_states
。return_dict
(bool
, optional) — 是否返回 ModelOutput 而不是普通元组。
FlavaModel 的前向方法,覆盖了__call__
特殊方法。
尽管前向传递的步骤需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者会负责运行预处理和后处理步骤,而后者会默默地忽略它们。
FlavaImageCodebook
class transformers.FlavaImageCodebook
( config: FlavaImageCodebookConfig **kwargs: Any )
参数
config
(FlavaImageCodebookConfig) — 包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。
FLAVA 的图像代码簿模型受到 DALL-E 原始编码器的启发。输出原始隐藏状态,可用于根据 DALL-E 的词汇为基于图像的 MIM 生成图像标记。用于为 MIM 生成图像的图像标记,请使用get_codebook_indices
。
此模型是 PyTorch torch.nn.Module子类。将其用作常规 PyTorch 模块,并参考 PyTorch 文档以获取与一般用法和行为相关的所有事项。
forward
( pixel_values: FloatTensor )
get_codebook_indices
( pixel_values: Tensor )
get_codebook_probs
( pixel_values: Tensor )
FlavaTextModel
class transformers.FlavaTextModel
( config: FlavaTextConfig add_pooling_layer: bool = True )
参数
config
(FlavaTextConfig) — 包含模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained()方法以加载模型权重。
裸的 FLAVA 文本模型变压器输出原始隐藏状态,没有特定的头部。此模型是 PyTorch torch.nn.Module子类。将其用作常规 PyTorch 模块,并参考 PyTorch 文档以获取与一般用法和行为相关的所有事项。
forward
( input_ids: Optional = None attention_mask: Optional = None token_type_ids: Optional = None position_ids: Optional = None head_mask: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None ) → export const metadata = 'undefined';transformers.modeling_outputs.BaseModelOutputWithPooling or tuple(torch.FloatTensor)
参数
input_ids
(torch.LongTensor
of shape(batch_size, text_seq_length)
) — Indices of input sequence tokens in the vocabulary. Indices can be obtained using AutoTokenizer. See PreTrainedTokenizer.encode() and PreTrainedTokenizer.call
() for details. What are input IDs?token_type_ids
(torch.LongTensor
of shape(batch_size, text_seq_length)
, optional) — 段标记索引,用于指示输入的第一部分和第二部分。索引选定在[0, 1]
之间:
- 0 对应于句子 A标记。
- 1 对应于句子 B标记。什么是标记类型 ID?
attention_mask
(torch.FloatTensor
of shape(batch_size, text_seq_length)
, optional) — 用于避免在填充标记索引上执行注意力的掩码。掩码值选定在[0, 1]
之间:
- 1 表示未被掩盖的标记,
- 0 表示被掩盖的标记。什么是注意力掩码?
head_mask
(torch.FloatTensor
of shape(num_heads,)
or(num_layers, num_heads)
, optional) — 用于使自注意力模块中的选定头部失效的掩码。掩码值选定在[0, 1]
之间:
- 1 表示头部未被掩盖,
- 0 表示头部被掩盖。
output_attentions
(bool
, optional) — 是否返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回张量中的attentions
。output_hidden_states
(bool
, optional) — 是否返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量中的hidden_states
。return_dict
(bool
, optional) — 是否返回 ModelOutput 而不是普通元组。
返回
transformers.modeling_outputs.BaseModelOutputWithPooling 或tuple(torch.FloatTensor)
一个 transformers.modeling_outputs.BaseModelOutputWithPooling 或一个torch.FloatTensor
的元组(如果传递return_dict=False
或当config.return_dict=False
时),包括根据配置(FlavaTextConfig)和输入的不同元素。
last_hidden_state
(torch.FloatTensor
of shape(batch_size, sequence_length, hidden_size)
) — 模型最后一层的隐藏状态的序列。pooler_output
(torch.FloatTensor
of shape(batch_size, hidden_size)
) — Last layer hidden-state of the first token of the sequence (classification token) after further processing through the layers used for the auxiliary pretraining task. E.g. for BERT-family of models, this returns the classification token after processing through a linear layer and a tanh activation function. The linear layer weights are trained from the next sentence prediction (classification) objective during pretraining.hidden_states
(tuple(torch.FloatTensor)
, optional, returned whenoutput_hidden_states=True
is passed or whenconfig.output_hidden_states=True
) — Tuple oftorch.FloatTensor
(one for the output of the embeddings, if the model has an embedding layer, + one for the output of each layer) of shape(batch_size, sequence_length, hidden_size)
。
模型每一层的隐藏状态以及可选的初始嵌入输出。attentions
(tuple(torch.FloatTensor)
,可选,当传递output_attentions=True
或当config.output_attentions=True
时返回)— 形状为(batch_size, num_heads, sequence_length, sequence_length)
的torch.FloatTensor
元组(每层一个)。
在注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。
FlavaTextModel 的前向方法,覆盖了__call__
特殊方法。
尽管前向传递的步骤需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者负责运行预处理和后处理步骤,而后者会默默地忽略它们。
示例:
>>> from transformers import AutoTokenizer, FlavaTextModel >>> import torch >>> tokenizer = AutoTokenizer.from_pretrained("facebook/flava-full") >>> model = FlavaTextModel.from_pretrained("facebook/flava-full") >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt") >>> outputs = model(**inputs) >>> last_hidden_states = outputs.last_hidden_state
Transformers 4.37 中文文档(八十六)(4)https://developer.aliyun.com/article/1563239