Transformers documentation
Утилиты для процессоров изображений
Утилиты для процессоров изображений
На этой странице перечислены все вспомогательные функции, используемые процессорами изображений, в основном функциональные преобразования, применяемые для обработки изображений.
Большинство из них полезны только в том случае, если вы изучаете код обработчиков изображений в библиотеке.
Преобразования изображений
transformers.image_transforms.center_crop
< source >( 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).
Преобразует ограничивающие рамки из формата «центр» в формат «углы».
center format: содержит координату центра рамки и её размеры по ширине и высоте (center_x, center_y, width, height) corners format: содержит координаты верхнего левого и нижнего правого углов рамки (top_left_x, top_left_y, bottom_right_x, bottom_right_y)
Преобразует ограничивающие рамки из формата углов в формат центра.
формат corners: содержит координаты верхнего левого и нижнего правого углов рамки (top_left_x, top_left_y, bottom_right_x, bottom_right_y) формат center: содержит координату центра рамки, а также её ширину и высоту (center_x, center_y, width, height)
Преобразует уникальный идентификатор в цвет RGB.
transformers.image_transforms.normalize
< source >( 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
< source >( 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.
Преобразует цвет RGB в уникальный идентификатор.
transformers.image_transforms.rescale
< source >( 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
< source >( 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
< source >( 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
Это миксин для процессора изображений, используемый для предоставления функциональности сохранения/загрузки для последовательных и извлекающих признаки изображений экстракторов.
Преобразовать один URL или список URL в соответствующие объекты PIL.Image.
Если передан один url, возвращаемое значение будет одним объектом. Если передан список, возвращается список объектов.
from_dict
< source >( image_processor_dict: dict**kwargs ) → ImageProcessingMixin
Параметры
- image_processor_dict (
dict[str, Any]) — Словарь, который будет использован для создания объекта image processor. Такой словарь можно получить из предобученной контрольной точки с помощью метода to_dict(). - kwargs (
dict[str, Any]) — Дополнительные параметры для инициализации объекта image processor.
Возвращает
Объект процессора изображений, созданный из этих параметров.
Создаёт экземпляр типа ImageProcessingMixin из словаря параметров Python.
from_json_file
< source >( json_file: str | os.PathLike ) → A image processor of type ImageProcessingMixin
Параметры
Возвращает
Обработчик изображений типа ImageProcessingMixin
Объект image_processor, созданный из этого JSON-файла.
Создаёт экземпляр процессора изображений типа ImageProcessingMixin из пути к JSON-файлу с параметрами.
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}get_image_processor_dict
< source >( 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
< source >( 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
< source >( auto_class = 'AutoImageProcessor' )
Зарегистрируйте этот класс с указанным автоклассом. Это следует использовать только для пользовательских обработчиков изображений, так как те, что входят в библиотеку, уже сопоставлены с AutoImageProcessor.
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().
to_dict
< source >( ) → dict[str, Any]
Возвращает
dict[str, Any]
Словарь всех атрибутов, из которых состоит этот экземпляр обработчика изображений.
Сериализует этот экземпляр в словарь Python.
to_json_file
< source >( json_file_path: str | os.PathLike )
Сохраните этот экземпляр в файл JSON.
to_json_string
< source >( ) → str
Возвращает
str
Строка, содержащая все атрибуты, из которых состоит этот экземпляр feature_extractor, в формате JSON.
Сериализует этот экземпляр в строку JSON.