Transformers documentation
SAM3-LiteText
Эта модель была опубликована в 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-16 | MobileCLIP-S0 | 42.54M | ~88% |
| SAM3-LiteText-S1-16 | MobileCLIP-S1 | 63.53M | ~82% |
| SAM3-LiteText-L-16 | MobileCLIP2-L | 123.80M | ~65% |
Эта модель была предоставлена nielsr и yonigozlan. Исходный код можно найти здесь.
Использование
SAM3-LiteText — это замена для SAM3 с лёгким текстовым энкодером. Он использует тот же процессор (Sam3Processor) и поддерживает тот же интерфейс промптинга. Подробные примеры использования, включая текстовые промпты, 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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonegeometry_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonemask_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )
Параметры
- vision_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации визуального бэкбона. - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона. - geometry_encoder_config (
dictилиSam3LiteTextGeometryEncoderConfig, необязательный) — Конфигурация для геометрического энкодера. - detr_encoder_config (
dictилиSam3LiteTextDETREncoderConfig, необязательный) — Конфигурация для кодировщика DETR. - detr_decoder_config (
dictилиSam3LiteTextDETRDecoderConfig, необязательный) — Конфигурация декодера DETR. - mask_decoder_config (
dictилиSam3LiteTextMaskDecoderConfig, необязательный) — Конфигурация декодера масок. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import Sam3LiteTextConfig, Sam3LiteTextModel
>>> # Initializing a SAM3_LITE_TEXT configuration
>>> configuration = Sam3LiteTextConfig()
>>> # Initializing a model from the configuration
>>> model = Sam3LiteTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configSam3LiteTextTextConfig
класс transformers.Sam3LiteTextTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 49408hidden_size: int = 512intermediate_size: int = 2048projection_dim: int = 512num_hidden_layers: int = 12num_attention_heads: int = 8max_position_embeddings: int = 77hidden_act: str = 'gelu'layer_norm_eps: float = 1e-05attention_dropout: float = 0.0use_repmixer_blocks: bool = Truelayer_scale_init_value: float = 1e-05repmixer_kernel_size: int = 11 )
Параметры
- vocab_size (
int, необязательный, по умолчанию49408) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - 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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 3num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06roi_size: int = 7initializer_range: float = 0.02 )
Параметры
- hidden_size (
int, необязательный, по умолчанию256) — Размерность скрытых представлений. - num_layers (
int, необязательный, по умолчанию3) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию8) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию2048) — Размерность представлений MLP. - dropout (
Union[float, int], необязательный, по умолчанию0.1) — Коэффициент для всех слоёв dropout. - hidden_act (
str, необязательный, по умолчаниюrelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Вероятность dropout для всех полносвязных слоёв в эмбеддингах, энкодере и пуллере. - layer_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации. - roi_size (
int, необязательный, по умолчанию 7) — Размер ROI для операций box pooling. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Sam3LiteTextDETREncoderConfig
класс transformers.Sam3LiteTextDETREncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 6num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )
Параметры
- hidden_size (
int, необязательный, по умолчанию256) — Размерность скрытых представлений. - num_layers (
int, необязательный, по умолчанию6) — Количество скрытых слоёв в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию8) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию2048) — Размерность представлений MLP. - dropout (
Union[float, int], необязательный, по умолчанию0.1) — Коэффициент для всех слоёв dropout. - hidden_act (
str, необязательный, по умолчаниюrelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout (
float, необязательный, по умолчанию 0.0) — Вероятность dropout для скрытых состояний. - layer_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Sam3LiteTextDETRDecoderConfig
класс transformers.Sam3LiteTextDETRDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 6num_queries: int = 200num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )
Параметры
- hidden_size (
int, необязательный, по умолчанию256) — Размерность скрытых представлений. - num_layers (
int, необязательный, по умолчанию6) — Количество скрытых слоёв в декодере Transformer. - num_queries (
int, необязательный, по умолчанию 200) — Количество запросов объектов. - num_attention_heads (
int, необязательный, по умолчанию8) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию2048) — Размерность представлений MLP. - dropout (
Union[float, int], необязательный, по умолчанию0.1) — Коэффициент для всех слоёв dropout. - hidden_act (
str, необязательный, по умолчаниюrelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout (
Union[float, int], необязательный, по умолчанию0.0) — Вероятность dropout для всех полносвязных слоёв в эмбеддингах, энкодере и пуллере. - layer_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Sam3LiteTextMaskDecoderConfig
класс transformers.Sam3LiteTextMaskDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_upsampling_stages: int = 3layer_norm_eps: float = 1e-06dropout: float | int = 0.0num_attention_heads: int = 8initializer_range: float = 0.02 )
Параметры
- hidden_size (
int, необязательный, по умолчанию256) — Размерность скрытых представлений. - num_upsampling_stages (
int, необязательный, по умолчанию 3) — Количество этапов апсемплинга в пиксельном декодере (FPN). - layer_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации. - dropout (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент для всех слоёв dropout. - num_attention_heads (
int, необязательный, по умолчанию8) — Количество головок внимания в каждом слое внимания декодера Transformer. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения конфигурации модели Sam3LiteTextModel. Он используется для создания модели Sam3 Lite Text в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации модели yonigozlan/sam3-litetext-s0
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Sam3LiteTextTextModel
класс transformers.Sam3LiteTextTextModel
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextTextEncoderOutput or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (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
forward
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonevision_embeds: transformers.models.sam3_lite_text.modeling_sam3_lite_text.Sam3LiteTextVisionEncoderOutput | None = Noneinput_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetext_embeds: typing.Optional[torch.Tensor] = Noneinput_boxes: typing.Optional[torch.Tensor] = Noneinput_boxes_labels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextImageSegmentationOutput or tuple(torch.Tensor)
Параметры
- pixel_values (
torch.Tensorформы(batch_size, num_channels, image_size, image_size), необязательный) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Sam3ImageProcessor. Подробности см. в Sam3ImageProcessor.call() (Sam3Processor использует Sam3ImageProcessor для обработки изображений). - vision_embeds (
Sam3LiteTextVisionEncoderOutput, необязательный) — Предварительно вычисленные визуальные эмбеддинги. Можно использовать для удобного повторного применения визуальных эмбеддингов. Если передано,pixel_valuesне должно передаваться. Взаимоисключающийся сpixel_values. - input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (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_boxesSam3LiteTextPreTrainedModel
класс transformers.Sam3LiteTextPreTrainedModel
< source >( config: PreTrainedConfig*inputs**kwargs )
Параметры
- config (PreTrainedConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
Мок-значение для пути с точками (например, torch.float32): цепочки доступа к атрибутам и вызовы работают как пропускные декораторы, repr возвращает путь с точками, а использование в качестве базового класса подставляет обычный базовый класс type (PEP 560 __mro_entries__), благодаря чему реальные дочерние классы сохраняют обычный метакласс, а inspect.signature читает их реальный __init__, а не мок-объект.