Transformers documentation
EmbeddingGemma2
Эта модель была добавлена в Hugging Face Transformers 06.10.2026.
EmbeddingGemma2
Обзор
EmbeddingGemma 2 — это мультимодальная модель эмбеддингов от Google, построенная на архитектуре Gemma 4. Она кодирует текст, изображения, аудио и видео — как по отдельности, так и в комбинации в одном входном потоке — в общее плотное векторное пространство размерности 768 для кросс-модального поиска, оценки семантической близости, кластеризации и классификации.
Ключевые возможности:
- Единое мультимодальное векторное пространство. Визуальная (Gemma4VisionModel) и аудиальная (Gemma4AudioModel) башни проецируются в двунаправленный текстовый энкодер (EmbeddingGemma2TextModel), который чередует полное и скользящее окно внимания с Per-Layer Embeddings (PLE). Любая отдельная модальность (
text,image,audio,video) или комбинация модальностей (image + text,text + audio,image + audio, несколько изображений, чередующиеся текст и медиа) отображается в единое сопоставимое вложение. - Обучение представлений «Матрёшка» (MRL). EmbeddingGemma2Model выводит представления токенов, спроецированные в пространство размерности
embedding_dim(768) с помощью линейного слоя. Векторы встраиваний можно усечь до меньшего префикса (512,256или128) и заново нормализовать с минимальной потерей качества. - Настраиваемые бюджеты для изображений и видео. EmbeddingGemma2Processor позволяет настраивать бюджет мягких токенов для каждого изображения или кадра (
max_soft_tokensв диапазоне{70, 140, 280, 560, 1120}) и частоту выборки кадров в видео (fps=1,max_frames=32,overflow_strategy="uniform",add_timestamps=Falseпо умолчанию). - Селективная загрузка башен модальностей. Непроизводственные башни зрения или аудио можно отключить при загрузке (
vision_config=None,audio_config=None), чтобы уменьшить потребление памяти при развёртывании только для текста или для одной модальности.
Все исходные контрольные точки EmbeddingGemma можно найти в коллекции EmbeddingGemma. В примерах ниже используется идентификатор google/embeddinggemma-2.
Примеры использования
Предложение или мультимодальное встраивание получается в два шага: усреднение с учётом маски по непустым токенам last_hidden_state, за которым следует L2-нормализация в float32. Sentence Transformers (>=6.1.0) выполняет предобработку, форматирование промпта, усреднение и нормализацию автоматически и является рекомендуемой точкой входа. При использовании AutoModel применяйте processor.apply_chat_template (или AutoTokenizer для обычного текста) и усредняйте last_hidden_state напрямую.
Поиск текста ( encode_query / encode_document )
pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
queries = ["Which planet is known as the Red Planet?"]
documents = [
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
]
# encode_query and encode_document apply the "query" and "document" task prompts
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# (1, 768) (2, 768)
# (1, 2) matrix of cosine similarities
print(model.similarity(query_embeddings, document_embeddings))import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("google/embeddinggemma-2", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("google/embeddinggemma-2")
# Prepend the task prompt directly to plain text inputs (see Task prompts below)
sentences = [
"task: search result | query: Which planet is known as the Red Planet?",
"title: none | text: Venus is often called Earth's twin because of its similar size and proximity.",
"title: none | text: Mars, known for its reddish appearance, is often referred to as the Red Planet.",
]
inputs = tokenizer(sentences, padding=True, return_tensors="pt").to(model.device)
with torch.no_grad():
# (batch_size, sequence_length, config.text_config.embedding_dim)
token_embeddings = model(**inputs).last_hidden_state
# Mask-aware mean pooling over non-padded tokens, then L2 normalization in float32
mask = inputs["attention_mask"].unsqueeze(-1).to(token_embeddings.dtype)
sentence_embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
sentence_embeddings = F.normalize(sentence_embeddings.float(), p=2, dim=-1)
query_embedding, document_embeddings = sentence_embeddings[:1], sentence_embeddings[1:]
print(query_embedding @ document_embeddings.T)Запросы для задач
Модель поддерживает необязательные промпты задач, добавляемые в начало входных данных (и учитываемые при усреднении пулинга), хотя промпты не являются обязательными, и модель также работает без них. Поскольку оптимальная конфигурация зависит от целевой области и сочетания модальностей, мы рекомендуем оценивать работу как с промптами задач, так и без них на вашей конкретной задаче. Sentence Transformers предоставляет каталог, приведённый ниже, в файле config_sentence_transformers.json, поэтому передавайте prompt_name (или используйте encode_query / encode_document, которые соответствуют query и document); при использовании AutoModel передавайте промпт как сообщение system в apply_chat_template (или добавляйте его в начало обычного текста).
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
embeddings = model.encode("How to train a neural network", prompt_name="Classification")prompt_name | prompt |
|---|---|
query, Retrieval-query, Retrieval, Reranking, BitextMining, SearchQuery | task: search result \| query: |
document, Document, Retrieval-document | title: none \| text: |
Classification, MultilabelClassification | task: classification \| query: |
Clustering | task: clustering \| query: |
CodeRetrieval, InstructionRetrieval | task: code retrieval \| query: |
FactChecking | task: fact checking \| query: |
QuestionAnswering | task: question answering \| query: |
STS, SentenceSimilarity, PairClassification, Summarization | task: sentence similarity \| query: |
Matryoshka-эмбеддинги
Embedding-слой обучается с использованием Matryoshka Representation Learning, поэтому 768-мерное вложение можно обрезать до более короткого префикса (512, 256 или 128) и заново нормализовать. Это уменьшает размер индекса и ускоряет поиск, в значительной степени сохраняя качество ранжирования. Обрезайте запросы и документы до одинакового числа измерений и всегда нормализуйте после обрезки — в Sentence Transformers truncate_dim обрезает уже нормализованный вывод, поэтому префикс перестаёт быть единичной длины.
import torch.nn.functional as F
from sentence_transformers import SentenceTransformer
# truncate_dim can also be set once at load time: SentenceTransformer(..., truncate_dim=256)
model = SentenceTransformer("google/embeddinggemma-2")
queries = ["Which planet is known as the Red Planet?"]
documents = [
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
]
query_embeddings = model.encode_query(queries, truncate_dim=256, convert_to_tensor=True)
document_embeddings = model.encode_document(documents, truncate_dim=256, convert_to_tensor=True)
query_embeddings = F.normalize(query_embeddings.float(), p=2, dim=-1)
document_embeddings = F.normalize(document_embeddings.float(), p=2, dim=-1)
# (1, 256) and (2, 256): a 3x smaller index than the full 768 dimensions
print(query_embeddings.shape, document_embeddings.shape)
# the Mars document still ranks first
print(model.similarity(query_embeddings, document_embeddings))import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("google/embeddinggemma-2", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("google/embeddinggemma-2")
sentences = [
"task: search result | query: Which planet is known as the Red Planet?",
"title: none | text: Venus is often called Earth's twin because of its similar size and proximity.",
"title: none | text: Mars, known for its reddish appearance, is often referred to as the Red Planet.",
]
inputs = tokenizer(sentences, padding=True, return_tensors="pt").to(model.device)
with torch.no_grad():
token_embeddings = model(**inputs).last_hidden_state
mask = inputs["attention_mask"].unsqueeze(-1).to(token_embeddings.dtype)
sentence_embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
# Slice to the first 256 dimensions, then normalize
sentence_embeddings = F.normalize(sentence_embeddings[:, :256].float(), p=2, dim=-1)
print(sentence_embeddings.shape)
# torch.Size([3, 256])
query_embedding, document_embeddings = sentence_embeddings[:1], sentence_embeddings[1:]
# the Mars document still ranks first
print(query_embedding @ document_embeddings.T)Мультимодальные эмбеддинги
Текст, изображения, аудио и видео проецируются в одно и то же векторное пространство размерности 768, что обеспечивает поиск между модальностями (например, поиск изображений, аудио или видео по текстовому запросу), а также комбинированный мультимодальный поиск (объединение нескольких модальностей в единый запрос или документное представление).
В Sentence Transformers мультимодальные входные данные передаются в виде словарей с ключами "text", "image", "audio" и "video" (где каждое значение может быть как одиночным элементом, так и списком элементов). При использовании AutoModel передавайте списки сообщений в формате чата в processor.apply_chat_template(..., tokenize=True, return_dict=True, return_tensors="pt").
1. Одиночные модальности & кросс-модальное извлечение
Каждая модальность (text, image, audio, video) может быть встроена независимо и напрямую сравниваться с любой другой модальностью с помощью косинусной схожести:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
# Embed each modality on its own into the shared (768,) space
candidates = model.encode(
[
{"text": "A photo of a cat"},
{"image": IMAGE},
{"audio": "path/to/audio.wav"},
{"video": "path/to/video.mp4"},
]
)
print(candidates.shape)
# (4, 768)
# Cross-modal retrieval: rank text, image, audio, and video candidates against a text query
query = model.encode_query(["A fluffy cat outdoors"])
print(model.similarity(query, candidates))
# tensor([[...]]) of shape (1, 4)import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoProcessor
model = AutoModel.from_pretrained("google/embeddinggemma-2", device_map="auto")
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
conversations = [
[{"role": "user", "content": [{"type": "text", "text": "A photo of a cat"}]}],
[{"role": "user", "content": [{"type": "image", "url": IMAGE}]}],
[{"role": "user", "content": [{"type": "audio", "url": "path/to/audio.wav"}]}],
[{"role": "user", "content": [{"type": "video", "url": "path/to/video.mp4"}]}],
]
inputs = processor.apply_chat_template(
conversations,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.no_grad():
token_embeddings = model(**inputs).last_hidden_state
mask = inputs["attention_mask"].unsqueeze(-1).to(token_embeddings.dtype)
embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
embeddings = F.normalize(embeddings.float(), p=2, dim=-1)
print(embeddings.shape)
# torch.Size([4, 768])2. Композитные мультимодальные эмбеддинги (несколько модальностей в одном входе)
Несколько модальностей — или несколько элементов одной и той же модальности — можно объединить в единое совместное вложение, включая чисто нетекстовые комбинации, например image + audio:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
IMAGE_1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
IMAGE_2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
composed_embeddings = model.encode(
[
# text + image
{"text": "A photo of a cat", "image": IMAGE_1},
# text + audio
{"text": "A song", "audio": "path/to/audio.wav"},
# image + audio (no text required)
{"image": IMAGE_1, "audio": "path/to/audio.wav"},
# multiple images + audio + text in one embedding
{"image": [IMAGE_1, IMAGE_2], "audio": "path/to/audio.wav", "text": "Compare both cats"},
]
)
print(composed_embeddings.shape)
# (4, 768)import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoProcessor
model = AutoModel.from_pretrained("google/embeddinggemma-2", device_map="auto")
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
conversations = [
# text + image
[
{
"role": "user",
"content": [
{"type": "text", "text": "A photo of a cat"},
{"type": "image", "url": IMAGE},
],
}
],
# text + audio
[
{
"role": "user",
"content": [
{"type": "text", "text": "A song"},
{"type": "audio", "url": "path/to/audio.wav"},
],
}
],
# image + audio (no text required)
[
{
"role": "user",
"content": [
{"type": "image", "url": IMAGE},
{"type": "audio", "url": "path/to/audio.wav"},
],
}
],
]
inputs = processor.apply_chat_template(
conversations,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.no_grad():
token_embeddings = model(**inputs).last_hidden_state
mask = inputs["attention_mask"].unsqueeze(-1).to(token_embeddings.dtype)
embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
embeddings = F.normalize(embeddings.float(), p=2, dim=-1)
print(embeddings.shape)
# torch.Size([3, 768])3. Автоматическая сортировка и ручные плейсхолдеры
Если в тексте отсутствуют токены-заполнители (<|image|>, <|video|>, <|audio|>), модальности выводятся в том же порядке, в котором их записи появляются в словаре или в поле content сообщения чата (сразу после системного промпта system).
Чтобы вставлять текст и медиа в определённых позициях внутри предложения, напишите <|image|>, <|video|> или <|audio|> непосредственно в тексте — автоматическая вставка плейсхолдеров для этого ввода будет отключена, а каждый плейсхолдер будет расширен по порядку с использованием переданных медиаэлементов:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
IMAGE_1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
IMAGE_2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
# 1. Automatic ordering: follows the dictionary's key order
# -> <bos> [prompt] <image_tokens> <text_tokens> <eos>
image_first = model.encode({"image": IMAGE_1, "text": "A photo of a cat"}, prompt_name="document")
# -> <bos> [prompt] <text_tokens> <image_tokens> <eos>
text_first = model.encode({"text": "A photo of a cat", "image": IMAGE_1}, prompt_name="document")
# 2. Manual placeholders: interleave media at exact positions in the text
# No extra placeholders are inserted; counts must match the passed media inputs.
interleaved = model.encode(
{
"text": "A jacket similar to <|image|> or <|image|> featured in <|audio|>",
"image": [IMAGE_1, IMAGE_2],
"audio": "path/to/audio.wav",
},
prompt_name="query",
)import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoProcessor
model = AutoModel.from_pretrained("google/embeddinggemma-2", device_map="auto")
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
IMAGE_1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
IMAGE_2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
# 1. Automatic ordering: follows the content list order after any system prompt
image_first_messages = [
{"role": "system", "content": "title: none | text: "},
{
"role": "user",
"content": [
{"type": "image", "url": IMAGE_1},
{"type": "text", "text": "A photo of a cat"},
],
},
]
# 2. Manual placeholders: interleave media at exact positions in the text
interleaved_messages = [
{"role": "system", "content": "task: search result | query: "},
{
"role": "user",
"content": [
{"type": "image", "url": IMAGE_1},
{"type": "image", "url": IMAGE_2},
{"type": "audio", "url": "path/to/audio.wav"},
{"type": "text", "text": "A jacket similar to <|image|> or <|image|> featured in <|audio|>"},
],
},
]
inputs = processor.apply_chat_template(
[image_first_messages, interleaved_messages],
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.no_grad():
token_embeddings = model(**inputs).last_hidden_state
mask = inputs["attention_mask"].unsqueeze(-1).to(token_embeddings.dtype)
embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
embeddings = F.normalize(embeddings.float(), p=2, dim=-1)4. Гетерогенная (смешанная модальность) пакетная обработка
Одна партия может объединять обычный текст, мультимедийные данные одной модальности и мультимодальные входные данные в одном проходе, формируя для каждой строки такое же представление, как при кодировании каждого элемента по отдельности:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
embeddings = model.encode(
[
"A photo of a cat",
{"image": IMAGE},
{"text": "A photo of a cat", "image": IMAGE},
{"audio": "path/to/audio.wav"},
],
prompt_name="document",
)
print(embeddings.shape)
# (4, 768)import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoProcessor
model = AutoModel.from_pretrained("google/embeddinggemma-2", device_map="auto")
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
conversations = [
[
{"role": "system", "content": "title: none | text: "},
{"role": "user", "content": [{"type": "text", "text": "A photo of a cat"}]},
],
[
{"role": "system", "content": "title: none | text: "},
{"role": "user", "content": [{"type": "image", "url": IMAGE}]},
],
[
{"role": "system", "content": "title: none | text: "},
{
"role": "user",
"content": [
{"type": "text", "text": "A photo of a cat"},
{"type": "image", "url": IMAGE},
],
},
],
[
{"role": "system", "content": "title: none | text: "},
{"role": "user", "content": [{"type": "audio", "url": "path/to/audio.wav"}]},
],
]
inputs = processor.apply_chat_template(
conversations,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.no_grad():
token_embeddings = model(**inputs).last_hidden_state
mask = inputs["attention_mask"].unsqueeze(-1).to(token_embeddings.dtype)
embeddings = (token_embeddings * mask).sum(dim=1) / mask.sum(dim=1).clamp(min=1e-9)
embeddings = F.normalize(embeddings.float(), p=2, dim=-1)
print(embeddings.shape)
# torch.Size([4, 768])5. Отключение неиспользуемых модальных башен (оптимизация памяти)
Если ваша рабочая нагрузка использует только подмножество модальностей (например, только текст или текст + изображения без аудио), вы можете пропустить инициализацию и загрузку неиспользуемых визуальных или аудиоблоков, установив vision_config=None и/или audio_config=None в конфигурации. Веса неиспользуемых блоков в контрольной точке будут корректно проигнорированы без предупреждений: без аудиоблока модель уменьшится с 744M до 439M параметров, а без обоих блоков — до 271M.
Передавайте их через config_kwargs (который доходит до AutoConfig.from_pretrained), а не через model_kwargs:
from sentence_transformers import SentenceTransformer
# Text-only deployment (skips both vision and audio towers)
text_model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"vision_config": None, "audio_config": None},
)
# Vision + text deployment (skips audio tower)
vision_text_model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"audio_config": None},
)from transformers import AutoModel
# Text-only deployment (skips both vision and audio towers)
text_model = AutoModel.from_pretrained(
"google/embeddinggemma-2",
vision_config=None,
audio_config=None,
device_map="auto",
)
# Vision + text deployment (skips audio tower)
vision_text_model = AutoModel.from_pretrained(
"google/embeddinggemma-2",
audio_config=None,
device_map="auto",
)Процессор
EmbeddingGemma2Processor объединяет токенизатор, процессор изображений, экстрактор аудиопризнаков и процессор видео.
Для пакетных мультимодальных входных данных мы рекомендуем передавать словари по каждому образцу через Sentence Transformers (
model.encode([{"image": ..., "text": ...}, ...])). Для максимального контроля над точным порядком и чередованием модальностей вручную включите плейсхолдеры<|image|>,<|video|>и<|audio|>вtext.
Управление бюджетом визуальных токенов (max_soft_tokens)
Бюджет мягких токенов (max_soft_tokens, поддерживаемые значения {70, 140, 280, 560, 1120}) управляет разрешением и количеством визуальных токенов, генерируемых для каждого изображения или кадра видео (по умолчанию 280 на изображение и 140 на кадр видео). Меньшие значения сокращают длину последовательности и задержку:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
image_embedding = model.encode(
{"image": IMAGE},
processing_kwargs={"image": {"max_soft_tokens": 70}},
)from transformers import AutoProcessor
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
inputs = processor(images=[IMAGE], max_soft_tokens=70, return_tensors="pt")
print(inputs["input_ids"].shape, inputs["pixel_values"].shape)
# torch.Size([1, 67]) torch.Size([1, 630, 768])Управление выборкой кадров видео
По умолчанию EmbeddingGemma2VideoProcessor выбирает кадры с частотой 1 FPS (fps=1), ограничивает каждый клип 32 кадрами (max_frames=32, overflow_strategy="uniform") и не добавляет временные метки кадров в промпт (add_timestamps=False). Каждый параметр можно переопределить при каждом вызове:
fps(int | float | None): целевая частота выборки в кадрах в секунду. ТребуетсяVideoMetadataс корректными значениямиfpsиduration(заполняются автоматически при декодировании из видеофайла/URL). Для предварительно декодированных массивов кадров без метаданных выборка по FPS пропускается с выводом предупреждения, иmax_framesприменяется напрямую.max_frames(int | None): максимальное количество кадров, сохраняемых для каждого видео.overflow_strategy("uniform" | "truncate" | None): способ сокращения количества кадров, превышающегоmax_frames("uniform"равномерно пересэмплирует кадры по всему клипу;"truncate"оставляет первыеmax_framesкадров).add_timestamps(bool): добавлять ли в начало блока мягких токенов каждого кадра его метку времени в форматеmm:ss. В отличие отfps, здесь нет значения по умолчанию: если для видео, в метаданных которого отсутствуетfps, установитьadd_timestamps=True, будет выброшено исключение, поскольку предположительная частота кадров привела бы к записи неверных метокmm:ssв промпт.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
video_embedding = model.encode(
{"video": "path/to/video.mp4"},
processing_kwargs={"video": {"add_timestamps": True, "fps": 2, "max_frames": 16, "overflow_strategy": "truncate"}},
)from transformers import AutoProcessor
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
inputs = processor(
videos=["path/to/video.mp4"],
add_timestamps=True,
fps=2,
max_frames=16,
overflow_strategy="truncate",
return_tensors="pt",
)Прямые вызовы processor(...) без шаблона чата
Хотя processor.apply_chat_template является основным входным пунктом для мультимодальных диалогов, processor(...) также можно вызывать напрямую. Если text опущен (text=None), плейсхолдеры <|image|>, <|video|> и <|audio|> синтезируются автоматически для каждого образца в батче:
from transformers import AutoProcessor
processor = AutoProcessor.from_pretrained("google/embeddinggemma-2")
IMAGE = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
AUDIO = "path/to/audio.wav" # a path, a URL, or a 1-D float array sampled at 16 kHz
# Text only
inputs = processor(text=["task: search result | query: Which planet is the Red Planet?"], return_tensors="pt")
# Media only (text=None): placeholders are synthesized per sample
inputs = processor(images=[IMAGE], return_tensors="pt")
inputs = processor(videos=["path/to/video.mp4"], return_tensors="pt")
inputs = processor(audio=[AUDIO], return_tensors="pt")
# Nested per-sample lists or combined modalities with text=None
inputs = processor(
images=[[IMAGE, IMAGE], [IMAGE]],
audio=[[AUDIO], [AUDIO, AUDIO]],
return_tensors="pt",
)
# Manual placeholders in text for direct processor calls
inputs = processor(text=["<|image|> a photo of a cat"], images=[[IMAGE]], return_tensors="pt")
print(list(inputs.keys()))
# ['input_ids', 'attention_mask', 'pixel_values', 'image_position_ids']EmbeddingGemma2TextConfig
класс transformers.EmbeddingGemma2TextConfig
< 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 = 262144hidden_size: int = 512intermediate_size: int = 2048num_hidden_layers: int = 24num_attention_heads: int = 4num_key_value_heads: int = 2head_dim: int = 256hidden_activation: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 262144initializer_range: float = 0.02rms_norm_eps: float = 1e-06pad_token_id: int | None = 0eos_token_id: int | list[int] | None = 1bos_token_id: int | None = 2rope_parameters: dict | None = Noneattention_bias: bool = Falseattention_dropout: int | float | None = 0.0sliding_window: int = 512layer_types: list[str] | None = Nonehidden_size_per_layer_input: int = 512embedding_dim: int = 768 )
Параметры
- vocab_size (
int, необязательный, по умолчанию262144) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - hidden_size (
int, необязательный, по умолчанию512) — Размерность скрытых представлений. - intermediate_size (
int, необязательный, по умолчанию2048) — Размерность представлений MLP. - num_hidden_layers (
int, необязательный, по умолчанию24) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию4) — Количество головок внимания в каждом слое внимания декодера Transformer. - num_key_value_heads (
int, необязательный, по умолчанию2) — Это количество ключевых и 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, необязательный, по умолчанию256) — Размер измерения головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads - hidden_activation (
str, необязательный, по умолчаниюgelu_pytorch_tanh) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - max_position_embeddings (
int, необязательный, по умолчанию262144) — Максимальная длина последовательности, с которой может использоваться эта модель. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - rms_norm_eps (
float, необязательный, по умолчанию1e-06) — Значение epsilon, используемое слоями нормализации rms. - pad_token_id (
int, необязательный, по умолчанию0) — Идентификатор токена, используемого для дополнения (padding) в словаре. - eos_token_id (
Union[int, list[int]], необязательный, по умолчанию1) — Идентификатор токена, используемого для обозначения конца потока в словаре. - bos_token_id (
int, необязательный, по умолчанию2) — Идентификатор токена, используемого для обозначения начала потока в словаре. - rope_parameters (
dict, необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. В словаре должно быть указано значение дляrope_thetaи, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длиннымиmax_position_embeddings. - attention_bias (
bool, необязательный, по умолчаниюFalse) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании. - attention_dropout (
Union[int, float], необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - sliding_window (
int, необязательный, по умолчанию 512) — Включительный радиус двунаправленного скользящего окна: слойsliding_attentionобращается к каждой позиции, для которойabs(q_idx - kv_idx) <= sliding_window. Это радиус, а не односторонняя ширина, которую настраивают каузальные модели Gemma, поскольку маска здесь симметрична, поэтому значение по умолчанию составляет половину 1024-позиционного окна, указанного в эталонной реализации. - layer_types (
list[str], необязательный) — Список, в котором явно указывается тип слоя для каждого индекса слоя. Если не задан, будет автоматически сгенерирован на основе значений конфигурации. - hidden_size_per_layer_input (
int, необязательный, по умолчанию 512) — Размерность послойного (PLE) остаточного сигнала. EmbeddingGemma 2 использует только проекцию PLE: сигнал вычисляется исключительно изinputs_embeds, без дополнительной таблицы поиска токенов. - embedding_dim (
int, необязательный, по умолчанию 768) — Размерность вектора предложения, формируемогоembedding_projection.
Это класс конфигурации для хранения настроек модели EmbeddingGemma2Model. Он используется для создания модели Embedding Gemma2 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации google/embeddinggemma-2
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
EmbeddingGemma2Config
класс transformers.EmbeddingGemma2Config
< 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 = Nonetext_config: transformers.models.embedding_gemma2.configuration_embedding_gemma2.EmbeddingGemma2TextConfig | dict[str, typing.Any] | None = Nonevision_config: transformers.configuration_utils.PreTrainedConfig | dict[str, typing.Any] | None = Noneaudio_config: transformers.configuration_utils.PreTrainedConfig | dict[str, typing.Any] | None = Noneboi_token_id: int | None = 255999eoi_token_id: int | None = 258882image_token_id: int | None = 258880video_token_id: int | None = 258884boa_token_id: int | None = 256000eoa_token_index: int | None = 258883audio_token_id: int | None = 258881initializer_range: float | None = 0.02 )
Параметры
- text_config (
EmbeddingGemma2TextConfig, необязательный) — Конфигурация текстового бэкбона. - vision_config (
PreTrainedConfigилиdict, необязательный) — Конфигурация визуальной башни. Используется без изменений из Gemma 4; сама башня решается во время выполнения черезAutoModel. - audio_config (
PreTrainedConfigилиdict, необязательный) — Конфигурация аудиобашни. Используется без изменений из Gemma 4; сама башня решается во время выполнения черезAutoModel. - boi_token_id (
int, необязательный, по умолчанию 255999) — Индекс токена начала изображения, используемого для обрамления запроса с изображением. - eoi_token_id (
int, необязательный, по умолчанию 258882) — Индекс токена конца изображения, используемый для обрамления подсказки изображения. - image_token_id (
int, необязательный, по умолчанию258880) — Индекс токена изображения, используемый как плейсхолдер для входных изображений. - video_token_id (
int, необязательный, по умолчанию258884) — Индекс токена видео, используемый как плейсхолдер для входных видео. - boa_token_id (
int, необязательный, по умолчанию 256000) — Индекс токена начала аудио, используемого для обрамления аудиозапроса. - eoa_token_index (
int, необязательный, по умолчанию 258883) — Индекс токена конца аудио, используемый для обрамления аудио-промпта. - audio_token_id (
int, необязательный, по умолчанию258881) — Индекс аудио-токена, используемый как плейсхолдер для входного аудио. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения настроек модели EmbeddingGemma2Model. Он используется для создания модели Embedding Gemma2 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации google/embeddinggemma-2
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
EmbeddingGemma2VideoProcessor
класс transformers.EmbeddingGemma2VideoProcessor
< source >( **kwargs: *<class 'transformers.models.embedding_gemma2.video_processing_embedding_gemma2.EmbeddingGemma2VideoProcessorKwargs'> )
Параметры
- 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, по умолчаниюNone) — Описывает максимальные размеры входных данных для модели. - default_to_square (
bool, kwargs, optional, по умолчаниюTrue) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size задано как int. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, по умолчанию3) — Фильтр ресемплинга, используемый при изменении размера изображения. Может быть одним из значений перечисления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.0, 0.0, 0.0]) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, еслиdo_normalizeустановлено вTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию[1.0, 1.0, 1.0]) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если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, по умолчанию1) — Целевое количество кадров для выборки в секунду, еслиdo_sample_frames=True. - num_frames (
Annotated[int | None, None], kwargs) — Максимальное количество кадров для выборки при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) — Размер каждого патча изображения в пикселях. - max_soft_tokens (
int, kwargs, optional) — Максимальное количество мягких (визуальных) токенов на кадр видео. Должно быть одним из {70, 140, 280, 560, 1120}. - pooling_kernel_size (
int, kwargs, optional) — Размер ядра пространственного пулинга, применяемого после патчификации. - add_timestamps (
bool, kwargs, optional) — Указывает, следует ли добавлять к началу каждого кадра при расширении плейсхолдера видео его метку времени в форматеmm:ss. ТребуетсяVideoMetadataс корректным значениемfps, поскольку метки времени невозможно определить по уже декодированным кадрам. - max_frames (
int, kwargs, optional) — Максимальное количество кадров для выборки. Если задано, выбранные индексы будут равномерно пересэмплированы в соответствии с этим лимитом. - overflow_strategy (
str, kwargs, optional) — Стратегия, используемая для сокращения общего числа выбранных кадров до размера, укладывающегося в выделенный бюджет. Может принимать только значения “uniform” или “truncate”. Применяется после выборки на основе FPS, а также самостоятельно, когда выборка на основе FPS отключена или неприменима. - load_audio_from_video (
bool, kwargs, optional) — Указывает, следует ли загружать звуковую дорожку входного видео. - **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
Создаёт видеопроцессор EmbeddingGemma2VideoProcessor.
preprocess
< source >( videos: 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]]]**kwargs: *<class 'transformers.models.embedding_gemma2.video_processing_embedding_gemma2.EmbeddingGemma2VideoProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Параметры
- 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. - 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 является целым числом. - 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_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) — Следует ли извлекать кадры из видео перед обработкой или обрабатывать видео целиком. - 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) — Максимальное количество кадров для выборки приdo_sample_frames=True. - return_metadata (
bool, kwargs, optional) — Указывает, следует ли возвращать метаданные видео. Метаданные видео — это объект, содержащий информацию о длительности видео, частоте кадров (fps), используемом бэкенде декодирования и т. д. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Возвращает стопку тензоров, если установлено значение'pt', иначе возвращает список тензоров. - patch_size (
int, kwargs, optional) — Размер каждого патча изображения в пикселях. - max_soft_tokens (
int, kwargs, optional) — Максимальное количество мягких (визуальных) токенов на кадр видео. Должно быть одним из {70, 140, 280, 560, 1120}. - pooling_kernel_size (
int, kwargs, optional) — Размер ядра пространственного пулинга, применяемого после патчификации. - add_timestamps (
bool, kwargs, optional) — Указывает, следует ли добавлять к началу каждого кадра при расширении плейсхолдера видео его метку времени в форматеmm:ss. ТребуетсяVideoMetadataс корректным значениемfps, поскольку метки времени невозможно определить по уже декодированным кадрам. - max_frames (
int, kwargs, optional) — Максимальное количество кадров для выборки. Если задано, выбранные индексы будут равномерно пересэмплированы в соответствии с этим лимитом. - overflow_strategy (
str, kwargs, optional) — Стратегия, используемая для сокращения общего числа выбранных кадров до размера, укладывающегося в выделенный бюджет. Может принимать только значения “uniform” или “truncate”. Применяется после выборки на основе FPS, а также самостоятельно, когда выборка на основе FPS отключена или неприменима. - load_audio_from_video (
bool, kwargs, optional) — Указывает, следует ли загружать звуковую дорожку входного видео.
Возвращает
~image_processing_base.BatchFeature
- data (
dict) — Словарь списков/массивов/тензоров, возвращаемый методом call (‘pixel_values’ и т. д.). - tensor_type (
Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy.
EmbeddingGemma2Processor
класс transformers.EmbeddingGemma2Processor
< source >( feature_extractorimage_processortokenizervideo_processorchat_template = Noneimage_seq_length: int = 280audio_seq_length: int = 750audio_ms_per_token: int = 40**kwargs )
Параметры
- feature_extractor (Gemma4AudioFeatureExtractor) — Экстрактор признаков является обязательным входным параметром.
- image_processor (Gemma4ImageProcessor) — Обработчик изображений является обязательным входным параметром.
- tokenizer (tokenizer_class) — Токенизатор является обязательным входным параметром.
- video_processor (EmbeddingGemma2VideoProcessor) — Обработчик видео является обязательным входным параметром.
- chat_template (str) — Jinja-шаблон для преобразования списков сообщений в чате в строку, пригодную для токенизации.
- image_seq_length (int, optional, по умолчанию 280) — Количество мягких токенов на изображение, используемых для расширения плейсхолдеров.
- audio_seq_length (int, optional, по умолчанию 750) — Максимальное количество аудио-мягких токенов на сегмент аудио. Служит верхним ограничением при вычислении динамического количества аудио-токенов.
- audio_ms_per_token (int, optional, по умолчанию 40) —
Миллисекунды аудио на каждый выходной soft-токен. Используется для динамического
вычисления количества аудио-плейсхолдерных токенов по формуле
ceil(duration_ms / audio_ms_per_token). Значение по умолчанию 40 обусловлено 4-кратным сокращением времени в свёртке SSCP для 10-миллисекундных кадров.
Создаёт EmbeddingGemma2Processor, который объединяет feature extractor, image processor, tokenizer и video processor в единый процессор.
[EmbeddingGemma2Processor] предоставляет все возможности [Gemma4AudioFeatureExtractor], [Gemma4ImageProcessor], [tokenizer_class] и [EmbeddingGemma2VideoProcessor]. Подробнее см. в документации по [~Gemma4AudioFeatureExtractor], [~Gemma4ImageProcessor], [~tokenizer_class] и [~EmbeddingGemma2VideoProcessor].
__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] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = Noneaudio_from_video_indices: list[int] | None = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
Параметры
- 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. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], необязательный) — Аудио или пакет аудио, подлежащий подготовке. Каждое аудио может быть массивом NumPy или тензором PyTorch. В случае массива NumPy/тензора PyTorch каждое аудио должно иметь форму (C, T), где C — количество каналов, а T — длина выборки аудио. - audio_from_video_indices (
list[int], необязательный) — Список, описывающий источник каждого аудиослота, гдеNone-> автономный аудиодорожка, не связанная с видеодорожкойi-> аудио, извлечённое из videos[i]
- return_tensors (
strили TensorType, необязательный) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:'pt': возвращает объектыtorch.TensorPyTorch.'np': возвращает объекты NumPynp.ndarray.
- **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
EmbeddingGemma2PreTrainedModel
класс transformers.EmbeddingGemma2PreTrainedModel
< 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__, а не мок-объект.
EmbeddingGemma2TextModel
класс transformers.EmbeddingGemma2TextModel
< source >( config: EmbeddingGemma2TextConfig )
Параметры
- config (EmbeddingGemma2TextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Текстовый бэкбон EmbeddingGemma 2. Он содержит embedding_projection, который отображает финальные скрытые состояния в размерность config.embedding_dim, поэтому в составной модели не требуется переопределение forward.
Эта модель наследуется от 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] = Noneinputs_embeds: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput 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]. - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели.
Возвращает
BaseModelOutput или tuple(torch.Tensor)
Объект BaseModelOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (EmbeddingGemma2Config) и входных данных.
Метод forward модели EmbeddingGemma2TextModel переопределяет специальный метод __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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
EmbeddingGemma2Model
класс transformers.EmbeddingGemma2Model
< source >( config: EmbeddingGemma2Config )
Параметры
- config (EmbeddingGemma2Config) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель EmbeddingGemma 2: визуальный бэкбон, аудиобэкбон и текстовый бэкбон, финальные скрытые состояния которых проецируются в config.text_config.embedding_dim. Предназначена для использования в сочетании со средним пулингом и нормализацией из SentenceTransformers.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonepixel_values_videos: typing.Optional[torch.Tensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneimage_position_ids: typing.Optional[torch.LongTensor] = Nonevideo_position_ids: typing.Optional[torch.LongTensor] = Nonenum_frames_per_video: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → EmbeddingGemma2ModelOutput 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), необязательный) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Gemma4ImageProcessor. Подробности см. в Gemma4ImageProcessor.call() (EmbeddingGemma2Processor использует Gemma4ImageProcessor для обработки изображений). - pixel_values_videos (
torch.Tensorформы(batch_size, num_frames, num_channels, frame_size, frame_size), необязательный) — Тензоры, соответствующие входному видео. Пиксельные значения для видео можно получить с помощью EmbeddingGemma2VideoProcessor. Подробности см. в EmbeddingGemma2VideoProcessor.call() (EmbeddingGemma2Processor использует EmbeddingGemma2VideoProcessor для обработки видео). - input_features (
torch.Tensorформы(batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью Gemma4AudioFeatureExtractor. Подробности см. в Gemma4AudioFeatureExtractor.call() (EmbeddingGemma2Processor использует Gemma4AudioFeatureExtractor для обработки аудио). - attention_mask (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- input_features_mask (
torch.Tensorформы(num_images, seq_length)) — Маска внимания для входного аудио. - position_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона[0, config.n_positions - 1]. - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели. - image_position_ids (
torch.LongTensorформы(batch_size, max_patches, 2), необязательный) — двумерные координаты позиций патчей от обработчика изображений, где(-1, -1)обозначает заполнение. Передаётся в визуальный энкодер для вычисления позиционных эмбеддингов. - video_position_ids (
torch.LongTensorформы(total_num_frames, max_patches, 2), необязательный) — двумерные координаты позиций патчей от видео-процессора, где(-1, -1)обозначает заполнение. Передаётся в визуальный энкодер для вычисления позиционных эмбеддингов. - num_frames_per_video (
torch.LongTensorформы(num_videos,), необязательный) — Количество кадров, принадлежащих каждому видео. Обязателен при передачеpixel_values_videos, так как кадры всех видео конкатенируются вдоль одной оси.
Возвращает
EmbeddingGemma2ModelOutput или tuple(torch.Tensor)
EmbeddingGemma2ModelOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (EmbeddingGemma2Config) и входных данных.
Метод forward модели EmbeddingGemma2Model переопределяет специальный метод __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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
image_hidden_states (
torch.Tensor, необязательный) —torch.Tensorразмера(batch_size, num_images, sequence_length, hidden_size). image_hidden_states модели, полученные визуальным энкодером после проекции последнего скрытого состояния.audio_hidden_states (
torch.Tensor, необязательный) —torch.Tensorразмера(batch_size, num_images, sequence_length, hidden_size). audio_hidden_states модели, полученные аудио-энкодером после проекции последнего скрытого состояния.
get_image_features
< source >( pixel_values: Tensorimage_position_ids: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- pixel_values (
torch.Tensorформы(batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью Gemma4ImageProcessor. Подробности см. в Gemma4ImageProcessor.call() (EmbeddingGemma2Processor использует Gemma4ImageProcessor для обработки изображений). - image_position_ids (
torch.LongTensorформы(batch_size, max_patches, 2), необязательный) — Позиции патчей в виде координат (x, y) на изображении. Патчи, используемые для выравнивания, обозначаются парой (-1, -1).
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (EmbeddingGemma2Config) и входных данных.
Проекция последнего скрытого состояния из визуальной модели в пространство языковой модели.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
get_video_features
< source >( pixel_values_videos: Tensorvideo_position_ids: typing.Optional[torch.LongTensor] = Nonenum_frames_per_video: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- pixel_values_videos (
torch.Tensorформы(total_num_frames, max_patches, patch_pixels)) — Кадровые данные всех видео в батче, объединённые вдоль оси кадров, а не стекированные по отдельной оси видео, что позволяет батчить видео разной длины. - video_position_ids (
torch.LongTensorформы(total_num_frames, max_patches, 2), необязательный) — двумерные координаты позиций патчей от видео-процессора, где(-1, -1)обозначает заполнение. Передаётся в визуальный энкодер для вычисления позиционных эмбеддингов. - num_frames_per_video (
torch.LongTensorформы(num_videos,)) — Количество кадров, принадлежащих каждому видео, используется для разделения плоской последовательности кадров обратно по видео.
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (EmbeddingGemma2Config) и входных данных.
Проекция последнего скрытого состояния из визуального кодировщика в пространство языковой модели.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
get_audio_features
< source >( input_features: Tensorinput_features_mask: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → EmbeddingGemma2AudioModelOutput or tuple(torch.Tensor)
Параметры
- input_features (
torch.Tensorформы(num_images, seq_length, num_features)) — Тензоры, соответствующие входному аудио. - input_features_mask (
torch.Tensorформы(num_images, seq_length)) — Маска внимания для входного аудио.
Возвращает
EmbeddingGemma2AudioModelOutput или tuple(torch.Tensor)
EmbeddingGemma2AudioModelOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (EmbeddingGemma2Config) и входных данных.
Проекция последнего скрытого состояния из аудио-кодера в пространство языковой модели.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
attention_mask (
torch.BoolTensor, необязательный) — torch.BoolTensor формы(batch_size, num_frames). True для валидных позиций, False для заполнителей.