Transformers documentation

Processador de imagem

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

Processador de imagem

Um image processor é responsável por carregar imagens (opcionalmente), preparar os recursos de entrada para modelos de visão e realizar o pós-processamento de suas saídas. Isso inclui transformações como redimensionamento, normalização e conversão para tensores do PyTorch e do Numpy. Também pode incluir o pós-processamento específico do modelo, como a conversão de logits em máscaras de segmentação.

Os processadores de imagem utilizam uma arquitetura baseada em backends. A hierarquia de classes é:

  • BaseImageProcessor — classe base abstrata (apenas para compatibilidade reversa; não instancie diretamente)
    • TorchvisionBackend — o backend padrão baseado em torchvision. Acelerado por GPU e significativamente mais rápido que o backend PIL. Todos os modelos expõem uma classe <Model>ImageProcessor que herda dele.
    • PilBackend — o backend alternativo baseado em PIL/NumPy. Portável e exclusivo para CPU. Disponível apenas para modelos mais antigos por meio de uma classe <Model>ImageProcessorPil; útil quando é necessária paridade numérica exata com a implementação original.

Ambos os backends expõem a mesma API. Use o atributo backend para inspecionar qual backend um processador carregado utiliza (por exemplo, processor.backend == "torchvision").

Passe backend para AutoImageProcessor.from_pretrained() para selecionar um backend. Quando backend é omitido (o padrão), o torchvision é escolhido se estiver instalado; caso contrário, o PIL é utilizado. Alguns modelos que usam interpolação Lanczos (Chameleon, Flava, Idefics3, SmolVLM) são uma exceção e usam PIL como padrão quando o torchvision < 0.27. Forçar backend="torchvision" para esses modelos com torchvision < 0.27 recorre à interpolação BICUBIC, pois o torchvision suporta Lanczos para tensors apenas a partir da versão 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")

Ao usar o backend torchvision, você pode definir o argumento device para especificar o dispositivo em que o processamento deve ser realizado. Por padrão, o processamento é feito no mesmo dispositivo dos inputs, caso os inputs sejam tensors, ou na CPU, caso contrário.

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)

Aqui estão algumas comparações de velocidade entre os backends torchvision e PIL para os modelos DETR e RT-DETR, e como eles impactam o tempo total de inferência:

Esses benchmarks foram executados em uma instância AWS EC2 g5.2xlarge, utilizando uma GPU NVIDIA A10G Tensor Core.

ImageProcessingMixin

classe transformers.ImageProcessingMixin

< >

( **kwargs )

Este é um mixin de processador de imagem usado para fornecer funcionalidade de salvamento/carregamento para extratores de recursos sequenciais e de imagem.

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 )

Parâmetros

  • pretrained_model_name_or_path (str ou os.PathLike) — Pode ser:
    • uma string, o model id de um image_processor pré-treinado hospedado em um repositório de modelos no huggingface.co.
    • um caminho para um diretório contendo um arquivo de processador de imagem salvo usando o método save_pretrained(), por exemplo, ./my_model_directory/.
    • um caminho para um arquivo JSON de processador de imagem salvo arquivo, por exemplo, ./my_model_directory/preprocessor_config.json.
  • cache_dir (str ou os.PathLike, opcional) — Caminho para um diretório em que o processador de imagem de um modelo pré-treinado baixado deve ser armazenado em cache, caso o cache padrão não deva ser usado.
  • force_download (bool, opcional, padrão False) — Indica se deve forçar o (re)download dos arquivos do processador de imagem e substituir as versões em cache, caso existam.
  • proxies (dict[str, str], opcional) — Um dicionário de servidores proxy a serem usados por protocolo ou endpoint, por exemplo, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Os proxies são usados em cada solicitação.
  • token (str ou bool, opcional) — O token a ser usado como autorização bearer HTTP para arquivos remotos. Se True, ou não especificado, usará o token gerado ao executar hf auth login (armazenado em ~/.huggingface).
  • revision (str, opcional, padrão "main") — A versão específica do modelo a ser usada. Pode ser o nome de um branch, o nome de uma tag ou um id de commit, pois utilizamos um sistema baseado em git para armazenar modelos e outros artefatos no huggingface.co, de modo que revision pode ser qualquer identificador permitido pelo git.

Instancie um tipo de ImageProcessingMixin a partir de um processador de imagem.

Exemplos:

# 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 )

Parâmetros

  • save_directory (str ou os.PathLike) — Diretório onde o arquivo JSON do processador de imagem será salvo (será criado se não existir).
  • push_to_hub (bool, opcional, padrão False) — Indica se o modelo deve ser enviado para o Hugging Face model hub após ser salvo. Você pode especificar o repositório de destino com repo_id (por padrão, será usado o nome de save_directory no seu namespace).
  • kwargs (dict[str, Any], opcional) — Argumentos de palavra-chave adicionais passados ao método push_to_hub().

