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

Утилиты для процессоров изображений

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

Большинство из них полезны только в том случае, если вы изучаете код обработчиков изображений в библиотеке.

Преобразования изображений

transformers.image_transforms.center_crop

< >

( image: ndarraysize: tupledata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

Параметры

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

Возвращает

np.ndarray

Обрезанное изображение.

Обрезает image до указанного size с помощью центральной обрезки. Обратите внимание, что если изображение слишком мало для обрезки до заданного размера, оно будет дополнено (так что возвращаемый результат всегда будет иметь размер size).

transformers.image_transforms.center_to_corners_format

< >

( bboxes_center: TensorType )

Преобразует ограничивающие рамки из формата «центр» в формат «углы».

center format: содержит координату центра рамки и её размеры по ширине и высоте (center_x, center_y, width, height) corners format: содержит координаты верхнего левого и нижнего правого углов рамки (top_left_x, top_left_y, bottom_right_x, bottom_right_y)

transformers.image_transforms.corners_to_center_format

< >

( bboxes_corners: TensorType )

Преобразует ограничивающие рамки из формата углов в формат центра.

формат corners: содержит координаты верхнего левого и нижнего правого углов рамки (top_left_x, top_left_y, bottom_right_x, bottom_right_y) формат center: содержит координату центра рамки, а также её ширину и высоту (center_x, center_y, width, height)

transformers.image_transforms.id_to_rgb

< >

( id_map )

Преобразует уникальный идентификатор в цвет RGB.

transformers.image_transforms.normalize

< >

( image: ndarraymean: float | collections.abc.Collection[float]std: float | collections.abc.Collection[float]data_format: transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )

Параметры

  • image (np.ndarray) — Изображение для нормализации.
  • mean (float или Collection[float]) — Среднее значение, используемое для нормализации.
  • std (float или Collection[float]) — Стандартное отклонение, используемое для нормализации.
  • data_format (ChannelDimension, необязательный) — Формат размерности каналов выходного изображения. Если не задан, будет использован формат, выведенный из входных данных.
  • input_data_format (ChannelDimension, необязательный) — Формат размерности каналов входного изображения. Если не задан, будет использован формат, выведенный из входных данных.

Нормализует image с использованием среднего значения и стандартного отклонения, заданных параметрами mean и std.

image = (image - mean) / std

transformers.image_transforms.pad

< >

( image: ndarraypadding: int | tuple[int, int] | collections.abc.Iterable[tuple[int, int]]mode: PaddingMode = <PaddingMode.CONSTANT: 'constant'>constant_values: float | collections.abc.Iterable[float] = 0.0data_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

Параметры

  • image (np.ndarray) — Изображение, которое нужно дополнить.
  • padding (int или tuple[int, int] или Iterable[tuple[int, int]]) — Отступы, применяемые к краям осей высоты и ширины. Допускаются три формата:
    • ((before_height, after_height), (before_width, after_width)) уникальные ширины отступов для каждой оси.
    • ((before, after),) задаёт одинаковые значения before и after для высоты и ширины.
    • (pad,) или int — это сокращение для before = after = pad для всех осей.
  • mode (PaddingMode) — Режим отступов. Может быть одним из:
    • "constant": заполнение постоянным значением.
    • "reflect": дополняет нулями отражением вектора, зеркально отражённым по первым и последним значениям вектора вдоль каждой оси.
    • "replicate": дополняет массив повторением последнего значения на границе вдоль каждой оси.
    • "symmetric": дополняет массив отражением вектора, зеркально отражённым относительно края массива.
  • constant_values (float или Iterable[float], необязательный) — Значение, используемое для отступов, если mode равно "constant".
  • data_format (str или ChannelDimension, необязательный) — Формат размерности каналов для выходного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов). Если не задано, будет использован тот же формат, что и у входного изображения.
  • input_data_format (str или ChannelDimension, необязательный) — Формат размерности каналов для входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (height, width, num_channels). Если не задано, будет использован формат входного изображения, определённый автоматически.

Возвращает

np.ndarray

Изображение с отступами.

Добавляет к image отступы с указанными значениями (высота, ширина) padding и mode.

transformers.image_transforms.rgb_to_id

< >

( color )

Преобразует цвет RGB в уникальный идентификатор.

transformers.image_transforms.rescale

< >

( image: ndarrayscale: floatdata_format: transformers.image_utils.ChannelDimension | None = Nonedtype: dtype = <class 'numpy.float32'>input_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

Параметры

  • image (np.ndarray) — Изображение для масштабирования.
  • scale (float) — Масштаб, используемый для масштабирования изображения.
  • data_format (ChannelDimension, необязательный) — Формат размерности каналов изображения. Если не указан, будет совпадать с форматом входного изображения.
  • dtype (np.dtype, необязательный, по умолчанию np.float32) — dtype выходного изображения. По умолчанию np.float32. Используется для обратной совместимости с экстракторами признаков.
  • input_data_format (ChannelDimension, необязательный) — Формат размерности каналов входного изображения. Если не указан, определяется из входного изображения.

Возвращает

np.ndarray

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

Масштабирует image с коэффициентом scale.

transformers.image_transforms.resize

< >

( image: ndarraysize: tupleresample: typing.Optional[ForwardRef('PILImageResampling')] = Nonereducing_gap: int | None = Nonedata_format: transformers.image_utils.ChannelDimension | None = Nonereturn_numpy: bool = Trueinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

Параметры

  • image (np.ndarray) — Изображение, размер которого нужно изменить.
  • size (tuple[int, int]) — Размер, используемый для изменения размера изображения.
  • resample (int, необязательный, по умолчанию PILImageResampling.BILINEAR) — Фильтр, используемый для ресемплинга.
  • reducing_gap (int, необязательный) — Применяет оптимизацию за счёт изменения размера изображения в два этапа. Чем больше значение reducing_gap, тем ближе результат к корректной ресемплинге. Дополнительные сведения см. в соответствующей документации Pillow.
  • data_format (ChannelDimension, необязательный) — Формат размерности каналов выходного изображения. Если не задан, будет использован формат, выведенный из входных данных.
  • return_numpy (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать изображение с измененным размером в виде массива numpy. Если False, возвращается объект PIL.Image.Image.
  • input_data_format (ChannelDimension, необязательный) — Формат размерности каналов входного изображения. Если не задан, будет использован формат, выведенный из входных данных.

Возвращает

np.ndarray

Изображение изменённого размера.

Изменяет размер image до (height, width), заданных параметром size, с использованием библиотеки PIL.

transformers.image_transforms.to_pil_image

< >

( image: typing.Union[numpy.ndarray, ForwardRef('PIL.Image.Image'), ForwardRef('torch.Tensor')]do_rescale: bool | None = Noneimage_mode: str | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → PIL.Image.Image

Параметры

  • image (PIL.Image.Image или numpy.ndarray или torch.Tensor) — Изображение, которое нужно преобразовать в формат PIL.Image.
  • do_rescale (bool, необязательный) — Применять ли коэффициент масштабирования (чтобы значения пикселей стали целыми числами от 0 до 255). По умолчанию становится True, если тип изображения — с плавающей точкой, и приведение к int приведет к потере точности, иначе — False.
  • image_mode (str, необязательный) — Режим, используемый для изображения PIL. Если не задан, будет использован режим по умолчанию для типа входного изображения.
  • input_data_format (ChannelDimension, необязательный) — Формат размерности каналов входного изображения. Если не задан, будет использован формат, выведенный из входных данных.

Возвращает

PIL.Image.Image

Преобразованное изображение.

Преобразует image в изображение PIL. При необходимости выполняет масштабирование и возвращает размерность каналов в качестве последней оси.

ImageProcessingMixin

класс transformers.ImageProcessingMixin

< >

( **kwargs )

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

fetch_images

< >

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

Преобразовать один URL или список URL в соответствующие объекты PIL.Image.

Если передан один url, возвращаемое значение будет одним объектом. Если передан список, возвращается список объектов.

from_dict

< >

( image_processor_dict: dict**kwargs ) → ImageProcessingMixin

Параметры

  • image_processor_dict (dict[str, Any]) — Словарь, который будет использован для создания объекта image processor. Такой словарь можно получить из предобученной контрольной точки с помощью метода to_dict().
  • kwargs (dict[str, Any]) — Дополнительные параметры для инициализации объекта image processor.

Возвращает

ImageProcessingMixin

Объект процессора изображений, созданный из этих параметров.

Создаёт экземпляр типа ImageProcessingMixin из словаря параметров Python.

from_json_file

< >

( json_file: str | os.PathLike ) → A image processor of type ImageProcessingMixin

Параметры

  • json_file (str или os.PathLike) — Путь к JSON-файлу, содержащему параметры.

Возвращает

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

Объект image_processor, созданный из этого JSON-файла.

Создаёт экземпляр процессора изображений типа ImageProcessingMixin из пути к JSON-файлу с параметрами.

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}

get_image_processor_dict

< >

( pretrained_model_name_or_path: str | os.PathLike**kwargs ) → tuple[Dict, Dict]

Параметры

  • pretrained_model_name_or_path (str или os.PathLike) — Идентификатор предобученной контрольной точки, из которой мы хотим получить словарь параметров.
  • subfolder (str, необязательный, по умолчанию "") — Если нужные файлы находятся в подпапке репозитория модели на huggingface.co, укажите здесь имя папки.
  • image_processor_filename (str, необязательный, по умолчанию "config.json") — Имя файла в каталоге модели, используемого для конфигурации процессора изображений.

Возвращает

tuple[Dict, Dict]

Словарь(и), который(е) будет использован для создания объекта image processor.

По pretrained_model_name_or_path определяется словарь параметров, который используется для создания экземпляра обрабатывающего изображения типа ~image_processor_utils.ImageProcessingMixin с помощью from_dict.

push_to_hub

< >

( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )

Параметры

  • repo_id (str) — Имя репозитория, в который вы хотите загрузить свой image processor. При загрузке в определённую организацию оно должно содержать имя вашей организации.
  • commit_message (str, необязательный) — Сообщение для коммита при отправке. По умолчанию — "Upload image processor".
  • commit_description (str, необязательный) — Описание коммита, который будет создан
  • private (bool, optional) — Определяет, следует ли сделать репозиторий приватным. Если None (по умолчанию), репозиторий будет публичным, если только по умолчанию для организации не задан приватный режим. Это значение игнорируется, если репозиторий уже существует.
  • token (bool или str, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если True (по умолчанию), будет использован токен, сгенерированный при выполнении hf auth login (хранится в ~/.huggingface).
  • revision (str, необязательный) — Ветка, в которую будут загружены файлы.
  • create_pr (bool, необязательный, по умолчанию False) — Создавать ли PR с загруженными файлами или коммитить изменения напрямую.
  • max_shard_size (int или str, необязательный, по умолчанию "50GB") — Применимо только к моделям. Максимальный размер контрольной точки перед её разбиением на части. Каждая из частей будет иметь размер, меньший этого значения. Если значение указано в виде строки, оно должно состоять из цифр, за которыми следует единица измерения (например, "5MB").
  • tags (list[str], необязательный) — Список тегов для загрузки на Hub.

Загрузите файл процессора изображений в 🤗 Model Hub.

Примеры:

from transformers import AutoImageProcessor

image processor = AutoImageProcessor.from_pretrained("google-bert/bert-base-cased")

# Push the image processor to your namespace with the name "my-finetuned-bert".
image processor.push_to_hub("my-finetuned-bert")

# Push the image processor to an organization with the name "my-finetuned-bert".
image processor.push_to_hub("huggingface/my-finetuned-bert")

register_for_auto_class

< >

( auto_class = 'AutoImageProcessor' )

Параметры

  • auto_class (str или type, необязательный, по умолчанию "AutoImageProcessor ") — Класс auto, с которым будет зарегистрирован этот новый image processor.

Зарегистрируйте этот класс с указанным автоклассом. Это следует использовать только для пользовательских обработчиков изображений, так как те, что входят в библиотеку, уже сопоставлены с AutoImageProcessor.

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().

to_dict

< >

( ) → dict[str, Any]

Возвращает

dict[str, Any]

Словарь всех атрибутов, из которых состоит этот экземпляр обработчика изображений.

Сериализует этот экземпляр в словарь Python.

to_json_file

< >

( json_file_path: str | os.PathLike )

Параметры

  • json_file_path (str или os.PathLike) — Путь к JSON-файлу, в котором будут сохранены параметры этого экземпляра image_processor.

Сохраните этот экземпляр в файл JSON.

to_json_string

< >

( ) → str

Возвращает

str

Строка, содержащая все атрибуты, из которых состоит этот экземпляр feature_extractor, в формате JSON.

Сериализует этот экземпляр в строку JSON.

Update on GitHub