KerasHub:预训练模型 / API 文档 / 模型架构 / BASNet / BASNetBackbone 模型

BASNetBackbone 模型

[源代码]

BASNetBackbone

keras_hub.models.BASNetBackbone(
    image_encoder,
    num_classes,
    image_shape=(None, None, 3),
    projection_filters=64,
    prediction_heads=None,
    refinement_head=None,
    dtype=None,
    **kwargs
)

用于语义分割的 BASNet 架构。

一个 Keras 模型,实现了 BASNet:用于移动和 Web 应用的边界感知分割网络 中描述的 BASNet 架构。BASNet 使用预测-精炼架构实现高精度的图像分割。

参数

  • image_encoder:一个 keras_hub.models.ResNetBackbone 实例。该模型的骨干网络,用作 BASNet 预测编码器的特征提取器。目前支持的骨干网络有 ResNet18 和 ResNet34。(注意:不要在骨干网络中指定 image_shape。请在初始化“BASNetBackbone”模型时提供这些。)
  • num_classes:int,分割模型的类别数量。
  • image_shape:可选的形状元组,默认为 (None, None, 3)。
  • projection_filters:int,卷积层中用于投影 backbone 低级特征的过滤器数量。
  • prediction_heads:(可选)定义模型预测模块头的 keras.layers.Layer 列表。如果未提供,则会创建一个默认的头,包含一个 Conv2D 层,后跟调整大小操作。
  • refinement_head:(可选)定义模型精炼模块头的 keras.layers.Layer。如果未提供,则会创建一个默认的头,包含一个 Conv2D 层。
  • dtypeNone 或 str 或 keras.mixed_precision.DTypePolicy。用于模型计算和权重的 dtype。

[源代码]

from_preset 方法

BASNetBackbone.from_preset(preset, load_weights=True, **kwargs)

从模型预设实例化一个 keras_hub.models.Backbone

预设是一个包含配置、权重和其他文件资源的目录,用于保存和加载预训练模型。preset 可以作为以下之一传递:

  1. 一个内置的预设标识符,如 'bert_base_en'
  2. 一个 Kaggle Models 句柄,如 'kaggle://user/bert/keras/bert_base_en'
  3. 一个 Hugging Face 句柄,如 'hf://user/bert_base_en'
  4. 一个本地预设目录的路径,如 './bert_base_en'

此构造函数可以通过两种方式调用:从基类(如 keras_hub.models.Backbone.from_preset())或从模型类(如 keras_hub.models.GemmaBackbone.from_preset())。如果从基类调用,返回对象的子类将根据预设目录中的配置推断。

对于任何 Backbone 子类,您可以运行 cls.presets.keys() 来列出该类上所有可用的内置预设。

参数

  • preset:字符串。一个内置预设标识符、一个 Kaggle Models 句柄、一个 Hugging Face 句柄或一个本地目录的路径。
  • load_weights:布尔值。如果为 `True`,权重将被加载到模型架构中。如果为 `False`,权重将被随机初始化。

示例

# 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,
)
预设 参数 描述
basnet_duts 108.89M 带有 34 层 ResNet 骨干网络的 BASNet 模型,在 288x288 分辨率的 DUTS 图像数据集上预训练。模型训练由 Hamid Ali (https://github.com/hamidriasat/BASNet) 完成。