Transformers documentation
CLAP
Эта модель была опубликована в HF papers 12.11.2022 и добавлена в Hugging Face Transformers 16.02.2023.
CLAP
CLAP (Contrastive Language-Audio Pretraining) — это мультимодальная модель, которая объединяет аудиоданные с описаниями на естественном языке с помощью контрастного обучения.
Модель использует слияние признаков и расширение по ключевым словам для обработки аудиовходов переменной длины и повышения качества работы. CLAP не требует данных, специфичных для конкретной задачи, и способна обучаться на значимых аудиопредставлениях с помощью естественного языка.
Все исходные контрольные точки CLAP можно найти в коллекции CLAP.
Эта модель была добавлена ybelkada и ArthurZ.
Щёлкните по моделям CLAP в боковой панели справа, чтобы увидеть дополнительные примеры применения CLAP к различным задачам поиска и классификации аудио.
Пример ниже демонстрирует, как извлекать текстовые эмбеддинги с помощью класса AutoModel.
import torch
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("laion/clap-htsat-unfused", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("laion/clap-htsat-unfused")
texts = ["the sound of a cat", "the sound of a dog", "music playing"]
inputs = tokenizer(texts, padding=True, return_tensors="pt").to(model.device)
with torch.no_grad():
text_features = model.get_text_features(**inputs)
print(f"Text embeddings shape: {text_features.shape}")
print(f"Text embeddings: {text_features}")ClapConfig
класс transformers.ClapConfig
< 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: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonelogit_scale_init_value: float = 14.285714285714285projection_dim: int = 512projection_hidden_act: str = 'relu'initializer_factor: float = 1.0 )
Параметры
- text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона. - audio_config (
Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации аудио-бэкбона. - logit_scale_init_value (
float, необязательный, по умолчанию14.285714285714285) — Начальное значение параметра logit_scale. - projection_dim (
int, необязательный, по умолчанию512) — Размерность проекционных слоёв для текста и изображений. - projection_hidden_act (
str, необязательный, по умолчаниюrelu) — Функция активации, используемая мультимодальным проектором. - initializer_factor (
float, необязательный, по умолчанию1.0) — Коэффициент для инициализации всех матриц весов (должен оставаться равным 1, используется внутренне для тестирования инициализации).
Это класс конфигурации для хранения конфигурации модели ClapModel. Он используется для создания модели Clap в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации laion/clap-htsat-fused
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import ClapConfig, ClapModel
>>> # Initializing a ClapConfig with laion-ai/base style configuration
>>> configuration = ClapConfig()
>>> # Initializing a ClapModel (with random weights) from the laion-ai/base style configuration
>>> model = ClapModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
>>> # We can also initialize a ClapConfig from a ClapTextConfig and a ClapAudioConfig
>>> from transformers import ClapTextConfig, ClapAudioConfig
>>> # Initializing a ClapText and ClapAudioConfig configuration
>>> config_text = ClapTextConfig()
>>> config_audio = ClapAudioConfig()
>>> config = ClapConfig(text_config=config_text, audio_config=config_audio)ClapTextConfig
класс transformers.ClapTextConfig
< 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 = 50265hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.1attention_probs_dropout_prob: float | int = 0.1max_position_embeddings: int = 514type_vocab_size: int = 1initializer_factor: float = 1.0layer_norm_eps: float = 1e-12projection_dim: int = 512pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2projection_hidden_act: str = 'relu' )
Параметры
- vocab_size (
int, необязательный, по умолчанию50265) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - hidden_size (
int, необязательный, по умолчанию768) — Размерность скрытых представлений. - num_hidden_layers (
int, необязательный, по умолчанию12) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию12) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию3072) — Размерность представлений MLP. - hidden_act (
str, необязательный, по умолчаниюgelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout_prob (
Union[float, int], необязательный, по умолчанию0.1) — Вероятность dropout для всех полносвязных слоёв в блоках эмбеддингов, энкодера и пулера. - attention_probs_dropout_prob (
Union[float, int], необязательный, по умолчанию0.1) — Коэффициент dropout для вероятностей внимания. - max_position_embeddings (
int, необязательный, по умолчанию514) — Максимальная длина последовательности, с которой может использоваться эта модель. - type_vocab_size (
int, необязательный, по умолчанию1) — Размер словаря дляtoken_type_ids. - initializer_factor (
float, необязательный, по умолчанию1.0) — Коэффициент для инициализации всех матриц весов (должен оставаться равным 1, используется внутренне для тестирования инициализации). - layer_norm_eps (
float, необязательный, по умолчанию1e-12) — Значение epsilon, используемое слоями нормализации. - projection_dim (
int, необязательный, по умолчанию512) — Размерность проекционных слоёв для текста и изображений. - pad_token_id (
int, необязательный, по умолчанию1) — Идентификатор токена, используемого для дополнения (padding) в словаре. - bos_token_id (
int, необязательный, по умолчанию0) — Идентификатор токена, используемого для обозначения начала потока в словаре. - eos_token_id (
Union[int, list[int]], необязательный, по умолчанию2) — Идентификатор токена, используемого для обозначения конца потока в словаре. - projection_hidden_act (
str, необязательный, по умолчаниюrelu) — Функция активации, используемая мультимодальным проектором.
Это класс конфигурации для хранения конфигурации модели ClapModel. Он используется для создания модели Clap в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации laion/clap-htsat-fused
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Примеры:
>>> from transformers import ClapTextConfig, ClapTextModel
>>> # Initializing a CLAP text configuration
>>> configuration = ClapTextConfig()
>>> # Initializing a model (with random weights) from the configuration
>>> model = ClapTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configClapAudioConfig
класс transformers.ClapAudioConfig
< 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 = Nonewindow_size: int = 8num_mel_bins: int = 64spec_size: int = 256hidden_act: str = 'gelu'patch_size: int | list[int] | tuple[int, int] = 4patch_stride: int | list[int] | tuple[int, ...] = (4, 4)num_classes: int = 527hidden_size: int = 768projection_dim: int = 512depths: list[int] | tuple[int, ...] = (2, 2, 6, 2)num_attention_heads: list[int] | tuple[int, ...] = (4, 8, 16, 32)enable_fusion: bool = Falsehidden_dropout_prob: float | int = 0.1fusion_type: str | None = Nonepatch_embed_input_channels: int = 1flatten_patch_embeds: bool = Truepatch_embeds_hidden_size: int = 96enable_patch_layer_norm: bool = Truedrop_path_rate: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0qkv_bias: bool = Truemlp_ratio: float = 4.0aff_block_r: int = 4num_hidden_layers: int = 4projection_hidden_act: str = 'relu'layer_norm_eps: float = 1e-05initializer_factor: float = 1.0 )
Параметры
- window_size (
int, необязательный, по умолчанию 8) — Размер изображения спектрограммы - num_mel_bins (
int, необязательный, по умолчанию64) — Количество mel-признаков, используемых на входной кадр. Должно соответствовать значению, применяемому в классеAutoFeatureExtractor. - spec_size (
int, необязательный, по умолчанию 256) — Требуемый размер входного спектрограммы, который поддерживает модель. Он может отличаться от выходных данныхClapFeatureExtractor, в этом случае входные признаки будут изменены по размеру. Соответствует параметруimage_sizeаудиомоделей. - hidden_act (
str, необязательный, по умолчаниюgelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - patch_size (
Union[int, list[int], tuple[int, int]], необязательный, по умолчанию4) — Размер (разрешение) каждого патча. - patch_stride (
list, необязательный, по умолчанию[4, 4]) — Шаг патча для аудиоспектрограммы - num_classes (
int, необязательный, по умолчанию 527) — Количество классов, используемых для обучения головы - hidden_size (
int, необязательный, по умолчанию768) — Размерность скрытых представлений. - projection_dim (
int, необязательный, по умолчанию512) — Размерность проекционных слоёв для текста и изображений. - depths (
Union[list[int], tuple[int, ...]], необязательный, по умолчанию(2, 2, 6, 2)) — Глубина каждого слоя в Transformer. - num_attention_heads (
Union[list[int], tuple[int, ...]], необязательный, по умолчанию(4, 8, 16, 32)) — Количество голок внимания для каждого слоя внимания в декодере Transformer. - enable_fusion (
bool, необязательный, по умолчаниюFalse) — Указывает, следует ли включать слияние патчей. Это основной вклад авторов, и данный параметр должен обеспечивать наилучшие результаты. - hidden_dropout_prob (
Union[float, int], необязательный, по умолчанию0.1) — Вероятность dropout для всех полносвязных слоёв в блоках эмбеддингов, энкодера и пулера. - fusion_type (
[type], необязательный) — Тип слияния, используемый для слияния патчей. - patch_embed_input_channels (
int, необязательный, по умолчанию 1) — Количество каналов, используемых для входной спектрограммы - flatten_patch_embeds (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли разворачивать (flatten) эмбеддинги патчей. - patch_embeds_hidden_size (
int, необязательный, по умолчанию 96) — Размер скрытого слоя для эмбеддингов патчей. Используется как количество выходных каналов. - enable_patch_layer_norm (
bool, необязательный, по умолчаниюTrue) — Включать ли нормализацию слоя для эмбеддингов патчей - drop_path_rate (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент drop path для слияния патчей. - attention_probs_dropout_prob (
Union[float, int], необязательный, по умолчанию0.0) — Коэффициент dropout для вероятностей внимания. - qkv_bias (
bool, необязательный, по умолчаниюTrue) — Добавлять ли смещение к запросам, ключам и значениям. - mlp_ratio (
float, необязательный, по умолчанию4.0) — Соотношение скрытого размера MLP к размеру эмбеддинга. - aff_block_r (
int, необязательный, по умолчанию 4) — downsize_ratio, используемый в блоке AudioFF - num_hidden_layers (
int, необязательный, по умолчанию4) — Количество скрытых слоев в декодере Transformer. - projection_hidden_act (
str, необязательный, по умолчаниюrelu) — Функция активации, используемая мультимодальным проектором. - layer_norm_eps (
float, необязательный, по умолчанию1e-05) — Значение epsilon, используемое слоями нормализации. - initializer_factor (
float, необязательный, по умолчанию1.0) — Коэффициент для инициализации всех матриц весов (должен оставаться равным 1, используется внутренне для тестирования инициализации).
Это класс конфигурации для хранения конфигурации модели ClapModel. Он используется для создания модели Clap в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации laion/clap-htsat-fused
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import ClapAudioConfig, ClapAudioModel
>>> # Initializing a ClapAudioConfig with laion/clap-htsat-fused style configuration
>>> configuration = ClapAudioConfig()
>>> # Initializing a ClapAudioModel (with random weights) from the laion/clap-htsat-fused style configuration
>>> model = ClapAudioModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configClapFeatureExtractor
класс transformers.ClapFeatureExtractor
< source >( feature_size = 64sampling_rate = 48000hop_length = 480max_length_s = 10fft_window_size = 1024padding_value = 0.0return_attention_mask = Falsefrequency_min: float = 0frequency_max: float = 14000top_db: int | None = Nonetruncation: str = 'fusion'padding: str = 'repeatpad'**kwargs )
Параметры
- feature_size (
int, необязательный, по умолчанию 64) — Размерность признаков извлечённых мел-спектрограмм. Соответствует количеству мел-фильтров (n_mels). - sampling_rate (
int, необязательный, по умолчанию 48000) — Частота дискретизации, с которой аудиофайлы должны быть оцифрованы, выраженная в герцах (Гц). Этот параметр используется только для предупреждения пользователей, если частота дискретизации аудио, переданного в feature extractor, отличается от указанной. - hop_length (
int,optional, defaults to 480) — Length of the overlapping windows for the STFT used to obtain the Mel Spectrogram. The audio will be split in smallerframeswith a step ofhop_lengthbetween each frame. - max_length_s (
int, необязательный, по умолчанию 10) — Максимальная длина входных данных модели в секундах. Используется для дополнения аудио. - fft_window_size (
int, необязательный, по умолчанию 1024) — Размер окна (в выборках), на которое применяется преобразование Фурье. Этот параметр определяет частотное разрешение спектрограммы. Значение 400 означает, что преобразование Фурье вычисляется на окнах из 400 выборок. - padding_value (
float, необязательный, по умолчанию 0.0) — Значение, используемое для дополнения аудио. Должно соответствовать тишине. - return_attention_mask (
bool, необязательный, по умолчаниюFalse) — Указывает, должен ли модель возвращать маски внимания, соответствующие входным данным. - frequency_min (
float, необязательный, по умолчанию 0) — Минимальная частота, которая нас интересует. STFT не вычисляется для значений ниже этого порога. - frequency_max (
float, необязательный, по умолчанию 14000) — Максимальная частота, которая нас интересует. STFT не вычисляется для значений выше этого порога. - top_db (
float, необязательный) — Максимальное значение в децибелах, используемое для преобразования мел-спектрограммы в логарифмическую шкалу. Дополнительные сведения см. в функцииaudio_utils.power_to_db - truncation (
str, необязательный, по умолчанию"fusion") — Режим усечения для длинных аудиовходов. Доступны два режима:fusionиспользует_random_mel_fusion, который складывает 3 случайных кадра из мел-спектрограммы и даунсемплированную версию всей мел-спектрограммы. Еслиconfig.fusionустановлен в True, более короткие аудио также должны возвращать 4 мел-спектрограммы, которые будут просто копиями исходной мел-спектрограммы, полученной из дополненного аудио.rand_truncвыбирает случайный фрагмент мел-спектрограммы.
- padding (
str, необязательный, по умолчанию"repeatpad") — Схема дополнения (padding) для более коротких аудиовходов. Изначально были реализованы три схемы:repeatpad: аудио повторяется, а затем дополняется доmax_length.repeat: аудио повторяется, а затем обрезается до длиныmax_lengthpad: аудио дополняется.
Создаёт экстрактор признаков CLAP.
Этот экстрактор признаков наследуется от SequenceFeatureExtractor, который содержит большинство основных методов. За дополнительной информацией о них следует обращаться к этому суперклассу.
Этот класс извлекает характеристики мел-фильтрового банка из сырых речевых данных с помощью собственной реализации кратковременного преобразования Фурье (STFT) на numpy, которая должна совпадать с эквивалентом torch.stft в pytorch.
to_dict
< source >( ) → dict[str, Any]
Возвращает
dict[str, Any]
Словарь всех атрибутов, из которых состоит этот экземпляр конфигурации, за исключением мел-фильтров, которые не нужно сохранять или выводить, так как они слишком длинные.
Сериализует этот экземпляр в словарь Python.
ClapProcessor
класс transformers.ClapProcessor
< source >( feature_extractortokenizer )
Создаёт ClapProcessor, который объединяет экстрактор признаков и токенизатор в единый процессор.
ClapProcessor предоставляет все возможности ClapFeatureExtractor и RobertaTokenizer. Подробнее см. в ~ClapFeatureExtractor и ~RobertaTokenizer.
__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] = 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 — длина выборки аудио. - return_tensors (
strили TensorType, необязательный) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:'pt': возвращает объектыtorch.TensorPyTorch.'np': возвращает объекты NumPynp.ndarray.
- **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
ClapModel
класс transformers.ClapModel
< source >( config: ClapConfig )
Параметры
- config (ClapConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
Модель Clap без дополнительных слоёв, выводящая необработанные скрытые состояния.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneis_longer: typing.Optional[torch.BoolTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonereturn_loss: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClapOutput or tuple(torch.Tensor)
Параметры
- input_ids (
torch.LongTensorформы(batch_size, sequence_length), , необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию токены отсечки (padding) игнорируются.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- input_features (
torch.Tensorформы(batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью ClapFeatureExtractor. Подробности см. вClapFeatureExtractor.__call__()(ClapProcessor использует ClapFeatureExtractor для обработки аудио). - is_longer (
torch.Tensor, формы(batch_size, 1), необязательный) — Указывает, является ли аудиоклип длиннееmax_length. ЕслиTrue, включается слияние признаков для их улучшения. - 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]. - return_loss (
bool, необязательный) — Указывает, следует ли возвращать контрастную потерю.
Возвращает
ClapOutput или tuple(torch.Tensor)
ClapOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
Метод forward модели ClapModel переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
- loss (
torch.Tensorформы(1,), необязательный, возвращается, еслиreturn_lossравноTrue) — контрастивная функция потерь для сходства аудио и текста. - logits_per_audio (
torch.Tensorформы(audio_batch_size, text_batch_size)) — Оценки масштабированного скалярного произведения междуaudio_embedsиtext_embeds. Это представляет собой оценки сходства между аудио и текстом. - logits_per_text (
torch.Tensorформы(text_batch_size, audio_batch_size)) — значения масштабированного скалярного произведения междуtext_embedsиaudio_embeds. Это представляет собой оценки сходства текста и аудио. - text_embeds (
torch.Tensorформы(batch_size, output_dim) — Векторные представления текста, полученные применением слоя проекции к агрегированному выводу ClapTextModel. - audio_embeds (
torch.Tensorформы(batch_size, output_dim) — Векторные представления аудио, полученные применением слоя проекции к агрегированному выводу ClapAudioModel. - text_model_output (
~modeling_outputs.BaseModelOutputWithPooling, необязательный) — Выход модели ClapTextModel. - audio_model_output (
~modeling_outputs.BaseModelOutputWithPooling, необязательный) — Выход ClapAudioModel.
Примеры:
>>> from datasets import load_dataset
>>> from transformers import AutoProcessor, ClapModel
>>> dataset = load_dataset("hf-internal-testing/ashraq-esc50-1-dog-example")
>>> audio_sample = dataset["train"]["audio"][0]["array"]
>>> model = ClapModel.from_pretrained("laion/clap-htsat-unfused")
>>> processor = AutoProcessor.from_pretrained("laion/clap-htsat-unfused")
>>> input_text = ["Sound of a dog", "Sound of vacuum cleaner"]
>>> inputs = processor(text=input_text, audio=audio_sample, return_tensors="pt", padding=True)
>>> outputs = model(**inputs)
>>> logits_per_audio = outputs.logits_per_audio # this is the audio-text similarity score
>>> probs = logits_per_audio.softmax(dim=-1) # we can take the softmax to get the label probabilitiesget_text_features
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- input_ids (
torch.Tensorформы(batch_size, sequence_length)) — Индексы токенов входной последовательности в словаре. По умолчанию токены отступов игнорируются. Индексы можно получить с помощью AutoTokenizer. Подробности — в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call(). Что такое входные идентификаторы?Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.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].
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Примеры:
>>> import torch
>>> from transformers import AutoTokenizer, ClapModel
>>> model = ClapModel.from_pretrained("laion/clap-htsat-unfused")
>>> tokenizer = AutoTokenizer.from_pretrained("laion/clap-htsat-unfused")
>>> inputs = tokenizer(["the sound of a cat", "the sound of a dog"], padding=True, return_tensors="pt")
>>> with torch.inference_mode():
... text_features = model.get_text_features(**inputs)get_audio_features
< source >( input_features: Tensoris_longer: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- input_features (
torch.Tensorформы(batch_size, sequence_length, feature_dim)) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью ClapFeatureExtractor. Подробности см. вClapFeatureExtractor.__call__()(ClapProcessor использует ClapFeatureExtractor для обработки аудио). - is_longer (
torch.Tensor, формы(batch_size, 1), необязательный) — Указывает, является ли аудиоклип длиннееmax_length. ЕслиTrue, включается слияние признаков для их улучшения. - attention_mask (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Примеры:
>>> import torch
>>> from transformers import AutoFeatureExtractor, ClapModel
>>> model = ClapModel.from_pretrained("laion/clap-htsat-unfused")
>>> feature_extractor = AutoFeatureExtractor.from_pretrained("laion/clap-htsat-unfused")
>>> random_audio = torch.rand((16_000))
>>> inputs = feature_extractor(random_audio, return_tensors="pt")
>>> with torch.inference_mode():
... audio_features = model.get_audio_features(**inputs)ClapTextModel
класс transformers.ClapTextModel
< source >( config: ClapTextConfigadd_pooling_layer = True )
Параметры
- config (ClapTextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
- add_pooling_layer (
bool, необязательный, по умолчаниюTrue) — Добавлять ли слой пулинга
The model can behave as an encoder (with only self-attention) as well as a decoder, in which case a layer of cross-attention is added between the self-attention layers, following the architecture described in Attention is all you need_ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin.
Чтобы модель работала как декодер, её необходимо инициализировать с аргументом is_decoder конфигурации, установленным в True. Для использования в модели Seq2Seq модель должна быть инициализирована с аргументами is_decoder и add_cross_attention, установленными в True; в этом случае в качестве входного параметра для прямого прохода ожидается encoder_hidden_states.
.. _Внимание — это все, что вам нужно: https://huggingface.co/papers/1706.03762
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- input_ids (
torch.Tensorформы(batch_size, sequence_length), необязательный) — Индексы токенов входной последовательности в словаре. По умолчанию padding игнорируется.Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call().
- attention_mask (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона[0, 1]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы.
- token_type_ids (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Индексы сегментных токенов для указания первой и второй частей входных данных. Индексы выбираются из[0, 1]:- 0 соответствует токену sentence A,
- 1 соответствует токену sentence B.
- position_ids (
torch.Tensorформы(batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона[0, config.n_positions - 1]. - inputs_embeds (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — При необходимости, вместо передачиinput_idsможно напрямую передать встроенное представление. Это полезно, если требуется больший контроль над тем, как индексыinput_idsпреобразуются в соответствующие векторы, чем это обеспечивает внутренняя матрица поиска встраиваний модели.
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
Метод forward модели ClapTextModel переопределяет специальный метод __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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
ClapTextModelWithProjection
класс transformers.ClapTextModelWithProjection
< source >( config: ClapTextConfig )
Параметры
- config (ClapTextConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Clap с проекционным слоем сверху (линейный слой поверх пуллинг-вывода).
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClapTextModelOutput or tuple(torch.Tensor)
Параметры
- input_ids (
torch.Tensorформы(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.Tensorформы(batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона[0, config.n_positions - 1].
Возвращает
ClapTextModelOutput или tuple(torch.Tensor)
ClapTextModelOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
Метод forward модели ClapTextModelWithProjection переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
text_embeds (
torch.Tensorформы(batch_size, output_dim)необязательный, возвращается, если модель инициализирована сwith_projection=True) — Текстовые эмбеддинги, полученные применением слоя проекции к pooler_output.last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — Последовательность скрытых состояний на выходе последнего слоя модели.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Примеры:
>>> from transformers import AutoTokenizer, ClapTextModelWithProjection
>>> model = ClapTextModelWithProjection.from_pretrained("laion/clap-htsat-unfused")
>>> tokenizer = AutoTokenizer.from_pretrained("laion/clap-htsat-unfused")
>>> inputs = tokenizer(["a sound of a cat", "a sound of a dog"], padding=True, return_tensors="pt")
>>> outputs = model(**inputs)
>>> text_embeds = outputs.text_embedsClapAudioModel
forward
< source >( input_features: typing.Optional[torch.Tensor] = Noneis_longer: typing.Optional[torch.BoolTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Параметры
- input_features (
torch.Tensorформы(batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью ClapFeatureExtractor. Подробности см. вClapFeatureExtractor.__call__()(ClapProcessor использует ClapFeatureExtractor для обработки аудио). - is_longer (
torch.Tensor, формы(batch_size, 1), необязательный) — Указывает, является ли аудиоклип длиннееmax_length. ЕслиTrue, включается слияние признаков для их улучшения.
Возвращает
BaseModelOutputWithPooling или tuple(torch.Tensor)
Объект BaseModelOutputWithPooling или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
Метод forward модели ClapAudioModel переопределяет специальный метод __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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Примеры:
>>> from datasets import load_dataset
>>> from transformers import AutoProcessor, ClapAudioModel
>>> dataset = load_dataset("hf-internal-testing/ashraq-esc50-1-dog-example")
>>> audio_sample = dataset["train"]["audio"][0]["array"]
>>> model = ClapAudioModel.from_pretrained("laion/clap-htsat-fused")
>>> processor = AutoProcessor.from_pretrained("laion/clap-htsat-fused")
>>> inputs = processor(audio=audio_sample, return_tensors="pt")
>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_stateClapAudioModelWithProjection
класс transformers.ClapAudioModelWithProjection
< source >( config: ClapAudioConfig )
Параметры
- config (ClapAudioConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
Модель Clap с проекционным слоем сверху (линейный слой поверх пуллинг-вывода).
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( input_features: typing.Optional[torch.Tensor] = Noneis_longer: typing.Optional[torch.BoolTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClapAudioModelOutput or tuple(torch.Tensor)
Параметры
- input_features (
torch.Tensorформы(batch_size, sequence_length, feature_dim), необязательный) — Тензоры, соответствующие входным аудиособытиям. Аудиособытия можно получить с помощью ClapFeatureExtractor. Подробности см. вClapFeatureExtractor.__call__()(ClapProcessor использует ClapFeatureExtractor для обработки аудио). - is_longer (
torch.Tensor, формы(batch_size, 1), необязательный) — Указывает, является ли аудиоклип длиннееmax_length. ЕслиTrue, включается слияние признаков для их улучшения.
Возвращает
ClapAudioModelOutput или tuple(torch.Tensor)
ClapAudioModelOutput или кортеж из
torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные
элементы в зависимости от конфигурации (ClapConfig) и входных данных.
Метод forward модели ClapAudioModelWithProjection переопределяет специальный метод __call__.
Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр
Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.
audio_embeds (
torch.Tensorформы(batch_size, hidden_size)) — Векторы аудио, полученные применением слоя проекции к pooler_output.last_hidden_state (
torch.Tensorформы(batch_size, sequence_length, hidden_size), необязательный) — Последовательность скрытых состояний на выходе последнего слоя модели.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.
Примеры:
>>> from datasets import load_dataset
>>> from transformers import ClapAudioModelWithProjection, ClapProcessor
>>> model = ClapAudioModelWithProjection.from_pretrained("laion/clap-htsat-fused")
>>> processor = ClapProcessor.from_pretrained("laion/clap-htsat-fused")
>>> dataset = load_dataset("hf-internal-testing/ashraq-esc50-1-dog-example")
>>> audio_sample = dataset["train"]["audio"][0]["array"]
>>> inputs = processor(audio=audio_sample, return_tensors="pt")
>>> outputs = model(**inputs)
>>> audio_embeds = outputs.audio_embeds