Salve um objeto de processador de imagens no diretório save_directory para que ele possa ser recarregado usando o método de classe from_pretrained().

BatchFeature

classe 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 )

Parâmetros

  • data (dict, opcional) — Dicionário de listas/arrays/tensors retornados pelos métodos call/pad (‘input_values’, ‘attention_mask’, etc.).
  • tensor_type (Union[None, str, TensorType], opcional) — Você pode fornecer um tensor_type aqui para converter as listas de inteiros em Tensors do PyTorch/Numpy na inicialização.
  • skip_tensor_conversion (list[str] ou set[str], opcional) — Lista ou conjunto de chaves que NÃO devem ser convertidas em tensores, mesmo quando tensor_type for especificado.

Contém a saída dos métodos pad() e __call__ específicos do extrator de recursos.

Esta classe é derivada de um dicionário python e pode ser usada como um dicionário.

convert_to_tensors

< >

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

Parâmetros

  • tensor_type (str ou TensorType, opcional) — O tipo de tensores a ser usado. Se for str, deve ser um dos valores da enumeração TensorType. Se None, nenhuma modificação é feita.
  • skip_tensor_conversion (list[str] ou set[str], opcional) — Lista ou conjunto de chaves que NÃO devem ser convertidas em tensores, mesmo quando tensor_type for especificado.

Converta o conteúdo interno em tensores.

Nota: Valores que não possuem uma estrutura semelhante a um array (por exemplo, strings, dicts, listas de strings) são automaticamente ignorados e não serão convertidos em tensors. Arrays irregulares (listas de arrays com comprimentos diferentes) ainda são tentados, embora possam gerar erros durante a conversão.

para

< >

( *args**kwargs ) → BatchFeature

Parâmetros

  • args (Tuple) — Será passado para a função to(...) dos tensors.
  • kwargs (Dict, opcional) — Será passado para a função to(...) dos tensores. Para habilitar a transferência de dados assíncrona, defina a flag non_blocking em kwargs (padrão: False).

Retorna

BatchFeature

A mesma instância após a modificação.

Envie todos os valores para o dispositivo chamando v.to(*args, **kwargs) (somente PyTorch). Isso deve suportar o casting em diferentes dtypes e enviar o BatchFeature para um device diferente.

BaseImageProcessor

classe transformers.BaseImageProcessor

< >

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

Classe base para processadores de imagem com uma arquitetura de backend baseada em herança.

Esta classe define o pipeline de pré-processamento: validação de kwargs, preparação da entrada e despacho para o método _preprocess do backend. As subclasses de backend (TorchvisionBackend, PilBackend) herdam desta classe e implementam as operações de imagem reais (redimensionar, recortar, reescalar, normalizar, etc.). Os processadores de imagem específicos de um modelo, por sua vez, herdam da classe de backend apropriada.

Visão geral da arquitetura

A hierarquia de classes é:

BaseImageProcessor (esta classe) ├── TorchvisionBackend (acelerado por GPU, torch.Tensor) │ └── ModelImageProcessor (ex.: LlavaNextImageProcessor) └── PilBackend (CPU portátil, np.ndarray) └── ModelImageProcessorPil (ex.: CLIPImageProcessorPil)

O fluxo de pré-processamento é:

call() → preprocess() → _preprocess_image_like_inputs() → _prepare_image_like_inputs() (chama process_image para cada imagem) → _preprocess() (operações em lote: redimensionar, recortar, etc.)

  • process_image: Implementado pelos backends. Converte uma única entrada bruta (PIL, NumPy ou Tensor) para o formato de trabalho do backend (torch.Tensor ou np.ndarray), gerencia a conversão para RGB e a reordenação dos canais.
  • _preprocess: Implementado pelos backends. Executa o processamento real do lote (redimensionar, recorte central, reescalar, normalizar, preencher) e retorna um BatchFeature.

Implementação básica

Para processadores que precisam apenas de operações padrão (redimensionar, recortar no centro, reescalar, normalizar), herde de um backend e defina atributos de classe:

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

O método _preprocess do backend trata o pipeline padrão automaticamente.

Processamento Personalizado

Para processadores que exigem lógica personalizada (por exemplo, processamento baseado em patches, múltiplos tipos de entrada), sobrescreva _preprocess no processador específico do seu modelo. O método _preprocess recebe imagens já preparadas (convertidas para o formato do backend com a ordem de canais primeiro) e executa o processamento real:

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

Agrupar imagens por forma para operações em lote eficientes

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})

Para processadores que lidam com múltiplos tipos de entrada (por exemplo, imagens + mapas de segmentação), sobrescreva _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

Estendendo o Comportamento do Backend

