Utilities for Image Processors
Last updated
Last updated
This page lists all the utility functions used by the image processors, mainly the functional transformations used to process the images.
Most of those are only useful if you are studying the code of the image processors in the library.
transformers.image_transforms.center_crop
( image: ndarraysize: typing.Tuple[int, int]data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = Noneinput_data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = Nonereturn_numpy: typing.Optional[bool] = None ) β np.ndarray
Parameters
image (np.ndarray
) β The image to crop.
size (Tuple[int, int]
) β The target size for the cropped image.
data_format (str
or ChannelDimension
, optional) β The channel dimension format for the output image. Can be one of:
"channels_first"
or ChannelDimension.FIRST
: image in (num_channels, height, width) format.
"channels_last"
or ChannelDimension.LAST
: image in (height, width, num_channels) format. If unset, will use the inferred format of the input image.
input_data_format (str
or ChannelDimension
, optional) β The channel dimension format for the input image. Can be one of:
"channels_first"
or ChannelDimension.FIRST
: image in (num_channels, height, width) format.
"channels_last"
or ChannelDimension.LAST
: image in (height, width, num_channels) format. If unset, will use the inferred format of the input image.
return_numpy (bool
, optional) β Whether or not to return the cropped image as a numpy array. Used for backwards compatibility with the previous ImageFeatureExtractionMixin method.
Unset: will return the same type as the input image.
True
: will return a numpy array.
False
: will return a PIL.Image.Image
object.
Returns
np.ndarray
The cropped image.
Crops the image
to the specified size
using a center crop. Note that if the image is too small to be cropped to the size given, it will be padded (so the returned result will always be of size size
).
transformers.image_transforms.center_to_corners_format
( bboxes_center: TensorType )
Converts bounding boxes from center format to corners format.
center format: contains the coordinate for the center of the box and its width, height dimensions (center_x, center_y, width, height) corners format: contains the coodinates for the top-left and bottom-right corners of the box (top_left_x, top_left_y, bottom_right_x, bottom_right_y)
transformers.image_transforms.corners_to_center_format
( bboxes_corners: TensorType )
Converts bounding boxes from corners format to center format.
corners format: contains the coodinates for the top-left and bottom-right corners of the box (top_left_x, top_left_y, bottom_right_x, bottom_right_y) center format: contains the coordinate for the center of the box and its the width, height dimensions (center_x, center_y, width, height)
transformers.image_transforms.id_to_rgb
( id_map )
Converts unique ID to RGB color.
transformers.image_transforms.normalize
( image: ndarraymean: typing.Union[float, typing.Iterable[float]]std: typing.Union[float, typing.Iterable[float]]data_format: typing.Optional[transformers.image_utils.ChannelDimension] = Noneinput_data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = None )
Parameters
image (np.ndarray
) β The image to normalize.
mean (float
or Iterable[float]
) β The mean to use for normalization.
std (float
or Iterable[float]
) β The standard deviation to use for normalization.
data_format (ChannelDimension
, optional) β The channel dimension format of the output image. If unset, will use the inferred format from the input.
input_data_format (ChannelDimension
, optional) β The channel dimension format of the input image. If unset, will use the inferred format from the input.
Normalizes image
using the mean and standard deviation specified by mean
and std
.
image = (image - mean) / std
transformers.image_transforms.pad
( image: ndarraypadding: typing.Union[int, typing.Tuple[int, int], typing.Iterable[typing.Tuple[int, int]]]mode: PaddingMode = <PaddingMode.CONSTANT: 'constant'>constant_values: typing.Union[float, typing.Iterable[float]] = 0.0data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = Noneinput_data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = None ) β np.ndarray
Parameters
image (np.ndarray
) β The image to pad.
padding (int
or Tuple[int, int]
or Iterable[Tuple[int, int]]
) β Padding to apply to the edges of the height, width axes. Can be one of three formats:
((before_height, after_height), (before_width, after_width))
unique pad widths for each axis.
((before, after),)
yields same before and after pad for height and width.
(pad,)
or int is a shortcut for before = after = pad width for all axes.
mode (PaddingMode
) β The padding mode to use. Can be one of:
"constant"
: pads with a constant value.
"reflect"
: pads with the reflection of the vector mirrored on the first and last values of the vector along each axis.
"replicate"
: pads with the replication of the last value on the edge of the array along each axis.
"symmetric"
: pads with the reflection of the vector mirrored along the edge of the array.
constant_values (float
or Iterable[float]
, optional) β The value to use for the padding if mode
is "constant"
.
data_format (str
or ChannelDimension
, optional) β The channel dimension format for the output image. Can be one of:
"channels_first"
or ChannelDimension.FIRST
: image in (num_channels, height, width) format.
"channels_last"
or ChannelDimension.LAST
: image in (height, width, num_channels) format. If unset, will use same as the input image.
input_data_format (str
or ChannelDimension
, optional) β The channel dimension format for the input image. Can be one of:
"channels_first"
or ChannelDimension.FIRST
: image in (num_channels, height, width) format.
"channels_last"
or ChannelDimension.LAST
: image in (height, width, num_channels) format. If unset, will use the inferred format of the input image.
Returns
np.ndarray
The padded image.
Pads the image
with the specified (height, width) padding
and mode
.
transformers.image_transforms.rgb_to_id
( color )
Converts RGB color to unique ID.
transformers.image_transforms.rescale
( image: ndarrayscale: floatdata_format: typing.Optional[transformers.image_utils.ChannelDimension] = Nonedtype: dtype = <class 'numpy.float32'>input_data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = None ) β np.ndarray
Parameters
image (np.ndarray
) β The image to rescale.
scale (float
) β The scale to use for rescaling the image.
data_format (ChannelDimension
, optional) β The channel dimension format of the image. If not provided, it will be the same as the input image.
dtype (np.dtype
, optional, defaults to np.float32
) β The dtype of the output image. Defaults to np.float32
. Used for backwards compatibility with feature extractors.
input_data_format (ChannelDimension
, optional) β The channel dimension format of the input image. If not provided, it will be inferred from the input image.
Returns
np.ndarray
The rescaled image.
Rescales image
by scale
.
transformers.image_transforms.resize
( imagesize: typing.Tuple[int, int]resample: PILImageResampling = Nonereducing_gap: typing.Optional[int] = Nonedata_format: typing.Optional[transformers.image_utils.ChannelDimension] = Nonereturn_numpy: bool = Trueinput_data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = None ) β np.ndarray
Parameters
image (PIL.Image.Image
or np.ndarray
or torch.Tensor
) β The image to resize.
size (Tuple[int, int]
) β The size to use for resizing the image.
resample (int
, optional, defaults to PILImageResampling.BILINEAR
) β The filter to user for resampling.
reducing_gap (int
, optional) β Apply optimization by resizing the image in two steps. The bigger reducing_gap
, the closer the result to the fair resampling. See corresponding Pillow documentation for more details.
data_format (ChannelDimension
, optional) β The channel dimension format of the output image. If unset, will use the inferred format from the input.
return_numpy (bool
, optional, defaults to True
) β Whether or not to return the resized image as a numpy array. If False a PIL.Image.Image
object is returned.
input_data_format (ChannelDimension
, optional) β The channel dimension format of the input image. If unset, will use the inferred format from the input.
Returns
np.ndarray
The resized image.
Resizes image
to (height, width)
specified by size
using the PIL library.
transformers.image_transforms.to_pil_image
( image: typing.Union[numpy.ndarray, ForwardRef('PIL.Image.Image'), ForwardRef('torch.Tensor'), ForwardRef('tf.Tensor'), ForwardRef('jnp.ndarray')]do_rescale: typing.Optional[bool] = Noneinput_data_format: typing.Union[transformers.image_utils.ChannelDimension, str, NoneType] = None ) β PIL.Image.Image
Parameters
image (PIL.Image.Image
or numpy.ndarray
or torch.Tensor
or tf.Tensor
) β The image to convert to the PIL.Image
format.
do_rescale (bool
, optional) β Whether or not to apply the scaling factor (to make pixel values integers between 0 and 255). Will default to True
if the image type is a floating type and casting to int
would result in a loss of precision, and False
otherwise.
input_data_format (ChannelDimension
, optional) β The channel dimension format of the input image. If unset, will use the inferred format from the input.
Returns
PIL.Image.Image
The converted image.
Converts image
to a PIL Image. Optionally rescales it and puts the channel dimension back as the last axis if needed.
( **kwargs )
This is an image processor mixin used to provide saving/loading functionality for sequential and image feature extractors.
fetch_images
( image_url_or_urls: typing.Union[str, typing.List[str]] )
Convert a single or a list of urls into the corresponding PIL.Image
objects.
If a single url is passed, the return value will be a single object. If a list is passed a list of objects is returned.
from_dict
Parameters
kwargs (Dict[str, Any]
) β Additional parameters from which to initialize the image processor object.
Returns
The image processor object instantiated from those parameters.
from_json_file
Parameters
json_file (str
or os.PathLike
) β Path to the JSON file containing the parameters.
Returns
The image_processor object instantiated from that JSON file.
from_pretrained
( pretrained_model_name_or_path: typing.Union[str, os.PathLike]cache_dir: typing.Union[str, os.PathLike, NoneType] = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: typing.Union[bool, str, NoneType] = Nonerevision: str = 'main'**kwargs )
Parameters
pretrained_model_name_or_path (str
or os.PathLike
) β This can be either:
a string, the model id of a pretrained image_processor hosted inside a model repo on huggingface.co. Valid model ids can be located at the root-level, like bert-base-uncased
, or namespaced under a user or organization name, like dbmdz/bert-base-german-cased
.
a path or url to a saved image processor JSON file, e.g., ./my_model_directory/preprocessor_config.json
.
cache_dir (str
or os.PathLike
, optional) β Path to a directory in which a downloaded pretrained model image processor should be cached if the standard cache should not be used.
force_download (bool
, optional, defaults to False
) β Whether or not to force to (re-)download the image processor files and override the cached versions if they exist.
resume_download (bool
, optional, defaults to False
) β Whether or not to delete incompletely received file. Attempts to resume the download if such a file exists.
proxies (Dict[str, str]
, optional) β A dictionary of proxy servers to use by protocol or endpoint, e.g., {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}.
The proxies are used on each request.
token (str
or bool
, optional) β The token to use as HTTP bearer authorization for remote files. If True
, or not specified, will use the token generated when running huggingface-cli login
(stored in ~/.huggingface
).
revision (str
, optional, defaults to "main"
) β The specific model version to use. It can be a branch name, a tag name, or a commit id, since we use a git-based system for storing models and other artifacts on huggingface.co, so revision
can be any identifier allowed by git.
Examples:
Copied
get_image_processor_dict
( pretrained_model_name_or_path: typing.Union[str, os.PathLike]**kwargs ) β Tuple[Dict, Dict]
Parameters
pretrained_model_name_or_path (str
or os.PathLike
) β The identifier of the pre-trained checkpoint from which we want the dictionary of parameters.
subfolder (str
, optional, defaults to ""
) β In case the relevant files are located inside a subfolder of the model repo on huggingface.co, you can specify the folder name here.
Returns
Tuple[Dict, Dict]
The dictionary(ies) that will be used to instantiate the image processor object.
From a pretrained_model_name_or_path
, resolve to a dictionary of parameters, to be used for instantiating a image processor of type ~image_processor_utils.ImageProcessingMixin
using from_dict
.
push_to_hub
( repo_id: struse_temp_dir: typing.Optional[bool] = Nonecommit_message: typing.Optional[str] = Noneprivate: typing.Optional[bool] = Nonetoken: typing.Union[bool, str, NoneType] = Nonemax_shard_size: typing.Union[int, str, NoneType] = '10GB'create_pr: bool = Falsesafe_serialization: bool = Falserevision: str = None**deprecated_kwargs )
Parameters
repo_id (str
) β The name of the repository you want to push your image processor to. It should contain your organization name when pushing to a given organization.
use_temp_dir (bool
, optional) β Whether or not to use a temporary directory to store the files saved before they are pushed to the Hub. Will default to True
if there is no directory named like repo_id
, False
otherwise.
commit_message (str
, optional) β Message to commit while pushing. Will default to "Upload image processor"
.
private (bool
, optional) β Whether or not the repository created should be private.
token (bool
or str
, optional) β The token to use as HTTP bearer authorization for remote files. If True
, will use the token generated when running huggingface-cli login
(stored in ~/.huggingface
). Will default to True
if repo_url
is not specified.
max_shard_size (int
or str
, optional, defaults to "10GB"
) β Only applicable for models. The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size lower than this size. If expressed as a string, needs to be digits followed by a unit (like "5MB"
).
create_pr (bool
, optional, defaults to False
) β Whether or not to create a PR with the uploaded files or directly commit.
safe_serialization (bool
, optional, defaults to False
) β Whether or not to convert the model weights in safetensors format for safer serialization.
revision (str
, optional) β Branch to push the uploaded files to.
Upload the image processor file to the BOINC AI Model Hub.
Examples:
Copied
register_for_auto_class
( auto_class = 'AutoImageProcessor' )
Parameters
auto_class (str
or type
, optional, defaults to "AutoImageProcessor "
) β The auto class to register this new image processor with.
Register this class with a given auto class. This should only be used for custom image processors as the ones in the library are already mapped with AutoImageProcessor
.
This API is experimental and may have some slight breaking changes in the next releases.
save_pretrained
( save_directory: typing.Union[str, os.PathLike]push_to_hub: bool = False**kwargs )
Parameters
save_directory (str
or os.PathLike
) β Directory where the image processor JSON file will be saved (will be created if it does not exist).
push_to_hub (bool
, optional, defaults to False
) β Whether or not to push your model to the Hugging Face model hub after saving it. You can specify the repository you want to push to with repo_id
(will default to the name of save_directory
in your namespace).
to_dict
( ) β Dict[str, Any]
Returns
Dict[str, Any]
Dictionary of all the attributes that make up this image processor instance.
Serializes this instance to a Python dictionary.
to_json_file
( json_file_path: typing.Union[str, os.PathLike] )
Parameters
json_file_path (str
or os.PathLike
) β Path to the JSON file in which this image_processor instanceβs parameters will be saved.
Save this instance to a JSON file.
to_json_string
( ) β str
Returns
str
String containing all the attributes that make up this feature_extractor instance in JSON format.
Serializes this instance to a JSON string.
( image_processor_dict: typing.Dict[str, typing.Any]**kwargs ) β
image_processor_dict (Dict[str, Any]
) β Dictionary that will be used to instantiate the image processor object. Such a dictionary can be retrieved from a pretrained checkpoint by leveraging the method.
Instantiates a type of from a Python dictionary of parameters.
( json_file: typing.Union[str, os.PathLike] ) β A image processor of type
A image processor of type
Instantiates a image processor of type from the path to a JSON file of parameters.
a path to a directory containing a image processor file saved using the method, e.g., ./my_model_directory/
.
Instantiate a type of from an image processor.
kwargs (Dict[str, Any]
, optional) β Additional key word arguments passed along to the method.
Save an image processor object to the directory save_directory
, so that it can be re-loaded using the class method.