Transformers 文档

GroupViT

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

GroupViT

PyTorch TensorFlow

概述

GroupViT 模型在 GroupViT: Semantic Segmentation Emerges from Text Supervision 中提出,作者为 Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang。受 CLIP 的启发,GroupViT 是一种视觉-语言模型,可以对任何给定的词汇类别执行零样本语义分割。

论文摘要如下:

分组和识别是视觉场景理解的重要组成部分,例如,用于物体检测和语义分割。使用端到端深度学习系统,图像区域的分组通常通过来自像素级识别标签的自上而下的监督隐式发生。相反,在本文中,我们建议将分组机制带回深度网络,这使得语义分割可以在仅文本监督的情况下自动出现。我们提出了一个分层分组视觉 Transformer (GroupViT),它超越了规则的网格结构表示,并学习将图像区域分组为逐渐变大的任意形状的分割。我们通过对比损失,在大规模图像-文本数据集上联合训练 GroupViT 和文本编码器。仅通过文本监督,且没有任何像素级注释,GroupViT 学习将语义区域分组在一起,并以零样本方式成功转移到语义分割任务,即无需任何进一步的微调。它在 PASCAL VOC 2012 上实现了 52.3% mIoU 的零样本准确率,在 PASCAL Context 数据集上实现了 22.4% mIoU 的零样本准确率,并且性能与需要更高水平监督的最先进的迁移学习方法相比具有竞争力。

此模型由 xvjiarui 贡献。TensorFlow 版本由 ariG23498Yih-Dar SHIEHAmy RobertsJoao Gante 的帮助下贡献。原始代码可以在这里找到。

使用技巧

  • 您可以在 GroupViTModel 的前向传播中指定 output_segmentation=True,以获取输入文本的分割 logits。

资源

以下是官方 Hugging Face 和社区(标有 🌎)资源列表,可帮助您开始使用 GroupViT。

GroupViTConfig

class transformers.GroupViTConfig

< >

( text_config = None vision_config = None projection_dim = 256 projection_intermediate_dim = 4096 logit_scale_init_value = 2.6592 **kwargs )

参数

  • text_config (dict, 可选) — 用于初始化 GroupViTTextConfig 的配置选项字典。
  • vision_config (dict, 可选) — 用于初始化 GroupViTVisionConfig 的配置选项字典。
  • projection_dim (int, 可选, 默认为 256) — 文本和视觉投影层的维度。
  • projection_intermediate_dim (int, 可选, 默认为 4096) — 文本和视觉投影层中间层的维度。
  • logit_scale_init_value (float, 可选, 默认为 2.6592) — logit_scale 参数的初始值。默认值与原始 GroupViT 实现中使用的值相同。
  • kwargs (可选) — 关键字参数字典。

GroupViTConfig 是用于存储 GroupViTModel 配置的配置类。它用于根据指定的参数实例化 GroupViT 模型,定义文本模型和视觉模型配置。使用默认值实例化配置将产生与 GroupViT nvidia/groupvit-gcc-yfcc 架构类似的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。有关更多信息,请阅读 PretrainedConfig 中的文档。

from_text_vision_configs

< >

( text_config: GroupViTTextConfig vision_config: GroupViTVisionConfig **kwargs ) GroupViTConfig

返回值

GroupViTConfig

配置对象的实例

从 groupvit 文本模型配置和 groupvit 视觉模型配置实例化 GroupViTConfig(或派生类)。

GroupViTTextConfig

class transformers.GroupViTTextConfig

< >

( vocab_size = 49408 hidden_size = 256 intermediate_size = 1024 num_hidden_layers = 12 num_attention_heads = 4 max_position_embeddings = 77 hidden_act = 'quick_gelu' layer_norm_eps = 1e-05 dropout = 0.0 attention_dropout = 0.0 initializer_range = 0.02 initializer_factor = 1.0 pad_token_id = 1 bos_token_id = 49406 eos_token_id = 49407 **kwargs )

