Transformers documentation
SAM3-LiteText
该模型于 2026-02-12 在 HF papers 上发布,并于 2026-04-13 贡献至 Hugging Face Transformers。
SAM3-LiteText
概述
SAM3-LiteText 由 Chengxi Zeng、Yuxuan Jiang、Ge Gao、Shuai Wang、Duolikun Danier、Bin Zhu、Stevan Rudinac、David Bull 和 Fan Zhang 在 SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation 中提出。
SAM3-LiteText 是 SAM3 的轻量级变体,它用基于 MobileCLIP 的紧凑文本编码器替换了原模型中庞大的 SAM3 文本编码器(353M 参数),该编码器通过知识蒸馏进行了优化。SAM3 的 ViT-H 图像编码器保持不变。这一改动将文本编码器的参数量减少了最多 88%,同时保持了与原始模型相当的分割性能。
该论文的摘要如下:
诸如 SAM3 的视觉-语言分割模型支持灵活、基于提示的视觉定位,但它们继承了原本为开放式语言理解而设计的大型通用文本编码器。在实际应用中,分割提示通常简短、结构化且语义受限,这导致文本编码器的容量存在严重的过度配置,并带来持续的算力与内存开销。本文对视觉-语言分割中的文本提示进行了大规模解剖式分析,涵盖多个基准测试中的 404,796 个真实提示。分析揭示了严重的冗余性:大多数上下文窗口未被充分利用,词汇使用高度稀疏,且尽管表示维度很高,文本嵌入仍位于低维流形上。基于这些发现,我们提出了 SAM3-LiteText,一个轻量级文本编码框架,它使用通过知识蒸馏优化的紧凑 MobileCLIP 学生模型来替换原始 SAM3 的文本编码器。在图像和视频分割基准上的大量实验表明,SAM3-LiteText 将文本编码器的参数量减少了最多 88%,显著降低了静态内存占用,同时保持了与原始模型相当的分割性能。
文本编码器架构基于 MobileCLIP,共有三种变体:
| 变体 | 文本编码器 | 文本参数 | 归约 |
|---|---|---|---|
| SAM3-LiteText-S0-16 | MobileCLIP-S0 | 42.54M | ~88% |
| SAM3-LiteText-S1-16 | MobileCLIP-S1 | 63.53M | ~82% |
| SAM3-LiteText-L-16 | MobileCLIP2-L | 123.80M | ~65% |
该模型由 nielsr 和 yonigozlan 贡献。 原始代码可在此处找到。
用法
SAM3-LiteText 是 SAM3 的即插即用替代方案,采用轻量级文本编码器。它使用相同的处理器(Sam3Processor),并支持相同的提示接口。有关详细的使用示例(包括文本提示、框提示、批量推理等),请参阅 SAM3 文档。
from io import BytesIO
from huggingface_hub.utils import httpx
from PIL import Image
from transformers import AutoModel, AutoProcessor
model = AutoModel.from_pretrained("yonigozlan/sam3-litetext-s0", device_map="auto")
processor = AutoProcessor.from_pretrained("yonigozlan/sam3-litetext-s0")
image_url = "http://images.cocodataset.org/val2017/000000077595.jpg"
image = Image.open(BytesIO(httpx.get(image_url).content)).convert("RGB")
inputs = processor(images=image, text="ear", return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = processor.post_process_instance_segmentation(
outputs,
threshold=0.5,
mask_threshold=0.5,
target_sizes=inputs.get("original_sizes").tolist(),
)[0]
print(f"Found {len(results['masks'])} objects")Sam3LiteTextConfig
class transformers.Sam3LiteTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonegeometry_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonemask_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )
参数
- vision_config (
Union[dict, ~configuration_utils.PreTrainedConfig],可选) — 视觉骨干网络的配置对象或字典。 - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig],可选) — 文本骨干网络的配置对象或字典。 - geometry_encoder_config (
dict或Sam3LiteTextGeometryEncoderConfig,可选) — 几何编码器的配置。 - detr_encoder_config (
dict或Sam3LiteTextDETREncoderConfig,可选) — DETR 编码器的配置。 - detr_decoder_config (
dict或Sam3LiteTextDETRDecoderConfig,可选) — DETR 解码器的配置。 - mask_decoder_config (
dict或Sam3LiteTextMaskDecoderConfig,可选) — 掩码解码器的配置。 - initializer_range (
float,可选,默认为0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
这是用于存储 Sam3LiteTextModel 配置的类。它根据指定的参数实例化 Sam3 Lite Text 模型,并定义模型架构。使用默认值实例化配置将得到与 yonigozlan/sam3-litetext-s0 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
示例:
>>> from transformers import Sam3LiteTextConfig, Sam3LiteTextModel
>>> # Initializing a SAM3_LITE_TEXT configuration
>>> configuration = Sam3LiteTextConfig()
>>> # Initializing a model from the configuration
>>> model = Sam3LiteTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configSam3LiteTextTextConfig
class transformers.Sam3LiteTextTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 49408hidden_size: int = 512intermediate_size: int = 2048projection_dim: int = 512num_hidden_layers: int = 12num_attention_heads: int = 8max_position_embeddings: int = 77hidden_act: str = 'gelu'layer_norm_eps: float = 1e-05attention_dropout: float = 0.0use_repmixer_blocks: bool = Truelayer_scale_init_value: float = 1e-05repmixer_kernel_size: int = 11 )
参数
- vocab_size (
int,可选,默认为49408) — 模型的词汇表大小。定义了input_ids可以表示的不同 token 数量。 - hidden_size (
int,可选,默认为512) — 隐藏表示的维度。 - intermediate_size (
int,可选,默认为2048) — MLP 表示的维度。 - projection_dim (
int,可选,默认为512) — 文本和视觉投影层的维度。 - num_hidden_layers (
int, 可选, 默认为12) — Transformer 解码器中的隐藏层数量。 - num_attention_heads (
int,可选,默认为8) — Transformer 解码器中每个注意力层的注意力头数量。 - max_position_embeddings (
int,可选,默认为77) — 该模型可能使用的最大序列长度。 - hidden_act (
str,可选,默认为gelu) — 解码器中的非线性激活函数(函数或字符串)。例如,"gelu"、"relu"、"silu"等。 - layer_norm_eps (
float,可选,默认为1e-05) — 层归一化层所使用的 epsilon 值。 - attention_dropout (
float,可选,默认为0.0) — 注意力概率的 dropout 比率。 - use_repmixer_blocks (
bool,可选,默认为True) — 是否对编码器的第一层和最后一层使用 RepMixer 块(MobileCLIP 风格)。 当False时,所有层均为标准的 Transformer 编码器层。 - layer_scale_init_value (
float, 可选,默认为1e-5) — RepMixer 块(残差分支)中可学习 layer-scale 参数的初始值。 - repmixer_kernel_size (
int,可选,默认为11) — RepMixer 块中深度可分离卷积的卷积核大小(用于 token mixer 和卷积前馈路径)。
这是用于存储 Sam3LiteTextModel 配置的类。它根据指定的参数实例化 Sam3 Lite Text 模型,并定义模型架构。使用默认值实例化配置将得到与 yonigozlan/sam3-litetext-s0 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
Sam3LiteTextGeometryEncoderConfig
class transformers.Sam3LiteTextGeometryEncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 3num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06roi_size: int = 7initializer_range: float = 0.02 )
参数
- hidden_size (
int,可选,默认为256) — 隐藏表示的维度。 - num_layers (
int,可选,默认为3) — Transformer 解码器中的隐藏层数。 - num_attention_heads (
int,可选,默认为8) — Transformer 解码器中每个注意力层的注意力头数量。 - intermediate_size (
int,可选,默认为2048) — MLP 表示的维度。 - dropout (
Union[float, int],可选,默认为0.1) — 所有 dropout 层的比率。 - hidden_act (
str,可选,默认为relu) — 解码器中的非线性激活函数(函数或字符串)。例如,"gelu"、"relu"、"silu"等。 - hidden_dropout (
Union[float, int],可选,默认为0.0) — 嵌入层、编码器和池化层中所有全连接层的 dropout 概率。 - layer_norm_eps (
float,可选,默认为1e-06) — 层归一化层所使用的 epsilon 值。 - roi_size (
int,可选,默认为 7) — 用于框池化操作的 ROI 尺寸。 - initializer_range (
float,可选,默认为0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
这是用于存储 Sam3LiteTextModel 配置的类。它根据指定的参数实例化 Sam3 Lite Text 模型,并定义模型架构。使用默认值实例化配置将得到与 yonigozlan/sam3-litetext-s0 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
Sam3LiteTextDETREncoderConfig
class transformers.Sam3LiteTextDETREncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 6num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )
参数
- hidden_size (
int,可选,默认为256) — 隐藏表示的维度。 - num_layers (
int,可选,默认为6) — Transformer 解码器中的隐藏层数。 - num_attention_heads (
int,可选,默认为8) — Transformer 解码器中每个注意力层的注意力头数量。 - intermediate_size (
int,可选,默认为2048) — MLP 表示的维度。 - dropout (
Union[float, int],可选,默认为0.1) — 所有 dropout 层的比率。 - hidden_act (
str,可选,默认为relu) — 解码器中的非线性激活函数(函数或字符串)。例如,"gelu"、"relu"、"silu"等。 - hidden_dropout (
float,可选,默认值为 0.0) — 隐藏状态的 Dropout 概率。 - layer_norm_eps (
float,可选,默认为1e-06) — 层归一化层所使用的 epsilon 值。 - initializer_range (
float,可选,默认为0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
这是用于存储 Sam3LiteTextModel 配置的类。它根据指定的参数实例化 Sam3 Lite Text 模型,并定义模型架构。使用默认值实例化配置将得到与 yonigozlan/sam3-litetext-s0 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
Sam3LiteTextDETRDecoderConfig
类 transformers.Sam3LiteTextDETRDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 6num_queries: int = 200num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )
参数
- hidden_size (
int,可选,默认为256) — 隐藏表示的维度。 - num_layers (
int,可选,默认为6) — Transformer 解码器中的隐藏层数。 - num_queries (
int,可选,默认为 200) — 对象查询的数量。 - num_attention_heads (
int,可选,默认为8) — Transformer 解码器中每个注意力层的注意力头数量。 - intermediate_size (
int,可选,默认为2048) — MLP 表示的维度。 - dropout (
Union[float, int],可选,默认为0.1) — 所有 dropout 层的比率。 - hidden_act (
str,可选,默认为relu) — 解码器中的非线性激活函数(函数或字符串)。例如,"gelu"、"relu"、"silu"等。 - hidden_dropout (
Union[float, int],可选,默认为0.0) — 嵌入层、编码器和池化层中所有全连接层的 dropout 概率。 - layer_norm_eps (
float,可选,默认为1e-06) — 层归一化层所使用的 epsilon 值。 - initializer_range (
float,可选,默认为0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
这是用于存储 Sam3LiteTextModel 配置的类。它根据指定的参数实例化 Sam3 Lite Text 模型,并定义模型架构。使用默认值实例化配置将得到与 yonigozlan/sam3-litetext-s0 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
Sam3LiteTextMaskDecoderConfig
class transformers.Sam3LiteTextMaskDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_upsampling_stages: int = 3layer_norm_eps: float = 1e-06dropout: float | int = 0.0num_attention_heads: int = 8initializer_range: float = 0.02 )
参数
- hidden_size (
int,可选,默认为256) — 隐藏表示的维度。 - num_upsampling_stages (
int,可选,默认为 3) — 像素解码器(FPN)中的上采样阶段数量。 - layer_norm_eps (
float,可选,默认为1e-06) — 层归一化层所使用的 epsilon 值。 - dropout (
Union[float, int],可选,默认为0.0) — 所有 dropout 层的比率。 - num_attention_heads (
int,可选,默认为8) — Transformer 解码器中每个注意力层的注意力头数量。 - initializer_range (
float,可选,默认为0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
这是用于存储 Sam3LiteTextModel 配置的类。它根据指定的参数实例化 Sam3 Lite Text 模型,并定义模型架构。使用默认值实例化配置将得到与 yonigozlan/sam3-litetext-s0 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
Sam3LiteTextTextModel
class transformers.Sam3LiteTextTextModel
< source >( config: Sam3LiteTextTextConfig )
参数
- config (Sam3LiteTextTextConfig) — 模型的配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
MobileCLIP MCT 文本编码器,用于 EfficientSAM3 LiteText。
当 config.use_repmixer_blocks 为 True 时,第一层和最后一层是 Sam3LiteTextRepMixerBlock 模块;其余层均为标准的 Sam3LiteTextTextEncoderLayer 层。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextTextEncoderOutput or tuple(torch.Tensor)
参数
- input_ids (
torch.LongTensor形状为(batch_size, sequence_length), ,可选) — 输入序列中各 token 在词汇表中的索引。默认情况下,填充(padding)将被忽略。可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode() 和 PreTrainedTokenizer.call()。
- attention_mask (
torch.Tensor形状为(batch_size, sequence_length), ,可选) — 用于避免对填充 token 索引执行注意力机制的掩码。掩码值取自[0, 1]:- 1 表示未被屏蔽的 token,
- 对于被掩码的 token,值为 0。
返回值
Sam3LiteTextTextEncoderOutput 或 tuple(torch.Tensor)
Sam3LiteTextTextEncoderOutput 或 torch.Tensor 元组(当传入 return_dict=False 或 config.return_dict=False 时),其包含的元素取决于配置(Sam3LiteTextConfig)和输入。
Sam3LiteTextTextModel 的 forward 方法重写了 __call__ 特殊方法。
尽管前向传播的实现需要在此函数中定义,但之后应调用
Module实例,而不是直接调用此函数,因为前者会负责执行预处理和后处理步骤,而后者则会静默地忽略这些步骤。
- last_hidden_state(形状为
(batch_size, sequence_length, hidden_size)的torch.Tensor)— 来自文本编码器的完整隐藏状态序列。 - pooler_output(形状为
(batch_size, projection_dim)的torch.Tensor)— 通过内部 CLIP 风格的投影映射到projection_dim的 EOT 池化输出。 - hidden_states (
tuple(torch.Tensor),可选) — 各层隐藏状态的元组,当output_hidden_states=True时返回。 - attentions(
tuple(torch.Tensor),可选)— 每个 Transformer 层的注意力权重元组,当output_attentions=True时返回。
Sam3LiteTextModel
forward
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonevision_embeds: transformers.models.sam3_lite_text.modeling_sam3_lite_text.Sam3LiteTextVisionEncoderOutput | None = Noneinput_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetext_embeds: typing.Optional[torch.Tensor] = Noneinput_boxes: typing.Optional[torch.Tensor] = Noneinput_boxes_labels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextImageSegmentationOutput or tuple(torch.Tensor)
参数
- pixel_values (
torch.Tensor,形状为(batch_size, num_channels, image_size, image_size),可选) — 与输入图像对应的张量。可以使用 Sam3ImageProcessor 获取像素值。有关详细信息,请参阅 Sam3ImageProcessor.call()(Sam3Processor 使用 Sam3ImageProcessor 来处理图像)。 - vision_embeds (
Sam3LiteTextVisionEncoderOutput,可选) — 预计算的视觉嵌入。可用于轻松复用视觉嵌入。如果提供了该参数,则不应传入pixel_values。与pixel_values互斥。 - input_ids (
torch.LongTensor形状为(batch_size, sequence_length), ,可选) — 输入序列中各 token 在词汇表中的索引。默认情况下,填充(padding)将被忽略。可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode() 和 PreTrainedTokenizer.call()。
- attention_mask (
torch.Tensor形状为(batch_size, sequence_length), ,可选) — 用于避免对填充 token 索引执行注意力机制的掩码。掩码值取自[0, 1]:- 1 表示未被屏蔽的 token,
- 对于被掩码的 token,值为 0。
- text_embeds(形状为
(batch_size, sequence_length, hidden_size)的torch.Tensor,可选) — 预计算好的文本嵌入。可用于轻松复用文本嵌入。如果提供了该参数,则不应传入input_ids。与input_ids互斥。 - input_boxes (
torch.Tensor,形状为(batch_size, num_boxes, 4),可选) — 归一化到 [0, 1] 范围内的框坐标,格式为 (cx, cy, w, h)。 - input_boxes_labels(形状为
(batch_size, num_boxes)的torch.LongTensor,可选)— 框的标签:1(正样本)、0(负样本)。
返回值
Sam3LiteTextImageSegmentationOutput 或 tuple(torch.Tensor)
Sam3LiteTextImageSegmentationOutput 或 torch.Tensor 元组(当传入 return_dict=False 或 config.return_dict=False 时),其包含的元素取决于配置(Sam3LiteTextConfig)和输入。
Sam3LiteTextModel 的 forward 方法重写了 __call__ 特殊方法。
尽管前向传播的实现需要在此函数中定义,但之后应调用
Module实例,而不是直接调用此函数,因为前者会负责执行预处理和后处理步骤,而后者则会静默地忽略这些步骤。
- pred_masks(形状为
(batch_size, num_queries, height, width)的torch.Tensor)— 每个查询的预测分割掩码。 - pred_boxes(形状为
(batch_size, num_queries, 4)的torch.Tensor)— 以 (x1, y1, x2, y2) 格式表示的预测边界框。 - pred_logits (
torch.Tensor,形状为(batch_size, num_queries),可选) — 每个查询的分类置信度分数,通过解码器查询特征与文本特征之间的点积计算得出。 - presence_logits (
torch.Tensor,形状为(batch_size, 1),可选) — 来自 DETR 解码器 presence token 的存在性 logits(仅最后一层)。这些 logits 指示场景中是否存在物体。可与 pred_logits 相乘来计算最终分数:final_scores = pred_logits.sigmoid() * presence_logits.sigmoid()。 - semantic_seg(形状为
(batch_size, 1, height, width)的torch.Tensor,可选)— 语义分割输出。 - decoder_hidden_states (
tuple[torch.Tensor],可选) — 来自所有 DETR 解码器层的隐藏状态元组。每个张量的形状为(batch_size, num_queries, hidden_size)。 - decoder_reference_boxes(形状为
(num_layers, batch_size, num_queries, 4)的torch.Tensor,可选)— 来自所有 DETR 解码器层的参考框。 - encoder_hidden_states (
tuple[torch.Tensor],可选) — 来自所有 DETR 编码器层的隐藏状态元组。 - vision_hidden_states (
tuple[torch.Tensor],可选) — 来自所有视觉编码器(ViT)层的隐藏状态元组。 - vision_attentions (
tuple[torch.Tensor],可选) — 来自视觉编码器(ViT)层的注意力权重。 - detr_encoder_attentions (
tuple[torch.Tensor],可选) — 来自 DETR 编码器层的注意力权重。 - detr_decoder_attentions (
tuple[torch.Tensor], 可选) — 来自 DETR 解码器层的注意力权重(自注意力和交叉注意力)。 - mask_decoder_attentions (
tuple[torch.Tensor],可选) — 来自 mask decoder 层的注意力权重。
示例:
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoModel, AutoProcessor
>>> model = AutoModel.from_pretrained("facebook/sam3_lite_text")
>>> processor = AutoProcessor.from_pretrained("facebook/sam3_lite_text")
>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/model_doc/sam-car.png"
>>> with httpx.stream("GET", url) as response:
... image = Image.open(BytesIO(response.read())).convert("RGB")
>>> text = "car"
>>> inputs = processor(images=image, text=text, return_tensors="pt")
>>> # Get segmentation output
>>> outputs = model(**inputs)
>>> pred_masks = outputs.pred_masks
>>> pred_boxes = outputs.pred_boxesSam3LiteTextPreTrainedModel
class transformers.Sam3LiteTextPreTrainedModel
< source >( config: PreTrainedConfig*inputs**kwargs )
参数
- config (PreTrainedConfig) — 模型配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。