Keras 3 API 文档 / KerasCV / KerasCV 模型

KerasCV 模型

KerasCV 包含流行模型架构的端到端实现。这些模型可以通过两种方式创建

  • 通过 from_preset() 构造函数,它实例化一个具有预训练配置(可选)和权重的对象。可用的预设名称列在本页上。
model = keras_cv.models.RetinaNet.from_preset(
    "resnet50_v2_imagenet",
    num_classes=20,
    bounding_box_format="xywh",
)
  • 通过用户控制的自定义配置。为此,只需将所需的配置参数传递给下面文档中符号的默认构造函数。
backbone = keras_cv.models.ResNetBackbone(
    stackwise_filters=[64, 128, 256, 512],
    stackwise_blocks=[2, 2, 2, 2],
    stackwise_strides=[1, 2, 2, 2],
    include_rescaling=False,
)
model = keras_cv.models.RetinaNet(
    backbone=backbone,
    num_classes=20,
    bounding_box_format="xywh",
)

主干预设

以下每个预设名称对应于一个 主干 模型的配置和权重。

以下名称可与相应 主干 模型的 from_preset() 构造函数一起使用。

backbone = keras_cv.models.ResNetBackbone.from_preset("resnet50_imagenet")

为简洁起见,我们没有在下面的表格中包含没有预训练权重的预设。

注意:如果 include_rescaling=True,所有预训练权重应与范围为 [0, 255] 的未归一化像素强度一起使用;如果 including_rescaling=False,则范围应为 [0, 1]

