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 CSPDarkNet 模型,具有 [128, 256, 512, 1024] 個通道和 [3, 9, 9, 3] 個深度,其中在卷積層之後應用批次正規化和 SiLU 激活函數。在 Imagenet 2012 分類任務上訓練。
csp_darknet_tiny_imagenet CSPDarkNet 2.38M CSPDarkNet 模型,具有 [48, 96, 192, 384] 個通道和 [1, 3, 3, 1] 個深度,其中在卷積層之後應用批次正規化和 SiLU 激活函數。在 Imagenet 2012 分類任務上訓練。
csp_darknet_tiny CSPDarkNet 2.38M CSPDarkNet 模型,具有 [48, 96, 192, 384] 個通道和 [1, 3, 3, 1] 個深度,其中在卷積層之後應用批次正規化和 SiLU 激活函數。
csp_darknet_s CSPDarkNet 4.22M CSPDarkNet 模型,具有 [64, 128, 256, 512] 個通道和 [1, 3, 3, 1] 個深度,其中在卷積層之後應用批次正規化和 SiLU 激活函數。
csp_darknet_m CSPDarkNet 12.37M CSPDarkNet 模型,具有 [96, 192, 384, 768] 個通道和 [2, 6, 6, 2] 個深度,其中在卷積層之後應用批次正規化和 SiLU 激活函數。
csp_darknet_l CSPDarkNet 27.11M CSPDarkNet 模型,通道數為 [128, 256, 512, 1024],深度為 [3, 9, 9, 3],在卷積層之後應用批量標準化和 SiLU 激活函數。
csp_darknet_xl CSPDarkNet 56.84M CSPDarkNet 模型,通道數為 [170, 340, 680, 1360],深度為 [4, 12, 12, 4],在卷積層之後應用批量標準化和 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 Detectron2 ViT 骨幹,具有 12 個變壓器編碼器,嵌入維度為 768,注意力層具有 12 個頭,並在編碼器 2、5、8 和 11 上具有全局注意力。
vitdet_large VitDet 308.28M Detectron2 ViT 骨幹,具有 24 個變壓器編碼器,嵌入維度為 1024,注意力層具有 16 個頭,並在編碼器 5、11、17 和 23 上具有全局注意力。
vitdet_huge VitDet 637.03M Detectron2 ViT 骨幹模型,具有 32 個變壓器編碼器,嵌入維度為 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",
)

請注意,所有骨幹預設值也適用於任務。例如,您可以直接在 RetinaNet 中使用 ResNetBackbone 預設值。在這種情況下,由於特定於任務的層將被隨機初始化,因此需要進行微調。

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 文件

任務

骨幹