Transformers documentation

Extrator de recursos

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

Extrator de recursos

Um feature extractor é responsável por preparar os recursos de entrada para modelos de áudio. Isso inclui a extração de recursos de sequências, por exemplo, o pré-processamento de arquivos de áudio para gerar recursos de Log-Mel Spectrogram, e a conversão para tensores NumPy e PyTorch.

FeatureExtractionMixin

classe transformers.FeatureExtractionMixin

< >

( **kwargs )

Este é um mixin de extração de recursos usado para fornecer funcionalidade de salvamento/carregamento para extratores de recursos sequenciais e de áudio.

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 feature_extractor pré-treinado hospedado em um repositório de modelos no huggingface.co.
    • um caminho para um diretório contendo um arquivo de extrator de recursos salvo usando o método save_pretrained(), por exemplo, ./my_model_directory/.
    • um caminho para um arquivo JSON de extrator de recursos salvo file, por exemplo, ./my_model_directory/preprocessor_config.json.
  • cache_dir (str ou os.PathLike, opcional) — Caminho para um diretório em que um extrator de recursos de 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) — Se deve forçar o (re-)download dos arquivos do extrator de recursos e sobrescrever 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 FeatureExtractionMixin a partir de um extrator de recursos, por exemplo, uma classe derivada de SequenceFeatureExtractor.

Exemplos:

# We can't instantiate directly the base class *FeatureExtractionMixin* nor *SequenceFeatureExtractor* so let's show the examples on a
# derived class: *Wav2Vec2FeatureExtractor*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h"
)  # Download feature_extraction_config from huggingface.co and cache.
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "./test/saved_model/"
)  # E.g. feature_extractor (or model) was saved using *save_pretrained('./test/saved_model/')*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("./test/saved_model/preprocessor_config.json")
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False
)
assert feature_extractor.return_attention_mask is False
feature_extractor, unused_kwargs = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False, return_unused_kwargs=True
)
assert feature_extractor.return_attention_mask 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 extrator de recursos 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 feature_extractor no diretório save_directory, para que ele possa ser recarregado usando o método de classe from_pretrained().

SequenceFeatureExtractor

classe transformers.SequenceFeatureExtractor

< >

( feature_size: intsampling_rate: intpadding_value: float**kwargs )

Parâmetros

  • feature_size (int) — A dimensão dos recursos das características extraídas.
  • sampling_rate (int) — A taxa de amostragem na qual os arquivos de áudio devem ser digitalizados, expressa em hertz (Hz).
  • padding_value (float) — O valor usado para preencher os valores/vetores de padding.

Esta é uma classe geral de extração de recursos para reconhecimento de fala.

pad

< >

( processed_features: transformers.feature_extraction_utils.BatchFeature | list[transformers.feature_extraction_utils.BatchFeature] | dict[str, transformers.feature_extraction_utils.BatchFeature] | dict[str, list[transformers.feature_extraction_utils.BatchFeature]] | list[dict[str, transformers.feature_extraction_utils.BatchFeature]]padding: bool | str | transformers.utils.generic.PaddingStrategy = Truemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = None )

Parâmetros

  • processed_features (BatchFeature, lista de BatchFeature, dict[str, list[float]], dict[str, list[list[float]] ou list[dict[str, list[float]]]) — Entradas processadas. Pode representar uma única entrada (BatchFeature ou dict[str, list[float]]) ou um lote de valores/vetores de entrada (lista de BatchFeature, dict[str, list[list[float]]] ou list[dict[str, list[float]]]) para que você possa usar este método durante o pré-processamento, bem como em uma função de colagem de um Dataloader do PyTorch.

    Em vez de list[float], você pode ter tensors (arrays numpy ou tensors do PyTorch), veja a observação acima sobre o tipo de retorno.

  • padding (bool, str ou PaddingStrategy, opcional, padrão é True) — Selecione uma estratégia para aplicar padding às sequências retornadas (de acordo com o lado de padding e o índice de padding do modelo) entre:
    • True ou 'longest': Preenche até a sequência mais longa do lote (ou não aplica preenchimento se apenas uma sequência for fornecida).
    • 'max_length': Preenche até o comprimento máximo especificado com o argumento max_length ou até o comprimento máximo aceitável de entrada para o modelo, caso esse argumento não seja fornecido.
    • False ou 'do_not_pad' (padrão): Sem padding (ou seja, pode gerar um lote com sequências de comprimentos diferentes).
  • max_length (int, opcional) — Comprimento máximo da lista retornada e, opcionalmente, o comprimento do padding (veja acima).
  • truncation (bool) — Ativa a truncagem para cortar sequências de entrada com comprimento maior que max_length para max_length.
  • pad_to_multiple_of (int, opcional) — Se definido, a sequência será preenchida até um múltiplo do valor fornecido.

    Isso é especialmente útil para habilitar o uso de Tensor Cores em hardware NVIDIA com capacidade de computação >= 7.5 (Volta), ou em TPUs, que se beneficiam de ter comprimentos de sequência que sejam múltiplos de 128.

  • return_attention_mask (bool, opcional) — Se deve retornar a attention mask. Se mantido o valor padrão, a attention mask será retornada de acordo com o padrão específico do feature_extractor.

    O que são máscaras de atenção?

  • return_tensors (str ou TensorType, opcional) — Se definido, retornará tensors em vez de uma lista de inteiros do Python. Os valores aceitos são:
    • 'pt': Retorna objetos torch.Tensor do PyTorch.
    • 'np': Retorna objetos np.ndarray do Numpy.

Preencha os valores de entrada / vetores de entrada ou um lote de valores de entrada / vetores de entrada até o comprimento predefinido ou até o comprimento máximo da sequência no lote.

Os valores de padding do lado (esquerda/direita) são definidos no nível do extrator de recursos (com self.padding_side, self.padding_value)

Se as processed_features passadas forem um dicionário de arrays numpy ou tensores PyTorch, o resultado usará o mesmo tipo, a menos que você forneça um tipo de tensor diferente com return_tensors. No caso de tensores PyTorch, no entanto, você perderá o dispositivo específico dos seus tensores.

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.

ImageFeatureExtractionMixin

classe transformers.ImageFeatureExtractionMixin

< >

( )

Mixin que contém utilitários para preparar recursos de imagem.

center_crop

< >

( imagesize ) → new_image

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor de forma (n_channels, height, width) ou (height, width, n_channels)) — A imagem a ser redimensionada.
  • size (int ou tuple[int, int]) — O tamanho para o qual recortar a imagem.

