Transformers 文件

CLAP

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

CLAP

PyTorch

概述

CLAP 模型由 Yusong Wu、Ke Chen、Tianyu Zhang、Yuchen Hui、Taylor Berg-Kirkpatrick 和 Shlomo Dubnov 在論文 Large Scale Contrastive Language-Audio pretraining with feature fusion and keyword-to-caption augmentation 中提出。

CLAP(Contrastive Language-Audio Pretraining,對比語言-音訊預訓練)是一個在多種(音訊,文字)對上訓練的神經網路。它可以被指示在給定音訊的情況下預測最相關的文字片段,而無需直接為該任務進行最佳化。CLAP 模型使用 SWINTransformer 從對數-梅爾頻譜圖輸入中獲取音訊特徵,並使用 RoBERTa 模型獲取文字特徵。然後,文字和音訊特徵都被投影到一個具有相同維度的潛在空間。投影后的音訊和文字特徵之間的點積被用作相似度分數。

論文摘要如下:

對比學習在多模態表示學習領域取得了顯著成功。在本文中,我們提出了一種對比語言-音訊預訓練的流程,透過將音訊資料與自然語言描述相結合來開發音訊表示。為實現這一目標,我們首先發布了 LAION-Audio-630K,這是一個包含 633,526 個來自不同資料來源的音訊-文字對的大型集合。其次,我們透過考慮不同的音訊編碼器和文字編碼器,構建了一個對比語言-音訊預訓練模型。我們在模型設計中加入了特徵融合機制和關鍵詞到標題的增強,以進一步使模型能夠處理可變長度的音訊輸入並提升效能。第三,我們進行了全面的實驗,在三個任務上評估我們的模型:文字到音訊檢索、零樣本音訊分類和有監督音訊分類。結果表明,我們的模型在文字到音訊檢索任務中取得了優越的效能。在音訊分類任務中,該模型在零樣本設定下達到了最先進的效能,並能夠在非零樣本設定下獲得與模型結果相當的效能。LAION-Audio-6

該模型由 Younes BelkadaArthur Zucker 貢獻。原始程式碼可在此處找到。

ClapConfig

class transformers.ClapConfig

< >

( text_config = None audio_config = None logit_scale_init_value = 14.285714285714285 projection_dim = 512 projection_hidden_act = 'relu' initializer_factor = 1.0 **kwargs )

引數

  • text_config (dict, 可選) — 用於初始化 ClapTextConfig 的配置選項字典。
  • audio_config (dict, 可選) — 用於初始化 ClapAudioConfig 的配置選項字典。
  • logit_scale_init_value (float, 可選, 預設為 14.29) — logit_scale 引數的初始值。預設值根據原始 CLAP 實現使用。
  • projection_dim (int, 可選, 預設為 512) — 文字和音訊投影層的維度。
  • projection_hidden_act (str, 可選, 預設為 "relu") — 投影層的啟用函式。
  • initializer_factor (float, 可選, 預設為 1.0) — 用於縮放模型權重初始化的因子。
  • kwargs (可選) — 關鍵字引數字典。

ClapConfig 是用於儲存 ClapModel 配置的配置類。它用於根據指定的引數例項化一個 CLAP 模型,定義文字模型和音訊模型的配置。使用預設值例項化配置將產生與 CLAP laion/clap-htsat-fused 架構相似的配置。

配置物件繼承自 PretrainedConfig,可用於控制模型輸出。有關更多資訊,請閱讀 PretrainedConfig 的文件。

示例

>>> 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.from_text_audio_configs(config_text, config_audio)

from_text_audio_configs

< >

( text_config: ClapTextConfig audio_config: ClapAudioConfig **kwargs ) ClapConfig

返回

ClapConfig

一個配置物件的例項

從 clap 文字模型配置和 clap 音訊模型配置例項化一個 ClapConfig(或其派生類)。

ClapTextConfig

class transformers.ClapTextConfig

< >

( vocab_size = 50265 hidden_size = 768 num_hidden_layers = 12 num_attention_heads = 12 intermediate_size = 3072 hidden_act = 'gelu' hidden_dropout_prob = 0.1 attention_probs_dropout_prob = 0.1 max_position_embeddings = 514 type_vocab_size = 1 initializer_factor = 1.0 layer_norm_eps = 1e-12 projection_dim = 512 pad_token_id = 1 bos_token_id = 0 eos_token_id = 2 position_embedding_type = 'absolute' use_cache = True projection_hidden_act = 'relu' **kwargs )

