Transformers documentation

SAM3-LiteText

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Este modelo se publicó en HF papers el 12 de febrero de 2026 y se contribuyó a Hugging Face Transformers el 13 de abril de 2026.

SAM3-LiteText

Resumen

SAM3-LiteText fue propuesto en SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation por Chengxi Zeng, Yuxuan Jiang, Ge Gao, Shuai Wang, Duolikun Danier, Bin Zhu, Stevan Rudinac, David Bull y Fan Zhang.

SAM3-LiteText es una variante ligera de SAM3 que reemplaza el codificador de texto pesado de SAM3 (353M de parámetros) por un codificador de texto compacto basado en MobileCLIP, optimizado mediante destilación de conocimiento. El codificador de imágenes ViT-H de SAM3 se mantiene intacto. Esto reduce los parámetros del codificador de texto hasta en un 88%, manteniendo un rendimiento de segmentación comparable al del modelo original.

El resumen del artículo es el siguiente:

Los modelos de segmentación visuales-lingüísticos, como SAM3, permiten un anclaje visual flexible y dirigido por indicaciones, pero heredan codificadores de texto grandes y de propósito general diseñados originalmente para la comprensión lingüística abierta. En la práctica, las indicaciones de segmentación son cortas, estructuradas y semánticamente restringidas, lo que provoca una sobredimensionación sustancial de la capacidad del codificador de texto y un sobrecoste computacional y de memoria persistente. En este artículo, realizamos un análisis anatómico a gran escala de las indicaciones de texto en la segmentación visual-lingüística, cubriendo 404.796 indicaciones reales en varios conjuntos de evaluación. Nuestro análisis revela una redundancia severa: la mayoría de las ventanas de contexto están subutilizadas, el uso del vocabulario es altamente disperso y los incrustados de texto se encuentran en una variedad de baja dimensión, a pesar de las representaciones de alta dimensión. Motivados por estos hallazgos, proponemos SAM3-LiteText, un marco ligero de codificación de texto que reemplaza el codificador de texto original de SAM3 con un estudiante MobileCLIP compacto optimizado mediante destilación de conocimiento. Experimentos extensos en conjuntos de evaluación de segmentación de imágenes y videos muestran que SAM3-LiteText reduce los parámetros del codificador de texto hasta en un 88%, reduciendo sustancialmente la huella de memoria estática, mientras mantiene un rendimiento de segmentación comparable al del modelo original.

La arquitectura del codificador de texto se basa en MobileCLIP y viene en tres variantes:

VarianteCodificador de textoParámetros de textoReducción
SAM3-LiteText-S0-16MobileCLIP-S042.54M~88%
SAM3-LiteText-S1-16MobileCLIP-S163.53M~82%
SAM3-LiteText-L-16MobileCLIP2-L123.80M~65%

Este modelo fue aportado por nielsr y yonigozlan. El código original se puede encontrar aquí.

Uso

SAM3-LiteText es un reemplazo directo para SAM3 con un codificador de texto ligero. Utiliza el mismo procesador (Sam3Processor) y admite la misma interfaz de indicaciones. Consulte la documentación de SAM3 para ejemplos detallados de uso, incluidos prompts de texto, prompts de caja, inferencia por lotes y más.

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

clase transformers.Sam3LiteTextConfig

< >

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

Parámetros

  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — El objeto de configuración o el diccionario del backbone de visión.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — El objeto de configuración o el diccionario del backbone de texto.
  • geometry_encoder_config (dict o Sam3LiteTextGeometryEncoderConfig, opcional) — Configuración del codificador de geometría.
  • detr_encoder_config (dict o Sam3LiteTextDETREncoderConfig, opcional) — Configuración del codificador DETR.
  • detr_decoder_config (dict o Sam3LiteTextDETRDecoderConfig, opcional) — Configuración del decodificador DETR.
  • mask_decoder_config (dict o Sam3LiteTextMaskDecoderConfig, opcional) — Configuración del decodificador de máscaras.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.

Esta es la clase de configuración para almacenar la configuración de un Sam3LiteTextModel. Se utiliza para instanciar un modelo Sam3 Lite Text según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de yonigozlan/sam3-litetext-s0

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

