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.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была опубликована в HF papers 12.02.2026 и добавлена в Hugging Face Transformers 13.04.2026.

SAM3-LiteText

Обзор

SAM3-LiteText был предложен в работе SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation авторами Chengxi Zeng, Yuxuan Jiang, Ge Gao, Shuai Wang, Duolikun Danier, Bin Zhu, Stevan Rudinac, David Bull и Fan Zhang.

SAM3-LiteText — это облегчённый вариант SAM3, в котором тяжёлый текстовый энкодер SAM3 (353 млн параметров) заменён компактным текстовым энкодером на базе MobileCLIP, оптимизированным с помощью дистилляции знаний. Изображательный энкодер ViT-H из SAM3 остаётся без изменений. Это позволяет сократить количество параметров текстового энкодера до 88% при сохранении качества сегментации, сопоставимого с оригинальной моделью.

Аннотация из статьи следующая:

Модели сегментации на основе зрения и языка, такие как SAM3, обеспечивают гибкое визуальное привязывание, управляемое промптами, но наследуют крупные универсальные текстовые энкодеры, изначально разработанные для открытого языкового понимания. На практике промпты для сегментации короткие, структурированные и семантически ограниченные, что приводит к значительному избытку вычислительных мощностей текстового энкодера и постоянным накладным расходам на вычисления и память. В данной работе мы проводим крупномасштабный анатомический анализ текстовых промптов в сегментации на основе зрения и языка, охватывающий 404 796 реальных промптов на нескольких бенчмарках. Наш анализ выявляет серьёзную избыточность: большинство контекстных окон используются не полностью, использование словаря крайне разрежено, а текстовые эмбеддинги лежат на многообразии низкой размерности, несмотря на представления высокой размерности. На основе этих результатов мы предлагаем SAM3-LiteText — лёгкую рамку кодирования текста, которая заменяет исходный текстовый энкодер SAM3 компактным учеником MobileCLIP, оптимизированным с помощью дистилляции знаний. Обширные эксперименты на бенчмарках сегментации изображений и видео показывают, что SAM3-LiteText сокращает количество параметров текстового энкодера до 88%, существенно уменьшая статический объём занимаемой памяти, при этом сохраняя качество сегментации, сопоставимое с исходной моделью.

Архитектура текстового энкодера основана на MobileCLIP и представлена в трёх вариантах:

ВариантКодировщик текстаПараметры текстаСокращение
SAM3-LiteText-S0-16MobileCLIP-S042.54M~88%
SAM3-LiteText-S1-16MobileCLIP-S163.53M~82%
SAM3-LiteText-L-16MobileCLIP2-L123.80M~65%

Эта модель была предоставлена nielsr и yonigozlan. Исходный код можно найти здесь.

Использование

SAM3-LiteText — это замена для SAM3 с лёгким текстовым энкодером. Он использует тот же процессор (Sam3Processor) и поддерживает тот же интерфейс промптинга. Подробные примеры использования, включая текстовые промпты, box-промпты, пакетный вывод и другое, приведены в документации 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

класс 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 )

Параметры

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

Sam3LiteTextTextConfig

класс 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 )

Параметры

  • vocab_size (int, необязательный, по умолчанию 49408) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены в input_ids.
  • 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 (остаточные ветви).
  • repmixer_kernel_size (int, необязательный, по умолчанию 11) — Размер ядра для поканальных свёрток в блоках RepMixer (путь смешивания токенов и свёрточный путь feed-forward).

Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Sam3LiteTextGeometryEncoderConfig

класс 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 )

Параметры

  • 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 для операций box pooling.
  • initializer_range (float, необязательный, по умолчанию 0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.

Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Sam3LiteTextDETREncoderConfig

класс 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 )

Параметры

  • 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

< >

( 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

класс 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 )

Параметры

  • 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

класс transformers.Sam3LiteTextTextModel

< >

( config: Sam3LiteTextTextConfig )

Параметры

  • config (Sam3LiteTextTextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().

Текстовый энкодер MobileCLIP MCT, используемый в EfficientSAM3 LiteText.

Если config.use_repmixer_blocks равно True, то первый и последний слои представляют собой модули Sam3LiteTextRepMixerBlock, а остальные — стандартные слои Sam3LiteTextTextEncoderLayer.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

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)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.

    Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().

    Что такое входные идентификаторы?

  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

Возвращает

Sam3LiteTextTextEncoderOutput или tuple(torch.Tensor)

Sam3LiteTextTextEncoderOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (Sam3LiteTextConfig) и входных данных.