参数

  • vocab_size (int, optional, defaults to 49408) — GroupViT 文本模型的词汇表大小。 定义了在调用 GroupViTModel 时传递的 inputs_ids 可以表示的不同 tokens 的数量。
  • hidden_size (int, optional, defaults to 256) — 编码器层和池化器层的维度。
  • intermediate_size (int, optional, defaults to 1024) — Transformer 编码器中“中间”层(即,前馈层)的维度。
  • num_hidden_layers (int, optional, defaults to 12) — Transformer 编码器中隐藏层的数量。
  • num_attention_heads (int, optional, defaults to 4) — Transformer 编码器中每个注意力层的注意力头的数量。
  • max_position_embeddings (int, optional, defaults to 77) — 此模型可能使用的最大序列长度。 通常将其设置为较大的值以防万一(例如,512 或 1024 或 2048)。
  • hidden_act (str or function, optional, defaults to "quick_gelu") — 编码器和池化器中的非线性激活函数(函数或字符串)。 如果是字符串,则支持 "gelu", "relu", "selu""gelu_new" "quick_gelu"
  • layer_norm_eps (float, optional, defaults to 1e-5) — 层归一化层使用的 epsilon 值。
  • attention_dropout (float, optional, defaults to 0.0) — 注意力概率的 dropout 比率。
  • dropout (float, optional, defaults to 0.0) — 嵌入层、编码器和池化器中所有全连接层的 dropout 概率。
  • initializer_range (float, optional, defaults to 0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
  • initializer_factor (float, optional, defaults to 1.0) — 用于初始化所有权重矩阵的因子(应保持为 1,内部用于初始化测试)。

这是用于存储 GroupViTTextModel 配置的配置类。 它用于根据指定的参数实例化 GroupViT 模型,定义模型架构。 使用默认值实例化配置将产生与 GroupViT nvidia/groupvit-gcc-yfcc 架构类似的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。有关更多信息,请阅读 PretrainedConfig 中的文档。

示例

>>> from transformers import GroupViTTextConfig, GroupViTTextModel

>>> # Initializing a GroupViTTextModel with nvidia/groupvit-gcc-yfcc style configuration
>>> configuration = GroupViTTextConfig()

>>> model = GroupViTTextModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

GroupViTVisionConfig

class transformers.GroupViTVisionConfig

< >

( hidden_size = 384 intermediate_size = 1536 depths = [6, 3, 3] num_hidden_layers = 12 num_group_tokens = [64, 8, 0] num_output_groups = [64, 8, 8] num_attention_heads = 6 image_size = 224 patch_size = 16 num_channels = 3 hidden_act = 'gelu' layer_norm_eps = 1e-05 dropout = 0.0 attention_dropout = 0.0 initializer_range = 0.02 initializer_factor = 1.0 assign_eps = 1.0 assign_mlp_ratio = [0.5, 4] **kwargs )

参数

  • hidden_size (int, optional, defaults to 384) — 编码器层和池化器层的维度。
  • intermediate_size (int, optional, defaults to 1536) — Transformer 编码器中“中间”层(即,前馈层)的维度。
  • depths (List[int], optional, defaults to [6, 3, 3]) — 每个编码器块中的层数。
  • num_group_tokens (List[int], optional, defaults to [64, 8, 0]) — 每个阶段的分组 tokens 的数量。
  • num_output_groups (List[int], optional, defaults to [64, 8, 8]) — 每个阶段的输出组数,0 表示无组。
  • num_attention_heads (int, optional, defaults to 6) — Transformer 编码器中每个注意力层的注意力头的数量。
  • image_size (int, optional, defaults to 224) — 每张图片的大小(分辨率)。
  • patch_size (int, optional, defaults to 16) — 每个 patch 的大小(分辨率)。
  • hidden_act (str or function, optional, defaults to "gelu") — 编码器和池化器中的非线性激活函数(函数或字符串)。 如果是字符串,则支持 "gelu", "relu", "selu""gelu_new" "quick_gelu"
  • layer_norm_eps (float, optional, defaults to 1e-5) — 层归一化层使用的 epsilon 值。
  • dropout (float, optional, defaults to 0.0) — 嵌入层、编码器和池化器中所有全连接层的 dropout 概率。
  • attention_dropout (float, optional, defaults to 0.0) — 注意力概率的 dropout 比率。
  • initializer_range (float, optional, defaults to 0.02) — 用于初始化所有权重矩阵的truncated_normal_initializer的标准差。
  • initializer_factor (float, optional, defaults to 1.0) — 用于初始化所有权重矩阵的因子 (应保持为 1,内部用于初始化测试)。

这是用于存储 GroupViTVisionModel 配置的配置类。 它用于根据指定的参数实例化 GroupViT 模型,定义模型架构。 使用默认值实例化配置将产生与 GroupViT nvidia/groupvit-gcc-yfcc 架构类似的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。有关更多信息,请阅读 PretrainedConfig 中的文档。

示例

>>> from transformers import GroupViTVisionConfig, GroupViTVisionModel

>>> # Initializing a GroupViTVisionModel with nvidia/groupvit-gcc-yfcc style configuration
>>> configuration = GroupViTVisionConfig()

>>> model = GroupViTVisionModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
Pytorch
隐藏 Pytorch 内容

GroupViTModel

class transformers.GroupViTModel

< >

( config: GroupViTConfig )

参数

  • config (GroupViTConfig) — 带有模型所有参数的模型配置类。 使用配置文件初始化不会加载与模型关联的权重,仅加载配置。 查看 from_pretrained() 方法以加载模型权重。

此模型是 PyTorch torch.nn.Module 子类。 将其用作常规 PyTorch 模块,并参阅 PyTorch 文档以了解与常规用法和行为相关的所有事项。

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = None pixel_values: typing.Optional[torch.FloatTensor] = None attention_mask: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.LongTensor] = None return_loss: typing.Optional[bool] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None output_segmentation: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.models.groupvit.modeling_groupvit.GroupViTModelOutputtuple(torch.FloatTensor)

