Transformers documentation
Extrator de recursos
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
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
< 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 )
Parâmetros
- pretrained_model_name_or_path (
strouos.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 (
strouos.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ãoFalse) — 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 (
stroubool, opcional) — O token a ser usado como autorização bearer HTTP para arquivos remotos. SeTrue, ou não especificado, usará o token gerado ao executarhf 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 querevisionpode 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
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Parâmetros
- save_directory (
strouos.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ãoFalse) — 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 comrepo_id(por padrão, será usado o nome desave_directoryno 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
< source >( feature_size: intsampling_rate: intpadding_value: float**kwargs )
Esta é uma classe geral de extração de recursos para reconhecimento de fala.
pad
< source >( 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]]oulist[dict[str, list[float]]]) — Entradas processadas. Pode representar uma única entrada (BatchFeature oudict[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,strou 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:Trueou'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 argumentomax_lengthou até o comprimento máximo aceitável de entrada para o modelo, caso esse argumento não seja fornecido.Falseou'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 quemax_lengthparamax_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. - return_tensors (
strou TensorType, opcional) — Se definido, retornará tensors em vez de uma lista de inteiros do Python. Os valores aceitos são:'pt': Retorna objetostorch.Tensordo PyTorch.'np': Retorna objetosnp.ndarraydo 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_featurespassadas 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 comreturn_tensors. No caso de tensores PyTorch, no entanto, você perderá o dispositivo específico dos seus tensores.
BatchFeature
classe transformers.BatchFeature
< source >( 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]ouset[str], opcional) — Lista ou conjunto de chaves que NÃO devem ser convertidas em tensores, mesmo quandotensor_typefor 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
< source >( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )
Parâmetros
- tensor_type (
strou TensorType, opcional) — O tipo de tensores a ser usado. Se forstr, deve ser um dos valores da enumeração TensorType. SeNone, nenhuma modificação é feita. - skip_tensor_conversion (
list[str]ouset[str], opcional) — Lista ou conjunto de chaves que NÃO devem ser convertidas em tensores, mesmo quandotensor_typefor 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
< source >( *args**kwargs ) → BatchFeature
Parâmetros
- args (
Tuple) — Será passado para a funçãoto(...)dos tensors. - kwargs (
Dict, opcional) — Será passado para a funçãoto(...)dos tensores. Para habilitar a transferência de dados assíncrona, defina a flagnon_blockingemkwargs(padrão:False).
Retorna
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
Mixin que contém utilitários para preparar recursos de imagem.
center_crop
< source >( imagesize ) → new_image
Parâmetros
- image (
PIL.Image.Imageounp.ndarrayoutorch.Tensorde forma (n_channels, height, width) ou (height, width, n_channels)) — A imagem a ser redimensionada. - size (
intoutuple[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).
Converte PIL.Image.Image para o formato RGB.
expand_dims
< source >( image )
Expande a image bidimensional para 3 dimensões.
flip_channel_order
< source >( image )
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
< source >( imagemeanstdrescale = False )
Parâmetros
- image (
PIL.Image.Imageounp.ndarrayoutorch.Tensor) — A imagem a ser normalizada. - mean (
list[float]ounp.ndarrayoutorch.Tensor) — A média (por canal) a ser usada para normalização. - std (
list[float]ounp.ndarrayoutorch.Tensor) — O desvio padrão (por canal) a ser usado para normalização. - rescale (
bool, opcional, padrãoFalse) — 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.
Redimensiona uma imagem numpy pelo fator de escala
resize
< source >( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image
Parâmetros
- image (
PIL.Image.Imageounp.ndarrayoutorch.Tensor) — A imagem a ser redimensionada. - size (
intoutuple[int, int]) — O tamanho a ser usado para redimensionar a imagem. Sesizefor uma sequência como (h, w), o tamanho de saída será ajustado a isso.Se
sizefor um int edefault_to_squareforTrue, a imagem será redimensionada para (size, size). Sesizefor um int edefault_to_squareforFalse, 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ãoPILImageResampling.BILINEAR) — O filtro a ser usado para o reamostragem. - default_to_square (
bool, opcional, padrãoTrue) — Como convertersizequando ele é um único int. Se definido comoTrue, osizeserá convertido para um quadrado (size,size). Se definido comoFalse, replicarátorchvision.transforms.Resizecom suporte para redimensionar apenas a menor aresta e fornecer ummax_sizeopcional. - max_size (
int, opcional, padrãoNone) — O valor máximo permitido para a aresta mais longa da imagem redimensionada: se a aresta mais longa da imagem for maior quemax_sizeapós o redimensionamento conformesize, a imagem é redimensionada novamente para que a aresta mais longa seja igual amax_size. Como resultado,sizepode ser sobrescrito, ou seja, a aresta menor pode ficar menor quesize. Usado apenas sedefault_to_squareforFalse.
Retorna
image
Uma PIL.Image.Image redimensionada.
Redimensiona image. Força a conversão da entrada para PIL.Image.
rotate
< source >( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image
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
< source >( imagerescale = Nonechannel_first = True )
Parâmetros
- image (
PIL.Image.Imageounp.ndarrayoutorch.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áTruese a imagem for uma imagem PIL ou um array/tensor de inteiros, eFalsecaso contrário. - channel_first (
bool, opcional, padrãoTrue) — 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
< source >( imagerescale = None )
Parâmetros
- image (
PIL.Image.Imageounumpy.ndarrayoutorch.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áTruese 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.