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.0 和 depth_coefficient=1.0 。 |
efficientnetlite_b1 | EfficientNetLite | 4.19M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0 和 depth_coefficient=1.1 。 |
efficientnetlite_b2 | EfficientNetLite | 4.87M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1 和 depth_coefficient=1.2 。 |
efficientnetlite_b3 | EfficientNetLite | 6.99M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.2 和 depth_coefficient=1.4 。 |
efficientnetlite_b4 | EfficientNetLite | 11.84M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.4 和 depth_coefficient=1.8 。 |
efficientnetv1_b0 | EfficientNetV1 | 4.05M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0 和 depth_coefficient=1.0 。 |
efficientnetv1_b1 | EfficientNetV1 | 6.58M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0 和 depth_coefficient=1.1 。 |
efficientnetv1_b2 | EfficientNetV1 | 7.77M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1 和 depth_coefficient=1.2 。 |
efficientnetv1_b3 | EfficientNetV1 | 10.79M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.2 和 depth_coefficient=1.4 。 |
efficientnetv1_b4 | EfficientNetV1 | 17.68M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.4 和 depth_coefficient=1.8 。 |
efficientnetv1_b5 | EfficientNetV1 | 28.52M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.6 和 depth_coefficient=2.2 。 |
efficientnetv1_b6 | EfficientNetV1 | 40.97M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.8 和 depth_coefficient=2.6 。 |
efficientnetv1_b7 | EfficientNetV1 | 64.11M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=2.0 和 depth_coefficient=3.1 。 |
efficientnetv2_b0_imagenet | EfficientNetV2 | 5.92M | 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0 和 depth_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.0 和 depth_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.1 和 depth_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.0 和 depth_coefficient=1.0 。 |
efficientnetv2_b1 | EfficientNetV2 | 6.93M | 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.0 和 depth_coefficient=1.1 。 |
efficientnetv2_b2 | EfficientNetV2 | 8.77M | 具有 6 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.1 和 depth_coefficient=1.2 。 |
efficientnetv2_b3 | EfficientNetV2 | 12.93M | 具有 7 个卷积块的 EfficientNet B 型架构。此 B 型模型的 width_coefficient=1.2 和 depth_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}}