Transformers documentation
Обработчик изображений
Обработчик изображений
Обработчик изображений отвечает за загрузку изображений (при необходимости), подготовку входных признаков для моделей компьютерного зрения и постобработку их выходов. Сюда входят такие преобразования, как изменение размера, нормализация и преобразование в тензоры PyTorch и Numpy. Также может включать специфичную для модели постобработку, например, преобразование логитов в маски сегментации.
Обработчики изображений используют архитектуру на основе бэкендов. Иерархия классов:
- BaseImageProcessor — абстрактный базовый класс (только для обратной совместимости; не создавайте экземпляры напрямую)
- TorchvisionBackend — заданный по умолчанию бэкенд на базе torchvision. Ускоренный на GPU и значительно более быстрый, чем бэкенд PIL. Все модели предоставляют класс
<Model>ImageProcessor, который наследуется от него. - PilBackend — альтернативный бэкенд на основе PIL/NumPy. Переносимый, работает только на CPU. Доступен только для старых моделей через класс
<Model>ImageProcessorPil; полезен, когда требуется точное числовое совпадение с исходной реализацией.
- TorchvisionBackend — заданный по умолчанию бэкенд на базе torchvision. Ускоренный на GPU и значительно более быстрый, чем бэкенд PIL. Все модели предоставляют класс
Оба бэкенда предоставляют одинаковый 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
Это миксин для процессора изображений, используемый для предоставления функциональности сохранения/загрузки для последовательных и извлекающих признаки изображений экстракторов.
from_pretrained
< source >( 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 (
stroros.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
< source >( 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
< source >( 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
< source >( 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: Значения, не имеющие структуры, подобной массиву (например, строки, словари, списки строк), автоматически пропускаются и не преобразуются в тензоры. Для неровных массивов (списков массивов различной длины) преобразование всё же выполняется, хотя в процессе могут возникать ошибки.
до
< source >( *args**kwargs ) → BatchFeature
Отправьте все значения на устройство, вызвав v.to(*args, **kwargs) (только PyTorch). Это должно поддерживать приведение к различным dtypes и отправку BatchFeature на другое device.
BaseImageProcessor
класс transformers.BaseImageProcessor
< source >( **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
< source >( 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
< source >( 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
< source >( 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.
Предобработка изображения или пакета изображений.
Обработка одного исходного изображения в рабочий формат бэкенда.
Реализован в подклассах бэкендов (TorchvisionBackend, PilBackend). Преобразует исходный вход (изображение PIL, массив NumPy или тензор torch) во внутренний формат бэкенда (torch.Tensor для Torchvision, np.ndarray для PIL), выполняет преобразование в RGB и обеспечивает порядок каналов в начале.
rescale
< source >( 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
< source >( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )
Бэкенд Torchvision для пакетной обработки изображений с ускорением на GPU.
Центральное обрезание изображения с помощью Torchvision.
convert_to_rgb
< source >( image: torch.Tensorinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )
Преобразование изображения в формат RGB.
Преобразовать один URL или список URL/путей в объекты torch.Tensor.
Уже валидные объекты изображений (тензоры, массивы numpy, изображения PIL) передаются без изменений, чтобы вызывающие функции, которые предварительно загружают изображения, не были затронуты.
normalize
< source >( image: torch.Tensormean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]inplace: bool = False**kwargs )
Нормализуйте изображение с помощью Torchvision.
pad
< source >( 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
< source >( 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.
Масштабирование изображения с помощью коэффициента масштаба в Torchvision.
rescale_and_normalize
< source >( images: torch.Tensordo_rescale: boolrescale_factor: floatdo_normalize: boolimage_mean: float | list[float]image_std: float | list[float] )
Масштабирование и нормализация изображений с помощью Torchvision (объединённые для эффективности).
resize
< source >( image: torch.Tensorsize: SizeDictresample: PILImageResampling | tvF.InterpolationMode | int | None = Noneantialias: bool = True**kwargs )
Изменение размера изображения с помощью Torchvision.
PilBackend
класс transformers.PilBackend
< source >( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )
Бэкенд PIL/NumPy для переносимой обработки изображений только на CPU.
Центральное обрезание изображения с помощью NumPy.
convert_to_rgb
< source >( image: ndarrayinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )
Преобразование изображения в формат RGB.
normalize
< source >( image: ndarraymean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]**kwargs )
Нормализация изображения с помощью NumPy.
pad
< source >( images: listpad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = False**kwargs )
Заполните изображения нулями до указанного размера с помощью NumPy.
process_image
< source >( 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.
Масштабирование изображения с помощью коэффициента масштаба в NumPy.
resize
< source >( image: ndarraysize: SizeDictresample: PILImageResampling | None = Nonereducing_gap: int | None = None**kwargs )
Изменение размера изображения с помощью PIL/NumPy.