Para personalizar operações para um backend específico, crie uma subclasse do backend e sobrescreva seus métodos:

from transformers.image_processing_backends import TorchvisionBackend, PilBackend

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

Lógica de redimensionamento personalizada para torchvision

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

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

Lógica de redimensionamento personalizada para PIL

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

Parâmetros Personalizados

Para adicionar parâmetros além de ImagesKwargs, crie uma classe de kwargs personalizada e defina-a como valid_kwargs:

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

class MyImageProcessor(TorchvisionBackend): valid_kwargs = MyImageProcessorKwargs custom_param = 10 # valor padrão

Observações principais

  • A seleção do backend é feita no nível da classe: herde de TorchvisionBackend ou PilBackend
  • Os backends recebem imagens como torch.Tensor (Torchvision) ou np.ndarray (PIL), sempre com os canais primeiro
  • Todas as imagens têm a dimensão de canal primeiro durante o processamento, independentemente do backend
  • Argumentos não fornecidos pelos usuários assumem os valores dos atributos da classe
  • As classes de backend encapsulam a lógica específica do backend (redimensionamento, normalização, etc.) e podem ser substituídas

center_crop

< >

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

Parâmetros

  • image (np.ndarray) — Imagem para recorte central.
  • size (dict[str, int]) — Tamanho da imagem de saída.
  • data_format (str ou ChannelDimension, opcional) — O formato da dimensão de canal para a imagem de saída. Se não for definido, o formato da dimensão de canal da imagem de entrada será usado. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).
  • input_data_format (ChannelDimension ou str, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não for definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).

Centraliza o recorte de uma imagem para (size["height"], size["width"]). Se o tamanho de entrada for menor que crop_size em qualquer borda, a imagem é preenchida com 0 e, em seguida, recortada no centro.

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

Parâmetros

  • image (np.ndarray) — Imagem a ser normalizada.
  • mean (float ou Iterable[float]) — Média da imagem a ser usada para normalização.
  • std (float ou Iterable[float]) — Desvio padrão da imagem a ser usado para normalização.
  • data_format (str ou ChannelDimension, opcional) — O formato da dimensão de canal para a imagem de saída. Se não for definido, o formato da dimensão de canal da imagem de entrada será usado. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).
  • input_data_format (ChannelDimension ou str, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não for definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).

Retorna

np.ndarray

A imagem normalizada.

Normalizar uma imagem. image = (image - image_mean) / image_std.

pré-processamento

< >

( 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

Parâmetros

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Imagem a ser pré-processada. Espera uma única imagem ou um lote de imagens com valores de pixel variando de 0 a 255. Se passar imagens com valores de pixel entre 0 e 1, defina do_rescale=False.
  • image_like_kwargs (dict[str, Any], opcional) — Flag para desenvolvedores destinada a entradas adicionais semelhantes a imagens que também serão pré-processadas. Use apenas se passar as entradas como kwarg não funcionar. Por exemplo, preprocess(images, masks=masks) é a opção preferida, mas resulta em problemas de prioridade de argumentos para alguns modelos. Nesses casos, preprocess(images, image_like_inputs={"masks": masks}) pode ser usado em vez disso.
  • do_convert_rgb (bool, kwargs, opcional) — Se a imagem deve ser convertida para RGB.
  • do_resize (bool, kwargs, opcional) — Se deve redimensionar a imagem.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Descreve as dimensões máximas de entrada para o modelo.
  • default_to_square (bool, kwargs, opcional) — Se deve usar uma imagem quadrada por padrão ao redimensionar, caso o tamanho seja um inteiro.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Tamanho da imagem de saída após a aplicação de center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filtro de redimensionamento a ser usado ao redimensionar a imagem. Pode ser um dos valores da enumeração PILImageResampling. Tem efeito apenas se do_resize estiver definido como True.
  • do_rescale (bool, kwargs, opcional) — Se deve reescalar a imagem.
  • rescale_factor (float, kwargs, opcional) — Fator de redimensionamento para redimensionar a imagem, caso do_rescale esteja definido como True.
  • do_normalize (bool, kwargs, opcional) — Se a imagem deve ser normalizada.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Média da imagem a ser usada para normalização. Tem efeito apenas se do_normalize estiver definido como True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opcional) — Desvio padrão da imagem a ser usado para normalização. Tem efeito apenas se do_normalize estiver definido como True.
  • do_pad (bool, kwargs, opcional) — Indica se a imagem deve ser preenchida (padding). O preenchimento é feito até o maior tamanho do lote ou até um tamanho quadrado fixo por imagem. A estratégia exata de preenchimento depende do modelo.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — O tamanho em {"height": int, "width" int} para o preenchimento das imagens. Deve ser maior que qualquer tamanho de imagem fornecido para o pré-processamento. Se pad_size não for fornecido, as imagens serão preenchidas até a maior altura e largura do lote. Aplicado apenas quando do_pad=True.
  • do_center_crop (bool, kwargs, opcional) — Se deve recortar a imagem centralmente.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Apenas ChannelDimension.FIRST é suportado. Adicionado para compatibilidade com processadores lentos.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).
    • "none" ou ChannelDimension.NONE: imagem no formato (altura, largura).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — O dispositivo em que os vídeos serão processados. Se não for definido, o dispositivo é inferido a partir dos vídeos de entrada.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Retorna tensores empilhados se definido como 'pt'; caso contrário, retorna uma lista de tensores.
  • disable_grouping (bool, kwargs, opcional) — Se deve desabilitar o agrupamento de imagens por tamanho para processá-las individualmente e não em lotes. Se for None, será definido como True se as imagens estiverem na CPU, e False caso contrário. Essa escolha é baseada em observações empíricas, conforme detalhado aqui: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opcional) — O número de tokens de imagem a serem usados para cada imagem na entrada. Adicionado para compatibilidade reversa, mas isso deve ser definido como um atributo do processador em modelos futuros.