参数

  • input_ids (torch.LongTensor,形状为 (batch_size, sequence_length)) — 词汇表中输入序列 tokens 的索引。 默认情况下,如果您提供 padding,则会被忽略。

    可以使用 CLIPTokenizer 获取索引。 有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 IDs?

  • attention_mask (torch.Tensor,形状为 (batch_size, sequence_length)可选) — Mask,用于避免在 padding token 索引上执行 attention。 Mask 值在 [0, 1] 中选择:

    • 1 表示 未被 mask 的 tokens,
    • 0 表示 已被 mask 的 tokens。

    什么是 attention masks?

  • position_ids (torch.LongTensor,形状为 (batch_size, sequence_length)可选) — 位置嵌入中每个输入序列 tokens 的位置索引。 在范围 [0, config.max_position_embeddings - 1] 中选择。

    什么是 position IDs?

  • pixel_values (torch.FloatTensor,形状为 (batch_size, num_channels, height, width)) — 像素值。 像素值可以使用 AutoImageProcessor 获得。 有关详细信息,请参阅 CLIPImageProcessor.call()
  • return_loss (bool可选) — 是否返回对比损失。
  • output_attentions (bool可选) — 是否返回所有 attention 层的 attentions 张量。 有关更多详细信息,请参见返回的张量下的 attentions
  • output_hidden_states (bool可选) — 是否返回所有层的 hidden states。 有关更多详细信息,请参见返回的张量下的 hidden_states
  • return_dict (bool可选) — 是否返回 ModelOutput 而不是普通元组。

返回值

transformers.models.groupvit.modeling_groupvit.GroupViTModelOutputtuple(torch.FloatTensor)

