HGNetV2Backbone 类keras_hub.models.HGNetV2Backbone(
depths,
embedding_size,
hidden_sizes,
stem_channels,
hidden_act,
use_learnable_affine_block,
stackwise_stage_filters,
apply_downsample,
use_lightweight_conv_block,
image_shape=(None, None, 3),
data_format=None,
out_features=None,
dtype=None,
**kwargs
)
此类代表 HGNetV2 模型的 Keras Backbone。
此类实现 HGNetV2 主干架构,这是一种针对 GPU 效率优化的卷积神经网络 (CNN)。HGNetV2 在目标检测管道(如 RT-DETR 和 YOLO 变体)中常被用作轻量级 CNN 主干,在分类和检测任务上表现出色,与更大的 CNN 主干相比,具有速度提升和准确性提高。
参数
(None, None, 3)。None 或 str,数据格式('channels_last' 或 'channels_first')。如果未指定,则默认为 Keras 配置中的 image_data_format 值。None,要返回的输出特征的名称。如果为 None,则返回所有阶段的所有可用特征。默认为 None。None 或 str 或 keras.mixed_precision.DTypePolicy,计算和权重的类型。示例
import numpy as np
from keras_hub.src.models.hgnetv2.hgnetv2_backbone import HGNetV2Backbone
input_data = np.ones(shape=(8, 224, 224, 3))
# Pretrained backbone.
model = keras_hub.models.HGNetV2Backbone.from_preset(
"hgnetv2_b5_ssld_stage2_ft_in1k"
)
model(input_data)
# Randomly initialized backbone with a custom config.
model = HGNetV2Backbone(
depths=[1, 2, 4],
embedding_size=32,
hidden_sizes=[64, 128, 256],
stem_channels=[3, 16, 32],
hidden_act="relu",
use_learnable_affine_block=False,
stackwise_stage_filters=[
(32, 16, 64, 1, 1, 3), # Stage 0
(64, 32, 128, 2, 1, 3), # Stage 1
(128, 64, 256, 4, 1, 3), # Stage 2
],
apply_downsample=[False, True, True],
use_lightweight_conv_block=[False, False, False],
image_shape=(224, 224, 3),
)
model(input_data)
from_preset 方法HGNetV2Backbone.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,
)
| 预设 | 参数 | 描述 |
|---|---|---|
| hgnetv2_b4_ssld_stage2_ft_in1k | 13.60M | HGNetV2 B4 模型,采用 2 阶段 SSLD 训练,在 ImageNet-1K 上进行了微调。 |
| hgnetv2_b5_ssld_stage1_in22k_in1k | 33.42M | HGNetV2 B5 模型,采用 1 阶段 SSLD 训练,在 ImageNet-22K 上预训练,在 ImageNet-1K 上微调。 |
| hgnetv2_b5_ssld_stage2_ft_in1k | 33.42M | HGNetV2 B5 模型,采用 2 阶段 SSLD 训练,在 ImageNet-1K 上进行了微调。 |
| hgnetv2_b6_ssld_stage1_in22k_in1k | 69.18M | HGNetV2 B6 模型,采用 1 阶段 SSLD 训练,在 ImageNet-22K 上预训练,在 ImageNet-1K 上微调。 |
| hgnetv2_b6_ssld_stage2_ft_in1k | 69.18M | HGNetV2 B6 模型,采用 2 阶段 SSLD 训练,在 ImageNet-1K 上进行了微调。 |