# Процессоры

## Мультимодальные процессоры[[transformers.ProcessorMixin]]

Любая мультимодальная модель требует объект для кодирования или декодирования данных, объединяющих несколько модальностей (среди текста, зрения и аудио). Это обеспечивается объектами, называемыми процессорами, которые объединяют два или более объектов обработки, таких как токенизаторы (для текстовой модальности), процессоры изображений (для зрения) и извлекатели признаков (для аудио).

Эти процессоры наследуются от следующего базового класса, который реализует функциональность сохранения и загрузки:

#### transformers.ProcessorMixin[[transformers.ProcessorMixin]]

```python
transformers.ProcessorMixin(*args, **kwargs)
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L604)

Это миксин, используемый для предоставления функциональности сохранения/загрузки для всех классов процессоров.

#### __call__[[transformers.ProcessorMixin.__call__]]

```python
__call__(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, text: str | list[str] | list[list[str]] | None = None, 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]], NoneType] = None, audio: 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'>)
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L670)

**Параметры:**

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]]]`, *optional*) : Видео для предобработки. Ожидается одно видео или батч видео со значениями пикселей в диапазоне от 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_mm_token_type_ids (`bool`, *kwargs*) : Нужно ли возвращать идентификаторы типов мультимодальных токенов, указывающие на позиции мультимодальных плейсхолдер-токенов.

return_text_replacement_offsets (`bool`, *kwargs*) : Нужно ли возвращать смещения символов для каждого мультимодального плейсхолдера и его замены.

return_tensors (`str` или [TensorType](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.TensorType), *optional*) : Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:  - `'pt'`: возвращает объекты `torch.Tensor` PyTorch. - `'np'`: возвращает объекты `np.ndarray` NumPy.

- ****kwargs** ([ProcessingKwargs](/docs/transformers/v5.23.0/ru/main_classes/processors#transformers.ProcessingKwargs), *optional*) : Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.

#### prepare_inputs_layout[[transformers.ProcessorMixin.prepare_inputs_layout]]

```python
prepare_inputs_layout(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, text: str | list[str] | list[list[str]] | None = None, 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]], NoneType] = None, audio: 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'>)
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L737)

Нормализует и предзагружает входные данные перед обработкой. Оборачивает текст в список для мультимодальных процессоров, загружает удалённые изображения и аудио, если указаны URL, и обеспечивает корректное батчинг аудио. Возвращает нормализованный кортеж `(images, text, videos, audio)`.

#### validate_inputs[[transformers.ProcessorMixin.validate_inputs]]

```python
validate_inputs(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, text: str | list[str] | list[list[str]] | None = None, 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]], NoneType] = None, audio: 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'>)
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L766)

Проверяет, что предоставлен хотя бы один входной параметр и что не используются устаревшие именованные аргументы. В противном случае вызывает `ValueError`.

Переопределяется, когда процессору требуется дополнительная валидация входных аргументов.

#### get_text_with_replacements[[transformers.ProcessorMixin.get_text_with_replacements]]

```python
get_text_with_replacements(text: list[str], images_replacements: list[str] = [], videos_replacements: list[str] = [], audio_replacements: list[str] = [])
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L890)

**Параметры:**

text (*list[str]*) : Пакет необработанных строк текста, каждая из которых может содержать мультимодальные плейсхолдер-токены. Обратите внимание, что список будет изменён на месте и возвращён.

images_replacements (*list[str]*, *optional*, по умолчанию *[]*) : Развёрнутые строки замены для каждого изображения, в порядке их появления в батче. Создаются методом *self._process_images*.

videos_replacements (*list[str]*, *optional*, по умолчанию *[]*) : Развёрнутые строки замены для каждого видео. Создаются методом *self._process_videos*.

audio_replacements (*list[str]*, *optional*, по умолчанию *[]*) : Развёрнутые строки замены для каждого аудиовхода. Создаются методом *self._process_audio*.

**Возвращает:** *tuple[list[str], list[dict[str, Any]]]*

Кортеж из:
- Измененная *text*-партия, в которой все плейсхолдер-токены развернуты.
- *batch_replacement_offsets*: по одному элементу на каждый элемент батча, каждый из которых представляет собой
список словарей с ключами:
- *"type"* (*str*): название модальности — *"image"*, *"video"* или *"audio"*
- *"span"* (*tuple[int, int]*): исходные смещения символов *(start, end)* для placeholder-токена
- *"new_span"* (*tuple[int, int]*): смещения *(start, end)* плейсхолдера в расширенной строке
- *"text"* (*str*): исходная строка токена-заполнителя, которая была найдена
- *"replacement"* (*str*): строка, которой он был заменён

