Transformers documentation
Extracteur de caractéristiques
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
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
< 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 )
Paramètres
- pretrained_model_name_or_path (
strouos.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 (
strouos.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éfautFalse) — 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 (
stroubool, facultatif) — Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. SiTrue, ou non spécifié, utilisera le jeton généré lors de l’exécution dehf 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 querevisionpeut ê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
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Paramètres
- save_directory (
strouos.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éfautFalse) — 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 avecrepo_id(par défaut, il s'agit du nom desave_directorydans 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
< source >( 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
< 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 )
Paramètres
- processed_features (BatchFeature, liste de BatchFeature,
dict[str, list[float]],dict[str, list[list[float]]oulist[dict[str, list[float]]]) — Entrées traitées. Peut représenter une seule entrée (BatchFeature oudict[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,strou 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 :Trueou'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'argumentmax_lengthou jusqu'à la longueur d'entrée maximale acceptable pour le modèle si cet argument n'est pas fourni.Falseou'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 quemax_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. - return_tensors (
strou TensorType, facultatif) — Si défini, renvoie des tenseurs au lieu d'une liste d'entiers Python. Les valeurs acceptées sont :'pt': Renvoie des objetstorch.Tensorde PyTorch.'np': Renvoie des objets Numpynp.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_featurestransmises 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 avecreturn_tensors. Dans le cas des tenseurs PyTorch, vous perdrez toutefois l’appareil spécifique de vos tenseurs.
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 )
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]ouset[str], facultatif) — Liste ou ensemble de clés qui ne doivent PAS être converties en tenseurs, même sitensor_typeest 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
< source >( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )
Paramètres
- tensor_type (
strou TensorType, facultatif) — Le type de tenseurs à utiliser. Sistr, doit être l’une des valeurs de l’enum TensorType. SiNone, aucune modification n’est effectuée. - skip_tensor_conversion (
list[str]ouset[str], facultatif) — Liste ou ensemble de clés qui ne doivent PAS être converties en tenseurs, même sitensor_typeest 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.
à
< source >( *args**kwargs ) → BatchFeature
Paramètres
- args (
Tuple) — Sera transmis à la fonctionto(...)des tenseurs. - kwargs (
Dict, facultatif) — Sera transmis à la fonctionto(...)des tenseurs. Pour activer le transfert de données asynchrone, définissez le drapeaunon_blockingdanskwargs(valeur par défaut :False).
Retourne
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
Mixin contenant des utilitaires pour préparer les caractéristiques d'image.
center_crop
< source >( imagesize ) → new_image
Paramètres
- image (
PIL.Image.Imageounp.ndarrayoutorch.Tensorde forme (n_channels, height, width) ou (height, width, n_channels)) — L’image à redimensionner. - size (
intoutuple[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).
Convertit PIL.Image.Image au format RGB.
expand_dims
< source >( image )
Élargit l'image bidimensionnelle à 3 dimensions.
flip_channel_order
< source >( image )
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
< source >( imagemeanstdrescale = False )
Paramètres
- image (
PIL.Image.Imageounp.ndarrayoutorch.Tensor) — L’image à normaliser. - mean (
list[float]ounp.ndarrayoutorch.Tensor) — La moyenne (par canal) à utiliser pour la normalisation. - std (
list[float]ounp.ndarrayoutorch.Tensor) — L'écart-type (par canal) à utiliser pour la normalisation. - rescale (
bool, facultatif, par défautFalse) — 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.
Redimensionner une image numpy par un facteur d'échelle
redimensionner
< source >( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image
Paramètres
- image (
PIL.Image.Imageounp.ndarrayoutorch.Tensor) — L’image à redimensionner. - size (
intoutuple[int, int]) — La taille à utiliser pour redimensionner l'image. Sisizeest une séquence comme (h, w), la taille de sortie sera ajustée en conséquence.Si
sizeest un int etdefault_to_squareestTrue, l'image sera redimensionnée à (size, size). Sisizeest un int etdefault_to_squareestFalse, 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éfautPILImageResampling.BILINEAR) — Le filtre à utiliser pour le rééchantillonnage. - default_to_square (
bool, facultatif, par défautTrue) — Méthode de conversion desizelorsqu'il s'agit d'un seul entier. Si défini surTrue, lasizesera convertie en carré (size,size). Si défini surFalse, reproduittorchvision.transforms.Resizeavec la possibilité de redimensionner uniquement le plus petit côté et de fournir unmax_sizefacultatif. - max_size (
int, facultatif, par défautNone) — 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_sizeaprès redimensionnement selonsize, l’image est à nouveau redimensionnée de manière à ce que le côté le plus long soit égal àmax_size. En conséquence,sizepeut être outrepassé, c’est-à-dire que le côté le plus court peut être plus petit quesize. Utilisé uniquement sidefault_to_squareestFalse.
Retourne
image
Une image PIL.Image.Image redimensionnée.
Redimensionne image. Force la conversion de l’entrée en PIL.Image.
rotate
< source >( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image
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
< source >( imagerescale = Nonechannel_first = True )
Paramètres
- image (
PIL.Image.Imageounp.ndarrayoutorch.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 estTruesi l'image est une image PIL ou un tableau/tenseur d'entiers, etFalsedans le cas contraire. - channel_first (
bool, facultatif, valeur par défautTrue) — 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
< source >( imagerescale = None )
Paramètres
- image (
PIL.Image.Imageounumpy.ndarrayoutorch.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 estTruesi le type d'image est un type flottant,Falsesinon.
Converts image to a PIL Image. Optionally rescales it and puts the channel dimension back as the last axis if
needed.