Transformers documentation
Molmo2
Эта модель была опубликована в HF papers 15.01.2026 и добавлена в Hugging Face Transformers 08.10.2026.
Molmo2
Molmo2 — это семейство открытых моделей «зрение-язык» от AllenAI, демонстрирующих передовые результаты среди моделей с открытым исходным кодом. Они обладают выдающимися возможностями в области привязки объектов по точкам для задач с одним изображением, несколькими изображениями и видео. Архитектура объединяет Vision Transformer (ViT) для обработки изображений, адаптерный слой, связывающий визуальные и текстовые модальности, а также текстовый декодер на основе трансформерной архитектуры с вращающимися позиционными эмбеддингами.
Аннотация из статьи следующая:
Сегодня наиболее сильные видео-языковые модели (VLM) остаются проприетарными. Самые мощные модели с открытыми весами либо опираются на синтетические данные, полученные от проприетарных VLM, фактически дистиллируя их, либо не раскрывают свои данные и рецептуру обучения. В результате сообщество с открытым исходным кодом не располагает фундаментом, необходимым для улучшения передовых моделей видео (и изображений) с языком. Принципиально важно, что многие прикладные задачи требуют не только высокоуровневого понимания видео, но и привязки к пикселям — как через указание, так и через отслеживание. Даже проприетарные модели лишены этой возможности. Мы представляем Molmo2, новое семейство VLM, которое является передовым среди моделей с открытым исходным кодом и демонстрирует исключительные новые возможности привязки на основе указания точек в задачах с одним изображением, несколькими изображениями и видео. Нашим ключевым вкладом является коллекция из 7 новых датасетов видео и 2 датасетов с несколькими изображениями, включая датасет с высокодетализированными описаниями видео для предварительного обучения, датасет вопросов и ответов по видео в свободной форме для дообучения, новый датасет отслеживания объектов со сложными запросами и инновационный новый датасет указания точек в видео, все собранные без использования закрытых VLM. Мы также представляем рецептуру обучения на этих данных, использующую эффективную схему упаковки и кодирования дерева сообщений, и показываем, что двунаправленное внимание на визуальных токенах и новая стратегия взвешивания токенов улучшают производительность. Наша лучшая в классе 8B-модель превосходит другие модели с открытыми весами и данными на коротких видео, задачах подсчета и описания, а также конкурентоспособна на длинных видео. В задачах привязки к видео Molmo2 значительно превосходит существующие модели с открытыми весами, такие как Qwen3-VL (35,5 против 29,6 по точности в подсчете объектов на видео), и превосходит проприетарные модели, такие как Gemini 3 Pro, в некоторых задачах (38,4 против 20,0 по F1 в указании точек на видео и 56,2 против 41,1 по J&F в отслеживании объектов на видео).
Все исходные контрольные точки Molmo2 можно найти в коллекции Molmo2.
Пример использования
Генерация текста из изображения и текста
Приведённый ниже пример показывает, как генерировать текст на основе изображения с помощью Pipeline или класса AutoModel.
from transformers import pipeline
pipeline = pipeline(
task="image-text-to-text",
model="allenai/Molmo2-8B",
device_map="auto",
)
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
{"type": "text", "text": "Describe this image."},
],
}
]
pipeline(text=messages, max_new_tokens=128, return_full_text=False)from transformers import AutoModelForImageTextToText, AutoProcessor
processor = AutoProcessor.from_pretrained("allenai/Molmo2-8B")
model = AutoModelForImageTextToText.from_pretrained(
"allenai/Molmo2-8B",
device_map="auto",
)
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "Describe this image."},
{"type": "image", "image": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
],
}
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
)
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_text = processor.decode(
generated_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True
)
print(generated_text)
# In this captivating image, a snow leopard is captured ...Указание на видео
Molmo2 также может генерировать привязанные к объектам точки для видеовходов. Точки возвращаются в сгенерированном тексте в виде полезной нагрузки <points coords="...">, где каждая группа координат содержит метку времени, за которой следуют идентификаторы точек и нормализованные координаты изображения.
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
model_id = "allenai/Molmo2-8B"
video_url = "https://storage.googleapis.com/oe-training-public/demo_videos/many_penguins.mp4"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id, device_map="auto")
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "Point to the penguins."},
{"type": "video", "video": video_url},
],
}
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
)
generated_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
input_len = inputs["input_ids"].shape[1]
generated_text = processor.decode(generated_ids[0][input_len:], skip_special_tokens=True)
print(generated_text)Molmo2Config
класс transformers.Molmo2Config
< 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 = Noneadapter_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_start_token_id: int = 151936low_res_image_start_token_id: int = 151940image_end_token_id: int = 151937image_patch_id: int = 151938frame_start_token_id: int = 151943frame_end_token_id: int = 151944initializer_range: float = 0.02tie_word_embeddings: bool = False )
Параметры
- vision_config (
Molmo2VisionConfig, необязательный) — Конфигурация для визуального трансформерного бэкбона. - adapter_config (
Molmo2AdapterConfig, необязательный) — Конфигурация адаптера «зрение-язык». - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона. - image_start_token_id (
int, необязательный, по умолчанию 151936) — Идентификатор токена, отмечающий начало области изображения. - low_res_image_start_token_id (
int, необязательный, по умолчанию 151940) — ID токена, отмечающего начало кадра изображения низкого разрешения. - image_end_token_id (
int, необязательный, по умолчанию 151937) — ID токена, отмечающего конец области изображения. - image_patch_id (
int, необязательный, по умолчанию 151938) — Идентификатор токена для фрагментов изображения. - frame_start_token_id (
int, необязательный, по умолчанию 151943) — Идентификатор токена, отмечающий начало кадра видео. - frame_end_token_id (
int, необязательный, по умолчанию 151944) — ID токена, отмечающего конец кадра видео. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - tie_word_embeddings (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли связывать входные и выходные эмбеддинги слов модели.
Это класс конфигурации для хранения настроек модели Molmo2Model. Он используется для создания модели Molmo2 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации allenai/Molmo2-8B
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Molmo2VisionConfig
класс transformers.Molmo2VisionConfig
< 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 = 1152intermediate_size: int = 4304num_hidden_layers: int = 25num_attention_heads: int = 16num_key_value_heads: int = 16head_dim: int = 72hidden_act: str = 'gelu_pytorch_tanh'layer_norm_eps: float = 1e-06image_size: list[int] | None = Nonepatch_size: int = 14num_position_embeddings: int | None = Nonenum_channels: int = 3attention_dropout: float = 0.0attention_bias: bool = Trueinitializer_range: float = 0.02 )
Параметры
- hidden_size (
int, необязательный, по умолчанию1152) — Размерность скрытых представлений. - intermediate_size (
int, необязательный, по умолчанию4304) — Размерность представлений MLP. - num_hidden_layers (
int, необязательный, по умолчанию25) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию16) — Количество головок внимания в каждом слое внимания декодера Transformer. - num_key_value_heads (
int, необязательный, по умолчанию16) — Это количество ключевых и value-голов, используемых для реализации Grouped Query Attention. Еслиnum_key_value_heads=num_attention_heads, модель использует Multi Head Attention (MHA); еслиnum_key_value_heads=1— Multi Query Attention (MQA); в остальных случаях применяется GQA. При конвертации мультиголовного чекпоинта в GQA-чекпоинт каждая групповая ключевая и value-голова должна построиться путём усреднения (meanpooling) всех исходных голов в этой группе. Дополнительные сведения см. в этой статье. Если значение не указано, по умолчанию используетсяnum_attention_heads. - head_dim (
int, необязательный, по умолчанию72) — Размер измерения головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads - hidden_act (
str, необязательный, по умолчаниюgelu_pytorch_tanh) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - layer_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации. - image_size (
list[int], необязательный) — Размер входного изображения в формате (высота, ширина), по умолчанию[378, 378]. - patch_size (
int, необязательный, по умолчанию14) — Размер (разрешение) каждого патча. - num_position_embeddings (
int, необязательный) — Количество позиционных эмбеддингов, по одному на каждый патч изображения. Если значение не указано, вычисляется на основеimage_sizeиpatch_size. - num_channels (
int, необязательный, по умолчанию3) — Количество входных каналов. - attention_dropout (
float, необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - attention_bias (
bool, необязательный, по умолчаниюTrue) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения настроек модели Molmo2Model. Он используется для создания модели Molmo2 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации allenai/Molmo2-8B
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Molmo2AdapterConfig
класс transformers.Molmo2AdapterConfig
< 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_feature_layer: list[int] | None = Nonehidden_size: int = 1152num_attention_heads: int = 16num_key_value_heads: int = 16head_dim: int = 72attention_dropout: float = 0.0attention_bias: bool = Truehidden_act: str = 'silu'intermediate_size: int = 18944text_hidden_size: int = 3584mlp_bias: bool = Falseinitializer_range: float = 0.02 )
Параметры
- vision_feature_layer (
list[int], необязательный) — Индексы слоев ViT, выходы которых конкатенируются и пулятся; по умолчанию[24, 18]. Отрицательные индексы отсчитываются от последнего слоя. - hidden_size (
int, необязательный, по умолчанию1152) — Размерность скрытых представлений. - num_attention_heads (
int, необязательный, по умолчанию16) — Количество головок внимания в каждом слое внимания декодера Transformer. - num_key_value_heads (
int, необязательный, по умолчанию16) — Это количество ключевых и value-голов, используемых для реализации Grouped Query Attention. Еслиnum_key_value_heads=num_attention_heads, модель использует Multi Head Attention (MHA); еслиnum_key_value_heads=1— Multi Query Attention (MQA); в остальных случаях применяется GQA. При конвертации мультиголовного чекпоинта в GQA-чекпоинт каждая групповая ключевая и value-голова должна построиться путём усреднения (meanpooling) всех исходных голов в этой группе. Дополнительные сведения см. в этой статье. Если значение не указано, по умолчанию используетсяnum_attention_heads. - head_dim (
int, необязательный, по умолчанию72) — Размер измерения головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads - attention_dropout (
float, необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - attention_bias (
bool, необязательный, по умолчаниюTrue) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - hidden_act (
str, необязательный, по умолчаниюsilu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - intermediate_size (
int, необязательный, по умолчанию18944) — Размерность представлений MLP. - text_hidden_size (
int, необязательный, по умолчанию 3584) — Размер скрытого слоя текстовой модели (используется для проекции). - mlp_bias (
bool, необязательный, по умолчаниюFalse) — Использовать ли смещение (bias) в слоях up_proj, down_proj и gate_proj внутри MLP-слоёв. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения настроек модели Molmo2Model. Он используется для создания модели Molmo2 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации allenai/Molmo2-8B
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Molmo2TextConfig
класс transformers.Molmo2TextConfig
< 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 = 4096num_attention_heads: int = 32num_key_value_heads: int = 8head_dim: int = 128vocab_size: int = 151936additional_vocab_size: int = 128attention_bias: bool = Falseqk_norm_type: str = 'qwen3'num_hidden_layers: int = 36intermediate_size: int = 12288hidden_act: str = 'silu'attention_dropout: float = 0.0max_position_embeddings: int = 36864rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonerope_scaling_layers: list[int] | None = Nonerms_norm_eps: float = 1e-06norm_after: bool = Falseinitializer_range: float = 0.02use_cache: bool = Truetie_word_embeddings: bool = False )
Параметры
- hidden_size (
int, необязательный, по умолчанию4096) — Размерность скрытых представлений. - num_attention_heads (
int, необязательный, по умолчанию32) — Количество головок внимания в каждом слое внимания декодера Transformer. - num_key_value_heads (
int, необязательный, по умолчанию8) — Это количество ключевых и value-голов, используемых для реализации Grouped Query Attention. Еслиnum_key_value_heads=num_attention_heads, модель использует Multi Head Attention (MHA); еслиnum_key_value_heads=1— Multi Query Attention (MQA); в остальных случаях применяется GQA. При конвертации мультиголовного чекпоинта в GQA-чекпоинт каждая групповая ключевая и value-голова должна конструироваться путем усреднения (meanpooling) всех исходных голов в этой группе. Дополнительные подробности — в этой статье. Если значение не указано, по умолчанию используетсяnum_attention_heads. - head_dim (
int, необязательный, по умолчанию128) — Размерность головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads - vocab_size (
int, необязательный, по умолчанию151936) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - additional_vocab_size (
int, необязательный, по умолчанию 128) — Количество дополнительных токенов словаря сверх базового словаря. - attention_bias (
bool, необязательный, по умолчаниюFalse) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - qk_norm_type (
str, необязательный, по умолчанию"qwen3") — Схема нормализации query/key, используемая в контрольной точке."qwen3"нормализует по каждому head;"olmo"нормализует полные тензоры спроецированных query/key. - num_hidden_layers (
int, необязательный, по умолчанию36) — Количество скрытых слоев в декодере Transformer. - intermediate_size (
int, необязательный, по умолчанию12288) — Размерность представлений MLP. - hidden_act (
str, необязательный, по умолчаниюsilu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - attention_dropout (
float, необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - max_position_embeddings (
int, необязательный, по умолчанию36864) — Максимальная длина последовательности, с которой может использоваться эта модель. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение дляrope_thetaи, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длиннымиmax_position_embeddings. - rope_scaling_layers (
list[int], необязательный) — Индексы слоев, в которых применяется масштабированный RoPE, описанный параметромrope_parameters. Остальные слои используют немасштабированный RoPE с тем же значением theta. Если параметр не задан, все слои масштабируются. - rms_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации rms. - norm_after (
bool, необязательный, по умолчаниюFalse) — Указывает, следует ли применять нормализацию слоя после блоков внимания/FFN, а не до них. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - use_cache (
bool, необязательный, по умолчаниюTrue) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только еслиconfig.is_decoder=Trueили если модель является генеративной моделью только с декодером. - tie_word_embeddings (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли связывать веса эмбеддингов согласно маппингуtied_weights_keysмодели.
Это класс конфигурации для хранения настроек модели Molmo2Model. Он используется для создания модели Molmo2 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации allenai/Molmo2-8B
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Molmo2Processor
класс transformers.Molmo2Processor
< source >( image_processor = Nonevideo_processor = Nonetokenizer = Nonechat_template: str | None = Noneimage_use_col_tokens: bool | None = Trueuse_single_crop_col_tokens: bool | None = Noneuse_single_crop_start_token: bool | None = Truevideo_use_col_tokens: bool | None = Falseuse_frame_special_tokens: bool | None = True**kwargs )
Параметры
- image_processor (
Molmo2ImageProcessor) — Обработчик изображений является обязательным входным параметром. - video_processor (
Molmo2VideoProcessor) — Обработчик видео является обязательным входным параметром. - tokenizer (
TokenizersBackend) — Токенизатор является обязательным входным параметром. - chat_template (
str, необязательный) — Шаблон Jinja для преобразования списков сообщений в чате в строку, готовую к токенизации. - image_use_col_tokens (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли добавлять токены-разделители столбцов (<im_col>) после каждой строки патчей в представлении изображения высокого разрешения. - use_single_crop_col_tokens (
bool, необязательный) — Определяет, следует ли добавлять токены-разделители столбцов после каждой строки патчей в представлении изображения низкого разрешения (single-crop). ЕслиNone, используется значениеimage_use_col_tokens. - use_single_crop_start_token (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли начинать представление изображения низкого разрешения с<low_res_im_start>вместо стандартного<im_start>. - video_use_col_tokens (
bool, необязательный, по умолчаниюFalse) — Указывает, следует ли добавлять токены-разделители столбцов после каждой строки патчей кадров видео. - use_frame_special_tokens (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли обрамлять каждый кадр видео токенами<frame_start>/<frame_end>. ЕслиFalse, используются<im_start>/<im_end>.
Создаёт Molmo2Processor, который объединяет процессор изображений, процессор видео и токенизатор в единый процессор.
Molmo2Processor предоставляет все возможности Molmo2ImageProcessor, Molmo2VideoProcessor и TokenizersBackend. Подробнее см. в ~Molmo2ImageProcessor, ~Molmo2VideoProcessor и ~TokenizersBackend.
__call__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = None**kwargs: *<class 'transformers.models.molmo2.processing_molmo2.Molmo2ProcessorKwargs'> )
Параметры
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], необязательный) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - text (
Union[str, list[str], list[list[str]]], необязательный) — Последовательность или батч последовательностей для кодирования. Каждая последовательность может быть строкой или списком строк (предварительно токенизированная строка). Если вы передаёте предварительно токенизированный вход, установитеis_split_into_words=True, чтобы избежать неоднозначности с батчированными входами. - videos (
Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], необязательный) — Видео для предобработки. Ожидается одно видео или батч видео со значениями пикселей в диапазоне от 0 до 255. Если передаются видео со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - return_tensors (
strили TensorType, необязательный) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:'pt': возвращает объектыtorch.TensorPyTorch.'np': возвращает объекты NumPynp.ndarray.
- **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
Molmo2ImageProcessor
класс transformers.Molmo2ImageProcessor
< source >( **kwargs: *<class 'transformers.models.molmo2.image_processing_molmo2.Molmo2ImageProcessorKwargs'> )
Параметры
- do_convert_rgb (
bool, kwargs, optional, по умолчаниюTrue) — Следует ли преобразовать изображение в RGB. - do_resize (
bool, kwargs, optional, по умолчаниюTrue) — Указывает, нужно ли изменять размер изображения. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, по умолчанию{'height' -- 378, 'width': 378}): Определяет максимальные размеры входных данных для модели. - default_to_square (
bool, kwargs, optional, по умолчаниюTrue) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size задано как int. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер выходного изображения после примененияcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, по умолчанию2) — Фильтр ресемплинга, используемый при изменении размера изображения. Может быть одним из значений перечисленияPILImageResampling. Влияет только в том случае, еслиdo_resizeустановлено вTrue. - do_rescale (
bool, kwargs, optional, по умолчаниюTrue) — Указывает, следует ли выполнять рескейлинг изображения. - rescale_factor (
float, kwargs, optional, по умолчанию0.00392156862745098) — Коэффициент масштабирования, применяемый к изображению, еслиdo_rescaleустановлен вTrue. - do_normalize (
bool, kwargs, optional, по умолчаниюTrue) — Указывает, следует ли нормализовать изображение. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию[0.5, 0.5, 0.5]) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию[0.5, 0.5, 0.5]) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - do_pad (
bool, kwargs, optional) — Определяет, нужно ли выравнивать изображение. Выравнивание выполняется либо до максимального размера в батче, либо до фиксированного квадратного размера для каждого изображения. Точная стратегия выравнивания зависит от модели. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер в формате{"height": int, "width" int}, до которого следует дополнить изображения. Должен быть больше любого размера изображения, предоставленного для предобработки. Еслиpad_sizeне указан, изображения будут дополнены до наибольшей высоты и ширины в батче. Применяется только приdo_pad=True. - do_center_crop (
bool, kwargs, optional) — Выполнять ли центрированную обрезку изображения. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Поддерживается толькоChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:"channels_first"илиChannelDimension.FIRST: изображение в формате (num_channels, height, width)."channels_last"илиChannelDimension.LAST: изображение в формате (высота, ширина, число каналов)."none"илиChannelDimension.NONE: изображение в формате (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Устройство, на котором будут обрабатываться видео. Если не задано, устройство определяется на основе входных видео. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Возвращает стопку тензоров, если установлено значение'pt', иначе возвращает список тензоров. - disable_grouping (
bool, kwargs, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора. - max_crops (
int, kwargs, optional, по умолчанию 8) — Максимальное количество кропов на изображение. - overlap_margins (
list[int], kwargs, optional, по умолчанию[4, 4]) — Поля перекрытия (в патчах) для извлечения перекрывающихся кропов. - patch_size (
int, kwargs, optional, по умолчанию 14) — Пространственный размер патча в визуальном энкодере. - pooling_size (
list[int], kwargs, optional, по умолчанию[2, 2]) — Размер пулинга для визуального адаптера.
Создаёт процессор изображений Molmo2ImageProcessor.
__call__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*args**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )
Предобработка изображения или пакета изображений.
preprocess
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.molmo2.image_processing_molmo2.Molmo2ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Параметры
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - do_convert_rgb (
bool, kwargs, optional) — Следует ли преобразовать изображение в RGB. - do_resize (
bool, kwargs, optional) — Указывает, нужно ли изменить размер изображения. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Описывает максимальные размеры входных данных для модели. - default_to_square (
bool, kwargs, optional) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size является целым числом. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер выходного изображения после примененияcenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Фильтр ресемплинга, используемый при изменении размера изображения. Может быть одним из значений перечисленияPILImageResampling. Влияет только в том случае, еслиdo_resizeустановлено вTrue. - do_rescale (
bool, kwargs, optional) — Нужно ли перемасштабировать изображение. - rescale_factor (
float, kwargs, optional) — Коэффициент масштабирования, применяемый к изображению, еслиdo_rescaleустановлен вTrue. - do_normalize (
bool, kwargs, optional) — Нужно ли нормализовать изображение. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, optional) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, optional) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - do_pad (
bool, kwargs, optional) — Определяет, нужно ли выравнивать изображение. Выравнивание выполняется либо до максимального размера в батче, либо до фиксированного квадратного размера для каждого изображения. Точная стратегия выравнивания зависит от модели. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер в формате{"height": int, "width" int}, до которого следует дополнить изображения. Должен быть больше любого размера изображения, предоставленного для предобработки. Еслиpad_sizeне указан, изображения будут дополнены до наибольшей высоты и ширины в батче. Применяется только приdo_pad=True. - do_center_crop (
bool, kwargs, optional) — Выполнять ли центрированную обрезку изображения. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Поддерживается толькоChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:"channels_first"илиChannelDimension.FIRST: изображение в формате (num_channels, height, width)."channels_last"илиChannelDimension.LAST: изображение в формате (высота, ширина, число каналов)."none"илиChannelDimension.NONE: изображение в формате (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Устройство, на котором будут обрабатываться видео. Если не задано, устройство определяется на основе входных видео. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Возвращает стопку тензоров, если установлено значение'pt', иначе возвращает список тензоров. - disable_grouping (
bool, kwargs, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора. - max_crops (
int, kwargs, optional, по умолчанию 8) — Максимальное количество кропов на изображение. - overlap_margins (
list[int], kwargs, optional, по умолчанию[4, 4]) — Поля перекрытия (в патчах) для извлечения перекрывающихся кропов. - patch_size (
int, kwargs, optional, по умолчанию 14) — Пространственный размер патча в визуальном энкодере. - pooling_size (
list[int], kwargs, optional, по умолчанию[2, 2]) — Размер пулинга для визуального адаптера.
Возвращает
~image_processing_base.BatchFeature
- data (
dict) — Словарь списков/массивов/тензоров, возвращаемый методом call (‘pixel_values’ и т. д.). - tensor_type (
Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy.
Molmo2VideoProcessor
класс transformers.Molmo2VideoProcessor
< source >( **kwargs: *<class 'transformers.models.molmo2.video_processing_molmo2.Molmo2VideoProcessorKwargs'> )
Параметры
- do_convert_rgb (
bool, kwargs, optional) — Следует ли преобразовать изображение в RGB. - do_resize (
bool, kwargs, optional) — Указывает, нужно ли изменить размер изображения. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, по умолчанию{'height' -- 378, 'width': 378}): Определяет максимальные размеры входных данных для модели. - default_to_square (
bool, kwargs, optional, по умолчаниюTrue) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size задано как int. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, по умолчанию2) — Фильтр ресемплинга, используемый при изменении размера изображения. Может быть одним из значений перечисленияPILImageResampling. Влияет только в том случае, еслиdo_resizeустановлено вTrue. - do_rescale (
bool, kwargs, optional) — Нужно ли перемасштабировать изображение. - rescale_factor (
float, kwargs, optional, по умолчанию0.00392156862745098) — Коэффициент масштабирования, применяемый к изображению, еслиdo_rescaleустановлен вTrue. - do_normalize (
bool, kwargs, optional) — Нужно ли нормализовать изображение. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию[0.5, 0.5, 0.5]) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию[0.5, 0.5, 0.5]) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - do_center_crop (
bool, kwargs, optional) — Выполнять ли центрированную обрезку изображения. - do_pad (
bool, kwargs, optional) — Определяет, нужно ли выравнивать изображение. Выравнивание выполняется либо до максимального размера в батче, либо до фиксированного квадратного размера для каждого изображения. Точная стратегия выравнивания зависит от модели. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер выходного изображения после примененияcenter_crop. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Поддерживается толькоChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:"channels_first"илиChannelDimension.FIRST: изображение в формате (num_channels, height, width)."channels_last"илиChannelDimension.LAST: изображение в формате (высота, ширина, число каналов)."none"илиChannelDimension.NONE: изображение в формате (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Устройство, на котором будут обрабатываться видео. Если не задано, устройство определяется на основе входных видео. - do_sample_frames (
bool, kwargs, optional, по умолчаниюTrue) — Следует ли извлекать кадры из видео перед обработкой или обрабатывать видео целиком. - video_metadata (
Annotated[~video_utils.VideoMetadata | dict | list[dict | ~video_utils.VideoMetadata] | list[list[dict | ~video_utils.VideoMetadata]] | None, None], kwargs) — Метаданные видео, содержащие информацию о общей длительности, fps и общем количестве кадров. Будут использоваться для выборки кадров из видео или вычисления временных меток. Не передавайте метаданные, если не пытаетесь декодировать видео вручную перед обработкой - fps (
Annotated[int | float | None, None], kwargs) — Целевое количество кадров для выборки в секунду приdo_sample_frames=True. - num_frames (
Annotated[int | None, None], kwargs, по умолчанию64) — Максимальное количество кадров для выборки, еслиdo_sample_frames=True. - return_metadata (
bool, kwargs, optional, по умолчаниюFalse) — Указывает, следует ли возвращать метаданные видео. Метаданные видео — это объект, содержащий информацию о длительности видео, частоте кадров (fps), используемом бэкенде декодирования и т. д. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:'pt': возвращает объектыtorch.TensorPyTorch.'np': возвращает объекты NumPynp.ndarray.
- patch_size (
int, kwargs, optional) — Длина стороны в пикселях каждого патча ViT для кадров видео. - pooling_size (
list[int], kwargs, optional) —[pool_h, pool_w]окно пулинга, применяемое к признакам патчей видео. - max_fps (
int, kwargs, необязательный) — Максимальная частота выборки в кадрах в секунду для коротких видео. - **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
Создаёт видеопроцессор Molmo2VideoProcessor.
Molmo2Model
класс transformers.Molmo2Model
< source >( config: Molmo2Config )
Параметры
- config (Molmo2Config) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Molmo2, состоящая из визуального бэкбона, пулингового адаптера и языковой модели, без головы для моделирования языка.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Noneimage_token_pooling: typing.Optional[torch.Tensor] = Noneimage_grids: typing.Optional[torch.Tensor] = Noneimage_num_crops: typing.Optional[torch.Tensor] = Nonepixel_values_videos: typing.Optional[torch.Tensor] = Nonevideo_token_pooling: typing.Optional[torch.Tensor] = Nonevideo_grids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonemm_token_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Molmo2ModelOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- pixel_values (
torch.Tensorформы(batch_size, num_channels, image_size, image_size), необязательный) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Molmo2ImageProcessor. Подробности см. в Molmo2ImageProcessor.call() (Molmo2Processor использует Molmo2ImageProcessor для обработки изображений). - image_token_pooling (
torch.Tensorформы(num_image_tokens, pool_h * pool_w), необязательный) — Индексы в развёрнутой последовательности патчей изображения, собранные каждым пул-токеном изображения, где-1обозначает позиции заполнителя. Можно получить с помощью AutoProcessor. Подробности — в ProcessorMixin.call(). - image_grids (
torch.Tensorформы(num_images, 4), необязательный) — Сетка пул-токенов[low_res_h, low_res_w, high_res_h, high_res_w]для каждого изображения. Можно получить с помощью AutoProcessor. Подробности — в ProcessorMixin.call(). - image_num_crops (
torch.Tensorформы(num_images,), необязательный) — Количество кропов на изображение, включая низкоразрешённый вид. Может быть получено с помощью AutoProcessor. Подробности см. в ProcessorMixin.call(). - pixel_values_videos (
torch.Tensorформы(batch_size, num_frames, num_channels, frame_size, frame_size), необязательный) — Тензоры, соответствующие входному видео. Пиксельные значения для видео можно получить с помощью Molmo2VideoProcessor. Подробности см. в Molmo2VideoProcessor.call() (Molmo2Processor использует Molmo2VideoProcessor для обработки видео). - video_token_pooling (
torch.Tensorформы(num_video_tokens, pool_h * pool_w), необязательный) — Индексы в развёрнутой последовательности патчей видеокадра, собранные каждым пул-токеном видео, где-1обозначает слоты отступов. Можно получить с помощью AutoProcessor. Подробности — в ProcessorMixin.call(). - video_grids (
torch.Tensorформы(num_videos, 3), необязательный) — Сетка токенов[num_frames, pooled_h, pooled_w]для каждого видео. Может быть получена с помощью AutoProcessor. Подробности см. в ProcessorMixin.call(). - attention_mask (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- position_ids (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона[0, config.n_positions - 1]. - past_key_values (
~cache_utils.Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания и кросс-внимания), которые можно использовать для ускорения последовательного декодирования. Обычно этоpast_key_values, возвращённые моделью на предыдущем этапе декодирования, когдаuse_cache=Trueилиconfig.use_cache=True.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - mm_token_type_ids (
torch.LongTensorформы(batch_size, sequence_length), необязательный) — Индексы токенов входной последовательности, соответствующие каждой модальности. Например, текст (0), изображение (1), видео (2). Мультимодальные идентификаторы типов токенов можно получить с помощью AutoProcessor. Подробности см. в ProcessorMixin.call(). - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - use_cache (
bool, необязательный) — Если установлено вTrue, возвращаются состояния ключей и значенийpast_key_values, которые можно использовать для ускорения декодирования (см.past_key_values). - mm_encoder_outputs (
dict[str, ~modeling_outputs.BaseModelOutputWithPooling], необязательный) — Словарь, где ключами являются поддерживаемые модальности, а значениями — закодированные результаты для соответствующей модальности. Каждый закодированный результат представляет собой кортеж вида (pooler_output, необязательный:last_hidden_states, необязательный:hidden_states, необязательный:attentions)pooler_outputформы(batch_size, sequence_length, hidden_size), необязательный) — последовательность мультимодальных признаков энкодера, объединённых с текстовыми эмбеддингами.
Возвращает
Molmo2ModelOutputWithPast или tuple(torch.Tensor)
Molmo2ModelOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Molmo2Config) и входных данных.
Метод Molmo2Model forward переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.Если используется
past_key_values, выводится только последнее скрытое состояние последовательностей формы(batch_size, 1, hidden_size).past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания), которые можно использовать (см. вход
past_key_values) для ускорения последовательного декодирования.hidden_states (
tuple(torch.Tensor), optional, возвращается, если переданоoutput_hidden_states=Trueили еслиconfig.output_hidden_states=True) — кортеж изtorch.Tensor(один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы(batch_size, sequence_length, hidden_size).Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.
attentions (
tuple(torch.Tensor), необязательный, возвращается при передачеoutput_attentions=Trueили приconfig.output_attentions=True) — Кортежtorch.Tensor(по одному на каждый слой) формы(batch_size, num_heads, sequence_length, sequence_length).Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
image_hidden_states (
torch.Tensor, необязательный) —torch.Tensorразмера(batch_size, num_images, sequence_length, hidden_size). image_hidden_states модели, полученные визуальным энкодером после проекции последнего скрытого состояния.
Molmo2TextModel
класс transformers.Molmo2TextModel
< source >( config: Molmo2TextConfig )
Параметры
- config (Molmo2TextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Molmo2 Text без дополнительных компонентов, выводящая необработанные скрытые состояния (hidden states) без какого-либо специализированного слоя (head) сверху.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPast 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 для токенов, которые замаскированы.
- position_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона[0, config.n_positions - 1]. - past_key_values (
~cache_utils.Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания и кросс-внимания), которые можно использовать для ускорения последовательного декодирования. Обычно этоpast_key_values, возвращённые моделью на предыдущем этапе декодирования, когдаuse_cache=Trueилиconfig.use_cache=True.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - use_cache (
bool, необязательный) — Если установлено вTrue, возвращаются состояния ключей и значенийpast_key_values, которые можно использовать для ускорения декодирования (см.past_key_values).
Возвращает
BaseModelOutputWithPast или tuple(torch.Tensor)
Объект BaseModelOutputWithPast или кортеж
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Molmo2Config) и входных данных.
Метод forward модели Molmo2TextModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.Если используется
past_key_values, выводится только последнее скрытое состояние последовательностей формы(batch_size, 1, hidden_size).past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания и, при необходимости, если
config.is_encoder_decoder=True, в блоках кросс-внимания), которые можно использовать (см. входной параметрpast_key_values) для ускорения последовательного декодирования.hidden_states (
tuple(torch.Tensor), optional, возвращается, если переданоoutput_hidden_states=Trueили еслиconfig.output_hidden_states=True) — кортеж изtorch.Tensor(один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы(batch_size, sequence_length, hidden_size).Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.
attentions (
tuple(torch.Tensor), необязательный, возвращается при передачеoutput_attentions=Trueили приconfig.output_attentions=True) — Кортежtorch.Tensor(по одному на каждый слой) формы(batch_size, num_heads, sequence_length, sequence_length).Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Molmo2Adapter
класс transformers.Molmo2Adapter
< source >( config: Molmo2AdapterConfig )
Параметры
- config (Molmo2AdapterConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Визуальный адаптер Molmo2: агрегирует признаки патчей ViT с помощью слоя кросс-внимания и проецирует их в пространство эмбеддингов языковой модели.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( image_features: Tensorpooled_patches_idx: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)
Параметры
- image_features (
torch.Tensorформы(num_crops, num_patches, hidden_size * len(vision_feature_layer))) — Сконкатенированные промежуточные признаки ViT для каждого кадра. - pooled_patches_idx (
torch.Tensorформы(num_tokens, pool_h * pool_w)) — Индексы в развёрнутой последовательности патчей, сгруппированные для каждого выходного токена;-1обозначает позиции заполнителей.
Возвращает
BaseModelOutput или tuple(torch.Tensor)
Объект BaseModelOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Molmo2Config) и входных данных.
Метод forward класса Molmo2Adapter переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.hidden_states (
tuple(torch.Tensor), optional, возвращается, если переданоoutput_hidden_states=Trueили еслиconfig.output_hidden_states=True) — кортеж изtorch.Tensor(один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы(batch_size, sequence_length, hidden_size).Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.
attentions (
tuple(torch.Tensor), необязательный, возвращается при передачеoutput_attentions=Trueили приconfig.output_attentions=True) — Кортежtorch.Tensor(по одному на каждый слой) формы(batch_size, num_heads, sequence_length, sequence_length).Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Molmo2VisionModel
класс transformers.Molmo2VisionModel
< source >( config: Molmo2VisionConfig )
Параметры
- config (Molmo2VisionConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Molmo2 без дополнительных компонентов, выводящая необработанные скрытые состояния без какого-либо специализированного слоя.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- pixel_values (
torch.Tensorформы(batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Molmo2ImageProcessor. Подробности см. в Molmo2ImageProcessor.call() (Molmo2Processor использует Molmo2ImageProcessor для обработки изображений).
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Molmo2Config) и входных данных.
Метод forward модели Molmo2VisionModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.pooler_output (
torch.Tensorформы(batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.hidden_states (
tuple(torch.Tensor), optional, возвращается, если переданоoutput_hidden_states=Trueили еслиconfig.output_hidden_states=True) — кортеж изtorch.Tensor(один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы(batch_size, sequence_length, hidden_size).Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.
attentions (
tuple(torch.Tensor), необязательный, возвращается при передачеoutput_attentions=Trueили приconfig.output_attentions=True) — Кортежtorch.Tensor(по одному на каждый слой) формы(batch_size, num_heads, sequence_length, sequence_length).Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Molmo2ForConditionalGeneration
класс transformers.Molmo2ForConditionalGeneration
< source >( config: Molmo2Config )
Параметры
- config (Molmo2Config) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Molmo2, состоящая из визуального бэкбона, пулингового адаптера и языковой модели.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: LongTensor = Nonepixel_values: typing.Optional[torch.Tensor] = Noneimage_token_pooling: typing.Optional[torch.Tensor] = Noneimage_grids: typing.Optional[torch.Tensor] = Noneimage_num_crops: typing.Optional[torch.Tensor] = Nonepixel_values_videos: typing.Optional[torch.Tensor] = Nonevideo_token_pooling: typing.Optional[torch.Tensor] = Nonevideo_grids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: list[torch.Tensor] | None = Nonemm_token_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0mm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Molmo2CausalLMOutputWithPast or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- pixel_values (
torch.Tensorформы(batch_size, num_channels, image_size, image_size), необязательный) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Molmo2ImageProcessor. Подробности см. в Molmo2ImageProcessor.call() (Molmo2Processor использует Molmo2ImageProcessor для обработки изображений). - image_token_pooling (
torch.Tensorформы(num_image_tokens, pool_h * pool_w), необязательный) — Индексы в развёрнутой последовательности патчей изображения, собранные каждым пул-токеном изображения, где-1обозначает позиции заполнителя. Можно получить с помощью AutoProcessor. Подробности — в ProcessorMixin.call(). - image_grids (
torch.Tensorформы(num_images, 4), необязательный) — Сетка пул-токенов[low_res_h, low_res_w, high_res_h, high_res_w]для каждого изображения. Можно получить с помощью AutoProcessor. Подробности — в ProcessorMixin.call(). - image_num_crops (
torch.Tensorформы(num_images,), необязательный) — Количество кропов на изображение, включая низкоразрешённый вид. Может быть получено с помощью AutoProcessor. Подробности см. в ProcessorMixin.call(). - pixel_values_videos (
torch.Tensorформы(batch_size, num_frames, num_channels, frame_size, frame_size), необязательный) — Тензоры, соответствующие входному видео. Пиксельные значения для видео можно получить с помощью Molmo2VideoProcessor. Подробности см. в Molmo2VideoProcessor.call() (Molmo2Processor использует Molmo2VideoProcessor для обработки видео). - video_token_pooling (
torch.Tensorформы(num_video_tokens, pool_h * pool_w), необязательный) — Индексы в развёрнутой последовательности патчей видеокадра, собранные каждым пул-токеном видео, где-1обозначает слоты отступов. Можно получить с помощью AutoProcessor. Подробности — в ProcessorMixin.call(). - video_grids (
torch.Tensorформы(num_videos, 3), необязательный) — Сетка токенов[num_frames, pooled_h, pooled_w]для каждого видео. Может быть получена с помощью AutoProcessor. Подробности см. в ProcessorMixin.call(). - attention_mask (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- position_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона[0, config.n_positions - 1]. - past_key_values (
list[torch.Tensor], необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания и кросс-внимания), которые можно использовать для ускорения последовательного декодирования. Обычно этоpast_key_values, возвращённые моделью на предыдущем этапе декодирования, когдаuse_cache=Trueилиconfig.use_cache=True.В качестве входного параметра допускается только экземпляр Cache, см. наше руководство по кэшу KV. Если
past_key_valuesне переданы, по умолчанию будет инициализирован DynamicCache.Модель будет выводить тот же формат кэша, который был передан на вход.
Если используются
past_key_values, ожидается, что пользователь передаст только необработанныеinput_ids(те, для которых в этой модели ещё не заданы состояния прошлых ключей и значений) формы(batch_size, unprocessed_length), а не всеinput_idsформы(batch_size, sequence_length). - mm_token_type_ids (
torch.LongTensorформы(batch_size, sequence_length), необязательный) — Индексы токенов входной последовательности, соответствующие каждой модальности. Например, текст (0), изображение (1), видео (2). Мультимодальные идентификаторы типов токенов можно получить с помощью AutoProcessor. Подробности см. в ProcessorMixin.call(). - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - labels (
torch.LongTensorформы(batch_size, sequence_length), необязательный) — Метки для вычисления потерь маскированного языкового моделирования. Индексы должны находиться в диапазоне[0, ..., config.vocab_size]или быть равны -100 (см. docstringinput_ids). Токены с индексами, установленными в-100, игнорируются (маскируются); потери вычисляются только для токенов с метками в диапазоне[0, ..., config.vocab_size]. - use_cache (
bool, необязательный) — Если установлено вTrue, возвращаются состояния ключей и значенийpast_key_values, которые можно использовать для ускорения декодирования (см.past_key_values). - logits_to_keep (
Union[int, torch.Tensor], необязательный, по умолчанию0) — Если передано значение типаint, вычисляет logits для последнихlogits_to_keepтокенов. Если указано0, logits вычисляются для всехinput_ids(особый случай). Для генерации нужны logits только последнего токена, и вычисление их только для этого токена позволяет сэкономить память, что становится весьма значимым для длинных последовательностей или большого размера словаря. Если передано значение типаtorch.Tensor, оно должно быть одномерным и соответствовать индексам, которые нужно сохранить в измерении длины последовательности. Это полезно при использовании упакованного формата тензоров (один размер для batch и длины последовательности). - mm_encoder_outputs (
dict[str, ~modeling_outputs.BaseModelOutputWithPooling], необязательный) — Словарь, где ключами являются поддерживаемые модальности, а значениями — закодированные результаты для соответствующей модальности. Каждый закодированный результат представляет собой кортеж вида (pooler_output, необязательный:last_hidden_states, необязательный:hidden_states, необязательный:attentions)pooler_outputформы(batch_size, sequence_length, hidden_size), необязательный) — последовательность мультимодальных признаков энкодера, объединённых с текстовыми эмбеддингами.
Возвращает
Molmo2CausalLMOutputWithPast или tuple(torch.Tensor)
Molmo2CausalLMOutputWithPast или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (Molmo2Config) и входных данных.
Метод forward класса Molmo2ForConditionalGeneration переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
loss (
torch.Tensorформы(1,), необязательный, возвращается, если заданlabels) — Потери языковой модели (для предсказания следующего токена).logits (
torch.Tensorформы(batch_size, sequence_length, config.vocab_size)) — Оценки предсказаний языковой модели (оценки для каждого токена словаря до применения SoftMax).past_key_values (
Cache, необязательный, возвращается при передачеuse_cache=Trueили когдаconfig.use_cache=True) — это экземпляр Cache. Подробнее см. в нашем руководстве по кэшу kv.Содержит предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания), которые можно использовать (см. вход
past_key_values) для ускорения последовательного декодирования.hidden_states (
tuple[torch.Tensor], необязательный, возвращается при передачеoutput_hidden_states=Trueили когдаconfig.output_hidden_states=True) — Кортеж изtorch.Tensor(один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы(batch_size, sequence_length, hidden_size).Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.
attentions (
tuple[torch.Tensor], необязательный, возвращается при передачеoutput_attentions=Trueили когдаconfig.output_attentions=True) — Кортежtorch.Tensor(по одному на каждый слой) формы(batch_size, num_heads, sequence_length, sequence_length).Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
image_hidden_states (
torch.Tensor, необязательный) —torch.Tensorразмера(batch_size, num_images, sequence_length, hidden_size). image_hidden_states модели, полученные визуальным энкодером после проекции последнего скрытого состояния.
Пример:
>>> from PIL import Image
>>> import requests
>>> from transformers import AutoProcessor, Molmo2ForConditionalGeneration
>>> model = Molmo2ForConditionalGeneration.from_pretrained("allenai/Molmo2-8B")
>>> processor = AutoProcessor.from_pretrained("allenai/Molmo2-8B")
>>> prompt = "What's the content of the image?"
>>> url = "https://www.ilankelman.org/stopsigns/australia.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)
>>> messages = [{"role": "user", "content": [{"type": "text", "text": prompt}, {"type": "image", "image": image}]}]
>>> inputs = processor.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt", return_dict=True)
>>> # Generate
>>> generated_ids = model.generate(**inputs, max_new_tokens=15)
>>> generated_tokens = generated_ids[:, inputs['input_ids'].size(1):]
>>> processor.post_process_image_text_to_text(generated_tokens, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"The image shows a bustling street scene in what appears to be a Chinatown area. There's ..."