Transformers documentation

Обработчик изображений

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Обработчик изображений

Обработчик изображений отвечает за загрузку изображений (при необходимости), подготовку входных признаков для моделей компьютерного зрения и постобработку их выходов. Сюда входят такие преобразования, как изменение размера, нормализация и преобразование в тензоры PyTorch и Numpy. Также может включать специфичную для модели постобработку, например, преобразование логитов в маски сегментации.

Обработчики изображений используют архитектуру на основе бэкендов. Иерархия классов:

  • BaseImageProcessor — абстрактный базовый класс (только для обратной совместимости; не создавайте экземпляры напрямую)
    • TorchvisionBackend — заданный по умолчанию бэкенд на базе torchvision. Ускоренный на GPU и значительно более быстрый, чем бэкенд PIL. Все модели предоставляют класс <Model>ImageProcessor, который наследуется от него.
    • PilBackend — альтернативный бэкенд на основе PIL/NumPy. Переносимый, работает только на CPU. Доступен только для старых моделей через класс <Model>ImageProcessorPil; полезен, когда требуется точное числовое совпадение с исходной реализацией.

Оба бэкенда предоставляют одинаковый API. Используйте атрибут backend, чтобы определить, какой бэкенд использует загруженный процессор (например, processor.backend == "torchvision").

Передайте backend в AutoImageProcessor.from_pretrained(), чтобы выбрать бэкенд. Если backend не указан (значение по умолчанию), используется torchvision, если он установлен, иначе применяется PIL. Исключение составляют несколько моделей, использующих интерполяцию Lanczos (Chameleon, Flava, Idefics3, SmolVLM): для них значением по умолчанию является PIL, если версия torchvision < 0.27. Принудительное указание backend="torchvision" для этих моделей при версии torchvision < 0.27 приводит к использованию интерполяции BICUBIC, поскольку torchvision поддерживает Lanczos для тензоров только начиная с версии 0.27.

from transformers import AutoImageProcessor

# Default: picks torchvision if available, otherwise pil
processor = AutoImageProcessor.from_pretrained("facebook/detr-resnet-50")

# Explicitly request torchvision
processor = AutoImageProcessor.from_pretrained("facebook/detr-resnet-50", backend="torchvision")

# Explicitly request PIL
processor = AutoImageProcessor.from_pretrained("facebook/detr-resnet-50", backend="pil")

При использовании бэкенда torchvision можно задать аргумент device, чтобы указать устройство, на котором следует выполнять обработку. По умолчанию обработка выполняется на том же устройстве, что и входные данные, если они являются тензорами, иначе — на CPU.

import torch
from torchvision.io import read_image
from transformers import DetrImageProcessor

device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"

images = read_image("image.jpg")
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50")
images_processed = processor(images, return_tensors="pt", device=device)

Ниже приведены сравнения скорости между бэкендами torchvision и PIL для моделей DETR и RT-DETR, а также их влияние на общее время инференса:

Эти бенчмарки были запущены на инстансе AWS EC2 g5.2xlarge с использованием GPU NVIDIA A10G Tensor Core.

ImageProcessingMixin

класс transformers.ImageProcessingMixin

< >

( **kwargs )

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

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )

Параметры

  • pretrained_model_name_or_path (str или os.PathLike) — Это может быть:
    • строка, model id предобученного image_processor, размещенного в репозитории модели на huggingface.co.
    • путь к каталогу, содержащему файл процессора изображений, сохранённый с помощью метода save_pretrained(), например, ./my_model_directory/.
    • путь к сохранённому JSON-файлу процессора изображений, например, ./my_model_directory/preprocessor_config.json.
  • cache_dir (str or os.PathLike, необязательный) — Путь к каталогу, в котором следует кэшировать загруженный предобученный процессор изображений модели, если стандартный кэш не используется.
  • force_download (bool, необязательный, по умолчанию False) — Следует ли принудительно (пере)скачивать файлы процессора изображений и заменять кэшированные версии, если они существуют.
  • proxies (dict[str, str], необязательный) — Словарь прокси-серверов, используемых по протоколу или конечной точке, например, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Прокси применяются при каждом запросе.
  • token (str или bool, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если указано True или параметр не задан, будет использован токен, сгенерированный при выполнении hf auth login (хранится в ~/.huggingface).
  • revision (str, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Это может быть имя ветки, имя тега или идентификатор коммита, поскольку для хранения моделей и других артефактов на huggingface.co используется система на базе git, поэтому revision может быть любым идентификатором, разрешённым git.

Создайте экземпляр типа ImageProcessingMixin из image processor.

Примеры:

# We can't instantiate directly the base class *ImageProcessingMixin* so let's show the examples on a
# derived class: *CLIPImageProcessor*
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32"
)  # Download image_processing_config from huggingface.co and cache.
image_processor = CLIPImageProcessor.from_pretrained(
    "./test/saved_model/"
)  # E.g. image processor (or model) was saved using *save_pretrained('./test/saved_model/')*
image_processor = CLIPImageProcessor.from_pretrained("./test/saved_model/preprocessor_config.json")
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False
)
assert image_processor.do_normalize is False
image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False, return_unused_kwargs=True
)
assert image_processor.do_normalize is False
assert unused_kwargs == {"foo": False}

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Параметры

  • save_directory (str или os.PathLike) — Каталог, в котором будет сохранён JSON-файл процессора изображений (будет создан, если не существует).
  • push_to_hub (bool, необязательный, по умолчанию False) — Указывает, следует ли после сохранения отправить вашу модель в Hugging Face model hub. С помощью repo_id можно указать репозиторий, в который нужно отправить модель (по умолчанию используется имя save_directory в вашем пространстве имён).
  • kwargs (dict[str, Any], необязательный) — Дополнительные именованные аргументы, передаваемые в метод push_to_hub().

Сохраните объект image processor в каталог save_directory, чтобы его можно было загрузить с помощью метода класса from_pretrained().

BatchFeature

класс transformers.BatchFeature

< >

( data: dict[str, typing.Any] | None = Nonetensor_type: None | str | transformers.utils.generic.TensorType = Noneskip_tensor_conversion: list[str] | set[str] | None = None )