Метод forward модели Sam3LiteTextTextModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Полная последовательность скрытых состояний из текстового энкодера.
  • pooler_output (torch.Tensor формы (batch_size, projection_dim)) — EOT-пуллинг выходных данных, спроецированный в projection_dim с помощью внутренней проекции в стиле CLIP.
  • hidden_states (tuple(torch.Tensor), необязательный) — Кортеж скрытых состояний на каждом слое, возвращается при output_hidden_states=True.
  • attentions (tuple(torch.Tensor), необязательный) — Кортеж весов внимания на каждом слое трансформера, возвращается при output_attentions=True.

Sam3LiteTextModel

класс 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)

Параметры

  • 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), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.

    Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().

    Что такое входные идентификаторы?

  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • text_embeds (torch.Tensor формы (batch_size, sequence_length, hidden_size), необязательный) — Предварительно вычисленные текстовые эмбеддинги. Можно использовать для удобного повторного применения текстовых эмбеддингов. Если передано, input_ids не должно передаваться. Взаимоисключается с input_ids.
  • input_boxes (torch.Tensor формы (batch_size, num_boxes, 4), необязательный) — Нормализованные координаты рамок в диапазоне [0, 1], в формате (cx, cy, w, h).
  • input_boxes_labels (torch.LongTensor формы (batch_size, num_boxes), необязательный) — Метки для боксов: 1 (положительный), 0 (отрицательный).

Возвращает

Sam3LiteTextImageSegmentationOutput или tuple(torch.Tensor)

Sam3LiteTextImageSegmentationOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (Sam3LiteTextConfig) и входных данных.

Метод forward модели Sam3LiteTextModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • pred_masks (torch.Tensor формы (batch_size, num_queries, height, width)) — Предсказанные маски сегментации для каждого запроса.
  • pred_boxes (torch.Tensor формы (batch_size, num_queries, 4)) — Предсказанные ограничивающие рамки в формате (x1, y1, x2, y2).
  • pred_logits (torch.Tensor формы (batch_size, num_queries), необязательный) — Оценки уверенности классификации для каждого запроса, вычисленные как скалярное произведение признаков запросов декодера и текстовых признаков.
  • presence_logits (torch.Tensor формы (batch_size, 1), необязательный) — presence logits из presence-токена декодера DETR (только последний слой). Они указывают, присутствуют ли объекты в сцене. Можно использовать для вычисления финальных оценок, умножая на pred_logits: final_scores = pred_logits.sigmoid() * presence_logits.sigmoid().
  • semantic_seg (torch.Tensor формы (batch_size, 1, height, width), необязательный) — Выход семантической сегментации.
  • decoder_hidden_states (tuple[torch.Tensor], необязательный) — Кортеж скрытых состояний из всех слоёв декодера DETR. Каждая тензор имеет форму (batch_size, num_queries, hidden_size).
  • decoder_reference_boxes (torch.Tensor формы (num_layers, batch_size, num_queries, 4), необязательный) — Справочные рамки из всех слоёв декодера DETR.
  • encoder_hidden_states (tuple[torch.Tensor], необязательный) — Кортеж скрытых состояний из всех слоёв кодировщика DETR.
  • vision_hidden_states (tuple[torch.Tensor], необязательный) — Кортеж скрытых состояний из всех слоёв визуального кодировщика (ViT).
  • vision_attentions (tuple[torch.Tensor], optional) — Веса внимания из слоев визуального энкодера (ViT).
  • detr_encoder_attentions (tuple[torch.Tensor], optional) — Веса внимания из слоев кодировщика DETR.
  • detr_decoder_attentions (tuple[torch.Tensor], необязательный) — Веса внимания из декодерных слоёв DETR (само-внимание и кросс-внимание).
  • mask_decoder_attentions (tuple[torch.Tensor], optional) — Веса внимания из слоев декодера маски.

Пример:

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

класс transformers.Sam3LiteTextPreTrainedModel

< >

( config: PreTrainedConfig*inputs**kwargs )

Параметры

  • config (PreTrainedConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

( *args**kwargs )

Мок-значение для пути с точками (например, torch.float32): цепочки доступа к атрибутам и вызовы работают как пропускные декораторы, repr возвращает путь с точками, а использование в качестве базового класса подставляет обычный базовый класс type (PEP 560 __mro_entries__), благодаря чему реальные дочерние классы сохраняют обычный метакласс, а inspect.signature читает их реальный __init__, а не мок-объект.

Update on GitHub