Transformers documentation

Extracteur de caractéristiques

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

Extracteur de caractéristiques

Un extracteur de caractéristiques est chargé de préparer les caractéristiques d'entrée pour les modèles audio. Cela inclut l'extraction de caractéristiques à partir de séquences, par exemple le prétraitement de fichiers audio pour générer des caractéristiques Log-Mel Spectrogram, ainsi que la conversion en tenseurs NumPy et PyTorch.

FeatureExtractionMixin

classe transformers.FeatureExtractionMixin

< >

( **kwargs )

Il s’agit d’un mixin d’extraction de caractéristiques utilisé pour fournir la fonctionnalité d’enregistrement/chargement pour les extracteurs de caractéristiques séquentiels et audio.

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 )

Paramètres

  • pretrained_model_name_or_path (str ou os.PathLike) — Cela peut être soit :
    • une chaîne de caractères, l'identifiant du modèle d'un feature_extractor pré-entraîné hébergé dans un dépôt de modèles sur huggingface.co.
    • un chemin vers un dossier contenant un fichier d’extracteur de caractéristiques enregistré à l’aide de la méthode save_pretrained(), par exemple ./my_model_directory/.
    • un chemin vers un fichier JSON d’extracteur de caractéristiques enregistré fichier, par exemple ./my_model_directory/preprocessor_config.json.
  • cache_dir (str ou os.PathLike, facultatif) — Chemin vers un répertoire dans lequel le feature extractor de modèle pré-entraîné téléchargé doit être mis en cache si le cache standard ne doit pas être utilisé.
  • force_download (bool, facultatif, valeur par défaut False) — Indique s'il faut forcer le (re)téléchargement des fichiers de l'extracteur de caractéristiques et remplacer les versions en cache si elles existent.
  • proxies (dict[str, str], facultatif) — Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Les proxys sont utilisés pour chaque requête.
  • token (str ou bool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si True, ou non spécifié, utilisera le jeton généré lors de l’exécution de hf auth login (stocké dans ~/.huggingface).
  • revision (str, facultatif, par défaut "main") — La version spécifique du modèle à utiliser. Il peut s’agir du nom d’une branche, du nom d’une étiquette ou d’un identifiant de commit, car nous utilisons un système basé sur git pour stocker les modèles et autres artefacts sur huggingface.co, de sorte que revision peut être n’importe quel identifiant autorisé par git.

Instanciez un type de FeatureExtractionMixin à partir d’un extracteur de caractéristiques, par exemple une classe dérivée de SequenceFeatureExtractor.

Exemples :

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

Paramètres

  • save_directory (str ou os.PathLike) — Répertoire où le fichier JSON de l'extracteur de caractéristiques sera enregistré (sera créé s'il n'existe pas).
  • push_to_hub (bool, facultatif, par défaut False) — Indique s'il faut ou non pousser votre modèle sur le hub de modèles Hugging Face après l'avoir enregistré. Vous pouvez spécifier le dépôt auquel vous souhaitez pousser avec repo_id (par défaut, il s'agit du nom de save_directory dans votre espace de noms).
  • kwargs (dict[str, Any], facultatif) — Arguments supplémentaires passés à la méthode push_to_hub().

Save a feature_extractor object to the directory save_directory, so that it can be re-loaded using the from_pretrained() class method.

SequenceFeatureExtractor

classe transformers.SequenceFeatureExtractor

< >

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

Paramètres

  • feature_size (int) — La dimension des caractéristiques des fonctionnalités extraites.
  • sampling_rate (int) — La fréquence d'échantillonnage à laquelle les fichiers audio doivent être numérisés, exprimée en hertz (Hz).
  • padding_value (float) — La valeur utilisée pour remplir les valeurs / vecteurs de bourrage.

Ceci est une classe générale d'extraction de caractéristiques pour la reconnaissance vocale.

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 )

Paramètres

  • processed_features (BatchFeature, liste de BatchFeature, dict[str, list[float]], dict[str, list[list[float]] ou list[dict[str, list[float]]]) — Entrées traitées. Peut représenter une seule entrée (BatchFeature ou dict[str, list[float]]) ou un lot de valeurs / vecteurs d'entrée (liste de BatchFeature, dict[str, list[list[float]]] ou list[dict[str, list[float]]]) afin que vous puissiez utiliser cette méthode aussi bien lors du prétraitement que dans une fonction de collation de PyTorch Dataloader.

    Au lieu de list[float], vous pouvez avoir des tenseurs (tableaux numpy ou tenseurs PyTorch), voir la note ci-dessus pour le type de retour.

  • padding (bool, str ou PaddingStrategy, facultatif, défaut : True) — Sélectionne une stratégie pour mettre en place le padding des séquences renvoyées (selon le côté de padding et l'index de padding du modèle) parmi :
    • True ou 'longest' : Ajuster à la séquence la plus longue du lot (ou aucun ajustement si une seule séquence est fournie).
    • 'max_length' : Remplir jusqu'à une longueur maximale spécifiée par l'argument max_length ou jusqu'à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni.
    • False ou 'do_not_pad' (par défaut) : aucun padding (c’est-à-dire, peut produire un lot avec des séquences de longueurs différentes).
  • max_length (int, facultatif) — Longueur maximale de la liste renvoyée et, le cas échéant, longueur du bourrage (voir ci-dessus).
  • truncation (bool) — Active la troncature pour couper les séquences d’entrée plus longues que max_length à max_length.
  • pad_to_multiple_of (int, facultatif) — Si défini, la séquence est rembourrée jusqu'à un multiple de la valeur fournie.

    Ceci est particulièrement utile pour permettre l'utilisation des Tensor Cores sur le matériel NVIDIA avec une capacité de calcul >= 7.5 (Volta), ou sur les TPU qui bénéficient d'avoir des longueurs de séquence qui sont un multiple de 128.

  • return_attention_mask (bool, facultatif) — Indique s'il faut retourner le masque d'attention. Si la valeur par défaut est conservée, le masque d'attention est retourné selon la valeur par défaut du feature_extractor spécifique.

    Qu'est-ce que les masques d'attention ?

  • return_tensors (str ou TensorType, facultatif) — Si défini, renvoie des tenseurs au lieu d'une liste d'entiers Python. Les valeurs acceptées sont :
    • 'pt' : Renvoie des objets torch.Tensor de PyTorch.
    • 'np' : Renvoie des objets Numpy np.ndarray.

Remplir les valeurs d’entrée / vecteurs d’entrée ou un lot de valeurs d’entrée / vecteurs d’entrée jusqu’à une longueur prédéfinie ou jusqu’à la longueur de séquence maximale du lot.

Les valeurs de bourrage (côté gauche/droite) sont définies au niveau de l'extracteur de caractéristiques (avec self.padding_side, self.padding_value)

Si les processed_features transmises sont un dictionnaire de tableaux numpy ou de tenseurs PyTorch, le résultat utilisera le même type, sauf si vous fournissez un type de tenseur différent avec return_tensors. Dans le cas des tenseurs PyTorch, vous perdrez toutefois l’appareil spécifique de vos tenseurs.

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 )

Paramètres

  • data (dict, facultatif) — Dictionnaire de listes/tableaux/tenseurs renvoyé par les méthodes call/pad (« input_values », « attention_mask », etc.).
  • tensor_type (Union[None, str, TensorType], facultatif) — Vous pouvez indiquer un tensor_type ici pour convertir les listes d'entiers en Tensors PyTorch/Numpy lors de l'initialisation.
  • skip_tensor_conversion (list[str] ou set[str], facultatif) — Liste ou ensemble de clés qui ne doivent PAS être converties en tenseurs, même si tensor_type est spécifié.

Contient la sortie des méthodes pad() et __call__ spécifiques à l'extracteur de caractéristiques.

Cette classe est dérivée d'un dictionnaire Python et peut être utilisée comme un dictionnaire.

convert_to_tensors

< >

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

Paramètres

  • tensor_type (str ou TensorType, facultatif) — Le type de tenseurs à utiliser. Si str, doit être l’une des valeurs de l’enum TensorType. Si None, aucune modification n’est effectuée.
  • skip_tensor_conversion (list[str] ou set[str], facultatif) — Liste ou ensemble de clés qui ne doivent PAS être converties en tenseurs, même si tensor_type est spécifié.

Convertir le contenu interne en tenseurs.

Note : Les valeurs qui n’ont pas une structure de type tableau (par exemple, des chaînes de caractères, des dictionnaires, des listes de chaînes) sont automatiquement ignorées et ne seront pas converties en tenseurs. Les tableaux irréguliers (listes de tableaux de longueurs différentes) sont tout de même tentés, bien qu’ils puissent provoquer des erreurs lors de la conversion.

à

< >

( *args**kwargs ) → BatchFeature

Paramètres

  • args (Tuple) — Sera transmis à la fonction to(...) des tenseurs.
  • kwargs (Dict, facultatif) — Sera transmis à la fonction to(...) des tenseurs. Pour activer le transfert de données asynchrone, définissez le drapeau non_blocking dans kwargs (valeur par défaut : False).

Retourne

BatchFeature

La même instance après modification.

Envoyer toutes les valeurs sur l’appareil en appelant v.to(*args, **kwargs) (PyTorch uniquement). Cela doit prendre en charge le cast dans différents dtypes et l’envoi du BatchFeature vers un autre device.

ImageFeatureExtractionMixin

classe transformers.ImageFeatureExtractionMixin

< >

( )

Mixin contenant des utilitaires pour préparer les caractéristiques d'image.

center_crop

< >

( imagesize ) → new_image

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor de forme (n_channels, height, width) ou (height, width, n_channels)) — L’image à redimensionner.
  • size (int ou tuple[int, int]) — La taille à laquelle recadrer l'image.

Retourne

new_image

Un PIL.Image.Image ou np.ndarray ou torch.Tensor recadré au centre de forme : (n_channels, height, width).

Crops image à la taille donnée en utilisant un recadrage centré. Notez que si l'image est trop petite pour être recadrée à la taille indiquée, elle sera rembourrée (le résultat renvoyé aura donc la taille demandée).

convert_rgb

< >

( image )

Paramètres

  • image (PIL.Image.Image) — L’image à convertir.

Convertit PIL.Image.Image au format RGB.

expand_dims

< >

( image )

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — L’image à étendre.

Élargit l'image bidimensionnelle à 3 dimensions.

flip_channel_order

< >

( image )

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — L’image dont les canaux de couleur doivent être inversés. Si np.ndarray ou torch.Tensor, la dimension des canaux doit être la première.

Flips the channel order of image from RGB to BGR, or vice versa. Note that this will trigger a conversion of image to a NumPy array if it’s a PIL Image.

normalize

< >

( imagemeanstdrescale = False )

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — L’image à normaliser.
  • mean (list[float] ou np.ndarray ou torch.Tensor) — La moyenne (par canal) à utiliser pour la normalisation.
  • std (list[float] ou np.ndarray ou torch.Tensor) — L'écart-type (par canal) à utiliser pour la normalisation.
  • rescale (bool, facultatif, par défaut False) — Indique s'il faut ou non redimensionner l'image pour qu'elle soit comprise entre 0 et 1. Si une image PIL est fournie, le redimensionnement se fait automatiquement.

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 )