引數

  • vocab_size (int, 可選, 預設為 30522) — CLAP 模型的詞彙表大小。定義了在呼叫 ClapTextModel 時,可以透過 inputs_ids 表示的不同 token 的數量。
  • hidden_size (int, 可選, 預設為 768) — 編碼器層和池化層的維度。
  • num_hidden_layers (int, 可選, 預設為 12) — Transformer 編碼器中的隱藏層數量。
  • num_attention_heads (int, 可選, 預設為 12) — Transformer 編碼器中每個注意力層的注意力頭數量。
  • intermediate_size (int, 可選, 預設為 3072) — Transformer 編碼器中“中間”層(通常稱為前饋層)的維度。
  • hidden_act (strCallable, 可選, 預設為 "relu") — 編碼器和池化層中的非線性啟用函式(函式或字串)。如果為字串,支援 "relu""relu""silu""relu_new"
  • hidden_dropout_prob (float, 可選, 預設為 0.1) — 嵌入、編碼器和池化層中所有全連線層的丟棄機率。
  • attention_probs_dropout_prob (float, 可選, 預設為 0.1) — 注意力機率的丟棄率。
  • max_position_embeddings (int, 可選, 預設為 512) — 該模型可能使用的最大序列長度。通常將其設定為一個較大的值以防萬一(例如 512、1024 或 2048)。
  • type_vocab_size (int, 可選, 預設為 2) — 呼叫 ClapTextModel 時傳入的 token_type_ids 的詞彙表大小。
  • layer_norm_eps (float, 可選, 預設為 1e-12) — 層歸一化層使用的 epsilon 值。
  • position_embedding_type (str, 可選, 預設為 "absolute") — 位置嵌入的型別。從 "absolute", "relative_key", "relative_key_query" 中選擇一個。對於位置嵌入,請使用 "absolute"。有關 "relative_key" 的更多資訊,請參閱 Self-Attention with Relative Position Representations (Shaw et al.)。有關 "relative_key_query" 的更多資訊,請參閱 Improve Transformer Models with Better Relative Position Embeddings (Huang et al.) 中的 Method 4
  • is_decoder (bool, 可選, 預設為 False) — 模型是否用作解碼器。如果為 False,則模型用作編碼器。
  • use_cache (bool, 可選, 預設為 True) — 模型是否應返回最後的鍵/值注意力(並非所有模型都使用)。僅當 config.is_decoder=True 時相關。
  • projection_hidden_act (str, 可選, 預設為 "relu") — 投影層中的非線性啟用函式(函式或字串)。如果為字串,支援 "gelu""relu""silu""gelu_new"
  • projection_dim (int, 可選, 預設為 512) — ClapTextModelWithProjection 投影頭的維度。

這是用於儲存 ClapTextModel 配置的配置類。它用於根據指定的引數例項化一個 CLAP 模型,定義模型架構。使用預設值例項化配置將產生與 CLAP calp-hsat-fused 架構相似的配置。

配置物件繼承自 PretrainedConfig,可用於控制模型輸出。有關更多資訊,請閱讀 PretrainedConfig 的文件。

示例

>>> 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.config

ClapAudioConfig

class transformers.ClapAudioConfig

< >

( window_size = 8 num_mel_bins = 64 spec_size = 256 hidden_act = 'gelu' patch_size = 4 patch_stride = [4, 4] num_classes = 527 hidden_size = 768 projection_dim = 512 depths = [2, 2, 6, 2] num_attention_heads = [4, 8, 16, 32] enable_fusion = False hidden_dropout_prob = 0.1 fusion_type = None patch_embed_input_channels = 1 flatten_patch_embeds = True patch_embeds_hidden_size = 96 enable_patch_layer_norm = True drop_path_rate = 0.0 attention_probs_dropout_prob = 0.0 qkv_bias = True mlp_ratio = 4.0 aff_block_r = 4 num_hidden_layers = 4 projection_hidden_act = 'relu' layer_norm_eps = 1e-05 initializer_factor = 1.0 **kwargs )

引數

  • window_size (int, 可選, 預設為 8) — 頻譜圖的影像大小
  • num_mel_bins (int, 可選, 預設為 64) — 每幀使用的梅爾特徵數量。應與 `ClapProcessor` 類中使用的值相對應。
  • spec_size (int, 可選, 預設為 256) — 模型支援的頻譜圖的期望輸入大小。它可以與 `ClapFeatureExtractor` 的輸出不同,在這種情況下,輸入特徵將被調整大小。對應於音訊模型的 `image_size`。
  • hidden_act (str, 可選, 預設為 "gelu") — 編碼器和池化層中的非線性啟用函式(函式或字串)。如果為字串,支援 "gelu""relu""silu""gelu_new"
  • patch_size (int, 可選, 預設為 4) — 音訊頻譜圖的補丁大小
  • patch_stride (list, 可選, 預設為 [4, 4]) — 音訊頻譜圖的補丁步長
  • num_classes (int, 可選, 預設為 527) — 用於頭訓練的類別數量
  • hidden_size (int, 可選, 預設為 768) — 音訊編碼器輸出的隱藏大小。對應於倒數第二層輸出的維度,該輸出被髮送到投影 MLP 層。
  • projection_dim (int, 可選, 預設為 512) — 投影層的隱藏大小。
  • depths (list, 可選, 預設為 [2, 2, 6, 2]) — 用於音訊模型的 Swin 層的深度。
  • num_attention_heads (list, 可選, 預設為 [4, 8, 16, 32]) — 用於音訊模型的 Swin 層的注意力頭數量。
  • enable_fusion (bool, 可選, 預設為 False) — 是否啟用補丁融合 (patch fusion)。這是原作者的主要貢獻,應能獲得最佳結果。
  • hidden_dropout_prob (float, 可選, 預設為 0.1) — 編碼器中所有全連線層的丟棄機率。
  • fusion_type ([type], 可選) — 用於補丁融合的融合型別。
  • patch_embed_input_channels (int, 可選, 預設為 1) — 用於輸入頻譜圖的通道數。
  • flatten_patch_embeds (bool, 可選, 預設為 True) — 是否將補丁嵌入展平。
  • patch_embeds_hidden_size (int, 可選, 預設為 96) — 補丁嵌入的隱藏大小。它用作輸出通道的數量。
  • enable_patch_layer_norm (bool, 可選, 預設為 True) — 是否為補丁嵌入啟用層歸一化。
  • drop_path_rate (float, 可選, 預設為 0.0) — 補丁融合的路徑丟棄率。
  • attention_probs_dropout_prob (float, 可選, 預設為 0.0) — 注意力機率的丟棄率。
  • qkv_bias (bool, 可選, 預設為 True) — 是否為查詢 (query)、鍵 (key)、值 (value) 投影新增偏置。
  • mlp_ratio (float, 可選, 預設為 4.0) — MLP 隱藏維度與嵌入維度的比率。
  • aff_block_r (int, 可選, 預設為 4) — AudioFF 塊中使用的縮小比例 (downsize_ratio)。
  • num_hidden_layers (int, 可選, 預設為 4) — Transformer 編碼器中的隱藏層數量。
  • projection_hidden_act (str, 可選, 預設為 "relu") — 投影層中的非線性啟用函式(函式或字串)。如果為字串,則支援 "gelu""relu""silu""gelu_new"
  • layer_norm_eps ([type], 可選, 預設為 1e-05) — 層歸一化層使用的 epsilon 值。
  • initializer_factor (float, 可選, 預設為 1.0) — 初始化所有權重矩陣的因子(應保持為 1,內部用於初始化測試)。