Замените мультимодальные плейсхолдер-токены в батче текстовых строк на их расширенные представления и верните изменённые тексты вместе с метаданными смещений.

Этот метод является основным этапом предобработки текстовой части для мультимодальных входных данных. Он просматривает каждый текст в батче в поиске специальных токенов (изображение, видео, аудио) и последовательно заменяет их на заранее вычисленные строки замены, полученные с помощью *self.replace_image_token* / *self.replace_video_token* / *self.replace_audio_token*. Строки замены извлекаются из списка соответствующей модальности последовательно, поэтому i-е вхождение, например, `self.image_token` заменяется на `images_replacements[i]`.

Чтобы добавить новый мультимодальный процессор с токенами-заполнителями, необходимо определить корректный *self.image_token*, который является тем же токеном, что и встроен в входной текст, а также используется в качестве заполнителя и повторяется многократно. Затем нужно переопределить *self.replace_image_token*, чтобы возвращать правильную строку замены для изображения с индексом *i*. То же самое относится ко всем другим поддерживаемым модальностям.

#### create_mm_token_type_ids[[transformers.ProcessorMixin.create_mm_token_type_ids]]

```python
create_mm_token_type_ids(input_ids: list)
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L995)

**Параметры:**

input_ids (*list[list[int]]*) : Пакет последовательностей идентификаторов токенов. Может быть без выравнивания (переменной длины), поэтому ожидается обычный список списков Python, а не тензор или массив с одинаковой формой.

**Возвращает:** *list[list[int]]*

Список той же структуры, что и `input_ids`, где каждое целое число — это идентификатор типа модальности для соответствующего токена.

Создайте идентификаторы типа модальности для каждого токена в батче последовательностей token_id.

Каждой позиции присваивается целое число, указывающее, к какой модальности она относится: `0` — для обычного текста, `1` — для токенов изображения, `2` — для токенов видео и `3` — для токенов аудио. Принадлежность определяется путём сравнения с `self.image_token_ids`, `self.video_token_ids` и `self.audio_token_ids`.

#### apply_chat_template[[transformers.ProcessorMixin.apply_chat_template]]

```python
apply_chat_template(conversation: list[dict[str, str]] | list[list[dict[str, str]]], chat_template: str | None = None, tools: list[dict] | None = None, documents: list[dict[str, str]] | None = None, add_generation_prompt: bool = False, continue_final_message: bool | str = False, return_assistant_tokens_mask: bool = False, tokenize: bool = False, return_tensors: str | transformers.utils.generic.TensorType | None = 'auto', return_dict: bool = False, load_audio_from_video: bool = False, processor_kwargs: dict | None = None, sanitize_control_tokens: bool = False, **kwargs)
```

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L2310)

**Параметры:**

conversation (`Union[list[Dict, [str, str]], list[list[dict[str, str]]]]`) : Диалог для форматирования.

chat_template (`Optional[str]`, *необязательный*) : Шаблон Jinja, используемый для форматирования диалога. Если не указан, используется шаблон чата токенизатора.

sanitize_control_tokens (`bool`, по умолчанию `False`) : Определяет, следует ли кодировать токены управления, найденные в диалоге, инструментах, документах и переменных шаблона, переданных в качестве `**kwargs`, как обычный текст, чтобы пользовательский ввод не мог их записать, а также не мог использовать плейсхолдеры mm. См. `apply_chat_template` токенизатора. Требует `tokenize=True`.

Аналогично методу `apply_chat_template` в токенизаторах, этот метод применяет шаблон Jinja к входным диалогам, чтобы превратить их в единую строку, готовую к токенизации.

Ожидается, что входные данные будут в следующем формате, где содержимое каждого сообщения представляет собой список, состоящий из текста и, при необходимости, изображений или видео. Также можно указать изображение, видео, URL или локальный путь, которые будут использованы для формирования `pixel_values`, если `return_dict=True`. Если эти данные не указаны, будет получен только отформатированный текст, а при необходимости — и токенизированный текст.

conversation = [ { "role": "user", "content": [ {"type": "image", "url": "https://www.ilankelman.org/stopsigns/australia.jpg"}, {"type": "text", "text": "Please describe this image in detail."}, ], }, ]

### Обработка kwargs[[transformers.ProcessingKwargs]]

Методы `__call__` класса Processor принимают именованные аргументы, сгруппированные по модальности. Ниже приведены классы TypedDict, определяющие доступные именованные аргументы для каждой модальности. Процессоры, специфичные для конкретной модели, могут наследовать эти классы, чтобы добавлять или переопределять поля.

#### transformers.ProcessingKwargs[[transformers.ProcessingKwargs]]

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L458)

Базовый класс для передачи аргументов kwargs в процессоры.

Если у модели есть специфические kwargs, отсутствующие в базовом классе, или значения по умолчанию для существующих ключей, у неё должен быть собственный класс `ModelProcessorKwargs`, наследующийся от `ProcessingKwargs`, чтобы предоставить дополнительные типизированные ключи, необходимые этой модели для обработки входных данных.

Новые ключи должны быть определены следующим образом, чтобы обеспечить корректную проверку типов.

```python
class ModelProcessorKwargs(ProcessingKwargs, total=False):
    my_kwarg: float

