Keras Hub:預訓練模型 / API 文件 / 模型架構 / Whisper / WhisperAudioConverter

WhisperAudioConverter

[source]

WhisperAudioConverter 類別

keras_hub.layers.WhisperAudioConverter(
    num_mels=80,
    num_fft_bins=400,
    stride=160,
    sampling_rate=16000,
    max_audio_length=30,
    **kwargs
)

Whisper 音訊轉換器層。

此層接收一批音訊張量,並計算每個音訊張量的對數梅爾頻譜圖特徵。

輸入音訊張量的形狀可以是 (length_of_audio,)(batch_size, length_of_audio)。輸出是形狀為 (batch_size, num_frames, num_mels) 的張量,其中 num_frames(max_audio_length * sampling_rate) / stride

引數

  • num_mels:整數。梅爾頻率濾波器的數量。預設值為 80
  • num_fft_bins:整數。STFT 中傅立葉轉換的大小。預設值為 400
  • stride:整數。計算 STFT 時,相鄰滑動視窗幀之間的距離。預設值為 160
  • sampling_rate:整數。音訊的取樣率。預設值為 16000
  • max_audio_length:整數。每個音訊區塊的長度,以秒為單位。輸入音訊張量將被填充/修剪為 max_audio_length * sampling_rate。預設值為 30

範例

audio_tensor = tf.ones((8000,), dtype="float32")

# Compute the log-mel spectrogram.
audio_converter = keras_hub.layers.WhisperAudioConverter.from_preset(
    "whisper_base_en",
)
audio_converter(audio_tensor)

# Compute the log-mel spectrogram for a batch of audio tensors.
audio_tensor_1 = tf.ones((8000,), dtype="float32")
audio_tensor_2 = tf.ones((10000,), dtype="float32")
audio_tensor = tf.ragged.stack([audio_tensor_1, audio_tensor_2], axis=0)
audio_converter(audio_tensor)

[source]

from_preset 方法

WhisperAudioConverter.from_preset(preset, **kwargs)

從模型預設實例化 keras_hub.layers.AudioConverter

預設是一個配置、權重和其他檔案資產的目錄,用於儲存和載入預訓練模型。preset 可以作為以下其中之一傳遞

  1. 內建預設識別符,例如 'whisper_base_en'
  2. Kaggle Models 句柄,例如 'kaggle://user/whisper/keras/whisper_base_en'
  3. Hugging Face 句柄,例如 'hf://user/whisper_base_en'
  4. 本地預設目錄的路徑,例如 './whisper_base_en'

您可以執行 cls.presets.keys() 以列出類別上所有可用的內建預設。

此建構子可以透過兩種方式之一呼叫。可以從基底類別呼叫,例如 keras_hub.models.AudioConverter.from_preset(),也可以從模型類別呼叫,例如 keras_hub.models.WhisperAudioConverter.from_preset()。如果從基底類別呼叫,則傳回物件的子類別將從預設目錄中的配置推斷出來。

引數

  • preset:字串。內建預設識別符、Kaggle Models 句柄、Hugging Face 句柄或本地目錄的路徑。
  • load_weights:布林值。如果為 True,則權重將載入到模型架構中。如果為 False,則權重將隨機初始化。

範例

# Load an audio converter from a preset.
converter = keras_hub.layers.AudioConverter.from_preset(
    "whisper_base_en"
)
# Convert some raw mono channel audio input.
converter(np.ones(2, 1_000))
預設 參數 描述
whisper_tiny_en 37.18M 4 層 Whisper 模型。在 438,000 小時的標記英語語音資料上訓練。
whisper_tiny_multi 37.76M 4 層 Whisper 模型。在 680,000 小時的標記多語言語音資料上訓練。
whisper_base_multi 72.59M 6 層 Whisper 模型。在 680,000 小時的標記多語言語音資料上訓練。
whisper_base_en 124.44M 6 層 Whisper 模型。在 438,000 小時的標記英語語音資料上訓練。
whisper_small_en 241.73M 12 層 Whisper 模型。在 438,000 小時的標記英語語音資料上訓練。
whisper_small_multi 241.73M 12 層 Whisper 模型。在 680,000 小時的標記多語言語音資料上訓練。
whisper_medium_en 763.86M 24 層 Whisper 模型。在 438,000 小時的標記英語語音資料上訓練。
whisper_medium_multi 763.86M 24 層 Whisper 模型。在 680,000 小時的標記多語言語音資料上訓練。
whisper_large_multi 1.54B 32 層 Whisper 模型。在 680,000 小時的標記多語言語音資料上訓練。
whisper_large_multi_v2 1.54B 32 層 Whisper 模型。在 680,000 小時的標記多語言語音資料上訓練了 2.5 個 epoch。whisper_large_multi 的改進版本。