MobileNetV5Backbone 类keras_hub.models.MobileNetV5Backbone(
stackwise_block_types,
stackwise_num_blocks,
stackwise_num_filters,
stackwise_strides,
stackwise_act_layers,
stackwise_exp_ratios,
stackwise_se_ratios,
stackwise_dw_kernel_sizes,
stackwise_dw_start_kernel_sizes,
stackwise_dw_end_kernel_sizes,
stackwise_exp_kernel_sizes,
stackwise_pw_kernel_sizes,
stackwise_num_heads,
stackwise_key_dims,
stackwise_value_dims,
stackwise_kv_strides,
stackwise_use_cpe,
filters=3,
stem_size=16,
stem_bias=True,
fix_stem=False,
num_features=2048,
pad_type="same",
use_msfa=True,
msfa_indices=(-2, -1),
msfa_output_resolution=16,
act_layer="gelu",
norm_layer="rms_norm",
se_layer=keras_hub.src.models.mobilenet.mobilenet_backbone.SqueezeAndExcite2D,
se_from_exp=True,
round_chs_fn=round_channels,
drop_path_rate=0.0,
layer_scale_init_value=None,
image_shape=(None, None, 3),
data_format=None,
dtype=None,
**kwargs
)
MobileNetV5 主干网络。
此类表示 MobileNetV5 架构的主干,可用作各种下游任务的特征提取器。
参数
uir 块的起始深度卷积核大小。uir 块的结束深度卷积核大小。er 块的扩展卷积核大小。er 块的点卷积核大小。mqa 或 mha 块的注意力头数。mqa 或 mha 块的关键维度。mqa 或 mha 块的值维度。mqa 或 mha 块的键值步幅。mqa 或 mha 块使用条件位置编码。True,则在 stem 卷积中使用偏置项。True,则 stem 大小不会被四舍五入。use_msfa 为 True 时使用。True,则使用多尺度融合适配器。True,则 SE 通道缩减基于扩展的通道。(None, None, 3)。"channels_first" 或 "channels_last"。如果指定为 None,则将使用您 Keras 配置文件中的 image_data_format 值,位于 ~/.keras/keras.json。默认为 None。None 或 str 或 keras.mixed_precision.DTypePolicy。用于模型计算和权重的 dtype。默认为 None。示例
import keras
from keras_hub.models import MobileNetV5Backbone
# Randomly initialized backbone with a custom config.
model_args = {
"stackwise_block_types": [["er"], ["uir", "uir"]],
"stackwise_num_blocks": [1, 2],
"stackwise_num_filters": [[24], [48, 48]],
"stackwise_strides": [[2], [2, 1]],
"stackwise_act_layers": [["relu"], ["relu", "relu"]],
"stackwise_exp_ratios": [[4.0], [6.0, 6.0]],
"stackwise_se_ratios": [[0.0], [0.0, 0.0]],
"stackwise_dw_kernel_sizes": [[0], [5, 5]],
"stackwise_dw_start_kernel_sizes": [[0], [0, 0]],
"stackwise_dw_end_kernel_sizes": [[0], [0, 0]],
"stackwise_exp_kernel_sizes": [[3], [0, 0]],
"stackwise_pw_kernel_sizes": [[1], [0, 0]],
"stackwise_num_heads": [[0], [0, 0]],
"stackwise_key_dims": [[0], [0, 0]],
"stackwise_value_dims": [[0], [0, 0]],
"stackwise_kv_strides": [[0], [0, 0]],
"stackwise_use_cpe": [[False], [False, False]],
"use_msfa": False,
}
model = MobileNetV5Backbone(**model_args)
input_data = keras.ops.ones((1, 224, 224, 3))
output = model(input_data)
# Load the backbone from a preset and run a prediction.
backbone = MobileNetV5Backbone.from_preset("mobilenetv5_300m_gemma3n")
# Expected output shape = (1, 16, 16, 2048).
outputs = backbone.predict(keras.ops.ones((1, 224, 224, 3)))
from_preset 方法MobileNetV5Backbone.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''modelscope://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,
)
| 预设 | 参数 | 描述 |
|---|---|---|
| mobilenetv5_300m_enc_gemma3n | 294.28M | 轻量级 3 亿参数的卷积视觉编码器,用作 Gemma 3n 的图像骨干网络。 |