Transformers documentation
SAM3-LiteText
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:
| Variante | Codificador de texto | Parámetros de texto | Reducción |
|---|---|---|---|
| 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% |
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
< 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 )
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 (
dictoSam3LiteTextGeometryEncoderConfig, opcional) — Configuración del codificador de geometría. - detr_encoder_config (
dictoSam3LiteTextDETREncoderConfig, opcional) — Configuración del codificador DETR. - detr_decoder_config (
dictoSam3LiteTextDETRDecoderConfig, opcional) — Configuración del decodificador DETR. - mask_decoder_config (
dictoSam3LiteTextMaskDecoderConfig, opcional) — Configuración del decodificador de máscaras. - initializer_range (
float, opcional, valor predeterminado0.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.configSam3LiteTextTextConfig
clase 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 )
Parámetros
- vocab_size (
int, opcional, valor predeterminado49408) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse medianteinput_ids. - hidden_size (
int, opcional, valor predeterminado512) — Dimensión de las representaciones ocultas. - intermediate_size (
int, opcional, valor predeterminado2048) — Dimensión de las representaciones del MLP. - projection_dim (
int, opcional, valor predeterminado512) — Dimensionalidad de las capas de proyección de texto y visión. - num_hidden_layers (
int, opcional, valor predeterminado12) — Número de capas ocultas en el decodificador del Transformer. - num_attention_heads (
int, opcional, valor predeterminado8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - max_position_embeddings (
int, opcional, valor predeterminado77) — La longitud máxima de secuencia con la que se podría utilizar este modelo. - hidden_act (
str, opcional, valor predeterminadogelu) — 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 predeterminado1e-05) — El epsilon utilizado por las capas de normalización de capa. - attention_dropout (
float, opcional, valor predeterminado0.0) — La proporción de dropout para las probabilidades de atención. - use_repmixer_blocks (
bool, opcional, valor predeterminadoTrue) — Si se deben usar bloques RepMixer (estilo MobileCLIP) para las capas de codificador inicial y final. CuandoFalse, todas las capas son capas de codificador Transformer estándar. - layer_scale_init_value (
float, opcional, valor predeterminado1e-5) — Valor inicial para los parámetros de escala de capa aprendibles en los bloques RepMixer (ramas residuales). - repmixer_kernel_size (
int, opcional, valor predeterminado11) — 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
< 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 )
Parámetros
- hidden_size (
int, opcional, valor predeterminado256) — Dimensión de las representaciones ocultas. - num_layers (
int, opcional, valor predeterminado3) — Número de capas ocultas en el decodificador del Transformer. - num_attention_heads (
int, opcional, valor predeterminado8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - intermediate_size (
int, opcional, valor predeterminado2048) — Dimensión de las representaciones del MLP. - dropout (
Union[float, int], opcional, valor predeterminado0.1) — La proporción para todas las capas de dropout. - hidden_act (
str, opcional, valor predeterminadorelu) — 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 predeterminado0.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 predeterminado1e-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 predeterminado0.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
< 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 )
Parámetros
- hidden_size (
int, opcional, valor predeterminado256) — Dimensión de las representaciones ocultas. - num_layers (
int, opcional, valor predeterminado6) — Número de capas ocultas en el decodificador del Transformer. - num_attention_heads (
int, opcional, valor predeterminado8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - intermediate_size (
int, opcional, valor predeterminado2048) — Dimensión de las representaciones del MLP. - dropout (
Union[float, int], opcional, valor predeterminado0.1) — La proporción para todas las capas de dropout. - hidden_act (
str, opcional, valor predeterminadorelu) — 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 predeterminado1e-06) — La epsilon utilizada por las capas de normalización de capa. - initializer_range (
float, opcional, valor predeterminado0.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
< 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 )
Parámetros
- hidden_size (
int, opcional, valor predeterminado256) — Dimensión de las representaciones ocultas. - num_layers (
int, opcional, valor predeterminado6) — 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 predeterminado8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - intermediate_size (
int, opcional, valor predeterminado2048) — Dimensión de las representaciones del MLP. - dropout (
Union[float, int], opcional, valor predeterminado0.1) — La proporción para todas las capas de dropout. - hidden_act (
str, opcional, valor predeterminadorelu) — 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 predeterminado0.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 predeterminado1e-06) — La epsilon utilizada por las capas de normalización de capa. - initializer_range (
float, opcional, valor predeterminado0.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
< 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 )
Parámetros
- hidden_size (
int, opcional, valor predeterminado256) — 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 predeterminado1e-06) — La epsilon utilizada por las capas de normalización de capa. - dropout (
Union[float, int], opcional, valor predeterminado0.0) — La proporción para todas las capas de dropout. - num_attention_heads (
int, opcional, valor predeterminado8) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - initializer_range (
float, opcional, valor predeterminado0.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
< source >( 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
< 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)
Parámetros
- input_ids (
torch.LongTensorde 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.
- attention_mask (
torch.Tensorde 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.
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
Moduledespué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.Tensorde forma(batch_size, sequence_length, hidden_size)) — Secuencia completa de estados ocultos del codificador de texto. - pooler_output (
torch.Tensorde forma(batch_size, projection_dim)) — Salida agrupada con EOT y proyectada aprojection_dimmediante la proyección interna de estilo CLIP. - hidden_states (
tuple(torch.Tensor), opcional) — Tupla de estados ocultos en cada capa, devuelta cuandooutput_hidden_states=True. - attentions (
tuple(torch.Tensor), opcional) — Tupla de pesos de atención en cada capa del transformador, devuelta cuandooutput_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)
Parámetros
- pixel_values (
torch.Tensorde 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 pasarpixel_values. Es mutuamente excluyente conpixel_values. - input_ids (
torch.LongTensorde 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.
- attention_mask (
torch.Tensorde 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.
- text_embeds (
torch.Tensorde 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 pasarinput_ids. Es mutuamente excluyente coninput_ids. - input_boxes (
torch.Tensorde 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.LongTensorde 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
Moduledespué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.Tensorde forma(batch_size, num_queries, height, width)) — Máscaras de segmentación predichas para cada consulta. - pred_boxes (
torch.Tensorde forma(batch_size, num_queries, 4)) — Cajas delimitadoras predichas en formato (x1, y1, x2, y2). - pred_logits (
torch.Tensorde 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.Tensorde 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.Tensorde 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.Tensorde 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_boxesSam3LiteTextPreTrainedModel
clase transformers.Sam3LiteTextPreTrainedModel
< source >( 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.
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.