>>> 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.config

Sam3LiteTextTextConfig

clase transformers.Sam3LiteTextTextConfig

< >

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

Parámetros

  • vocab_size (int, opcional, valor predeterminado 49408) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse mediante input_ids.
  • hidden_size (int, opcional, valor predeterminado 512) — Dimensión de las representaciones ocultas.
  • intermediate_size (int, opcional, valor predeterminado 2048) — Dimensión de las representaciones del MLP.
  • projection_dim (int, opcional, valor predeterminado 512) — Dimensionalidad de las capas de proyección de texto y visión.
  • num_hidden_layers (int, opcional, valor predeterminado 12) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • max_position_embeddings (int, opcional, valor predeterminado 77) — La longitud máxima de secuencia con la que se podría utilizar este modelo.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-05) — El epsilon utilizado por las capas de normalización de capa.
  • attention_dropout (float, opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • use_repmixer_blocks (bool, opcional, valor predeterminado True) — Si se deben usar bloques RepMixer (estilo MobileCLIP) para las capas de codificador inicial y final. Cuando False, todas las capas son capas de codificador Transformer estándar.
  • layer_scale_init_value (float, opcional, valor predeterminado 1e-5) — Valor inicial para los parámetros de escala de capa aprendibles en los bloques RepMixer (ramas residuales).
  • repmixer_kernel_size (int, opcional, valor predeterminado 11) — Tamaño del kernel para las convoluciones depthwise en los bloques RepMixer (ruta de mezcla de tokens y ruta de avance hacia adelante convolucional).

Esta es la clase de configuración para almacenar la configuración de un Sam3LiteTextModel. Se utiliza para instanciar un modelo Sam3 Lite Text según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de yonigozlan/sam3-litetext-s0

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Sam3LiteTextGeometryEncoderConfig

clase transformers.Sam3LiteTextGeometryEncoderConfig

< >

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

Parámetros

  • hidden_size (int, opcional, valor predeterminado 256) — Dimensión de las representaciones ocultas.
  • num_layers (int, opcional, valor predeterminado 3) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 2048) — Dimensión de las representaciones del MLP.
  • dropout (Union[float, int], opcional, valor predeterminado 0.1) — La proporción para todas las capas de dropout.
  • hidden_act (str, opcional, valor predeterminado relu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout (Union[float, int], opcional, valor predeterminado 0.0) — La probabilidad de dropout para todas las capas totalmente conectadas en las incrustaciones, el codificador y el pooler.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-06) — La epsilon utilizada por las capas de normalización de capa.
  • roi_size (int, opcional, valor predeterminado 7) — Tamaño del ROI para las operaciones de box pooling.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.

Esta es la clase de configuración para almacenar la configuración de un Sam3LiteTextModel. Se utiliza para instanciar un modelo Sam3 Lite Text según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de yonigozlan/sam3-litetext-s0

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Sam3LiteTextDETREncoderConfig

clase transformers.Sam3LiteTextDETREncoderConfig

< >

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

Parámetros

  • hidden_size (int, opcional, valor predeterminado 256) — Dimensión de las representaciones ocultas.
  • num_layers (int, opcional, valor predeterminado 6) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 2048) — Dimensión de las representaciones del MLP.
  • dropout (Union[float, int], opcional, valor predeterminado 0.1) — La proporción para todas las capas de dropout.
  • hidden_act (str, opcional, valor predeterminado relu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout (float, opcional, valor predeterminado 0.0) — Probabilidad de dropout para los estados ocultos.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-06) — La epsilon utilizada por las capas de normalización de capa.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.

Esta es la clase de configuración para almacenar la configuración de un Sam3LiteTextModel. Se utiliza para instanciar un modelo Sam3 Lite Text según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de yonigozlan/sam3-litetext-s0

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Sam3LiteTextDETRDecoderConfig

clase transformers.Sam3LiteTextDETRDecoderConfig

< >

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