這是一個用於儲存 ClapAudioModel 配置的配置類。它根據指定的引數來例項化一個 CLAP 音訊編碼器,定義了模型架構。使用預設值例項化配置將產生與 CLAP laion/clap-htsat-fused 架構的音訊編碼器相似的配置。

配置物件繼承自 PretrainedConfig,可用於控制模型輸出。有關更多資訊,請閱讀 PretrainedConfig 的文件。

示例

>>> 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.config

ClapFeatureExtractor

class transformers.ClapFeatureExtractor

< >

( feature_size = 64 sampling_rate = 48000 hop_length = 480 max_length_s = 10 fft_window_size = 1024 padding_value = 0.0 return_attention_mask = False frequency_min: float = 0 frequency_max: float = 14000 top_db: typing.Optional[int] = None truncation: str = 'fusion' padding: str = 'repeatpad' **kwargs )

引數

  • feature_size (int, 可選, 預設為 64) — 提取的梅爾頻譜圖的特徵維度。這對應於梅爾濾波器的數量(n_mels)。
  • sampling_rate (int, 可選, 預設為 48000) — 音訊檔案數字化的取樣率,以赫茲 (Hz) 表示。這僅用於警告使用者,如果輸入到特徵提取器的音訊取樣率不同。
  • hop_length (int,可選, 預設為 480) — 用於獲取梅爾頻譜圖的 STFT 重疊視窗的長度。音訊將被分割成較小的 frames,每個幀之間的步長為 hop_length
  • max_length_s (int, 可選, 預設為 10) — 模型的最大輸入長度(以秒為單位)。用於填充音訊。
  • fft_window_size (int, 可選, 預設為 1024) — 應用傅立葉變換的視窗大小(以樣本為單位)。這控制頻譜圖的頻率解析度。400 表示在 400 個樣本的視窗上計算傅立葉變換。
  • padding_value (float, 可選, 預設為 0.0) — 用於填充音訊的填充值。應對應於靜音。
  • return_attention_mask (bool, 可選, 預設為 False) — 模型是否應返回與輸入相對應的注意力掩碼。
  • frequency_min (float, 可選, 預設為 0) — 感興趣的最低頻率。低於此值的 STFT 將不會計算。
  • frequency_max (float, 可選, 預設為 14000) — 感興趣的最高頻率。高於此值的 STFT 將不會計算。
  • top_db (float, 可選) — 用於將梅爾頻譜圖轉換為對數尺度的最高分貝值。更多細節請參見 audio_utils.power_to_db 函式。
  • truncation (str, 可選, 預設為 "fusion") — 長音訊輸入的截斷模式。有兩種模式可用:
    • fusion 將使用 _random_mel_fusion,它會堆疊來自梅爾頻譜圖的 3 個隨機裁剪和一個整個梅爾頻譜圖的下采樣版本。如果 config.fusion 設定為 True,較短的音訊也需要返回 4 個梅爾頻譜圖,它們將只是從填充音訊中獲得的原始梅爾頻譜圖的副本。
    • rand_trunc 將選擇梅爾頻譜圖的一個隨機裁剪。
  • padding (str, 可選, 預設為 "repeatpad") — 短音訊輸入的填充模式。最初實現了三種模式:
    • repeatpad:音訊被重複,然後填充以適應 max_length
    • repeat:音訊被重複,然後剪下以適應 max_length
    • pad:音訊被填充。

構建一個 CLAP 特徵提取器。

該特徵提取器繼承自 SequenceFeatureExtractor,其中包含大部分主要方法。使用者應參考該超類以獲取有關這些方法的更多資訊。

該類使用短時傅立葉變換 (STFT) 的自定義 numpy 實現從原始語音中提取梅爾濾波器組特徵,該實現應與 pytorch 的 torch.stft 等效。

to_dict

< >

( ) dict[str, Any]

返回

dict[str, Any]

構成此配置例項的所有屬性的字典,但不包括梅爾濾波器組,因為它們太長而無需儲存或列印。

將此例項序列化為 Python 字典。

ClapProcessor

class transformers.ClapProcessor

< >

( feature_extractor tokenizer )

引數

構建一個 CLAP 處理器,它將 CLAP 特徵提取器和 RoBerta 分詞器包裝成一個單一的處理器。

