MoonshineBackbone
类keras_hub.models.MoonshineBackbone(
vocabulary_size,
filter_dim,
encoder_num_layers,
decoder_num_layers,
hidden_dim,
intermediate_dim,
encoder_num_heads,
decoder_num_heads,
feedforward_expansion_factor=4,
encoder_use_swiglu_activation=False,
decoder_use_swiglu_activation=True,
max_position_embeddings=2048,
pad_head_dim_to_multiple_of=None,
partial_rotary_factor=0.62,
dropout=0.0,
initializer_range=0.02,
rope_theta=10000.0,
attention_bias=False,
attention_dropout=0.0,
dtype=None,
**kwargs
)
Moonshine 主干网络,集成音频特征提取。
此类实现了一个编码器-解码器主干网络,如 Moonshine ASR 系统中所用。它包括用于音频特征提取的初始卷积层,然后是用于处理这些特征的 MoonshineEncoderBlock
实例和用于生成输出序列的 MoonshineDecoderBlock
实例。
参数
hidden_dim
匹配。intermediate_dim
的乘数,用于确定前馈网络的总宽度。默认为 4。示例
import numpy as np
import keras
from keras_hub.models import MoonshineBackbone
# Create random input data for demonstration.
# Input is now raw-ish audio features (e.g., from MoonshineAudioConverter).
encoder_raw_input_values = np.random.rand(1, 16000, 1).astype("float32")
# Mask corresponding to the raw input time dimension
encoder_padding_mask = np.ones((1, 16000), dtype="bool")
decoder_token_ids = np.random.randint(
0, 1000, size=(1, 20), dtype="int32"
)
decoder_padding_mask = np.ones((1, 20), dtype="bool")
# Initialize the Moonshine backbone with specific parameters.
backbone = MoonshineBackbone(
vocabulary_size=10000,
filter_dim=256,
encoder_num_layers=6,
decoder_num_layers=6,
hidden_dim=256,
intermediate_dim=512,
encoder_num_heads=8,
decoder_num_heads=8,
feedforward_expansion_factor=4,
decoder_use_swiglu_activation=True,
encoder_use_swiglu_activation=False,
)
# Forward pass through the model.
outputs = backbone(
{
"encoder_input_values": encoder_raw_input_values,
"encoder_padding_mask": encoder_padding_mask,
"decoder_token_ids": decoder_token_ids,
"decoder_padding_mask": decoder_padding_mask,
}
)
# Display the outputs.
print("Encoder output shape:", outputs["encoder_sequence_output"].shape)
print("Decoder output shape:", outputs["decoder_sequence_output"].shape)
from_preset
方法MoonshineBackbone.from_preset(preset, load_weights=True, **kwargs)
从模型预设实例化一个 keras_hub.models.Backbone
。
预设是一个包含配置、权重和其他文件资源的目录,用于保存和加载预训练模型。preset
可以作为以下之一传递:
'bert_base_en'
'kaggle://user/bert/keras/bert_base_en'
'hf://user/bert_base_en'
'./bert_base_en'
此构造函数可以通过两种方式调用。可以从基类调用,例如 keras_hub.models.Backbone.from_preset()
,也可以从模型类调用,例如 keras_hub.models.GemmaBackbone.from_preset()
。如果从基类调用,返回对象的子类将根据预设目录中的配置推断。
对于任何 Backbone
子类,您可以运行 cls.presets.keys()
来列出该类上所有可用的内置预设。
参数
示例
# Load a Gemma backbone with pre-trained weights.
model = keras_hub.models.Backbone.from_preset(
"gemma_2b_en",
)
# Load a Bert backbone with a pre-trained config and random weights.
model = keras_hub.models.Backbone.from_preset(
"bert_base_en",
load_weights=False,
)
预设 | 参数 | 描述 |
---|---|---|
moonshine_tiny_en | 27.09M | 用于英语语音识别的 Moonshine tiny 模型。由 Useful Sensors 开发,用于实时转录。 |
moonshine_base_en | 61.51M | 用于英语语音识别的 Moonshine base 模型。由 Useful Sensors 开发,用于实时转录。 |
token_embedding
属性keras_hub.models.MoonshineBackbone.token_embedding
一个用于嵌入词元 ID 的 keras.layers.Embedding
实例。
该层将整数词元 ID 嵌入到模型的隐藏维度。