预设名称 模型 参数 描述
csp_darknet_l_imagenet CSPDarkNet 27.11M 具有 [128, 256, 512, 1024] 个通道和 [3, 9, 9, 3] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。在 Imagenet 2012 分类任务上训练。
csp_darknet_tiny_imagenet CSPDarkNet 2.38M 具有 [48, 96, 192, 384] 个通道和 [1, 3, 3, 1] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。在 Imagenet 2012 分类任务上训练。
csp_darknet_tiny CSPDarkNet 2.38M 具有 [48, 96, 192, 384] 个通道和 [1, 3, 3, 1] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。
csp_darknet_s CSPDarkNet 4.22M 具有 [64, 128, 256, 512] 个通道和 [1, 3, 3, 1] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。
csp_darknet_m CSPDarkNet 12.37M 具有 [96, 192, 384, 768] 个通道和 [2, 6, 6, 2] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。
csp_darknet_l CSPDarkNet 27.11M 具有 [128, 256, 512, 1024] 个通道和 [3, 9, 9, 3] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。
csp_darknet_xl CSPDarkNet 56.84M 具有 [170, 340, 680, 1360] 个通道和 [4, 12, 12, 4] 个深度的 CSPDarkNet 模型,其中批量归一化和 SiLU 激活在卷积层之后应用。
densenet121_imagenet 未知 未知 具有 121 个层的 DenseNet 模型。在 Imagenet 2012 分类任务上训练。
densenet169_imagenet 未知 未知 具有 169 个层的 DenseNet 模型。在 Imagenet 2012 分类任务上训练。
densenet201_imagenet 未知 未知 具有 201 个层的 DenseNet 模型。在 Imagenet 2012 分类任务上训练。
densenet121 未知 未知 具有 121 个层的 DenseNet 模型。
densenet169 未知 未知 具有 169 个层的 DenseNet 模型。
densenet201 未知 未知 具有 201 个层的 DenseNet 模型。
efficientnetlite_b0 EfficientNetLite 3.41M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.0
efficientnetlite_b1 EfficientNetLite 4.19M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.1
efficientnetlite_b2 EfficientNetLite 4.87M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1depth_coefficient=1.2
efficientnetlite_b3 EfficientNetLite 6.99M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.2depth_coefficient=1.4
efficientnetlite_b4 EfficientNetLite 11.84M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.4depth_coefficient=1.8
efficientnetv1_b0 EfficientNetV1 4.05M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.0
efficientnetv1_b1 EfficientNetV1 6.58M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.1
efficientnetv1_b2 EfficientNetV1 7.77M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1depth_coefficient=1.2
efficientnetv1_b3 EfficientNetV1 10.79M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.2depth_coefficient=1.4
efficientnetv1_b4 EfficientNetV1 17.68M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.4depth_coefficient=1.8
efficientnetv1_b5 EfficientNetV1 28.52M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.6depth_coefficient=2.2
efficientnetv1_b6 EfficientNetV1 40.97M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.8depth_coefficient=2.6
efficientnetv1_b7 EfficientNetV1 64.11M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=2.0depth_coefficient=3.1
efficientnetv2_b0_imagenet EfficientNetV2 5.92M 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.0。权重初始化为预训练的 ImageNet 分类权重。发布的权重能够在 ImageNet 上获得 77.1% 的 top 1 准确率和 93.3% 的 top 5 准确率。
efficientnetv2_b1_imagenet EfficientNetV2 6.93M 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.1。权重初始化为预训练的 ImageNet 分类权重。发布的权重能够在 ImageNet 上获得 79.1% 的 top 1 准确率和 94.4% 的 top 5 准确率。
efficientnetv2_b2_imagenet EfficientNetV2 8.77M 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1depth_coefficient=1.2。权重初始化为预训练的 ImageNet 分类权重。发布的权重能够在 ImageNet 上获得 80.1% 的 top 1 准确率和 94.9% 的 top 5 准确率。
efficientnetv2_s_imagenet EfficientNetV2 20.33M 具有 6 个卷积块的 EfficientNet 架构。权重初始化为预训练的 ImageNet 分类权重。发布的权重能够在 ImageNet 上获得 83.9% 的 top 1 准确率和 96.7% 的 top 5 准确率。
efficientnetv2_s EfficientNetV2 20.33M 具有 6 个卷积块的 EfficientNet 架构。
efficientnetv2_m EfficientNetV2 53.15M 具有 7 个卷积块的 EfficientNet 架构。
efficientnetv2_l EfficientNetV2 117.75M 具有 7 个卷积块的 EfficientNet 架构,但在 efficientnetv2_m 中具有更多过滤器。
efficientnetv2_b0 EfficientNetV2 5.92M 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.0
efficientnetv2_b1 EfficientNetV2 6.93M 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0depth_coefficient=1.1
efficientnetv2_b2 EfficientNetV2 8.77M 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1depth_coefficient=1.2
efficientnetv2_b3 EfficientNetV2 12.93M 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.2depth_coefficient=1.4
mit_b0_imagenet MiT 3.32M 具有 8 个 Transformer 块的 MiT (MixTransformer) 模型。在 ImageNet-1K 上预训练,在验证集上获得 69% 的 top-1 准确率。
mit_b0 MiT 3.32M 具有 8 个 Transformer 块的 MiT (MixTransformer) 模型。
mit_b1 MiT 13.16M 具有 8 个 Transformer 块的 MiT (MixTransformer) 模型。
mit_b2 MiT 24.20M 具有 16 个 Transformer 块的 MiT (MixTransformer) 模型。
mit_b3 MiT 44.08M 具有 28 个 Transformer 块的 MiT (MixTransformer) 模型。
mit_b4 MiT 60.85M 具有 41 个 Transformer 块的 MiT (MixTransformer) 模型。
mit_b5 MiT 81.45M 具有 52 个 Transformer 块的 MiT (MixTransformer) 模型。
mobilenet_v3_large_imagenet MobileNetV3 2.99M 具有 28 个层的 MobileNetV3 模型,其中批量归一化和 hard-swish 激活在卷积层之后应用。在 ImageNet 2012 分类任务上预训练。
mobilenet_v3_small_imagenet MobileNetV3 933.50K 具有 14 个层的 MobileNetV3 模型,其中批量归一化和 hard-swish 激活在卷积层之后应用。在 ImageNet 2012 分类任务上预训练。
mobilenet_v3_small MobileNetV3 933.50K 具有 14 个层的 MobileNetV3 模型,其中批量归一化和 hard-swish 激活在卷积层之后应用。
mobilenet_v3_large MobileNetV3 2.99M 具有 28 个层的 MobileNetV3 模型,其中批量归一化和 hard-swish 激活在卷积层之后应用。
resnet50_imagenet ResNetV1 23.56M 具有 50 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之后应用(v1 风格)。在 Imagenet 2012 分类任务上训练。
resnet18 ResNetV1 11.19M 具有 18 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之后应用(v1 风格)。
resnet34 ResNetV1 21.30M 具有 34 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之后应用(v1 风格)。
resnet50 ResNetV1 23.56M 具有 50 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之后应用(v1 风格)。
resnet101 ResNetV1 42.61M 具有 101 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之后应用(v1 风格)。
resnet152 ResNetV1 58.30M 具有 152 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之后应用(v1 风格)。
resnet50_v2_imagenet ResNetV2 23.56M 具有 50 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之前应用(v2 风格)。在 Imagenet 2012 分类任务上训练。
resnet18_v2 ResNetV2 11.18M 具有 18 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之前应用(v2 风格)。
resnet34_v2 ResNetV2 21.30M 具有 34 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之前应用(v2 风格)。
resnet50_v2 ResNetV2 23.56M 具有 50 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之前应用(v2 风格)。
resnet101_v2 ResNetV2 42.63M 具有 101 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之前应用(v2 风格)。
resnet152_v2 ResNetV2 58.33M 具有 152 个层的 ResNet 模型,其中批量归一化和 ReLU 激活在卷积层之前应用(v2 风格)。
videoswin_base_kinetics400 VideoSwinB 87.64M 一个基础的 Video Swin 主干网络架构。它在 ImageNet 1K 数据集上进行了预训练,并在 Kinetics 400 数据集上进行了训练。发布的权重能够在 Kinetics 400 数据集上取得 80.6% 的 top1 准确率和 94.6% 的 top5 准确率。
videoswin_small_kinetics400 VideoSwinS 49.51M 一个小型 Video Swin 主干网络架构。它在 ImageNet 1K 数据集上进行了预训练,并在 Kinetics 400 数据集上进行了训练。发布的权重能够在 Kinetics 400 数据集上取得 80.6% 的 top1 准确率和 94.5% 的 top5 准确率。
videoswin_tiny_kinetics400 VideoSwinT 27.85M 一个微型 Video Swin 主干网络架构。它在 ImageNet 1K 数据集上进行了预训练,并在 Kinetics 400 数据集上进行了训练。
videoswin_tiny VideoSwinT 27.85M 一个微型 Video Swin 主干网络架构。
videoswin_small VideoSwinS 49.51M 一个小型 Video Swin 主干网络架构。
videoswin_base VideoSwinB 87.64M 一个基础的 Video Swin 主干网络架构。
videoswin_base_kinetics400_imagenet22k VideoSwinB 87.64M 一个基础的 Video Swin 主干网络架构。它在 ImageNet 22K 数据集上进行了预训练,并在 Kinetics 400 数据集上进行了训练。发布的权重能够在 Kinetics 400 数据集上取得 82.7% 的 top1 准确率和 95.5% 的 top5 准确率。
videoswin_base_kinetics600_imagenet22k VideoSwinB 87.64M 一个基础的 Video Swin 主干网络架构。它在 ImageNet 22K 数据集上进行了预训练,并在 Kinetics 600 数据集上进行了训练。发布的权重能够在 Kinetics 600 数据集上取得 84.0% 的 top1 准确率和 96.5% 的 top5 准确率。
videoswin_base_something_something_v2 VideoSwinB 87.64M 一个基础的 Video Swin 主干网络架构。它在 Kinetics 400 数据集上进行了预训练,并在 Something Something V2 数据集上进行了训练。发布的权重能够在 Kinetics 400 数据集上取得 69.6% 的 top1 准确率和 92.7% 的 top5 准确率。
vitdet_base_sa1b VitDet 89.67M 在 SA1B 数据集上训练的 Detectron2 ViT 基础主干网络。
vitdet_huge_sa1b VitDet 637.03M 在 SA1B 数据集上训练的 Detectron2 ViT 超大型主干网络。
vitdet_large_sa1b VitDet 308.28M 在 SA1B 数据集上训练的 Detectron2 ViT 大型主干网络。
vitdet_base VitDet 89.67M 具有 12 个 Transformer 编码器的 Detectron2 ViT 基础网络,嵌入维度为 768,注意力层具有 12 个头,在编码器 2、5、8 和 11 上具有全局注意力。
vitdet_large VitDet 308.28M 具有 24 个 Transformer 编码器的 Detectron2 ViT 基础网络,嵌入维度为 1024,注意力层具有 16 个头,在编码器 5、11、17 和 23 上具有全局注意力。
vitdet_huge VitDet 637.03M 具有 32 个 Transformer 编码器的 Detectron2 ViT 基础网络模型,嵌入维度为 1280,注意力层具有 16 个头,在编码器 7、15、23 和 31 上具有全局注意力。
yolo_v8_xs_backbone YOLOV8 1.28M 一个超小型 YOLOV8 主干网络
yolo_v8_s_backbone YOLOV8 5.09M 一个小型 YOLOV8 主干网络
yolo_v8_m_backbone YOLOV8 11.87M 一个中型 YOLOV8 主干网络
yolo_v8_l_backbone YOLOV8 19.83M 一个大型 YOLOV8 主干网络
yolo_v8_xl_backbone YOLOV8 30.97M 一个超大型 YOLOV8 主干网络
yolo_v8_xs_backbone_coco YOLOV8 1.28M 在 COCO 上预训练的超小型 YOLOV8 主干网络
yolo_v8_s_backbone_coco YOLOV8 5.09M 在 COCO 上预训练的小型 YOLOV8 主干网络
yolo_v8_m_backbone_coco YOLOV8 11.87M 在 COCO 上预训练的中型 YOLOV8 主干网络
yolo_v8_l_backbone_coco YOLOV8 19.83M 在 COCO 上预训练的大型 YOLOV8 主干网络
yolo_v8_xl_backbone_coco YOLOV8 30.97M 在 COCO 上预训练的超大型 YOLOV8 主干网络
center_pillar_waymo_open_dataset 未知 1.28M 用于 WOD 的一个示例 CenterPillar 主干网络。

任务预设

以下每个预设名称对应于**任务**模型的配置和权重。这些模型已准备好应用,但如果需要,可以进一步微调。

以下名称可与相应**任务**模型的from_preset()构造函数一起使用。

object_detector = keras_cv.models.RetinaNet.from_preset(
    "retinanet_resnet50_pascalvoc",
    bounding_box_format="xywh",
)

请注意,所有主干预设也适用于任务。例如,您可以直接将ResNetBackbone预设与RetinaNet一起使用。在这种情况下,需要微调,因为特定于任务的层将被随机初始化。

backbone = keras_cv.models.RetinaNet.from_preset(
    "resnet50_imagenet",
    bounding_box_format="xywh",
)

为了简洁起见,我们没有在下表中包含主干预设。

注意:如果 include_rescaling=True,所有预训练权重应与范围为 [0, 255] 的未归一化像素强度一起使用;如果 including_rescaling=False,则范围应为 [0, 1]

{{task_presets_table}}

API 文档

任务

主干网络