ClapProcessor 提供了 ClapFeatureExtractorRobertaTokenizerFast 的所有功能。請參閱 __call__()decode() 瞭解更多資訊。

batch_decode

< >

( *args **kwargs )

此方法將其所有引數轉發給 RobertaTokenizerFast 的 batch_decode()。有關更多資訊,請參閱該方法的文件字串。

decode

< >

( *args **kwargs )

此方法將其所有引數轉發給 RobertaTokenizerFast 的 decode()。有關更多資訊,請參閱該方法的文件字串。

ClapModel

class transformers.ClapModel

< >

( config: ClapConfig )

引數

  • config (ClapConfig) — 模型配置類,包含模型的所有引數。使用配置檔案初始化不會載入與模型相關的權重,只會載入配置。請檢視 from_pretrained() 方法來載入模型權重。

基礎的 Clap 模型,輸出原始的隱藏狀態,頂部沒有任何特定的頭。

此模型繼承自 PreTrainedModel。請檢視超類的文件,瞭解該庫為所有模型實現的通用方法(例如下載或儲存、調整輸入嵌入大小、修剪頭等)。

該模型也是 PyTorch torch.nn.Module 的子類。可以像常規 PyTorch 模組一樣使用它,並參考 PyTorch 文件瞭解所有與通用用法和行為相關的事項。

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = None input_features: typing.Optional[torch.FloatTensor] = None is_longer: typing.Optional[torch.BoolTensor] = None attention_mask: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.LongTensor] = None return_loss: typing.Optional[bool] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.models.clap.modeling_clap.ClapOutput or tuple(torch.FloatTensor)