Retorna

new_image

Uma imagem centralizada recortada PIL.Image.Image ou np.ndarray ou torch.Tensor de forma: (n_channels, height, width).

Realiza o recorte da image para o tamanho especificado usando um recorte central. Observe que, se a imagem for pequena demais para ser recortada para o tamanho dado, ela será preenchida (de modo que o resultado retornado tenha o tamanho solicitado).

convert_rgb

< >

( image )

Parâmetros

  • image (PIL.Image.Image) — A imagem a ser convertida.

Converte PIL.Image.Image para o formato RGB.

expand_dims

< >

( image )

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — A imagem a ser expandida.

Expande a image bidimensional para 3 dimensões.

flip_channel_order

< >

( image )

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — A imagem cujos canais de cor devem ser invertidos. Se for np.ndarray ou torch.Tensor, a dimensão dos canais deve ser a primeira.

Inverte a ordem dos canais de image de RGB para BGR, ou vice-versa. Observe que isso acionará a conversão de image para um array NumPy, caso seja uma Imagem PIL.

normalize

< >

( imagemeanstdrescale = False )

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — A imagem a ser normalizada.
  • mean (list[float] ou np.ndarray ou torch.Tensor) — A média (por canal) a ser usada para normalização.
  • std (list[float] ou np.ndarray ou torch.Tensor) — O desvio padrão (por canal) a ser usado para normalização.
  • rescale (bool, opcional, padrão False) — Indica se a imagem deve ser reescalada para ficar entre 0 e 1. Se uma imagem PIL for fornecida, a reescalação ocorrerá automaticamente.

Normalizes image with mean and std. Note that this will trigger a conversion of image to a NumPy array if it’s a PIL Image.

rescale

< >

( image: ndarrayscale: float | int )

Redimensiona uma imagem numpy pelo fator de escala

resize

< >

( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — A imagem a ser redimensionada.
  • size (int ou tuple[int, int]) — O tamanho a ser usado para redimensionar a imagem. Se size for uma sequência como (h, w), o tamanho de saída será ajustado a isso.

    Se size for um int e default_to_square for True, a imagem será redimensionada para (size, size). Se size for um int e default_to_square for False, a menor borda da imagem será ajustada a este número. Ou seja, se height > width, a imagem será redimensionada para (size * height / width, size).

  • resample (int, opcional, padrão PILImageResampling.BILINEAR) — O filtro a ser usado para o reamostragem.
  • default_to_square (bool, opcional, padrão True) — Como converter size quando ele é um único int. Se definido como True, o size será convertido para um quadrado (size,size). Se definido como False, replicará torchvision.transforms.Resize com suporte para redimensionar apenas a menor aresta e fornecer um max_size opcional.
  • max_size (int, opcional, padrão None) — O valor máximo permitido para a aresta mais longa da imagem redimensionada: se a aresta mais longa da imagem for maior que max_size após o redimensionamento conforme size, a imagem é redimensionada novamente para que a aresta mais longa seja igual a max_size. Como resultado, size pode ser sobrescrito, ou seja, a aresta menor pode ficar menor que size. Usado apenas se default_to_square for False.

Retorna

image

Uma PIL.Image.Image redimensionada.

Redimensiona image. Força a conversão da entrada para PIL.Image.

rotate

< >

( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — A imagem a ser rotacionada. Se for np.ndarray ou torch.Tensor, será convertida para PIL.Image.Image antes da rotação.

Retorna

image

Uma imagem PIL.Image.Image rotacionada.

Retorna uma cópia rotacionada de image. Este método retorna uma cópia de image, rotacionada o número de graus indicado no sentido anti-horário em torno do seu centro.

to_numpy_array

< >

( imagerescale = Nonechannel_first = True )

Parâmetros

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — A imagem a ser convertida em um array NumPy.
  • rescale (bool, opcional) — Indica se o fator de escala deve ser aplicado (para tornar os valores de pixels em números flutuantes entre 0. e 1.). O valor padrão será True se a imagem for uma imagem PIL ou um array/tensor de inteiros, e False caso contrário.
  • channel_first (bool, opcional, padrão True) — Indica se as dimensões da imagem devem ser permutadas para colocar a dimensão do canal em primeiro lugar.

Converte image em um array numpy. Opcionalmente, redimensiona e coloca a dimensão do canal como a primeira dimensão.

to_pil_image

< >

( imagerescale = None )

Parâmetros

  • image (PIL.Image.Image ou numpy.ndarray ou torch.Tensor) — A imagem a ser convertida para o formato PIL Image.
  • rescale (bool, opcional) — Indica se o fator de escala deve ser aplicado (para tornar os valores de pixels inteiros entre 0 e 255). O valor padrão será True se o tipo da imagem for de ponto flutuante, caso contrário, False.

Converts image to a PIL Image. Optionally rescales it and puts the channel dimension back as the last axis if needed.

Update on GitHub