Параметры

  • data (dict, необязательный) — Словарь списков/массивов/тензоров, возвращаемый методами call/pad (‘input_values’, ‘attention_mask’, и т. д.).
  • tensor_type (Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy.
  • skip_tensor_conversion (list[str] или set[str], необязательный) — Список или множество ключей, которые НЕ следует преобразовывать в тензоры, даже если указан tensor_type.

Содержит результат методов pad() и специфичных для экстрактора признаков __call__.

Этот класс наследуется от словаря Python и может использоваться как словарь.

convert_to_tensors

< >

( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )

Параметры

  • tensor_type (str или TensorType, необязательный) — Тип тензоров для использования. Если str, должно быть одним из значений перечисления TensorType. Если None, изменения не вносятся.
  • skip_tensor_conversion (list[str] или set[str], необязательный) — Список или множество ключей, которые НЕ следует преобразовывать в тензоры, даже если указан tensor_type.

Преобразуйте внутреннее содержимое в тензоры.

Note: Значения, не имеющие структуры, подобной массиву (например, строки, словари, списки строк), автоматически пропускаются и не преобразуются в тензоры. Для неровных массивов (списков массивов различной длины) преобразование всё же выполняется, хотя в процессе могут возникать ошибки.

до

< >

( *args**kwargs ) → BatchFeature

Параметры

  • args (Tuple) — Будет передано в функцию to(...) тензоров.
  • kwargs (Dict, необязательный) — Будет передан в функцию to(...) тензоров. Чтобы включить асинхронную передачу данных, установите флаг non_blocking в kwargs (по умолчанию False).

Возвращает

BatchFeature

Тот же самый экземпляр после модификации.

Отправьте все значения на устройство, вызвав v.to(*args, **kwargs) (только PyTorch). Это должно поддерживать приведение к различным dtypes и отправку BatchFeature на другое device.

BaseImageProcessor

класс transformers.BaseImageProcessor

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Базовый класс для процессоров изображений с архитектурой бэкенда на основе наследования.

Этот класс определяет конвейер предобработки: валидацию kwargs, подготовку входных данных и передачу управления методу _preprocess бэкенда. Подклассы бэкендов (TorchvisionBackend, PilBackend) наследуются от этого класса и реализуют фактические операции с изображениями (изменение размера, обрезка, масштабирование, нормализация и т. д.). Специфичные для модели процессоры изображений наследуются от соответствующего класса бэкенда.

Обзор архитектуры

Иерархия классов:

BaseImageProcessor (этот класс) ├── TorchvisionBackend (ускорение на GPU, torch.Tensor) │ └── ModelImageProcessor (например, LlavaNextImageProcessor) └── PilBackend (переносимый CPU, np.ndarray) └── ModelImageProcessorPil (например, CLIPImageProcessorPil)

Поток предобработки:

call() → preprocess() → _preprocess_image_like_inputs() → _prepare_image_like_inputs() (вызывает process_image для каждого изображения) → _preprocess() (операции над батчем: resize, crop и т. д.)

  • process_image: Реализуется бэкендами. Преобразует один необработанный вход (PIL, NumPy или Tensor) в рабочий формат бэкенда (torch.Tensor или np.ndarray), обрабатывает конвертацию в RGB и перестановку каналов.
  • _preprocess: Реализуется бэкендами. Выполняет фактическую пакетную обработку (изменение размера, центрированный кроп, масштабирование, нормализация, паддинг) и возвращает BatchFeature.

Базовая реализация

Для процессоров, которым нужны только стандартные операции (resize, center crop, rescale, normalize), унаследуйте класс от бэкенда и определите атрибуты класса:

from transformers.image_processing_backends import PilBackend

class MyImageProcessorPil(PilBackend): resample = PILImageResampling.BILINEAR image_mean = IMAGENET_DEFAULT_MEAN image_std = IMAGENET_DEFAULT_STD size = {“height”: 224, “width”: 224} do_resize = True do_rescale = True do_normalize = True

Метод _preprocess бэкенда автоматически обрабатывает стандартный конвейер.

Пользовательская обработка

Для процессоров, требующих пользовательской логики (например, обработки по патчам, нескольких типов входных данных), переопределите _preprocess в вашем процессоре, специфичном для модели. Метод _preprocess принимает уже подготовленные изображения (преобразованные в формат бэкенда с порядком каналов первым) и выполняет фактическую обработку:

class MyImageProcessor(TorchvisionBackend): def _preprocess(self, images, do_resize, size, do_normalize, image_mean, image_std, **kwargs):

Группировка изображений по форме для эффективных пакетных операций

grouped_images, grouped_images_index = group_images_by_shape(images) processed_groups = {} for shape, stacked_images in grouped_images.items(): if do_resize: stacked_images = self.resize(stacked_images, size=size) if do_normalize: stacked_images = self.normalize(stacked_images, mean=image_mean, std=image_std) processed_groups[shape] = stacked_images processed_images = reorder_images(processed_groups, grouped_images_index) return BatchFeature(data={“pixel_values”: processed_images})

Для процессоров, обрабатывающих несколько типов входных данных (например, изображения + карты сегментации), переопределите _preprocess_image_like_inputs:

def _preprocess_image_like_inputs( self, images: ImageInput, segmentation_maps: ImageInput | None = None, kwargs, ) -> BatchFeature: images = self._prepare_image_like_inputs(images,kwargs) batch_feature = self._preprocess(images, **kwargs)

if segmentation_maps is not None: maps = self._prepare_image_like_inputs(segmentation_maps, kwargs) batch_feature[“labels”] = self._preprocess(maps,kwargs).pixel_values

return batch_feature

Расширение поведения бэкенда

Чтобы настроить операции для конкретного бэкенда, создайте подкласс бэкенда и переопределите его методы:

from transformers.image_processing_backends import TorchvisionBackend, PilBackend

class MyTorchvisionProcessor(TorchvisionBackend): def resize(self, image, size, **kwargs):

Пользовательская логика изменения размера для torchvision

return super().resize(image, size, **kwargs)

class MyPilProcessor(PilBackend): def resize(self, image, size, **kwargs):

Пользовательская логика изменения размера для PIL

return super().resize(image, size, **kwargs)

Пользовательские параметры

Чтобы добавить параметры, выходящие за рамки ImagesKwargs, создайте собственный класс kwargs и установите его в качестве valid_kwargs:

class MyImageProcessorKwargs(ImagesKwargs): custom_param: int | None = None

class MyImageProcessor(TorchvisionBackend): valid_kwargs = MyImageProcessorKwargs custom_param = 10 # default value

Ключевые замечания

  • Выбор бэкенда выполняется на уровне класса: наследуйте от TorchvisionBackend или PilBackend
  • Бэкенды получают изображения в виде torch.Tensor (Torchvision) или np.ndarray (PIL), всегда с каналами впереди
  • Все изображения имеют размерность каналов первой при обработке, независимо от бэкенда
  • Аргументы, не переданные пользователем, по умолчанию принимают значения атрибутов класса
  • Классы бэкендов инкапсулируют логику, специфичную для каждого бэкенда (resize, normalize и т. д.), и могут быть переопределены

center_crop

< >

( image: ndarraysize: dictdata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs )

Параметры

  • image (np.ndarray) — Изображение для центрированного кадрирования.
  • size (dict[str, int]) — Размер выходного изображения.
  • data_format (str или ChannelDimension, необязательный) — Формат размерности каналов для выходного изображения. Если не задан, используется формат размерности каналов входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).
  • input_data_format (ChannelDimension или str, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).