Parámetros

  • hidden_size (int, opcional, valor predeterminado 256) — Dimensión de las representaciones ocultas.
  • num_layers (int, opcional, valor predeterminado 6) — Número de capas ocultas en el decodificador del Transformer.
  • num_queries (int, opcional, valor predeterminado 200) — Número de consultas de objetos.
  • num_attention_heads (int, opcional, valor predeterminado 8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • intermediate_size (int, opcional, valor predeterminado 2048) — Dimensión de las representaciones del MLP.
  • dropout (Union[float, int], opcional, valor predeterminado 0.1) — La proporción para todas las capas de dropout.
  • hidden_act (str, opcional, valor predeterminado relu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • hidden_dropout (Union[float, int], opcional, valor predeterminado 0.0) — La probabilidad de dropout para todas las capas totalmente conectadas en las incrustaciones, el codificador y el pooler.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-06) — La epsilon utilizada por las capas de normalización de capa.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.

Esta es la clase de configuración para almacenar la configuración de un Sam3LiteTextModel. Se utiliza para instanciar un modelo Sam3 Lite Text según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de yonigozlan/sam3-litetext-s0

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Sam3LiteTextMaskDecoderConfig

clase transformers.Sam3LiteTextMaskDecoderConfig

< >

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

Parámetros

  • hidden_size (int, opcional, valor predeterminado 256) — Dimensión de las representaciones ocultas.
  • num_upsampling_stages (int, opcional, valor predeterminado 3) — Número de etapas de remuestreo ascendente en el decodificador de píxeles (FPN).
  • layer_norm_eps (float, opcional, valor predeterminado 1e-06) — La epsilon utilizada por las capas de normalización de capa.
  • dropout (Union[float, int], opcional, valor predeterminado 0.0) — La proporción para todas las capas de dropout.
  • num_attention_heads (int, opcional, valor predeterminado 8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.

Esta es la clase de configuración para almacenar la configuración de un Sam3LiteTextModel. Se utiliza para instanciar un modelo Sam3 Lite Text según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de yonigozlan/sam3-litetext-s0

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Sam3LiteTextTextModel

clase transformers.Sam3LiteTextTextModel

< >

( config: Sam3LiteTextTextConfig )

Parámetros

  • config (Sam3LiteTextTextConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

Codificador de texto MobileCLIP MCT utilizado en EfficientSAM3 LiteText.

Cuando config.use_repmixer_blocks es True, las capas primera y última son módulos Sam3LiteTextRepMixerBlock; el resto son capas estándar Sam3LiteTextTextEncoderLayer.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextTextEncoderOutput or tuple(torch.Tensor)

Parámetros

  • input_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de los tokens de la secuencia de entrada en el vocabulario. El relleno se ignorará de forma predeterminada.

    Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles.

    ¿Qué son los IDs de entrada?

  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

Devuelve

Sam3LiteTextTextEncoderOutput o tuple(torch.Tensor)

Un Sam3LiteTextTextEncoderOutput o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Sam3LiteTextConfig) y las entradas.

El método forward de Sam3LiteTextTextModel reemplaza el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia completa de estados ocultos del codificador de texto.
  • pooler_output (torch.Tensor de forma (batch_size, projection_dim)) — Salida agrupada con EOT y proyectada a projection_dim mediante la proyección interna de estilo CLIP.
  • hidden_states (tuple(torch.Tensor), opcional) — Tupla de estados ocultos en cada capa, devuelta cuando output_hidden_states=True.
  • attentions (tuple(torch.Tensor), opcional) — Tupla de pesos de atención en cada capa del transformador, devuelta cuando output_attentions=True.

Sam3LiteTextModel

clase transformers.Sam3LiteTextModel

< >

( config: Sam3LiteTextConfig )

forward

< >

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

Parámetros

  • pixel_values (torch.Tensor de forma (batch_size, num_channels, image_size, image_size), opcional) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizando Sam3ImageProcessor. Consulte Sam3ImageProcessor.call() para más detalles (Sam3Processor utiliza Sam3ImageProcessor para procesar las imágenes).
  • vision_embeds (Sam3LiteTextVisionEncoderOutput, opcional) — Incrustaciones visuales precalculadas. Se pueden utilizar para reutilizar fácilmente las incrustaciones visuales. Si se proporciona, no se debe pasar pixel_values. Es mutuamente excluyente con pixel_values.
  • input_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de los tokens de la secuencia de entrada en el vocabulario. El relleno se ignorará de forma predeterminada.

    Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles.

    ¿Qué son los IDs de entrada?

  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • text_embeds (torch.Tensor de forma (batch_size, sequence_length, hidden_size), opcional) — Incrustaciones de texto precalculadas. Se pueden utilizar para reutilizar fácilmente las incrustaciones de texto. Si se proporciona, no se debe pasar input_ids. Es mutuamente excluyente con input_ids.
  • input_boxes (torch.Tensor de forma (batch_size, num_boxes, 4), opcional) — Coordenadas de cajas normalizadas en el rango [0, 1], en formato (cx, cy, w, h).
  • input_boxes_labels (torch.LongTensor de forma (batch_size, num_boxes), opcional) — Etiquetas para las cajas: 1 (positivo), 0 (negativo).

Devuelve

Sam3LiteTextImageSegmentationOutput o tuple(torch.Tensor)

Un Sam3LiteTextImageSegmentationOutput o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Sam3LiteTextConfig) y las entradas.

El método forward de Sam3LiteTextModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • pred_masks (torch.Tensor de forma (batch_size, num_queries, height, width)) — Máscaras de segmentación predichas para cada consulta.
  • pred_boxes (torch.Tensor de forma (batch_size, num_queries, 4)) — Cajas delimitadoras predichas en formato (x1, y1, x2, y2).
  • pred_logits (torch.Tensor de forma (batch_size, num_queries), opcional) — Puntuaciones de confianza de clasificación para cada consulta, calculadas mediante el producto punto entre las características de consulta del decodificador y las características de texto.
  • presence_logits (torch.Tensor de forma (batch_size, 1), opcional) — Logits de presencia del token de presencia del decodificador DETR (solo la última capa). Estos indican si hay objetos presentes en la escena. Se pueden usar para calcular las puntuaciones finales multiplicando por pred_logits: final_scores = pred_logits.sigmoid() * presence_logits.sigmoid().
  • semantic_seg (torch.Tensor de forma (batch_size, 1, height, width), opcional) — Salida de segmentación semántica.
  • decoder_hidden_states (tuple[torch.Tensor], opcional) — Tupla de estados ocultos de todas las capas del decodificador de DETR. Cada tensor tiene la forma (batch_size, num_queries, hidden_size).
  • decoder_reference_boxes (torch.Tensor de forma (num_layers, batch_size, num_queries, 4), opcional) — Cajas de referencia de todas las capas del decodificador DETR.
  • encoder_hidden_states (tuple[torch.Tensor], opcional) — Tupla de estados ocultos de todas las capas del codificador DETR.
  • vision_hidden_states (tuple[torch.Tensor], opcional) — Tupla de estados ocultos de todas las capas del codificador de visión (ViT).
  • vision_attentions (tuple[torch.Tensor], opcional) — Pesos de atención de las capas del codificador de visión (ViT).
  • detr_encoder_attentions (tuple[torch.Tensor], opcional) — Pesos de atención de las capas del codificador de DETR.
  • detr_decoder_attentions (tuple[torch.Tensor], opcional) — Pesos de atención de las capas decodificadoras de DETR (autoatención y atención cruzada).
  • mask_decoder_attentions (tuple[torch.Tensor], opcional) — Pesos de atención de las capas del decodificador de máscaras.

Ejemplo:

>>> 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_boxes

Sam3LiteTextPreTrainedModel

clase transformers.Sam3LiteTextPreTrainedModel

< >

( config: PreTrainedConfig*inputs**kwargs )

Parámetros

  • config (PreTrainedConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

( *args**kwargs )

Un valor simulado para una ruta con puntos (p. ej. torch.float32): las cadenas de acceso a atributos y las llamadas se comportan como decoradores de paso, repr es la ruta con puntos, y su uso como clase base sustituye una base de type simple (PEP 560 __mro_entries__), de modo que las subclases reales conservan un metaclass normal y inspect.signature lee su __init__ real en lugar del de un simulado.

Update on GitHub