RetinaNetBackbone
类keras_hub.models.RetinaNetBackbone(
image_encoder,
min_level,
max_level,
use_p5,
use_fpn_batch_norm=False,
image_shape=(None, None, 3),
data_format=None,
dtype=None,
**kwargs
)
RetinaNet 主干网络。
将 CNN 主干网络(例如 ResNet、MobileNet)与特征金字塔网络 (FPN) 结合,用于提取多尺度特征以进行目标检测。
参数
keras.Model
。用于从输入图像中提取特征的主干模型(例如 ResNet50、MobileNetV2)。它应具有金字塔输出(即,将诸如 "P2"
、"P3"
等级别名称映射到其对应特征张量的字典)。True
,则使用最后一个主干层(在 FPN 中通常为 'P5'
)的输出作为输入,通过额外的卷积层创建更高级别的特征图(例如 'P6'
、'P7'
)。如果为 False
,则直接使用来自主干网络的原始 'P5'
特征图作为输入来创建更粗粒度的级别,绕过特征金字塔内对 'P5'
的进一步处理。默认为 False
。False
。None
。抛出
min_level
大于 max_level
。backbone_max_level
小于 5 且 max_level
大于或等于 5。from_preset
方法RetinaNetBackbone.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()
来列出该类上所有可用的内置预设。
参数
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,
)
预设 | 参数 | 描述 |
---|---|---|
retinanet_resnet50_fpn_v2_coco | 31.56M | RetinaNet 模型,使用 ResNet50 主干网络,在 COCO 数据集上以 800x800 分辨率进行微调,FPN 特征从 P5 级别创建。 |
retinanet_resnet50_fpn_coco | 34.12M | RetinaNet 模型,使用 ResNet50 主干网络,在 COCO 数据集上以 800x800 分辨率进行微调。 |