引數

  • input_ids (torch.LongTensor, 形狀為 (batch_size, sequence_length), 可選) — 詞彙表中輸入序列標記的索引。預設情況下,填充將被忽略。

    可以使用 AutoTokenizer 獲取索引。有關詳細資訊,請參閱 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什麼是輸入 ID?

  • input_features (torch.FloatTensor, 形狀為 (batch_size, num_channels, height, width)) — 輸入音訊特徵。這應由 ClapFeatureExtractor 類返回,您也可以從 AutoFeatureExtractor 中檢索。有關詳細資訊,請參閱 ClapFeatureExtractor.__call__()
  • is_longer (torch.FloatTensor, 形狀為 (batch_size, 1), 可選) — 音訊剪輯是否長於 max_length。如果為 True,將啟用特徵融合以增強特徵。
  • attention_mask (torch.Tensor, 形狀為 (batch_size, sequence_length), 可選) — 避免對填充標記索引執行注意力的掩碼。掩碼值選擇在 [0, 1] 中:

    • 1 表示 未被遮蔽 的標記,
    • 0 表示 被遮蔽 的標記。

    什麼是注意力掩碼?

  • position_ids (torch.LongTensor,形狀為 (batch_size, sequence_length)可選) — 位置嵌入中每個輸入序列詞元的位置索引。在 [0, config.n_positions - 1] 範圍內選擇。

    什麼是位置 ID?

  • return_loss (bool可選) — 是否返回對比損失。
  • output_attentions (bool可選) — 是否返回所有注意力層的注意力張量。有關更多詳細資訊,請參閱返回張量下的 attentions
  • output_hidden_states (bool可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的 hidden_states
  • return_dict (bool可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

transformers.models.clap.modeling_clap.ClapOutputtuple(torch.FloatTensor)

一個 transformers.models.clap.modeling_clap.ClapOutput 或一個 torch.FloatTensor 的元組 (如果傳遞了 return_dict=False 或當 config.return_dict=False 時),根據配置 (ClapConfig) 和輸入包含不同的元素。

  • loss (torch.FloatTensor,形狀為 (1,)可選,當 return_lossTrue 時返回) — 音訊-文字相似度的對比損失。
  • logits_per_audio (torch.FloatTensor,形狀為 (audio_batch_size, text_batch_size)) — audio_embedstext_embeds 之間的縮放點積得分。這表示音訊-文字相似度得分。
  • logits_per_text (torch.FloatTensor,形狀為 (text_batch_size, audio_batch_size)) — text_embedsaudio_embeds 之間的縮放點積得分。這表示文字-音訊相似度得分。
  • text_embeds (torch.FloatTensor,形狀為 (batch_size, output_dim)) — 透過將投影層應用於 ClapTextModel 的池化輸出而獲得的文字嵌入。
  • audio_embeds (torch.FloatTensor,形狀為 (batch_size, output_dim)) — 透過將投影層應用於 ClapAudioModel 的池化輸出而獲得的音訊嵌入。
  • text_model_output (<class '~modeling_outputs.BaseModelOutputWithPooling'>.text_model_output,預設為 None) — ClapTextModel 的輸出。
  • audio_model_output (<class '~modeling_outputs.BaseModelOutputWithPooling'>.audio_model_output,預設為 None) — ClapAudioModel 的輸出。

ClapModel 的前向方法,重寫了 __call__ 特殊方法。

儘管前向傳遞的配方需要在此函式中定義,但之後應該呼叫 Module 例項而不是這個函式,因為前者負責執行預處理和後處理步驟,而後者會靜默地忽略它們。

示例

>>> 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 vaccum cleaner"]

>>> inputs = processor(text=input_text, audios=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 probabilities

get_text_features

< >

( input_ids: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.Tensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) text_features (torch.FloatTensor,形狀為 (batch_size, output_dim))

引數

  • input_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 詞彙表中輸入序列詞元的索引。預設情況下將忽略填充。

    可以使用 AutoTokenizer 獲得索引。有關詳細資訊,請參閱 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什麼是輸入 ID?

  • attention_mask (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 用於避免在填充詞元索引上執行注意力的掩碼。掩碼值在 [0, 1] 中選擇:

    • 1 表示詞元未被掩碼
    • 0 表示詞元被掩碼

    什麼是注意力掩碼?

  • position_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 位置嵌入中每個輸入序列詞元的位置索引。在 [0, config.n_positions - 1] 範圍內選擇。

    什麼是位置 ID?

  • output_attentions (bool可選) — 是否返回所有注意力層的注意力張量。有關更多詳細資訊,請參閱返回張量下的 attentions
  • output_hidden_states (bool可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的 hidden_states
  • return_dict (bool可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

text_features (torch.FloatTensor, 形狀為 (batch_size, output_dim)

透過將投影層應用於 ClapTextModel 的池化輸出而獲得的文字嵌入。

示例

>>> 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")
>>> text_features = model.get_text_features(**inputs)

get_audio_features

< >

( input_features: typing.Optional[torch.Tensor] = None is_longer: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) audio_features (torch.FloatTensor,形狀為 (batch_size, output_dim))

引數

  • input_features (torch.FloatTensor,形狀為 (batch_size, num_channels, height, width)) — 輸入音訊特徵。這應該由 ClapFeatureExtractor 類返回,你也可以從 AutoFeatureExtractor 獲取。有關詳細資訊,請參閱 ClapFeatureExtractor.__call__()
  • is_longer (torch.FloatTensor,形狀為 (batch_size, 1)可選) — 音訊剪輯是否長於 max_length。如果為 True,將啟用特徵融合以增強特徵。
  • attention_mask (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 用於避免在填充詞元索引上執行注意力的掩碼。掩碼值在 [0, 1] 中選擇:

    • 1 表示詞元未被掩碼
    • 0 表示詞元被掩碼

    什麼是注意力掩碼?

  • output_attentions (bool可選) — 是否返回所有注意力層的注意力張量。有關更多詳細資訊,請參閱返回張量下的 attentions
  • output_hidden_states (bool可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的 hidden_states
  • return_dict (bool可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

audio_features (torch.FloatTensor,形狀為 (batch_size, output_dim))

透過將投影層應用於 ClapAudioModel 的池化輸出而獲得的音訊嵌入。

示例

>>> from transformers import AutoFeatureExtractor, ClapModel
>>> import torch

>>> 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")
>>> audio_features = model.get_audio_features(**inputs)

ClapTextModel

class transformers.ClapTextModel

< >

( config add_pooling_layer = True )

引數

  • config (ClapTextModel) — 包含模型所有引數的模型配置類。使用配置檔案初始化不會載入與模型關聯的權重,只會載入配置。請檢視 from_pretrained() 方法以載入模型權重。
  • add_pooling_layer (bool可選,預設為 True) — 是否新增池化層。

該模型既可以作為編碼器(僅使用自注意力),也可以作為解碼器。在作為解碼器的情況下,會在自注意力層之間新增一個交叉注意力層,遵循 Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser 和 Illia Polosukhin 在 Attention is all you need_ 中描述的架構。

要作為解碼器使用,模型需要在初始化時將配置的 is_decoder 引數設定為 True。要在 Seq2Seq 模型中使用,模型需要在初始化時將 is_decoder 引數和 add_cross_attention 都設定為 True;然後,在前向傳遞中需要一個 encoder_hidden_states 作為輸入。

.. _Attention is all you need: https://huggingface.co/papers/1706.03762

此模型繼承自 PreTrainedModel。請檢視超類的文件,瞭解該庫為所有模型實現的通用方法(例如下載或儲存、調整輸入嵌入大小、修剪頭等)。

該模型也是 PyTorch torch.nn.Module 的子類。可以像常規 PyTorch 模組一樣使用它,並參考 PyTorch 文件瞭解所有與通用用法和行為相關的事項。

forward

< >

( input_ids: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None token_type_ids: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.Tensor] = None head_mask: typing.Optional[torch.Tensor] = None inputs_embeds: typing.Optional[torch.Tensor] = None encoder_hidden_states: typing.Optional[torch.Tensor] = None encoder_attention_mask: typing.Optional[torch.Tensor] = None past_key_values: typing.Optional[list[torch.FloatTensor]] = None use_cache: typing.Optional[bool] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentionstuple(torch.FloatTensor)

引數

  • input_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 詞彙表中輸入序列詞元的索引。預設情況下將忽略填充。

    可以使用 AutoTokenizer 獲得索引。有關詳細資訊,請參閱 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什麼是輸入 ID?

  • attention_mask (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 用於避免在填充詞元索引上執行注意力的掩碼。掩碼值在 [0, 1] 中選擇:

    • 1 表示詞元未被掩碼
    • 0 表示詞元被掩碼

    什麼是注意力掩碼?

  • token_type_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 用於指示輸入的第一部分和第二部分的段詞元索引。索引在 [0, 1] 中選擇:

    • 0 對應於 *A 句* 詞元,
    • 1 對應於 *B 句* 詞元。

    什麼是詞元型別 ID?

  • position_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 位置嵌入中每個輸入序列詞元的位置索引。在 [0, config.n_positions - 1] 範圍內選擇。

    什麼是位置 ID?

  • head_mask (torch.Tensor,形狀為 (num_heads,)(num_layers, num_heads)可選) — 用於置零自注意力模組中選定頭的掩碼。掩碼值在 [0, 1] 中選擇:

    • 1 表示頭未被掩碼
    • 0 表示頭被掩碼
  • inputs_embeds (torch.Tensor,形狀為 (batch_size, sequence_length, hidden_size)可選) — 可選地,你可以選擇直接傳遞嵌入表示,而不是傳遞 input_ids。如果你想比模型內部的嵌入查詢矩陣更好地控制如何將 input_ids 索引轉換為關聯向量,這將非常有用。
  • encoder_hidden_states (torch.Tensor,形狀為 (batch_size, sequence_length, hidden_size)可選) — 編碼器最後一層輸出的隱藏狀態序列。如果模型被配置為解碼器,則用於交叉注意力。
  • encoder_attention_mask (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 用於避免對編碼器輸入的填充詞元索引執行注意力的掩碼。如果模型被配置為解碼器,則此掩碼用於交叉注意力。掩碼值在 [0, 1] 中選擇:

    • 1 表示詞元未被掩碼
    • 0 表示詞元被掩碼
  • past_key_values (list[torch.FloatTensor]可選) — 預先計算的隱藏狀態(自注意力塊和交叉注意力塊中的鍵和值),可用於加速順序解碼。這通常是在解碼的前一個階段由模型返回的 past_key_values,當 use_cache=Trueconfig.use_cache=True 時。

    允許兩種格式:

    • 一個 Cache 例項,請參閱我們的 kv 快取指南
    • 長度為 config.n_layerstuple(torch.FloatTensor) 的元組,每個元組有兩個形狀為 (batch_size, num_heads, sequence_length, embed_size_per_head) 的張量。這也稱為傳統快取格式。

    模型將輸出與輸入相同的快取格式。如果未傳遞 past_key_values,則將返回傳統快取格式。

    如果使用 past_key_values,使用者可以選擇只輸入最後一個 input_ids(那些沒有給出其過去鍵值狀態給此模型的詞元),形狀為 (batch_size, 1),而不是所有形狀為 (batch_size, sequence_length)input_ids

  • use_cache (bool可選) — 如果設定為 True,則返回 past_key_values 鍵值狀態,並可用於加速解碼(請參閱 past_key_values)。
  • output_attentions (bool可選) — 是否返回所有注意力層的注意力張量。有關更多詳細資訊,請參閱返回張量下的 attentions
  • output_hidden_states (bool可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的 hidden_states
  • return_dict (bool可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

transformers.modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentionstuple(torch.FloatTensor)

一個 transformers.modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentions 或一個 torch.FloatTensor 的元組 (如果傳遞了 return_dict=False 或當 config.return_dict=False 時),根據配置 (ClapConfig) 和輸入包含不同的元素。

  • last_hidden_state (torch.FloatTensor, 形狀為 (batch_size, sequence_length, hidden_size)) — 模型最後一層輸出的隱藏狀態序列。

  • pooler_output (torch.FloatTensor,形狀為 (batch_size, hidden_size)) — 序列的第一個詞元(分類詞元)的最後一層隱藏狀態,經過用於輔助預訓練任務的層進一步處理。例如,對於 BERT 系列模型,這將返回經過線性層和 tanh 啟用函式處理後的分類詞元。線性層權重是在預訓練期間從下一句預測(分類)目標中訓練的。

  • hidden_states (tuple(torch.FloatTensor)可選,當傳遞 output_hidden_states=True 或當 config.output_hidden_states=True 時返回) — torch.FloatTensor 的元組(如果模型有嵌入層,則一個用於嵌入層的輸出,+ 每個層一個用於其輸出),形狀為 (batch_size, sequence_length, hidden_size)

    模型在每個層輸出的隱藏狀態以及可選的初始嵌入輸出。

  • attentions (tuple(torch.FloatTensor)可選,當傳遞 output_attentions=True 或當 config.output_attentions=True 時返回) — torch.FloatTensor 的元組(每層一個),形狀為 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 後的注意力權重,用於計算自注意力頭中的加權平均值。

  • cross_attentions (tuple(torch.FloatTensor)可選,當傳遞 output_attentions=Trueconfig.add_cross_attention=True 或當 config.output_attentions=True 時返回) — torch.FloatTensor 的元組(每層一個),形狀為 (batch_size, num_heads, sequence_length, sequence_length)

    解碼器交叉注意力層的注意力權重,在注意力 softmax 之後,用於計算交叉注意力頭中的加權平均。

  • past_key_values (Cache可選,當傳遞 use_cache=True 或當 config.use_cache=True 時返回) — 這是一個 Cache 例項。有關更多詳細資訊,請參閱我們的 kv 快取指南

    包含預先計算的隱藏狀態(自注意力塊中的鍵和值,以及如果 config.is_encoder_decoder=True,則在交叉注意力塊中),可用於(參見 past_key_values 輸入)加速順序解碼。

ClapTextModel 的前向方法,重寫了 __call__ 特殊方法。

儘管前向傳遞的配方需要在此函式中定義,但之後應該呼叫 Module 例項而不是這個函式,因為前者負責執行預處理和後處理步驟,而後者會靜默地忽略它們。

ClapTextModelWithProjection

class transformers.ClapTextModelWithProjection

< >

( config: ClapTextConfig )

引數

  • config (ClapTextConfig) — 包含模型所有引數的模型配置類。使用配置檔案初始化不會載入與模型關聯的權重,只會載入配置。請檢視 from_pretrained() 方法以載入模型權重。

頂部帶有投影層的 Clap 模型(在池化輸出之上有一個線性層)。

此模型繼承自 PreTrainedModel。請檢視超類的文件,瞭解該庫為所有模型實現的通用方法(例如下載或儲存、調整輸入嵌入大小、修剪頭等)。

該模型也是 PyTorch torch.nn.Module 的子類。可以像常規 PyTorch 模組一樣使用它,並參考 PyTorch 文件瞭解所有與通用用法和行為相關的事項。

forward

< >

( input_ids: typing.Optional[torch.Tensor] = None attention_mask: typing.Optional[torch.Tensor] = None position_ids: typing.Optional[torch.Tensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.models.clap.modeling_clap.ClapTextModelOutputtuple(torch.FloatTensor)

引數

  • input_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 詞彙表中輸入序列詞元的索引。預設情況下將忽略填充。

    可以使用 AutoTokenizer 獲得索引。有關詳細資訊,請參閱 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什麼是輸入 ID?

  • attention_mask (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 用於避免在填充詞元索引上執行注意力的掩碼。掩碼值在 [0, 1] 中選擇:

    • 1 表示詞元未被掩碼
    • 0 表示詞元被掩碼

    什麼是注意力掩碼?

  • position_ids (torch.Tensor,形狀為 (batch_size, sequence_length)可選) — 位置嵌入中每個輸入序列詞元的位置索引。在 [0, config.n_positions - 1] 範圍內選擇。

    什麼是位置 ID?

  • output_attentions (bool可選) — 是否返回所有注意力層的注意力張量。有關更多詳細資訊,請參閱返回張量下的 attentions
  • output_hidden_states (bool可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的 hidden_states
  • return_dict (bool可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

transformers.models.clap.modeling_clap.ClapTextModelOutputtuple(torch.FloatTensor)

一個 transformers.models.clap.modeling_clap.ClapTextModelOutput 或一個 torch.FloatTensor 的元組(如果傳遞了 return_dict=False 或當 config.return_dict=False 時),根據配置(ClapConfig)和輸入,包含各種元素。

  • text_embeds (torch.FloatTensor,形狀為 (batch_size, output_dim)可選,當模型以 with_projection=True 初始化時返回) — 透過將投影層應用於 pooler_output 獲得的文字嵌入。

  • last_hidden_state (形狀為 (batch_size, sequence_length, hidden_size)torch.FloatTensor, 可選,預設為 None) — 模型最後一層輸出的隱藏狀態序列。

  • hidden_states (tuple[torch.FloatTensor, ...], 可選, 當傳遞 output_hidden_states=True 或當 config.output_hidden_states=True 時返回) — torch.FloatTensor 的元組(如果模型有嵌入層,則一個用於嵌入的輸出,另加每個層的一個輸出),形狀為 (batch_size, sequence_length, hidden_size)

    模型在每個層輸出的隱藏狀態以及可選的初始嵌入輸出。

  • attentions (tuple[torch.FloatTensor, ...], 可選, 當傳遞 output_attentions=True 或當 config.output_attentions=True 時返回) — torch.FloatTensor 的元組(每層一個),形狀為 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 後的注意力權重,用於計算自注意力頭中的加權平均值。

ClapTextModelWithProjection 的 forward 方法會覆蓋 __call__ 特殊方法。

儘管前向傳遞的配方需要在此函式中定義,但之後應該呼叫 Module 例項而不是這個函式,因為前者負責執行預處理和後處理步驟,而後者會靜默地忽略它們。

示例

>>> 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_embeds

ClapAudioModel

class transformers.ClapAudioModel

< >

( config: ClapAudioConfig )

forward

< >

( input_features: typing.Optional[torch.FloatTensor] = None is_longer: typing.Optional[torch.BoolTensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.modeling_outputs.BaseModelOutputWithPoolingtuple(torch.FloatTensor)

引數

  • input_features (torch.FloatTensor,形狀為 (batch_size, num_channels, height, width)) — 輸入的音訊特徵。這應該由 ClapFeatureExtractor 類返回,你也可以從 AutoFeatureExtractor 中檢索到它。詳情請參閱 ClapFeatureExtractor.__call__()
  • is_longer (torch.FloatTensor,形狀為 (batch_size, 1), 可選) — 音訊片段是否比 max_length 長。如果為 True,將啟用特徵融合以增強特徵。
  • output_attentions (bool, 可選) — 是否返回所有注意力層的注意力張量。更多細節請參閱返回張量下的 attentions
  • output_hidden_states (bool, 可選) — 是否返回所有層的隱藏狀態。更多細節請參閱返回張量下的 hidden_states
  • return_dict (bool, 可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

transformers.modeling_outputs.BaseModelOutputWithPoolingtuple(torch.FloatTensor)

一個 transformers.modeling_outputs.BaseModelOutputWithPooling 或一個 torch.FloatTensor 的元組(如果傳遞了 return_dict=False 或當 config.return_dict=False 時),根據配置(ClapConfig)和輸入,包含各種元素。

  • last_hidden_state (torch.FloatTensor, 形狀為 (batch_size, sequence_length, hidden_size)) — 模型最後一層輸出的隱藏狀態序列。

  • pooler_output (torch.FloatTensor,形狀為 (batch_size, hidden_size)) — 序列的第一個詞元(分類詞元)的最後一層隱藏狀態,經過用於輔助預訓練任務的層進一步處理。例如,對於 BERT 系列模型,這將返回經過線性層和 tanh 啟用函式處理後的分類詞元。線性層權重是在預訓練期間從下一句預測(分類)目標中訓練的。

  • hidden_states (tuple(torch.FloatTensor)可選,當傳遞 output_hidden_states=True 或當 config.output_hidden_states=True 時返回) — torch.FloatTensor 的元組(如果模型有嵌入層,則一個用於嵌入層的輸出,+ 每個層一個用於其輸出),形狀為 (batch_size, sequence_length, hidden_size)

    模型在每個層輸出的隱藏狀態以及可選的初始嵌入輸出。

  • attentions (tuple(torch.FloatTensor)可選,當傳遞 output_attentions=True 或當 config.output_attentions=True 時返回) — torch.FloatTensor 的元組(每層一個),形狀為 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 後的注意力權重,用於計算自注意力頭中的加權平均值。

ClapAudioModel 的 forward 方法會覆蓋 __call__ 特殊方法。

儘管前向傳遞的配方需要在此函式中定義,但之後應該呼叫 Module 例項而不是這個函式,因為前者負責執行預處理和後處理步驟,而後者會靜默地忽略它們。

示例

>>> 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(audios=audio_sample, return_tensors="pt")

>>> outputs = model(**inputs)
>>> last_hidden_state = outputs.last_hidden_state

ClapAudioModelWithProjection

class transformers.ClapAudioModelWithProjection

< >

( config: ClapAudioConfig )

引數

  • config (ClapAudioConfig) — 包含模型所有引數的模型配置類。使用配置檔案初始化不會載入與模型相關的權重,只會載入配置。請檢視 from_pretrained() 方法來載入模型權重。

頂部帶有投影層的 Clap 模型(在池化輸出之上有一個線性層)。

此模型繼承自 PreTrainedModel。請檢視超類的文件,瞭解該庫為所有模型實現的通用方法(例如下載或儲存、調整輸入嵌入大小、修剪頭等)。

該模型也是 PyTorch torch.nn.Module 的子類。可以像常規 PyTorch 模組一樣使用它,並參考 PyTorch 文件瞭解所有與通用用法和行為相關的事項。

forward

< >

( input_features: typing.Optional[torch.FloatTensor] = None is_longer: typing.Optional[torch.BoolTensor] = None output_attentions: typing.Optional[bool] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) transformers.models.clap.modeling_clap.ClapAudioModelOutputtuple(torch.FloatTensor)

引數

  • input_features (torch.FloatTensor,形狀為 (batch_size, num_channels, height, width)) — 輸入的音訊特徵。這應該由 ClapFeatureExtractor 類返回,你也可以從 AutoFeatureExtractor 中檢索到它。詳情請參閱 ClapFeatureExtractor.__call__()
  • is_longer (torch.FloatTensor,形狀為 (batch_size, 1), 可選) — 音訊片段是否比 max_length 長。如果為 True,將啟用特徵融合以增強特徵。
  • output_attentions (bool, 可選) — 是否返回所有注意力層的注意力張量。更多細節請參閱返回張量下的 attentions
  • output_hidden_states (bool, 可選) — 是否返回所有層的隱藏狀態。更多細節請參閱返回張量下的 hidden_states
  • return_dict (bool, 可選) — 是否返回一個 ModelOutput 而不是一個普通的元組。

返回

transformers.models.clap.modeling_clap.ClapAudioModelOutputtuple(torch.FloatTensor)

一個 transformers.models.clap.modeling_clap.ClapAudioModelOutput 或一個 torch.FloatTensor 的元組(如果傳遞了 return_dict=False 或當 config.return_dict=False 時),根據配置(ClapConfig)和輸入,包含各種元素。

  • audio_embeds (torch.FloatTensor,形狀為 (batch_size, hidden_size)) — 透過將投影層應用於 pooler_output 獲得的音訊嵌入。

  • last_hidden_state (形狀為 (batch_size, sequence_length, hidden_size)torch.FloatTensor, 可選,預設為 None) — 模型最後一層輸出的隱藏狀態序列。

  • hidden_states (tuple[torch.FloatTensor, ...], 可選, 當傳遞 output_hidden_states=True 或當 config.output_hidden_states=True 時返回) — torch.FloatTensor 的元組(如果模型有嵌入層,則一個用於嵌入的輸出,另加每個層的一個輸出),形狀為 (batch_size, sequence_length, hidden_size)

    模型在每個層輸出的隱藏狀態以及可選的初始嵌入輸出。

  • attentions (tuple[torch.FloatTensor, ...], 可選, 當傳遞 output_attentions=True 或當 config.output_attentions=True 時返回) — torch.FloatTensor 的元組(每層一個),形狀為 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 後的注意力權重,用於計算自注意力頭中的加權平均值。

ClapAudioModelWithProjection 的 forward 方法會覆蓋 __call__ 特殊方法。

儘管前向傳遞的配方需要在此函式中定義,但之後應該呼叫 Module 例項而不是這個函式,因為前者負責執行預處理和後處理步驟,而後者會靜默地忽略它們。

示例

>>> 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(audios=audio_sample, return_tensors="pt")
>>> outputs = model(**inputs)
>>> audio_embeds = outputs.audio_embeds
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.