KerasHub:预训练模型 / API 文档 / 模型架构 / MobileNetV5 / MobileNetV5ImageClassifier 模型

MobileNetV5ImageClassifier 模型

[源代码]

MobileNetV5ImageClassifier

keras_hub.models.MobileNetV5ImageClassifier(
    backbone,
    num_classes,
    preprocessor=None,
    head_hidden_size=2048,
    global_pool="avg",
    drop_rate=0.0,
    head_dtype=None,
    **kwargs
)

一个端到端的用于图像分类的 MobileNetV5 模型。

该模型将一个分类头附加到一个 MobileNetV5Backbone 上。该头部由一个全局池化层、一个可选的卷积头、一个 dropout 层和一个最终的密集分类层组成。

该模型可以选择性地配置一个 preprocessor 层,在这种情况下,它将在 fit()predict()evaluate() 期间自动对图像输入应用预处理。

参数

  • backbone:一个 keras_hub.models.MobileNetV5Backbone 实例。
  • num_classes:int。分类头的类数量。
  • preprocessor:一个 keras_hub.models.ImageClassifierPreprocessorNone。如果为 None,则此模型将不应用预处理。
  • head_hidden_size:int。卷积头中的通道数。
  • global_pool:str。要使用的全局池化类型。
  • drop_rate:float。头部的 dropout 率。
  • head_dtype:string 或 keras.mixed_precision.DTypePolicy。用于头部计算和权重的 dtype。

示例

import keras
from keras_hub.models import MobileNetV5Backbone
from keras_hub.models import MobileNetV5ImageClassifier

# Randomly initialized task model 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,
}
backbone = MobileNetV5Backbone(**model_args)
model = MobileNetV5ImageClassifier(backbone, 1000)
images = keras.ops.ones((1, 224, 224, 3))
output = model.predict(images)

backbone 属性

keras_hub.models.MobileNetV5ImageClassifier.backbone

一个具有核心架构的 keras_hub.models.Backbone 模型。


preprocessor 属性

keras_hub.models.MobileNetV5ImageClassifier.preprocessor

用于预处理输入的 keras_hub.models.Preprocessor 层。