Центральное обрезание изображения до размера (size["height"], size["width"]). Если размер входного изображения меньше crop_size по любому краю, изображение дополняется нулями, а затем выполняется центральное обрезание.

normalize

< >

( image: ndarraymean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]data_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs ) → np.ndarray

Параметры

  • image (np.ndarray) — Изображение для нормализации.
  • mean (float или Iterable[float]) — Среднее значение изображения, используемое для нормализации.
  • std (float или Iterable[float]) — Стандартное отклонение изображения, используемое для нормализации.
  • data_format (str или ChannelDimension, необязательный) — Формат размерности каналов для выходного изображения. Если не задан, используется формат размерности каналов входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).
  • input_data_format (ChannelDimension или str, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).

Возвращает

np.ndarray

Нормализованное изображение.

Нормализация изображения. image = (image - image_mean) / image_std.

preprocess

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*argsimage_like_kwargs: dict[str, typing.Any] | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> ) → ~image_processing_base.BatchFeature

Параметры

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установите do_rescale=False.
  • image_like_kwargs (dict[str, Any], необязательный) — Флаг для разработчиков, позволяющий передать дополнительные входные данные, похожие на изображения, которые также будут предобработаны. Используйте этот параметр только в том случае, если передача входных данных через kwarg не работает. Например, preprocess(images, masks=masks) — предпочтительный вариант, но для некоторых моделей он приводит к проблемам с приоритетом аргументов. В таких случаях можно использовать preprocess(images, image_like_inputs={"masks": masks}).
  • do_convert_rgb (bool, kwargs, optional) — Следует ли преобразовать изображение в RGB.
  • do_resize (bool, kwargs, optional) — Указывает, нужно ли изменить размер изображения.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Описывает максимальные размеры входных данных для модели.
  • default_to_square (bool, kwargs, optional) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size является целым числом.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер выходного изображения после применения center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Фильтр ресемплинга, используемый при изменении размера изображения. Может быть одним из значений перечисления PILImageResampling. Влияет только в том случае, если do_resize установлено в True.
  • do_rescale (bool, kwargs, optional) — Нужно ли перемасштабировать изображение.
  • rescale_factor (float, kwargs, optional) — Коэффициент масштабирования, применяемый к изображению, если do_rescale установлен в True.
  • do_normalize (bool, kwargs, optional) — Нужно ли нормализовать изображение.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • do_pad (bool, kwargs, optional) — Определяет, нужно ли выравнивать изображение. Выравнивание выполняется либо до максимального размера в батче, либо до фиксированного квадратного размера для каждого изображения. Точная стратегия выравнивания зависит от модели.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер в формате {"height": int, "width" int}, до которого следует дополнить изображения. Должен быть больше любого размера изображения, предоставленного для предобработки. Если pad_size не указан, изображения будут дополнены до наибольшей высоты и ширины в батче. Применяется только при do_pad=True.
  • do_center_crop (bool, kwargs, optional) — Выполнять ли центрированную обрезку изображения.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Поддерживается только ChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).
    • "none" или ChannelDimension.NONE: изображение в формате (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Устройство, на котором будут обрабатываться видео. Если не задано, устройство определяется на основе входных видео.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Возвращает стопку тензоров, если установлено значение 'pt', иначе возвращает список тензоров.
  • disable_grouping (bool, kwargs, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.

Возвращает

~image_processing_base.BatchFeature

  • data (dict) — Словарь списков/массивов/тензоров, возвращаемый методом call (‘pixel_values’ и т. д.).
  • tensor_type (Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy.

Предобработка изображения или пакета изображений.

process_image

< >

( *args**kwargs )

Обработка одного исходного изображения в рабочий формат бэкенда.

Реализован в подклассах бэкендов (TorchvisionBackend, PilBackend). Преобразует исходный вход (изображение PIL, массив NumPy или тензор torch) во внутренний формат бэкенда (torch.Tensor для Torchvision, np.ndarray для PIL), выполняет преобразование в RGB и обеспечивает порядок каналов в начале.

rescale

< >

( image: ndarrayscale: floatdata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs ) → np.ndarray

Параметры

  • image (np.ndarray) — Изображение для масштабирования.
  • scale (float) — Коэффициент масштабирования для перемасштабирования значений пикселей.
  • data_format (str или ChannelDimension, необязательный) — Формат размерности каналов для выходного изображения. Если не задан, используется формат размерности каналов входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).
  • input_data_format (ChannelDimension или str, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).

Возвращает

np.ndarray

Масштабированное изображение.

Масштабирование изображения с помощью коэффициента масштабирования. image = image * scale.

TorchvisionBackend

класс transformers.TorchvisionBackend

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Бэкенд Torchvision для пакетной обработки изображений с ускорением на GPU.

center_crop

< >

( image: torch.Tensorsize: SizeDict**kwargs )

Центральное обрезание изображения с помощью Torchvision.

convert_to_rgb

< >

( image: torch.Tensorinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )

Преобразование изображения в формат RGB.

fetch_images

< >

( image_url_or_urls: str | list[str] | list[list[str]] )

Преобразовать один URL или список URL/путей в объекты torch.Tensor.

Уже валидные объекты изображений (тензоры, массивы numpy, изображения PIL) передаются без изменений, чтобы вызывающие функции, которые предварительно загружают изображения, не были затронуты.

normalize

< >

( image: torch.Tensormean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]inplace: bool = False**kwargs )

Нормализуйте изображение с помощью Torchvision.

pad

< >

( images: listpad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = Falsedisable_grouping: bool | None = Falseis_nested: bool | None = False**kwargs )

Выполните выравнивание изображений с помощью Torchvision с использованием пакетных операций.

process_image

< >

( image: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]do_convert_rgb: bool | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = Nonedevice: typing.Optional[ForwardRef('torch.device')] = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Обработка одного изображения для бэкенда torchvision.

rescale

< >

( image: torch.Tensorscale: float**kwargs )

Масштабирование изображения с помощью коэффициента масштаба в Torchvision.

rescale_and_normalize

< >

( images: torch.Tensordo_rescale: boolrescale_factor: floatdo_normalize: boolimage_mean: float | list[float]image_std: float | list[float] )

Масштабирование и нормализация изображений с помощью Torchvision (объединённые для эффективности).

resize

< >

( image: torch.Tensorsize: SizeDictresample: PILImageResampling | tvF.InterpolationMode | int | None = Noneantialias: bool = True**kwargs )

Изменение размера изображения с помощью Torchvision.

PilBackend

класс transformers.PilBackend

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Бэкенд PIL/NumPy для переносимой обработки изображений только на CPU.

center_crop

< >

( image: ndarraysize: SizeDict**kwargs )

Центральное обрезание изображения с помощью NumPy.

convert_to_rgb

< >

( image: ndarrayinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )

Преобразование изображения в формат RGB.

normalize

< >

( image: ndarraymean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]**kwargs )

Нормализация изображения с помощью NumPy.

pad

< >

( images: listpad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = False**kwargs )

Заполните изображения нулями до указанного размера с помощью NumPy.

process_image

< >

( image: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]do_convert_rgb: bool | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Обработка одного изображения для бэкенда PIL.

rescale

< >

( image: ndarrayscale: float**kwargs )

Масштабирование изображения с помощью коэффициента масштаба в NumPy.

resize

< >

( image: ndarraysize: SizeDictresample: PILImageResampling | None = Nonereducing_gap: int | None = None**kwargs )

Изменение размера изображения с помощью PIL/NumPy.

Update on GitHub