KerasHub:预训练模型 / API 文档 / 预处理层 / AudioConverter 层

音频转换层

[源文件]

AudioConverter

keras_hub.layers.AudioConverter(**kwargs)

转换原始音频,用于支持音频输入的模型。

此类将任意长度的原始音频张量转换为预处理过的音频,用于预训练模型的输入。它旨在提供一种便捷的方式来编写非模型特定的自定义预处理代码。应通过 from_preset() 构造函数实例化此层,该构造函数将根据模型预设创建此层的正确子类。

该层将接收形状为 (batch_size, num_samples) 的原始音频张量作为输入,并输出用于建模的预处理音频输入。预处理输入的具体结构会因模型而异。预处理通常包括计算原始音频信号的频谱图。

示例

# Load an audio converter from a preset.
converter = keras_hub.layers.AudioConverter.from_preset("whisper_base_en")
# Convert some raw audio input.
converter(np.ones(2, 1_000))

[源文件]

from_preset 方法

AudioConverter.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 的改进版本。