Retorna

~image_processing_base.BatchFeature

  • data (dict) — Dicionário de listas/arrays/tensors retornados pelo método call (‘pixel_values’, etc.).
  • tensor_type (Union[None, str, TensorType], opcional) — Você pode fornecer um tensor_type aqui para converter as listas de inteiros em Tensors do PyTorch/Numpy na inicialização.

Pré-processa uma imagem ou um lote de imagens.

process_image

< >

( *args**kwargs )

Processa uma única imagem bruta para o formato de trabalho do backend.

Implementado por subclasses de backend (TorchvisionBackend, PilBackend). Converte uma entrada bruta (imagem PIL, array NumPy ou Tensor torch) para o formato interno do backend (torch.Tensor para Torchvision, np.ndarray para PIL), trata a conversão para RGB e garante a ordem de canais primeiro.

rescale

< >

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

Parâmetros

  • image (np.ndarray) — Imagem a ser redimensionada.
  • scale (float) — Fator de escala para reescalar os valores de pixels.
  • data_format (str ou ChannelDimension, opcional) — O formato da dimensão de canal para a imagem de saída. Se não for definido, o formato da dimensão de canal da imagem de entrada será usado. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).
  • input_data_format (ChannelDimension ou str, opcional) — O formato da dimensão de canal para a imagem de entrada. Se não for definido, o formato da dimensão de canal é inferido a partir da imagem de entrada. Pode ser um dos seguintes:
    • "channels_first" ou ChannelDimension.FIRST: imagem no formato (num_channels, height, width).
    • "channels_last" ou ChannelDimension.LAST: imagem no formato (altura, largura, num_canais).

Retorna

np.ndarray

A imagem redimensionada.

Redimensiona uma imagem por um fator de escala. image = image * scale.

TorchvisionBackend

classe transformers.TorchvisionBackend

< >

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

Backend Torchvision para processamento de imagens em lote com aceleração por GPU.

center_crop

< >

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

Centralizar o recorte de uma imagem usando Torchvision.

convert_to_rgb

< >

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

Converte uma imagem para o formato RGB.

fetch_images

< >

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

Converte uma única URL ou um conjunto de URLs / caminhos em objetos torch.Tensor.

Objetos de imagem já válidos (tensors, arrays numpy, Imagens PIL) são passados sem alterações, de modo que os chamadores que pré-carregam imagens não sejam afetados.

normalize

< >

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

Normalizar uma imagem usando 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 )

Preencha as imagens usando Torchvision com operações em lote.

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'> )

Processa uma única imagem para o backend torchvision.

rescale

< >

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

Redimensione uma imagem por um fator de escala usando Torchvision.

rescale_and_normalize

< >

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

Redimensione e normalize imagens usando Torchvision (fuso para eficiência).

resize

< >

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

Redimensione uma imagem usando Torchvision.

PilBackend

classe transformers.PilBackend

< >

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

Backend PIL/NumPy para processamento de imagens portátil apenas em CPU.

center_crop

< >

( image: ndarraysize: SizeDict**kwargs )

Centralizar o recorte de uma imagem usando NumPy.

convert_to_rgb

< >

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

Converte uma imagem para o formato RGB.

normalize

< >

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

Normalizar uma imagem usando NumPy.

pad

< >

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

Preencha as imagens até o tamanho especificado usando 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'> )

Processa uma única imagem para o backend PIL.

rescale

< >

( image: ndarrayscale: float**kwargs )

Redimensione uma imagem por um fator de escala usando NumPy.

resize

< >

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

Redimensione uma imagem usando PIL/NumPy.

Update on GitHub