Redimensionner une image numpy par un facteur d'échelle

redimensionner

< >

( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — L’image à redimensionner.
  • size (int ou tuple[int, int]) — La taille à utiliser pour redimensionner l'image. Si size est une séquence comme (h, w), la taille de sortie sera ajustée en conséquence.

    Si size est un int et default_to_square est True, l'image sera redimensionnée à (size, size). Si size est un int et default_to_square est False, le plus petit côté de l'image sera ajusté à ce nombre. Autrement dit, si height > width, l'image sera redimensionnée à (size * height / width, size).

  • resample (int, facultatif, par défaut PILImageResampling.BILINEAR) — Le filtre à utiliser pour le rééchantillonnage.
  • default_to_square (bool, facultatif, par défaut True) — Méthode de conversion de size lorsqu'il s'agit d'un seul entier. Si défini sur True, la size sera convertie en carré (size,size). Si défini sur False, reproduit torchvision.transforms.Resize avec la possibilité de redimensionner uniquement le plus petit côté et de fournir un max_size facultatif.
  • max_size (int, facultatif, par défaut None) — La valeur maximale autorisée pour le côté le plus long de l’image redimensionnée : si le côté le plus long de l’image est supérieur à max_size après redimensionnement selon size, l’image est à nouveau redimensionnée de manière à ce que le côté le plus long soit égal à max_size. En conséquence, size peut être outrepassé, c’est-à-dire que le côté le plus court peut être plus petit que size. Utilisé uniquement si default_to_square est False.

Retourne

image

Une image PIL.Image.Image redimensionnée.

Redimensionne image. Force la conversion de l’entrée en PIL.Image.

rotate

< >

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

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — L’image à faire pivoter. Si np.ndarray ou torch.Tensor, elle sera convertie en PIL.Image.Image avant la rotation.

Retourne

image

Une image PIL.Image.Image pivotée.

Retourne une copie rotée de image. Cette méthode retourne une copie de image, tournée du nombre de degrés indiqué dans le sens antihoraire autour de son centre.

to_numpy_array

< >

( imagerescale = Nonechannel_first = True )

Paramètres

  • image (PIL.Image.Image ou np.ndarray ou torch.Tensor) — L’image à convertir en tableau NumPy.
  • rescale (bool, facultatif) — Indique s'il faut appliquer le facteur d'échelle (pour que les valeurs des pixels soient des flottants compris entre 0. et 1.). La valeur par défaut est True si l'image est une image PIL ou un tableau/tenseur d'entiers, et False dans le cas contraire.
  • channel_first (bool, facultatif, valeur par défaut True) — Indique s'il faut ou non permuter les dimensions de l'image pour placer la dimension des canaux en premier.

Converts image to a numpy array. Optionally rescales it and puts the channel dimension as the first dimension.

to_pil_image

< >

( imagerescale = None )

Paramètres

  • image (PIL.Image.Image ou numpy.ndarray ou torch.Tensor) — L’image à convertir au format PIL Image.
  • rescale (bool, facultatif) — Indique s'il faut appliquer le facteur d'échelle (pour rendre les valeurs de pixels des entiers compris entre 0 et 255). La valeur par défaut est True si le type d'image est un type flottant, False sinon.

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

Update on GitHub