Transformers documentation
CLAP
Ce modèle a été publié dans HF papers le 2022-11-12 et ajouté à Hugging Face Transformers le 2023-02-16.
CLAP
CLAP (Contrastive Language-Audio Pretraining) est un modèle multimodal qui associe des données audio à des descriptions en langage naturel par apprentissage contrastif.
Il intègre la fusion de caractéristiques et l’augmentation par correspondance mot-clé/légende pour traiter des entrées audio de longueur variable et améliorer les performances. CLAP n’exige pas de données d’entraînement spécifiques à la tâche et peut apprendre des représentations audio significatives à travers le langage naturel.
Vous pouvez trouver tous les points de contrôle originaux de CLAP dans la collection CLAP.
Ce modèle a été contribué par ybelkada et ArthurZ.
Cliquez sur les modèles CLAP dans la barre latérale droite pour plus d’exemples sur la façon d’appliquer CLAP à différentes tâches de récupération et de classification audio.
L'exemple ci-dessous montre comment extraire des embeddings de texte avec la classe AutoModel.
import torch
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("laion/clap-htsat-unfused", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("laion/clap-htsat-unfused")
texts = ["the sound of a cat", "the sound of a dog", "music playing"]
inputs = tokenizer(texts, padding=True, return_tensors="pt").to(model.device)
with torch.no_grad():
text_features = model.get_text_features(**inputs)
print(f"Text embeddings shape: {text_features.shape}")
print(f"Text embeddings: {text_features}")ClapConfig
classe transformers.ClapConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonelogit_scale_init_value: float = 14.285714285714285projection_dim: int = 512projection_hidden_act: str = 'relu'initializer_factor: float = 1.0 )
Paramètres
- text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], facultatif) — L'objet de configuration ou le dictionnaire du backbone de texte. - audio_config (
Union[dict, ~configuration_utils.PreTrainedConfig], facultatif) — L'objet de configuration ou le dictionnaire du backbone audio. - logit_scale_init_value (
float, facultatif, par défaut14.285714285714285) — La valeur initiale du paramètre logit_scale. - projection_dim (
int, facultatif, par défaut512) — Dimension des couches de projection du texte et de la vision. - projection_hidden_act (
str, facultatif, par défautrelu) — La fonction d'activation utilisée par le projecteur multimodal. - initializer_factor (
float, facultatif, par défaut1.0) — Un facteur pour l'initialisation de toutes les matrices de poids (doit être maintenu à 1, utilisé en interne pour les tests d'initialisation).
Ceci est la classe de configuration destinée à stocker la configuration d'un ClapModel. Elle est utilisée pour instancier un modèle Clap en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de laion/clap-htsat-fused
Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.
Exemple :
>>> from transformers import ClapConfig, ClapModel
>>> # Initializing a ClapConfig with laion-ai/base style configuration
>>> configuration = ClapConfig()
>>> # Initializing a ClapModel (with random weights) from the laion-ai/base style configuration
>>> model = ClapModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
>>> # We can also initialize a ClapConfig from a ClapTextConfig and a ClapAudioConfig
>>> from transformers import ClapTextConfig, ClapAudioConfig
>>> # Initializing a ClapText and ClapAudioConfig configuration
>>> config_text = ClapTextConfig()
>>> config_audio = ClapAudioConfig()
>>> config = ClapConfig(text_config=config_text, audio_config=config_audio)ClapTextConfig
classe transformers.ClapTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 50265hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.1attention_probs_dropout_prob: float | int = 0.1max_position_embeddings: int = 514type_vocab_size: int = 1initializer_factor: float = 1.0layer_norm_eps: float = 1e-12projection_dim: int = 512pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2projection_hidden_act: str = 'relu' )
Paramètres
- vocab_size (
int, facultatif, par défaut50265) — Taille du vocabulaire du modèle. Définit le nombre de jetons différents qui peuvent être représentés parinput_ids. - hidden_size (
int, facultatif, par défaut768) — Dimension des représentations cachées. - num_hidden_layers (
int, facultatif, par défaut12) — Nombre de couches cachées dans le décodeur Transformer. - num_attention_heads (
int, facultatif, valeur par défaut12) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer. - intermediate_size (
int, facultatif, par défaut3072) — Dimension des représentations du MLP. - hidden_act (
str, facultatif, par défautgelu) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) du décodeur. Par exemple,"gelu","relu","silu", etc. - hidden_dropout_prob (
Union[float, int], facultatif, par défaut0.1) — La probabilité de dropout pour toutes les couches entièrement connectées des embeddings, de l'encodeur et du pooler. - attention_probs_dropout_prob (
Union[float, int], facultatif, par défaut0.1) — Le taux de dropout appliqué aux probabilités d'attention. - max_position_embeddings (
int, facultatif, par défaut514) — La longueur de séquence maximale avec laquelle ce modèle pourrait être utilisé. - type_vocab_size (
int, facultatif, par défaut1) — La taille du vocabulaire destoken_type_ids. - initializer_factor (
float, facultatif, par défaut1.0) — Un facteur pour l'initialisation de toutes les matrices de poids (doit être maintenu à 1, utilisé en interne pour les tests d'initialisation). - layer_norm_eps (
float, facultatif, valeur par défaut1e-12) — L'épsilon utilisé par les couches de normalisation de couche. - projection_dim (
int, facultatif, par défaut512) — Dimension des couches de projection du texte et de la vision. - pad_token_id (
int, facultatif, par défaut1) — Identifiant du jeton utilisé pour le bourrage dans le vocabulaire. - bos_token_id (
int, facultatif, par défaut0) — Identifiant du jeton utilisé pour le début de flux dans le vocabulaire. - eos_token_id (
Union[int, list[int]], facultatif, par défaut2) — Identifiant du jeton utilisé pour la fin de flux dans le vocabulaire. - projection_hidden_act (
str, facultatif, par défautrelu) — La fonction d'activation utilisée par le projecteur multimodal.
Ceci est la classe de configuration destinée à stocker la configuration d'un ClapModel. Elle est utilisée pour instancier un modèle Clap en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de laion/clap-htsat-fused
Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.
Exemples :
>>> from transformers import ClapTextConfig, ClapTextModel
>>> # Initializing a CLAP text configuration
>>> configuration = ClapTextConfig()
>>> # Initializing a model (with random weights) from the configuration
>>> model = ClapTextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configClapAudioConfig
classe transformers.ClapAudioConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonewindow_size: int = 8num_mel_bins: int = 64spec_size: int = 256hidden_act: str = 'gelu'patch_size: int | list[int] | tuple[int, int] = 4patch_stride: int | list[int] | tuple[int, ...] = (4, 4)num_classes: int = 527hidden_size: int = 768projection_dim: int = 512depths: list[int] | tuple[int, ...] = (2, 2, 6, 2)num_attention_heads: list[int] | tuple[int, ...] = (4, 8, 16, 32)enable_fusion: bool = Falsehidden_dropout_prob: float | int = 0.1fusion_type: str | None = Nonepatch_embed_input_channels: int = 1flatten_patch_embeds: bool = Truepatch_embeds_hidden_size: int = 96enable_patch_layer_norm: bool = Truedrop_path_rate: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0qkv_bias: bool = Truemlp_ratio: float = 4.0aff_block_r: int = 4num_hidden_layers: int = 4projection_hidden_act: str = 'relu'layer_norm_eps: float = 1e-05initializer_factor: float = 1.0 )
Paramètres
- window_size (
int, facultatif, valeur par défaut 8) — Taille de l'image du spectrogramme - num_mel_bins (
int, facultatif, valeur par défaut64) — Nombre de caractéristiques mel utilisées par tranche d’entrée. Doit correspondre à la valeur utilisée dans la classeAutoFeatureExtractor. - spec_size (
int, facultatif, par défaut 256) — Taille d’entrée souhaitée du spectrogramme prise en charge par le modèle. Elle peut différer de la sortie duClapFeatureExtractor, auquel cas les caractéristiques d’entrée seront redimensionnées. Correspond àimage_sizedes modèles audio. - hidden_act (
str, facultatif, par défautgelu) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) du décodeur. Par exemple,"gelu","relu","silu", etc. - patch_size (
Union[int, list[int], tuple[int, int]], facultatif, par défaut4) — La taille (résolution) de chaque patch. - patch_stride (
list, facultatif, par défaut[4, 4]) — Pas de patch pour le spectrogramme audio - num_classes (
int, facultatif, valeur par défaut 527) — Nombre de classes utilisées pour l’entraînement de la tête - hidden_size (
int, facultatif, par défaut768) — Dimension des représentations cachées. - projection_dim (
int, facultatif, par défaut512) — Dimension des couches de projection du texte et de la vision. - depths (
Union[list[int], tuple[int, ...]], facultatif, par défaut(2, 2, 6, 2)) — Profondeur de chaque couche du Transformer. - num_attention_heads (
Union[list[int], tuple[int, ...]], facultatif, valeur par défaut(4, 8, 16, 32)) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer. - enable_fusion (
bool, facultatif, valeur par défautFalse) — Indique s'il faut activer la fusion de patches. C'est la principale contribution des auteurs et devrait donner les meilleurs résultats. - hidden_dropout_prob (
Union[float, int], facultatif, par défaut0.1) — La probabilité de dropout pour toutes les couches entièrement connectées des embeddings, de l'encodeur et du pooler. - fusion_type (
[type], facultatif) — Type de fusion utilisé pour la fusion des patches. - patch_embed_input_channels (
int, facultatif, par défaut 1) — Nombre de canaux utilisés pour le spectrogramme d'entrée - flatten_patch_embeds (
bool, facultatif, par défautTrue) — Indique s'il faut aplatir les embeddings de patch - patch_embeds_hidden_size (
int, facultatif, valeur par défaut 96) — Taille cachée des embeddings de patch. Elle est utilisée comme nombre de canaux de sortie. - enable_patch_layer_norm (
bool, facultatif, valeur par défautTrue) — Indique s'il faut activer la normalisation par couche pour les embeddings de patch. - drop_path_rate (
Union[float, int], facultatif, par défaut0.0) — Taux de drop path pour la fusion des patches. - attention_probs_dropout_prob (
Union[float, int], facultatif, par défaut0.0) — Le taux de dropout appliqué aux probabilités d'attention. - qkv_bias (
bool, facultatif, par défautTrue) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs. - mlp_ratio (
float, facultatif, par défaut4.0) — Ratio de la dimension cachée du MLP par rapport à la dimension d'embedding. - aff_block_r (
int, facultatif, valeur par défaut 4) — downsize_ratio utilisé dans le bloc AudioFF - num_hidden_layers (
int, facultatif, par défaut4) — Nombre de couches cachées dans le décodeur Transformer. - projection_hidden_act (
str, facultatif, par défautrelu) — La fonction d'activation utilisée par le projecteur multimodal. - layer_norm_eps (
float, facultatif, valeur par défaut1e-05) — L'épsilon utilisé par les couches de normalisation de couche. - initializer_factor (
float, facultatif, par défaut1.0) — Un facteur pour l'initialisation de toutes les matrices de poids (doit être maintenu à 1, utilisé en interne pour les tests d'initialisation).
Ceci est la classe de configuration destinée à stocker la configuration d'un ClapModel. Elle est utilisée pour instancier un modèle Clap en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de laion/clap-htsat-fused
Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.
Exemple :
>>> from transformers import ClapAudioConfig, ClapAudioModel
>>> # Initializing a ClapAudioConfig with laion/clap-htsat-fused style configuration
>>> configuration = ClapAudioConfig()
>>> # Initializing a ClapAudioModel (with random weights) from the laion/clap-htsat-fused style configuration
>>> model = ClapAudioModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configClapFeatureExtractor
classe transformers.ClapFeatureExtractor
< source >( feature_size = 64sampling_rate = 48000hop_length = 480max_length_s = 10fft_window_size = 1024padding_value = 0.0return_attention_mask = Falsefrequency_min: float = 0frequency_max: float = 14000top_db: int | None = Nonetruncation: str = 'fusion'padding: str = 'repeatpad'**kwargs )
Paramètres
- feature_size (
int, facultatif, par défaut 64) — La dimension des caractéristiques des spectrogrammes de Mel extraits. Cela correspond au nombre de filtres de Mel (n_mels). - sampling_rate (
int, facultatif, valeur par défaut 48000) — La fréquence d'échantillonnage à laquelle les fichiers audio doivent être numérisés, exprimée en hertz (Hz). Cela sert uniquement à avertir les utilisateurs si l'audio fourni à l'extracteur de caractéristiques n'a pas la même fréquence d'échantillonnage. - hop_length (
int,facultatif, par défaut 480) — Longueur des fenêtres superposées pour la STFT utilisée pour obtenir le spectrogramme de Mel. L'audio sera divisé en plus petitesframesavec un pas dehop_lengthentre chaque frame. - max_length_s (
int, facultatif, valeur par défaut 10) — La longueur maximale de l'entrée du modèle, en secondes. Cette valeur est utilisée pour compléter l'audio. - fft_window_size (
int, facultatif, par défaut 1024) — Taille de la fenêtre (en échantillons) sur laquelle la transformée de Fourier est appliquée. Cela contrôle la résolution en fréquence du spectrogramme. 400 signifie que la transformée de Fourier est calculée sur des fenêtres de 400 échantillons. - padding_value (
float, facultatif, valeur par défaut 0.0) — Valeur de bourrage utilisée pour bourrer l'audio. Doit correspondre à des silences. - return_attention_mask (
bool, facultatif, par défautFalse) — Indique si le modèle doit retourner les masques d'attention correspondant à l'entrée. - frequency_min (
float, facultatif, valeur par défaut 0) — La fréquence minimale d'intérêt. La STFT ne sera pas calculée pour les valeurs inférieures à celle-ci. - frequency_max (
float, facultatif, valeur par défaut 14000) — La fréquence maximale d'intérêt. La STFT ne sera pas calculée pour les valeurs supérieures à celle-ci. - top_db (
float, facultatif) — La valeur maximale en décibels utilisée pour convertir le spectrogramme de mel à l'échelle logarithmique. Pour plus de détails, consultez la fonctionaudio_utils.power_to_db - truncation (
str, facultatif, par défaut"fusion") — Motif de troncature pour les entrées audio longues. Deux motifs sont disponibles :fusionutilisera_random_mel_fusion, qui empile 3 recadrages aléatoires de la spectrogramme mel et une version sous-échantillonnée de la spectrogramme mel entière. Siconfig.fusionest défini sur True, les audios plus courts doivent également retourner 4 mels, qui ne seront qu'une copie de la mel originale obtenue à partir de l'audio rembourré.rand_truncsélectionne un recadrage aléatoire de la spectrogramme de Mel.
- padding (
str, facultatif, par défaut"repeatpad") — Motif de bourrage pour les entrées audio plus courtes. Trois motifs ont été initialement implémentés :repeatpad: l’audio est répété, puis complété pour atteindre lamax_length.repeat: l'audio est répété puis coupé pour s'adapter à lamax_lengthpad: l'audio est complété par des zéros.
Construit un extracteur de fonctionnalités CLAP.
Cet extracteur de fonctionnalités hérite de SequenceFeatureExtractor, qui contient la plupart des méthodes principales. Les utilisateurs doivent se référer à cette superclasse pour plus d'informations sur ces méthodes.
Cette classe extrait les caractéristiques de la banque de filtres mel à partir de la parole brute à l'aide d'une implémentation numpy personnalisée de la transformée de Fourier à court terme (STFT), qui doit correspondre à l'équivalent torch.stft de pytorch.
to_dict
< source >( ) → dict[str, Any]
Retourne
dict[str, Any]
Dictionnaire de tous les attributs qui composent cette instance de configuration, à l'exception des banques de filtres mel, qui n'ont pas besoin d'être sauvegardées ou affichées car elles sont trop longues.
Sérialise cette instance en dictionnaire Python.
ClapProcessor
classe transformers.ClapProcessor
< source >( feature_extractortokenizer )
Construit un ClapProcessor qui encapsule un extracteur de caractéristiques et un tokenizer en un seul processeur.
ClapProcessor offre toutes les fonctionnalités de ClapFeatureExtractor et de RobertaTokenizer. Consultez ~ClapFeatureExtractor et ~RobertaTokenizer pour plus d’informations.
__call__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
Paramètres
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], facultatif) — Image à prétraiter. S'attend à une image unique ou à un lot d'images dont les valeurs de pixels vont de 0 à 255. Si vous passez des images dont les valeurs de pixels sont comprises entre 0 et 1, définissezdo_rescale=False. - text (
Union[str, list[str], list[list[str]]], facultatif) — La séquence ou le lot de séquences à encoder. Chaque séquence peut être une chaîne de caractères ou une liste de chaînes de caractères (chaînes pré-tokenisées). Si vous passez une entrée pré-tokenisée, définissezis_split_into_words=Truepour éviter toute ambiguïté avec les entrées en lot. - videos (
Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], facultatif) — Vidéo à prétraiter. S’attend à une vidéo unique ou à un lot de vidéos dont les valeurs de pixels vont de 0 à 255. Si vous passez des vidéos dont les valeurs de pixels sont comprises entre 0 et 1, définissezdo_rescale=False. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], facultatif) — L’audio ou le lot d’audios à préparer. Chaque audio peut être un tableau NumPy ou un tenseur PyTorch. Dans le cas d’un tableau NumPy/tenseur PyTorch, chaque audio doit avoir la forme (C, T), où C est le nombre de canaux et T est la longueur d’échantillonnage de l’audio. - return_tensors (
strou TensorType, facultatif) — Si défini, renvoie des tenseurs d'un framework particulier. Les valeurs acceptées sont :'pt': Renvoie des objetstorch.Tensorde PyTorch.'np': Renvoie des objets NumPynp.ndarray.
- **kwargs (ProcessingKwargs, facultatif) — Options de traitement supplémentaires pour chaque modalité (texte, images, vidéos, audio). Les paramètres spécifiques au modèle sont répertoriés ci-dessus ; consultez la classe TypedDict pour la liste complète des arguments pris en charge.
ClapModel
classe transformers.ClapModel
< source >( config: ClapConfig )
Paramètres
- config (ClapConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
Le modèle Clap brut, qui produit des états cachés bruts sans aucune tête spécifique au sommet.
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneis_longer: typing.Optional[torch.BoolTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonereturn_loss: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClapOutput or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.LongTensorde forme(batch_size, sequence_length), facultatif) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Le bourrage (padding) sera ignoré par défaut.Les indices peuvent être obtenus à l'aide de AutoTokenizer. Consultez PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails.
- input_features (
torch.Tensorde forme(batch_size, sequence_length, feature_dim), facultatif) — Les tenseurs correspondant aux caractéristiques audio d’entrée. Les caractéristiques audio peuvent être obtenues à l’aide de ClapFeatureExtractor. VoirClapFeatureExtractor.__call__()pour plus de détails (ClapProcessor utilise ClapFeatureExtractor pour le traitement des audios). - is_longer (
torch.Tensor, de forme(batch_size, 1), facultatif) — Indique si le clip audio est plus long quemax_length. SiTrue, une fusion de caractéristiques sera activée pour améliorer les caractéristiques. - attention_mask (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
- position_ids (
torch.LongTensorde forme(batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle[0, config.n_positions - 1]. - return_loss (
bool, facultatif) — Indique s'il faut renvoyer la perte contrastive.
Retourne
ClapOutput ou tuple(torch.Tensor)
Un ClapOutput ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
La méthode forward du ClapModel redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
- loss (
torch.Tensorde forme(1,), facultatif, renvoyé lorsquereturn_lossestTrue) — Perte contrastive pour la similarité audio-texte. - logits_per_audio (
torch.Tensorde forme(audio_batch_size, text_batch_size)) — Les scores de produit scalaire normalisé entreaudio_embedsettext_embeds. Cela représente les scores de similarité audio-texte. - logits_per_text (
torch.Tensorde forme(text_batch_size, audio_batch_size)) — Les scores de produit scalaire normalisé entretext_embedsetaudio_embeds. Cela représente les scores de similarité texte-audio. - text_embeds (
torch.Tensorde forme(batch_size, output_dim) — Les embeddings de texte obtenus en appliquant la couche de projection à la sortie agrégée de ClapTextModel. - audio_embeds (
torch.Tensorde forme(batch_size, output_dim) — Les embeddings audio obtenus en appliquant la couche de projection à la sortie agrégée de ClapAudioModel. - text_model_output (
~modeling_outputs.BaseModelOutputWithPooling, facultatif) — La sortie du ClapTextModel. - audio_model_output (
~modeling_outputs.BaseModelOutputWithPooling, facultatif) — La sortie du ClapAudioModel.
Exemples :
>>> from datasets import load_dataset
>>> from transformers import AutoProcessor, ClapModel
>>> dataset = load_dataset("hf-internal-testing/ashraq-esc50-1-dog-example")
>>> audio_sample = dataset["train"]["audio"][0]["array"]
>>> model = ClapModel.from_pretrained("laion/clap-htsat-unfused")
>>> processor = AutoProcessor.from_pretrained("laion/clap-htsat-unfused")
>>> input_text = ["Sound of a dog", "Sound of vacuum cleaner"]
>>> inputs = processor(text=input_text, audio=audio_sample, return_tensors="pt", padding=True)
>>> outputs = model(**inputs)
>>> logits_per_audio = outputs.logits_per_audio # this is the audio-text similarity score
>>> probs = logits_per_audio.softmax(dim=-1) # we can take the softmax to get the label probabilitiesget_text_features
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.Tensorde forme(batch_size, sequence_length)) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Le bourrage (padding) sera ignoré par défaut.Les indices peuvent être obtenus à l'aide de AutoTokenizer. Consultez PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails.
- attention_mask (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
- position_ids (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle[0, config.n_positions - 1].
Retourne
BaseModelOutputWithPooling ou tuple(torch.Tensor)
Un BaseModelOutputWithPooling ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
last_hidden_state (
torch.Tensorde forme(batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.pooler_output (
torch.Tensorde forme(batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, sequence_length, hidden_size).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
attentions (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.Tensor(un par couche) de forme(batch_size, num_heads, sequence_length, sequence_length).Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.
Exemples :
>>> import torch
>>> from transformers import AutoTokenizer, ClapModel
>>> model = ClapModel.from_pretrained("laion/clap-htsat-unfused")
>>> tokenizer = AutoTokenizer.from_pretrained("laion/clap-htsat-unfused")
>>> inputs = tokenizer(["the sound of a cat", "the sound of a dog"], padding=True, return_tensors="pt")
>>> with torch.inference_mode():
... text_features = model.get_text_features(**inputs)get_audio_features
< source >( input_features: Tensoris_longer: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- input_features (
torch.Tensorde forme(batch_size, sequence_length, feature_dim)) — Les tenseurs correspondant aux caractéristiques audio d’entrée. Les caractéristiques audio peuvent être obtenues à l’aide de ClapFeatureExtractor. VoirClapFeatureExtractor.__call__()pour plus de détails (ClapProcessor utilise ClapFeatureExtractor pour le traitement des audios). - is_longer (
torch.Tensor, de forme(batch_size, 1), facultatif) — Indique si le clip audio est plus long quemax_length. SiTrue, une fusion de caractéristiques sera activée pour améliorer les caractéristiques. - attention_mask (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
Retourne
BaseModelOutputWithPooling ou tuple(torch.Tensor)
Un BaseModelOutputWithPooling ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
last_hidden_state (
torch.Tensorde forme(batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.pooler_output (
torch.Tensorde forme(batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, sequence_length, hidden_size).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
attentions (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.Tensor(un par couche) de forme(batch_size, num_heads, sequence_length, sequence_length).Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.
Exemples :
>>> import torch
>>> from transformers import AutoFeatureExtractor, ClapModel
>>> model = ClapModel.from_pretrained("laion/clap-htsat-unfused")
>>> feature_extractor = AutoFeatureExtractor.from_pretrained("laion/clap-htsat-unfused")
>>> random_audio = torch.rand((16_000))
>>> inputs = feature_extractor(random_audio, return_tensors="pt")
>>> with torch.inference_mode():
... audio_features = model.get_audio_features(**inputs)ClapTextModel
classe transformers.ClapTextModel
< source >( config: ClapTextConfigadd_pooling_layer = True )
Paramètres
- config (ClapTextConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
- add_pooling_layer (
bool, facultatif, par défautTrue) — Indique s'il faut ajouter une couche de pooling
Le modèle peut se comporter comme un encodeur (avec uniquement de l'auto-attention) ainsi que comme un décodeur, auquel cas une couche d'attention croisée est ajoutée entre les couches d'auto-attention, suivant l'architecture décrite dans Attention is all you need_ par Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser et Illia Polosukhin.
Pour se comporter comme un décodeur, le modèle doit être initialisé avec l'argument is_decoder de la configuration défini sur True. Pour être utilisé dans un modèle Seq2Seq, le modèle doit être initialisé avec à la fois l'argument is_decoder et add_cross_attention définis sur True ; un encoder_hidden_states est alors attendu en entrée de la passe avant.
.. _L'attention est tout ce dont vous avez besoin : https://huggingface.co/papers/1706.03762
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Le bourrage (padding) sera ignoré par défaut.Les indices peuvent être obtenus à l'aide de AutoTokenizer. Consultez PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails.
- attention_mask (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
- token_type_ids (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Indices de jetons de segment pour indiquer les première et deuxième parties des entrées. Les indices sont choisis dans[0, 1]:- 0 correspond à un jeton sentence A,
- 1 correspond à un jeton sentence B.
- position_ids (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle[0, config.n_positions - 1]. - inputs_embeds (
torch.Tensorde forme(batch_size, sequence_length, hidden_size), facultatif) — Facultativement, au lieu de passerinput_ids, vous pouvez choisir de passer directement une représentation intégrée. Cela est utile si vous souhaitez un meilleur contrôle sur la manière de convertir les indicesinput_idsen vecteurs associés que la matrice de recherche d’intégration interne du modèle.
Retourne
BaseModelOutputWithPooling ou tuple(torch.Tensor)
Un BaseModelOutputWithPooling ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
La méthode forward du modèle ClapTextModel redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
last_hidden_state (
torch.Tensorde forme(batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.pooler_output (
torch.Tensorde forme(batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, sequence_length, hidden_size).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
attentions (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.Tensor(un par couche) de forme(batch_size, num_heads, sequence_length, sequence_length).Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.
ClapTextModelWithProjection
classe transformers.ClapTextModelWithProjection
< source >( config: ClapTextConfig )
Paramètres
- config (ClapTextConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
Le modèle Clap avec une couche de projection au sommet (une couche linéaire au sommet de la sortie agrégée).
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClapTextModelOutput or tuple(torch.Tensor)
Paramètres
- input_ids (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Indices des jetons de la séquence d'entrée dans le vocabulaire. Le bourrage (padding) sera ignoré par défaut.Les indices peuvent être obtenus à l'aide de AutoTokenizer. Consultez PreTrainedTokenizer.encode() et PreTrainedTokenizer.call() pour plus de détails.
- attention_mask (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Masque pour éviter d'appliquer l'attention aux indices des jetons de bourrage. Les valeurs du masque sont choisies dans[0, 1]:- 1 pour les jetons qui ne sont pas masqués,
- 0 pour les jetons masqués.
- position_ids (
torch.Tensorde forme(batch_size, sequence_length), facultatif) — Indices des positions des jetons de chaque séquence d'entrée dans les embeddings de position. Sélectionnés dans l'intervalle[0, config.n_positions - 1].
Retourne
ClapTextModelOutput ou tuple(torch.Tensor)
Un ClapTextModelOutput ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
La méthode forward du ClapTextModelWithProjection redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
text_embeds (
torch.Tensorde forme(batch_size, output_dim)facultatif renvoyé lorsque le modèle est initialisé avecwith_projection=True) — Les embeddings de texte obtenus en appliquant la couche de projection au pooler_output.last_hidden_state (
torch.Tensorde forme(batch_size, sequence_length, hidden_size), facultatif) — Séquence d'états cachés à la sortie de la dernière couche du modèle.hidden_states (
tuple[torch.Tensor, ...], facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, sequence_length, hidden_size).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
attentions (
tuple[torch.Tensor, ...], facultatif, renvoyé lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.Tensor(un par couche) de forme(batch_size, num_heads, sequence_length, sequence_length).Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.
Exemples :
>>> from transformers import AutoTokenizer, ClapTextModelWithProjection
>>> model = ClapTextModelWithProjection.from_pretrained("laion/clap-htsat-unfused")
>>> tokenizer = AutoTokenizer.from_pretrained("laion/clap-htsat-unfused")
>>> inputs = tokenizer(["a sound of a cat", "a sound of a dog"], padding=True, return_tensors="pt")
>>> outputs = model(**inputs)
>>> text_embeds = outputs.text_embedsClapAudioModel
forward
< source >( input_features: typing.Optional[torch.Tensor] = Noneis_longer: typing.Optional[torch.BoolTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Paramètres
- input_features (
torch.Tensorde forme(batch_size, sequence_length, feature_dim), facultatif) — Les tenseurs correspondant aux caractéristiques audio d’entrée. Les caractéristiques audio peuvent être obtenues à l’aide de ClapFeatureExtractor. VoirClapFeatureExtractor.__call__()pour plus de détails (ClapProcessor utilise ClapFeatureExtractor pour le traitement des audios). - is_longer (
torch.Tensor, de forme(batch_size, 1), facultatif) — Indique si le clip audio est plus long quemax_length. SiTrue, une fusion de caractéristiques sera activée pour améliorer les caractéristiques.
Retourne
BaseModelOutputWithPooling ou tuple(torch.Tensor)
Un BaseModelOutputWithPooling ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
La méthode forward du ClapAudioModel redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
last_hidden_state (
torch.Tensorde forme(batch_size, sequence_length, hidden_size)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.pooler_output (
torch.Tensorde forme(batch_size, hidden_size)) — État caché de la dernière couche du premier jeton de la séquence (jeton de classification) après un traitement supplémentaire par les couches utilisées pour la tâche de pré-entraînement auxiliaire. Par exemple, pour les modèles de la famille BERT, cela renvoie le jeton de classification après traitement par une couche linéaire et une fonction d'activation tanh. Les poids de la couche linéaire sont entraînés à partir de l'objectif de prédiction de la phrase suivante (classification) pendant le pré-entraînement.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, sequence_length, hidden_size).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
attentions (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.Tensor(un par couche) de forme(batch_size, num_heads, sequence_length, sequence_length).Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.
Exemples :
>>> from datasets import load_dataset
>>> from transformers import AutoProcessor, ClapAudioModel
>>> dataset = load_dataset("hf-internal-testing/ashraq-esc50-1-dog-example")
>>> audio_sample = dataset["train"]["audio"][0]["array"]
>>> model = ClapAudioModel.from_pretrained("laion/clap-htsat-fused")
>>> processor = AutoProcessor.from_pretrained("laion/clap-htsat-fused")
>>> inputs = processor(audio=audio_sample, return_tensors="pt")
>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_stateClapAudioModelWithProjection
classe transformers.ClapAudioModelWithProjection
< source >( config: ClapAudioConfig )
Paramètres
- config (ClapAudioConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
Le modèle Clap avec une couche de projection au sommet (une couche linéaire au sommet de la sortie agrégée).
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( input_features: typing.Optional[torch.Tensor] = Noneis_longer: typing.Optional[torch.BoolTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClapAudioModelOutput or tuple(torch.Tensor)
Paramètres
- input_features (
torch.Tensorde forme(batch_size, sequence_length, feature_dim), facultatif) — Les tenseurs correspondant aux caractéristiques audio d’entrée. Les caractéristiques audio peuvent être obtenues à l’aide de ClapFeatureExtractor. VoirClapFeatureExtractor.__call__()pour plus de détails (ClapProcessor utilise ClapFeatureExtractor pour le traitement des audios). - is_longer (
torch.Tensor, de forme(batch_size, 1), facultatif) — Indique si le clip audio est plus long quemax_length. SiTrue, une fusion de caractéristiques sera activée pour améliorer les caractéristiques.
Retourne
ClapAudioModelOutput ou tuple(torch.Tensor)
Un ClapAudioModelOutput ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (ClapConfig) et des entrées.
La méthode forward du ClapAudioModelWithProjection redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
audio_embeds (
torch.Tensorde forme(batch_size, hidden_size)) — Les embeddings Audio obtenus en appliquant la couche de projection au pooler_output.last_hidden_state (
torch.Tensorde forme(batch_size, sequence_length, hidden_size), facultatif) — Séquence d'états cachés à la sortie de la dernière couche du modèle.hidden_states (
tuple[torch.Tensor, ...], facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, sequence_length, hidden_size).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
attentions (
tuple[torch.Tensor, ...], facultatif, renvoyé lorsqueoutput_attentions=Trueest passé ou lorsqueconfig.output_attentions=True) — Tuple detorch.Tensor(un par couche) de forme(batch_size, num_heads, sequence_length, sequence_length).Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.
Exemples :
>>> from datasets import load_dataset
>>> from transformers import ClapAudioModelWithProjection, ClapProcessor
>>> model = ClapAudioModelWithProjection.from_pretrained("laion/clap-htsat-fused")
>>> processor = ClapProcessor.from_pretrained("laion/clap-htsat-fused")
>>> dataset = load_dataset("hf-internal-testing/ashraq-esc50-1-dog-example")
>>> audio_sample = dataset["train"]["audio"][0]["array"]
>>> inputs = processor(audio=audio_sample, return_tensors="pt")
>>> outputs = model(**inputs)
>>> audio_embeds = outputs.audio_embeds