一个 transformers.models.groupvit.modeling_groupvit.GroupViTModelOutputtorch.FloatTensor 的元组(如果传递 return_dict=False 或当 config.return_dict=False 时),包括各种元素,具体取决于配置 (<class 'transformers.models.groupvit.configuration_groupvit.GroupViTConfig'>) 和输入。

  • loss (torch.FloatTensor,形状为 (1,)可选,当 return_lossTrue 时返回) — 用于图像-文本相似度的对比损失。

  • logits_per_image (torch.FloatTensor,形状为 (image_batch_size, text_batch_size)) — image_embedstext_embeds 之间缩放的点积分数。 这表示图像-文本相似度分数。

  • logits_per_text (torch.FloatTensor,形状为 (text_batch_size, image_batch_size)) — text_embedsimage_embeds 之间缩放的点积分数。 这表示文本-图像相似度分数。

  • segmentation_logits (torch.FloatTensor,形状为 (batch_size, config.num_labels, logits_height, logits_width)) — 每个像素的分类分数。

    返回的 logits 不一定与作为输入传递的 pixel_values 具有相同的大小。 这是为了避免在用户需要将 logits 调整为原始图像大小作为后处理时进行两次插值并损失一些质量。 您应始终检查您的 logits 形状并在需要时调整大小。

  • text_embeds (torch.FloatTensor,形状为 (batch_size, output_dim) — 通过将投影层应用于 GroupViTTextModel 的 pooled output 获得的文本嵌入。

  • image_embeds (torch.FloatTensor,形状为 (batch_size, output_dim) — 通过将投影层应用于 GroupViTVisionModel 的 pooled output 获得的图像嵌入。

  • text_model_output (BaseModelOutputWithPooling) — GroupViTTextModel 的输出。

  • vision_model_output (BaseModelOutputWithPooling) — GroupViTVisionModel 的输出。

GroupViTModel forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, GroupViTModel

>>> model = GroupViTModel.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> 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", "a photo of a dog"], images=image, return_tensors="pt", padding=True
... )

>>> outputs = model(**inputs)
>>> logits_per_image = outputs.logits_per_image  # this is the image-text similarity score
>>> probs = logits_per_image.softmax(dim=1)  # we can take the softmax to get the label probabilities

get_text_features

< >

( input_ids: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.Tensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) text_features (torch.FloatTensor,形状为 (batch_size, output_dim)

参数

  • input_ids (torch.LongTensor,形状为 (batch_size, sequence_length)) — 词汇表中输入序列 tokens 的索引。 默认情况下,如果您提供 padding,则会被忽略。

    可以使用 CLIPTokenizer 获取索引。 有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 IDs?

  • attention_mask (torch.Tensor,形状为 (batch_size, sequence_length)可选) — Mask,用于避免在 padding token 索引上执行 attention。 Mask 值在 [0, 1] 中选择:

    • 1 表示 未被 mask 的 tokens,
    • 0 表示 已被 mask 的 tokens。

    什么是 attention masks?

  • position_ids (torch.LongTensor,形状为 (batch_size, sequence_length)可选) — 位置嵌入中每个输入序列 tokens 的位置索引。 在范围 [0, config.max_position_embeddings - 1] 中选择。

    什么是 position IDs?

  • output_attentions (bool可选) — 是否返回所有 attention 层的 attentions 张量。 有关更多详细信息,请参见返回的张量下的 attentions
  • output_hidden_states (bool可选) — 是否返回所有层的 hidden states。 有关更多详细信息,请参见返回的张量下的 hidden_states
  • return_dict (bool可选) — 是否返回 ModelOutput 而不是普通元组。

返回值

text_features (torch.FloatTensor,形状为 (batch_size, output_dim)

通过将投影层应用于 GroupViTTextModel 的 pooled output 获得的文本嵌入。

GroupViTModel forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from transformers import CLIPTokenizer, GroupViTModel

>>> model = GroupViTModel.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> tokenizer = CLIPTokenizer.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> inputs = tokenizer(["a photo of a cat", "a photo of a dog"], padding=True, return_tensors="pt")
>>> text_features = model.get_text_features(**inputs)

get_image_features

< >

( pixel_values: typing.Optional[torch.FloatTensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) image_features (torch.FloatTensor of shape (batch_size, output_dim)

参数

  • pixel_values (torch.FloatTensor of shape (batch_size, num_channels, height, width)) — 像素值。如果您提供填充,默认情况下将忽略填充。像素值可以使用 AutoImageProcessor 获得。有关详细信息,请参阅 CLIPImageProcessor.call()
  • output_attentions (bool, optional) — 是否返回所有注意力层的注意力张量。 有关更多详细信息,请参阅返回张量下的 attentions
  • output_hidden_states (bool, optional) — 是否返回所有层的隐藏状态。 有关更多详细信息,请参阅返回张量下的 hidden_states
  • return_dict (bool, optional) — 是否返回 ModelOutput 而不是普通元组。

返回值

image_features (torch.FloatTensor of shape (batch_size, output_dim)

通过将投影层应用于 GroupViTVisionModel 的池化输出而获得的图像嵌入。

GroupViTModel forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, GroupViTModel

>>> model = GroupViTModel.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)

>>> inputs = processor(images=image, return_tensors="pt")

>>> image_features = model.get_image_features(**inputs)

GroupViTTextModel

class transformers.GroupViTTextModel

< >

( config: GroupViTTextConfig )

forward

< >

( input_ids: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.Tensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.modeling_outputs.BaseModelOutputWithPoolingtuple(torch.FloatTensor)

参数

  • input_ids (torch.LongTensor of shape (batch_size, sequence_length)) — 词汇表中输入序列 tokens 的索引。如果您提供填充,默认情况下将忽略填充。

    索引可以使用 CLIPTokenizer 获得。 有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 IDs?

  • attention_mask (torch.Tensor of shape (batch_size, sequence_length), optional) — 用于避免对填充 token 索引执行注意力的掩码。 掩码值在 [0, 1] 中选择:

    • 1 表示 **未被掩盖** 的 tokens,
    • 0 表示 **被掩盖** 的 tokens。

    什么是注意力掩码?

  • position_ids (torch.LongTensor of shape (batch_size, sequence_length), optional) — 每个输入序列 tokens 在位置嵌入中的位置索引。 在 [0, config.max_position_embeddings - 1] 范围内选择。

    什么是位置 IDs?

  • output_attentions (bool, optional) — 是否返回所有注意力层的注意力张量。 有关更多详细信息,请参阅返回张量下的 attentions
  • output_hidden_states (bool, optional) — 是否返回所有层的隐藏状态。 有关更多详细信息,请参阅返回张量下的 hidden_states
  • return_dict (bool, optional) — 是否返回 ModelOutput 而不是普通元组。

返回值

transformers.modeling_outputs.BaseModelOutputWithPoolingtuple(torch.FloatTensor)

一个 transformers.modeling_outputs.BaseModelOutputWithPooling 或一个 torch.FloatTensor 元组(如果传递 return_dict=False 或当 config.return_dict=False 时),包含各种元素,具体取决于配置 (<class 'transformers.models.groupvit.configuration_groupvit.GroupViTTextConfig'>) 和输入。

  • last_hidden_state (torch.FloatTensor of shape (batch_size, sequence_length, hidden_size)) — 模型最后一层输出的隐藏状态序列。

  • pooler_output (torch.FloatTensor of shape (batch_size, hidden_size)) — 序列的第一个 token(分类 token)的最后一层隐藏状态,在通过用于辅助预训练任务的层进一步处理之后。 例如,对于 BERT 系列模型,这会返回通过线性层和 tanh 激活函数处理后的分类 token。 线性层权重通过预训练期间的下一句预测(分类)目标进行训练。

  • hidden_states (tuple(torch.FloatTensor), optional, returned when output_hidden_states=True is passed or when config.output_hidden_states=True) — torch.FloatTensor 的元组(如果模型有嵌入层,则为一个用于嵌入的输出;+ 每个层的输出一个),形状为 (batch_size, sequence_length, hidden_size)

    模型在每一层输出的隐藏状态,加上可选的初始嵌入输出。

  • attentions (tuple(torch.FloatTensor), optional, returned when output_attentions=True is passed or when config.output_attentions=True) — torch.FloatTensor 的元组(每层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。

GroupViTTextModel forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from transformers import CLIPTokenizer, GroupViTTextModel

>>> tokenizer = CLIPTokenizer.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> model = GroupViTTextModel.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> inputs = tokenizer(["a photo of a cat", "a photo of a dog"], padding=True, return_tensors="pt")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled (EOS token) states

GroupViTVisionModel

class transformers.GroupViTVisionModel

< >

( config: GroupViTVisionConfig )

forward

< >

( pixel_values: typing.Optional[torch.FloatTensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.modeling_outputs.BaseModelOutputWithPoolingtuple(torch.FloatTensor)

参数

  • pixel_values (torch.FloatTensor of shape (batch_size, num_channels, height, width)) — 像素值。如果您提供填充,默认情况下将忽略填充。像素值可以使用 AutoImageProcessor 获得。有关详细信息,请参阅 CLIPImageProcessor.call()
  • output_attentions (bool, optional) — 是否返回所有注意力层的注意力张量。 有关更多详细信息,请参阅返回张量下的 attentions
  • output_hidden_states (bool, optional) — 是否返回所有层的隐藏状态。 有关更多详细信息,请参阅返回张量下的 hidden_states
  • return_dict (bool, optional) — 是否返回 ModelOutput 而不是普通元组。

返回值

transformers.modeling_outputs.BaseModelOutputWithPoolingtuple(torch.FloatTensor)

一个 transformers.modeling_outputs.BaseModelOutputWithPooling 或一个 torch.FloatTensor 元组(如果传递 return_dict=False 或当 config.return_dict=False 时),包含各种元素,具体取决于配置 (<class 'transformers.models.groupvit.configuration_groupvit.GroupViTVisionConfig'>) 和输入。

  • last_hidden_state (torch.FloatTensor of shape (batch_size, sequence_length, hidden_size)) — 模型最后一层输出的隐藏状态序列。

  • pooler_output (torch.FloatTensor of shape (batch_size, hidden_size)) — 序列的第一个 token(分类 token)的最后一层隐藏状态,在通过用于辅助预训练任务的层进一步处理之后。 例如,对于 BERT 系列模型,这会返回通过线性层和 tanh 激活函数处理后的分类 token。 线性层权重通过预训练期间的下一句预测(分类)目标进行训练。

  • hidden_states (tuple(torch.FloatTensor), optional, returned when output_hidden_states=True is passed or when config.output_hidden_states=True) — torch.FloatTensor 的元组(如果模型有嵌入层,则为一个用于嵌入的输出;+ 每个层的输出一个),形状为 (batch_size, sequence_length, hidden_size)

    模型在每一层输出的隐藏状态,加上可选的初始嵌入输出。

  • attentions (tuple(torch.FloatTensor), optional, returned when output_attentions=True is passed or when config.output_attentions=True) — torch.FloatTensor 的元组(每层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。

GroupViTVisionModel forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, GroupViTVisionModel

>>> processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> model = GroupViTVisionModel.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)

>>> inputs = processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled CLS states
TensorFlow
隐藏 TensorFlow 内容

TFGroupViTModel

class transformers.TFGroupViTModel

< >

( config: GroupViTConfig *inputs **kwargs )

参数

  • config (GroupViTConfig) — 模型配置类,包含模型的所有参数。 使用配置文件初始化不会加载与模型关联的权重,仅加载配置。 查看 from_pretrained() 方法以加载模型权重。

此模型继承自 TFPreTrainedModel。 查看超类文档,了解库为其所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。

此模型也是一个 keras.Model 子类。 将其用作常规 TF 2.0 Keras 模型,并参阅 TF 2.0 文档,了解与一般用法和行为相关的所有事项。

TF 2.0 模型接受两种输入格式

  • 将所有输入作为关键字参数(如 PyTorch 模型),或
  • 将所有输入作为列表、元组或字典放在第一个位置参数中。

当使用 keras.Model.fit 方法时,第二种选择很有用,该方法当前要求将所有张量放在模型调用函数的第一个参数中:model(inputs)

如果您选择第二种选项,则可以使用三种可能性将所有输入张量收集在第一个位置参数中

  • 一个仅包含 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})

调用

< >

( input_ids: TFModelInputType | None = None pixel_values: TFModelInputType | None = None attention_mask: np.ndarray | tf.Tensor | None = None position_ids: np.ndarray | tf.Tensor | None = None return_loss: Optional[bool] = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None output_segmentation: Optional[bool] = None return_dict: Optional[bool] = None training: bool = False ) transformers.models.groupvit.modeling_tf_groupvit.TFGroupViTModelOutputtuple(tf.Tensor)

参数

  • input_ids (np.ndarray, tf.Tensor, List[tf.Tensor] `Dict[str, tf.Tensor]Dict[str, np.ndarray],并且每个示例必须具有形状 (batch_size, sequence_length)) — 词汇表中输入序列 tokens 的索引。

    可以使用 AutoTokenizer 获取索引。 有关详细信息,请参阅 PreTrainedTokenizer.call()PreTrainedTokenizer.encode()

    什么是输入 IDs?

  • pixel_values (np.ndarray, tf.Tensor, List[tf.Tensor], Dict[str, tf.Tensor]Dict[str, np.ndarray],并且每个示例必须具有形状 (batch_size, num_channels, height, width)) — 像素值。 可以使用 AutoImageProcessor 获取像素值。 有关详细信息,请参阅 CLIPImageProcessor.call()
  • attention_mask (形状为 (batch_size, sequence_length)np.ndarraytf.Tensor, 可选) — 掩码,用于避免在 padding token 索引上执行 attention。 Mask 值在 [0, 1] 中选择:

    • 1 代表 未被掩码 的 tokens,
    • 0 代表 被掩码 的 tokens。

    什么是 attention masks?

  • position_ids (形状为 (batch_size, sequence_length)np.ndarraytf.Tensor, 可选) — 位置 embeddings 中每个输入序列 tokens 的位置索引。 在范围 [0, config.max_position_embeddings - 1] 中选择。

    什么是 position IDs?

  • return_loss (bool, 可选) — 是否返回对比损失。
  • output_attentions (bool, 可选) — 是否返回所有 attention 层的 attentions tensors。 有关更多详细信息,请参阅返回的 tensors 下的 attentions。 此参数只能在 eager 模式下使用,在 graph 模式下将使用 config 中的值。
  • output_hidden_states (bool, 可选) — 是否返回所有层的 hidden states。 有关更多详细信息,请参阅返回的 tensors 下的 hidden_states。 此参数只能在 eager 模式下使用,在 graph 模式下将使用 config 中的值。
  • return_dict (bool, 可选) — 是否返回 ModelOutput 而不是普通 tuple。 此参数可以在 eager 模式下使用,在 graph 模式下,该值将始终设置为 True。
  • training (bool, 可选, 默认为 `False`) — 是否在训练模式下使用模型(某些模块(如 dropout 模块)在训练和评估之间具有不同的行为)。

返回值

transformers.models.groupvit.modeling_tf_groupvit.TFGroupViTModelOutputtuple(tf.Tensor)

一个 transformers.models.groupvit.modeling_tf_groupvit.TFGroupViTModelOutput 或一个 tf.Tensor 的 tuple (如果传递 return_dict=False 或当 config.return_dict=False 时),包含各种元素,具体取决于配置 (<class 'transformers.models.groupvit.configuration_groupvit.GroupViTConfig'>) 和输入。

  • loss (形状为 (1,)tf.Tensor, 可选, 当 return_lossTrue 时返回) — 用于图像-文本相似度的对比损失。

  • logits_per_image (形状为 (image_batch_size, text_batch_size)tf.Tensor) — image_embedstext_embeds 之间缩放的点积分数。 这表示图像-文本相似度分数。

  • logits_per_text (形状为 (text_batch_size, image_batch_size)tf.Tensor) — text_embedsimage_embeds 之间缩放的点积分数。 这表示文本-图像相似度分数。

  • segmentation_logits (形状为 (batch_size, config.num_labels, logits_height, logits_width)tf.Tensor) — 每个像素的分类分数。

    返回的 logits 不一定与作为输入传递的 pixel_values 具有相同的大小。 这是为了避免在用户需要将 logits 调整为原始图像大小作为后处理时进行两次插值并损失一些质量。 您应始终检查您的 logits 形状并在需要时调整大小。

  • text_embeds (形状为 (batch_size, output_dim) 的 tf.Tensor) — 通过将投影层应用于 TFGroupViTTextModel 的 pooled 输出而获得的文本 embeddings。

  • image_embeds (形状为 (batch_size, output_dim) 的 tf.Tensor) — 通过将投影层应用于 TFGroupViTVisionModel 的 pooled 输出而获得的图像 embeddings。

  • text_model_output (TFBaseModelOutputWithPooling) — TFGroupViTTextModel 的输出。

  • vision_model_output (TFBaseModelOutputWithPooling) — TFGroupViTVisionModel 的输出。

TFGroupViTModel 的 forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, TFGroupViTModel
>>> import tensorflow as tf

>>> model = TFGroupViTModel.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> 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", "a photo of a dog"], images=image, return_tensors="tf", padding=True
... )

>>> outputs = model(**inputs)
>>> logits_per_image = outputs.logits_per_image  # this is the image-text similarity score
>>> probs = tf.math.softmax(logits_per_image, axis=1)  # we can take the softmax to get the label probabilities

get_text_features

< >

( input_ids: TFModelInputType | None = None attention_mask: np.ndarray | tf.Tensor | None = None position_ids: np.ndarray | tf.Tensor | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None training: bool = False ) text_features (形状为 (batch_size, output_dim) 的 tf.Tensor)

参数

  • input_ids (np.ndarray, tf.Tensor, List[tf.Tensor] `Dict[str, tf.Tensor]Dict[str, np.ndarray],并且每个示例必须具有形状 (batch_size, sequence_length)) — 词汇表中输入序列 tokens 的索引。

    可以使用 AutoTokenizer 获取索引。 有关详细信息,请参阅 PreTrainedTokenizer.call()PreTrainedTokenizer.encode()

    什么是输入 IDs?

  • attention_mask (形状为 (batch_size, sequence_length)np.ndarraytf.Tensor, 可选) — 掩码,用于避免在 padding token 索引上执行 attention。 Mask 值在 [0, 1] 中选择:

    • 1 代表 未被掩码 的 tokens,
    • 0 代表 被掩码 的 tokens。

    什么是 attention masks?

  • position_ids (形状为 (batch_size, sequence_length)np.ndarraytf.Tensor, 可选) — 位置 embeddings 中每个输入序列 tokens 的位置索引。 在范围 [0, config.max_position_embeddings - 1] 中选择。

    什么是 position IDs?

  • output_attentions (bool, 可选) — 是否返回所有 attention 层的 attentions tensors。 有关更多详细信息,请参阅返回的 tensors 下的 attentions。 此参数只能在 eager 模式下使用,在 graph 模式下将使用 config 中的值。
  • output_hidden_states (bool, 可选) — 是否返回所有层的 hidden states。 有关更多详细信息,请参阅返回的 tensors 下的 hidden_states。 此参数只能在 eager 模式下使用,在 graph 模式下将使用 config 中的值。
  • return_dict (bool, 可选) — 是否返回 ModelOutput 而不是普通 tuple。 此参数可以在 eager 模式下使用,在 graph 模式下,该值将始终设置为 True。
  • training (bool, 可选, 默认为 `False`) — 是否在训练模式下使用模型(某些模块(如 dropout 模块)在训练和评估之间具有不同的行为)。

返回值

text_features (形状为 (batch_size, output_dim) 的 tf.Tensor)

通过将投影层应用于 TFGroupViTTextModel 的 pooled 输出而获得的文本 embeddings。

TFGroupViTModel 的 forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from transformers import CLIPTokenizer, TFGroupViTModel

>>> model = TFGroupViTModel.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> tokenizer = CLIPTokenizer.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> inputs = tokenizer(["a photo of a cat", "a photo of a dog"], padding=True, return_tensors="tf")
>>> text_features = model.get_text_features(**inputs)

get_image_features

< >

( pixel_values: TFModelInputType | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None training: bool = False ) image_features (形状为 (batch_size, output_dim) 的 tf.Tensor)

参数

  • pixel_values (np.ndarray, tf.Tensor, List[tf.Tensor], Dict[str, tf.Tensor]Dict[str, np.ndarray],并且每个示例必须具有形状 (batch_size, num_channels, height, width)) — 像素值。 可以使用 AutoImageProcessor 获取像素值。 有关详细信息,请参阅 CLIPImageProcessor.call()
  • output_attentions (bool, 可选) — 是否返回所有 attention 层的 attentions tensors。 有关更多详细信息,请参阅返回的 tensors 下的 attentions。 此参数只能在 eager 模式下使用,在 graph 模式下将使用 config 中的值。
  • output_hidden_states (bool, 可选) — 是否返回所有层的 hidden states。 有关更多详细信息,请参阅返回的 tensors 下的 hidden_states。 此参数只能在 eager 模式下使用,在 graph 模式下将使用 config 中的值。
  • return_dict (bool, 可选) — 是否返回 ModelOutput 而不是普通 tuple。 此参数可以在 eager 模式下使用,在 graph 模式下,该值将始终设置为 True。
  • training (bool, optional, defaults to `False“) — 是否在训练模式下使用模型(dropout 模块等某些模块在训练和评估之间具有不同的行为)。

返回值

image_features (tf.Tensor,形状为 (batch_size, output_dim)

通过将投影层应用于 TFGroupViTVisionModel 的池化输出来获得的图像嵌入。

TFGroupViTModel 的 forward 方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, TFGroupViTModel

>>> model = TFGroupViTModel.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)

>>> inputs = processor(images=image, return_tensors="tf")

>>> image_features = model.get_image_features(**inputs)

TFGroupViTTextModel

class transformers.TFGroupViTTextModel

< >

( config: GroupViTTextConfig *inputs **kwargs )

调用

< >

( input_ids: TFModelInputType | None = None attention_mask: np.ndarray | tf.Tensor | None = None position_ids: np.ndarray | tf.Tensor | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None training: bool = False ) transformers.modeling_tf_outputs.TFBaseModelOutputWithPooling or tuple(tf.Tensor)

参数

  • 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()

    什么是输入 IDs?

  • attention_mask (np.ndarraytf.Tensor,形状为 (batch_size, sequence_length), 可选) — 用于避免在 padding 标记索引上执行 attention 的掩码。掩码值在 [0, 1] 中选择:

    • 1 表示未被掩盖的标记,
    • 0 表示被掩盖的标记。

    什么是 attention 掩码?

  • position_ids (np.ndarraytf.Tensor,形状为 (batch_size, sequence_length), 可选) — 位置嵌入中每个输入序列标记的位置索引。在范围 [0, config.max_position_embeddings - 1] 中选择。

    什么是位置 IDs?

  • output_attentions (bool, 可选) — 是否返回所有 attention 层的 attention 张量。 有关更多详细信息,请参见返回张量下的 attentions。 此参数只能在 eager 模式下使用,在 graph 模式下将使用配置中的值。
  • output_hidden_states (bool, 可选) — 是否返回所有层的隐藏状态。 有关更多详细信息,请参见返回张量下的 hidden_states。 此参数只能在 eager 模式下使用,在 graph 模式下将使用配置中的值。
  • return_dict (bool, 可选) — 是否返回 ModelOutput 而不是普通元组。 此参数可以在 eager 模式下使用,在 graph 模式下,该值将始终设置为 True。
  • training (bool, 可选, 默认为 `False`) — 是否在训练模式下使用模型(dropout 模块等某些模块在训练和评估之间具有不同的行为)。

返回值

transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingtuple(tf.Tensor)

一个 transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingtf.Tensor 的元组(如果传递 return_dict=False 或当 config.return_dict=False 时),包含各种元素,具体取决于配置 (<class 'transformers.models.groupvit.configuration_groupvit.GroupViTTextConfig'>) 和输入。

  • last_hidden_state (tf.Tensor,形状为 (batch_size, sequence_length, hidden_size)) — 模型最后一层的输出处的隐藏状态序列。

  • pooler_output (tf.Tensor,形状为 (batch_size, hidden_size)) — 序列的第一个标记(分类标记)的最后一层隐藏状态,通过线性层和 Tanh 激活函数进一步处理。 线性层权重在预训练期间从下一句预测(分类)目标中训练而来。

    此输出通常不是输入语义内容的良好摘要,通常最好对整个输入序列的隐藏状态序列进行平均或池化。

  • hidden_states (tuple(tf.Tensor), 可选, 当传递 output_hidden_states=True 或当 config.output_hidden_states=True 时返回) — tf.Tensor 的元组(嵌入的输出一个,每层的输出一个),形状为 (batch_size, sequence_length, hidden_size)

    模型在每层输出以及初始嵌入输出处的隐藏状态。

  • attentions (tuple(tf.Tensor), 可选, 当传递 output_attentions=True 或当 config.output_attentions=True 时返回) — tf.Tensor 的元组(每层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。

TFGroupViTTextModel 前向方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from transformers import CLIPTokenizer, TFGroupViTTextModel

>>> tokenizer = CLIPTokenizer.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> model = TFGroupViTTextModel.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> inputs = tokenizer(["a photo of a cat", "a photo of a dog"], padding=True, return_tensors="tf")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled (EOS token) states

TFGroupViTVisionModel

class transformers.TFGroupViTVisionModel

< >

( config: GroupViTVisionConfig *inputs **kwargs )

调用

< >

( pixel_values: TFModelInputType | None = None output_attentions: Optional[bool] = None output_hidden_states: Optional[bool] = None return_dict: Optional[bool] = None training: bool = False ) transformers.modeling_tf_outputs.TFBaseModelOutputWithPooling or tuple(tf.Tensor)

参数

  • pixel_values (np.ndarray, tf.Tensor, List[tf.Tensor], Dict[str, tf.Tensor]Dict[str, np.ndarray],并且每个示例都必须具有形状 (batch_size, num_channels, height, width)) — 像素值。 可以使用 AutoImageProcessor 获取像素值。 有关详细信息,请参见 CLIPImageProcessor.call()
  • output_attentions (bool, 可选) — 是否返回所有 attention 层的 attention 张量。 有关更多详细信息,请参见返回张量下的 attentions。 此参数只能在 eager 模式下使用,在 graph 模式下将使用配置中的值。
  • output_hidden_states (bool, 可选) — 是否返回所有层的隐藏状态。 有关更多详细信息,请参见返回张量下的 hidden_states。 此参数只能在 eager 模式下使用,在 graph 模式下将使用配置中的值。
  • return_dict (bool, 可选) — 是否返回 ModelOutput 而不是普通元组。 此参数可以在 eager 模式下使用,在 graph 模式下,该值将始终设置为 True。
  • training (bool, 可选, 默认为 `False`) — 是否在训练模式下使用模型(dropout 模块等某些模块在训练和评估之间具有不同的行为)。

返回值

transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingtuple(tf.Tensor)

一个 transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingtf.Tensor 的元组(如果传递 return_dict=False 或当 config.return_dict=False 时),包含各种元素,具体取决于配置 (<class 'transformers.models.groupvit.configuration_groupvit.GroupViTVisionConfig'>) 和输入。

  • last_hidden_state (tf.Tensor,形状为 (batch_size, sequence_length, hidden_size)) — 模型最后一层的输出处的隐藏状态序列。

  • pooler_output (tf.Tensor,形状为 (batch_size, hidden_size)) — 序列的第一个标记(分类标记)的最后一层隐藏状态,通过线性层和 Tanh 激活函数进一步处理。 线性层权重在预训练期间从下一句预测(分类)目标中训练而来。

    此输出通常不是输入语义内容的良好摘要,通常最好对整个输入序列的隐藏状态序列进行平均或池化。

  • hidden_states (tuple(tf.Tensor), 可选, 当传递 output_hidden_states=True 或当 config.output_hidden_states=True 时返回) — tf.Tensor 的元组(嵌入的输出一个,每层的输出一个),形状为 (batch_size, sequence_length, hidden_size)

    模型在每层输出以及初始嵌入输出处的隐藏状态。

  • attentions (tuple(tf.Tensor), 可选, 当传递 output_attentions=True 或当 config.output_attentions=True 时返回) — tf.Tensor 的元组(每层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。

TFGroupViTVisionModel 前向方法,覆盖了 __call__ 特殊方法。

尽管 forward 传递的配方需要在该函数内定义,但之后应调用 Module 实例而不是此函数,因为前者负责运行预处理和后处理步骤,而后者则会静默地忽略它们。

示例

>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, TFGroupViTVisionModel

>>> processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-yfcc")
>>> model = TFGroupViTVisionModel.from_pretrained("nvidia/groupvit-gcc-yfcc")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)

>>> inputs = processor(images=image, return_tensors="tf")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state
>>> pooled_output = outputs.pooler_output  # pooled CLS states
< > 在 GitHub 上更新