class ModelProcessor(ProcessorMixin):
    valid_processor_kwargs = ModelProcessorKwargs

    @auto_docstring
    def __call__(self, images: ImageInput | None = None, ..., **kwargs: Unpack[ModelProcessorKwargs]):
        my_kwarg = kwargs.get("my_kwarg")
```

#### transformers.TextKwargs[[transformers.TextKwargs]]

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L179)

**Параметры:**

add_special_tokens (`bool`, *необязательный*) : Нужно ли добавлять специальные токены при кодировании последовательностей.

padding (`bool`, `str` или [PaddingStrategy](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.utils.PaddingStrategy), *необязательный*) : Включает и управляет выравниванием.

truncation (`bool`, `str` или [TruncationStrategy](/docs/transformers/v5.23.0/ru/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *необязательный*) : Включает и управляет усечением.

max_length (`int`, *optional*) : Управляет максимальной длиной, используемой одним из параметров усечения/дополнения.

stride (`int`, *optional*) : Если задано, переполненные токены будут содержать некоторые токены из конца усечённой последовательности.

is_split_into_words (`bool`, *необязательный*) : Указывает, является ли вход уже предтокенизированным.

pad_to_multiple_of (`int`, *optional*) : Если задано, последовательность будет дополнена до кратного указанного значения.

return_token_type_ids (`bool`, *необязательный*) : Нужно ли возвращать идентификаторы типов токенов.

return_attention_mask (`bool`, *необязательный*) : Нужно ли возвращать маску внимания.

return_overflowing_tokens (`bool`, *необязательный*) : Нужно ли возвращать последовательности токенов, выходящие за пределы.

return_special_tokens_mask (`bool`, *необязательный*) : Нужно ли возвращать информацию о маске специальных токенов.

return_offsets_mapping (`bool`, *необязательный*) : Нужно ли возвращать `(char_start, char_end)` для каждого токена.

return_length (`bool`, *необязательный*) : Нужно ли возвращать длины закодированных входных данных.

verbose (`bool`, *необязательный*) : Выводить ли дополнительную информацию и предупреждения.

padding_side (`str`, *необязательный*) : Сторона, к которой будет применена отсечка.

return_mm_token_type_ids (`bool`, *необязательный*) : Устарело, используйте `ProcessingKwargs.return_mm_token_type_ids` вместо этого. Определяет, следует ли возвращать идентификаторы типов мультимодальных токенов, указывающие на позиции токенов-заполнителей мультимодальности.

return_text_replacement_offsets (`bool`, *необязательный*) : Устарело, используйте `ProcessingKwargs.return_text_replacement_offsets` вместо этого. Определяет, следует ли возвращать смещения символов для каждого mm-плейсхолдера и его замены.

sanitize_control_tokens (`bool`, *необязательный*) : Указывает, было ли текст помечен с помощью `mark_control_tokens`: его помеченные управляющие токены кодируются как обычный текст и не разворачиваются в виде плейсхолдеров mm. Устанавливается с помощью `apply_chat_template(..., sanitize_control_tokens=True)`.

return_tensors (`str` или [TensorType](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.TensorType), *необязательный*) : Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения: - `'pt'`: возвращает объекты `torch.Tensor` PyTorch. - `'np'`: возвращает объекты `np.ndarray` NumPy.

Параметры-ключевые слова для обработки текста. Для расширенной документации обратитесь к методам и строкам документации, связанным с tokenization_utils_base.

#### transformers.ImagesKwargs[[transformers.ImagesKwargs]]

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L254)

**Параметры:**

do_convert_rgb (`bool`) : Преобразовать ли изображение в формат RGB.

do_resize (`bool`, *необязательный*) : Указывает, нужно ли изменить размер изображения.

size (`dict[str, int]`, *необязательный*) : Изменение размера с использованием одного из поддерживаемых словарей размеров. Границы пиксельной площади задаются с помощью `{"min_pixels": int, "max_pixels": int}`.

default_to_square (`bool`, *необязательный*, по умолчанию `self.default_to_square`) : Использовать ли квадратную форму по умолчанию при изменении размера, если size является int.

crop_size (`dict[str, int]`, *необязательный*) : Желаемый размер вывода при применении центрированного кадрирования.

resample (`PILImageResampling`, *необязательный*) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_rescale (`bool`, *необязательный*) : Указывает, следует ли масштабировать изображение с использованием заданного коэффициента `rescale_factor`.

rescale_factor (`int` или `float`, *необязательный*) : Коэффициент масштабирования, используемый при изменении размера изображения.

do_normalize (`bool`, *необязательный*) : Нужно ли нормализовать изображение.

image_mean (`float` или `list[float] or tuple[float, float, float]`, *необязательный*) : Среднее значение, используемое при нормализации изображения.

image_std (`float` или `list[float] or tuple[float, float, float]`, *необязательный*) : Стандартное отклонение, используемое при нормализации изображения.

do_pad (`bool`, *необязательный*) : Нужно ли выравнивать изображения в батче.

pad_size (`dict[str, int]`, *необязательный*) : Размер `{"height": int, "width" int}`, до которого следует дополнить изображения.

do_center_crop (`bool`, *необязательный*) : Нужно ли центрировать обрезку изображения.

data_format (`ChannelDimension` или `str`, *необязательный*) : Формат размерности каналов для выходного изображения.

input_data_format (`ChannelDimension` или `str`, *необязательный*) : Формат размерности каналов для входного изображения.

device (`Union[str, torch.Tensor]`, *необязательный*) : Устройство для обработки (например, "cpu", "cuda"), актуально только для torchvision backend.

return_tensors (`str` или [TensorType](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.TensorType), *необязательный*) : Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения: - `'pt'`: возвращает объекты `torch.Tensor` PyTorch. - `'np'`: возвращает объекты `np.ndarray` NumPy.

disable_grouping (`bool`, *необязательный*) : Нужно ли группировать изображения по формам при обработке; актуально только для бэкенда torchvision.

image_seq_length (`int`, *optional*) : Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.

Параметры-ключевые слова для обработки изображений. Для расширенной документации обратитесь к методам и строкам документации соответствующего класса ImageProcessor.

#### transformers.VideosKwargs[[transformers.VideosKwargs]]

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L328)

**Параметры:**

do_convert_rgb (`bool`) : Преобразовать ли видео в формат RGB.

do_resize (`bool`) : Указывает, нужно ли изменять размер видео.

size (`dict[str, int]`, *необязательный*) : Изменить размер меньшей стороны входных данных до `size["shortest_edge"]`.

default_to_square (`bool`, *необязательный*, по умолчанию `self.default_to_square`) : Использовать ли квадратную форму по умолчанию при изменении размера, если size является int.

resample (`PILImageResampling`, *необязательный*) : Фильтр ресемплинга, используемый при изменении размера видео.

do_rescale (`bool`, *необязательный*) : Нужно ли масштабировать видео с использованием указанного коэффициента `rescale_factor`.

rescale_factor (`int` или `float`, *необязательный*) : Коэффициент масштабирования, используемый при изменении размера видео.

do_normalize (`bool`, *необязательный*) : Нужно ли нормализовать видео.

image_mean (`float` или `list[float] or tuple[float, float, float]`, *необязательный*) : Среднее значение, используемое при нормализации видео.

image_std (`float` или `list[float] or tuple[float, float, float]`, *необязательный*) : Стандартное отклонение, используемое при нормализации видео.

do_center_crop (`bool`, *необязательный*) : Нужно ли центрировать обрезку видео.

do_pad (`bool`, *необязательный*) : Нужно ли выравнивать изображения в батче.

do_sample_frames (`bool`, *необязательный*) : Нужно ли выбирать кадры из видео перед обработкой или обрабатывать всё видео целиком.

video_metadata (`Union[VideoMetadata, dict]`, *необязательный*) : Метаданные видео, содержащие информацию о общей длительности, частоте кадров (fps) и общем количестве кадров.

num_frames (`int`, *optional*) : Максимальное количество кадров для выборки при `do_sample_frames=True`.

fps (`int` или `float`, *необязательный*) : Целевое количество кадров для выборки в секунду при `do_sample_frames=True`.

crop_size (`dict[str, int]`, *необязательный*) : Желаемый размер вывода при применении центрированного кадрирования.

data_format (`ChannelDimension` или `str`, *необязательный*) : Формат размерности каналов для выходного видео.

input_data_format (`ChannelDimension` или `str`, *необязательный*) : Формат размерности каналов для входного видео.

device (`Union[str, torch.Tensor]`, *необязательный*) : Устройство, используемое для обработки (например, "cpu", "cuda"), актуально только для быстрой обработки изображений.

return_metadata (`bool`, *необязательный*) : Нужно ли возвращать метаданные видео.

return_tensors (`str` или [TensorType](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.TensorType), *необязательный*) : Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения: - `'pt'`: возвращает объекты `torch.Tensor` PyTorch. - `'np'`: возвращает объекты `np.ndarray` NumPy.

Параметры по имени для обработки видео.

#### transformers.AudioKwargs[[transformers.AudioKwargs]]

[Источник](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/processing_utils.py#L405)

**Параметры:**

sampling_rate (`int`, *optional*) : Частота дискретизации, с которой была оцифрована входная `raw_speech`.

raw_speech (`np.ndarray`, `list[float]`, `list[np.ndarray]`, `list[list[float]]`) : Последовательность или батч последовательностей, для которых требуется выравнивание. Каждая последовательность может быть массивом numpy, списком значений float, списком массивов numpy или списком списков значений float. Аудио должно быть моноканальным, а не стерео, то есть одно значение float на временной шаг.

padding (`bool`, `str` or [PaddingStrategy](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.utils.PaddingStrategy), *optional*) : Выберите стратегию выравнивания возвращаемых последовательностей (с учётом стороны выравнивания и индекса выравнивания модели) из следующих:  - `True` or `'longest'`: Выровнять до самой длинной последовательности в батче (или не выравнивать, если предоставлена только одна последовательность). - `'max_length'`: Выровнять до максимальной длины, указанной в аргументе `max_length`, или до максимально допустимой входной длины для модели, если этот аргумент не указан. - `False` or `'do_not_pad'`

max_length (`int`, *optional*) : Максимальная длина возвращаемого списка и, при необходимости, длина отступов (см. выше).

truncation (`bool`, *необязательный*) : Включает усечение, чтобы обрезать входные последовательности длиннее *max_length* до *max_length*.

pad_to_multiple_of (`int`, *optional*) : Если задано, последовательность будет дополнена до кратного указанного значения.

return_attention_mask (`bool`, *необязательный*) : следует ли [__call__()](/docs/transformers/v5.23.0/ru/model_doc/audio-spectrogram-transformer#transformers.ASTFeatureExtractor.__call__) возвращать `attention_mask`.

device (`str` или `torch.device`, *optional*) : Устройство, на котором вычисляются аудиопризнаки (например, "cpu", "cuda"); актуально только для экстракторов признаков, которые вычисляют их с помощью torch.

return_tensors (`str` или [TensorType](/docs/transformers/v5.23.0/ru/internal/file_utils#transformers.TensorType), *необязательный*) : Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения: - `'pt'`: возвращает объекты `torch.Tensor` PyTorch. - `'np'`: возвращает объекты `np.ndarray` NumPy.

load_audio_backend (`str`, *необязательный*) : Бэкенд, используемый `load_audio()` для декодирования/ресемплинга аудио, указанного по URL/пути в `apply_chat_template`. Одно из значений `"auto"`, `"torchcodec"`, `"soundfile"`, `"torchaudio"` (`"librosa"` — устаревший псевдоним для `"soundfile"`).

Параметры-ключевые слова для обработки аудио.

