Keras 3 API 文件 / KerasCV / 模型 / 骨幹網路 / DenseNet 骨幹網路

DenseNet 骨幹網路

[來源]

DenseNetBackbone 類別

keras_cv.models.DenseNetBackbone(
    stackwise_num_repeats,
    include_rescaling,
    input_shape=(None, None, 3),
    input_tensor=None,
    compression_ratio=0.5,
    growth_rate=32,
    **kwargs
)

實例化 DenseNet 架構。

參數

  • stackwise_num_repeats:整數列表,每個密集區塊中重複的卷積區塊數量。
  • include_rescaling:布林值,是否重新縮放輸入。如果設為 True,輸入將通過 Rescaling(1/255.0) 層。
  • input_shape:可選的形狀元組,默認為 (None, None, 3)。
  • input_tensor:可選的 Keras 張量(例如 keras.layers.Input() 的輸出),用作模型的影像輸入。
  • compression_ratio:浮點數,過渡層的壓縮率。
  • growth_rate:整數,每個密集區塊添加的濾波器數量。

範例

input_data = tf.ones(shape=(8, 224, 224, 3))

# Pretrained backbone
model = keras_cv.models.DenseNetBackbone.from_preset("densenet121_imagenet")
output = model(input_data)

# Randomly initialized backbone with a custom config
model = DenseNetBackbone(
    stackwise_num_repeats=[6, 12, 24, 16],
    include_rescaling=False,
)
output = model(input_data)

[來源]

from_preset 方法

DenseNetBackbone.from_preset()

從預設配置和權重實例化 DenseNetBackbone 模型。

參數

  • preset:字串。必須是「densenet121」、「densenet169」、「densenet201」、「densenet121_imagenet」、「densenet169_imagenet」、「densenet201_imagenet」其中之一。如果要尋找具有預先訓練權重的預設值,請選擇「densenet121_imagenet」、「densenet169_imagenet」、「densenet201_imagenet」其中之一。
  • load_weights:是否將預先訓練的權重載入模型。默認為 None,這取決於預設值是否有可用的預先訓練權重。

範例

# Load architecture and weights from preset
model = keras_cv.models.DenseNetBackbone.from_preset(
    "densenet121_imagenet",
)

# Load randomly initialized model from preset architecture with weights
model = keras_cv.models.DenseNetBackbone.from_preset(
    "densenet121_imagenet",
    load_weights=False,
預設名稱 參數 描述
densenet121 未知 具有 121 層的 DenseNet 模型。
densenet169 未知 具有 169 層的 DenseNet 模型。
densenet201 未知 具有 201 層的 DenseNet 模型。
densenet121_imagenet 未知 具有 121 層的 DenseNet 模型。在 Imagenet 2012 分類任務上訓練。
densenet169_imagenet 未知 具有 169 層的 DenseNet 模型。在 Imagenet 2012 分類任務上訓練。
densenet201_imagenet 未知 具有 201 層的 DenseNet 模型。在 Imagenet 2012 分類任務上訓練。

[來源]

DenseNet121Backbone 類別

keras_cv.models.DenseNet121Backbone(
    stackwise_num_repeats,
    include_rescaling,
    input_shape=(None, None, 3),
    input_tensor=None,
    compression_ratio=0.5,
    growth_rate=32,
    **kwargs
)

具有 121 層的 DenseNetBackbone 模型。

參考

對於遷移學習用例,請務必閱讀遷移學習與微調指南

參數

  • include_rescaling:布林值,是否重新縮放輸入。如果設為 True,輸入將通過 Rescaling(1/255.0) 層。
  • input_shape:可選的形狀元組,默認為 (None, None, 3)。
  • input_tensor:可選的 Keras 張量(例如 layers.Input() 的輸出),用作模型的影像輸入。

範例

input_data = tf.ones(shape=(8, 224, 224, 3))

# Randomly initialized backbone
model = DenseNet121Backbone()
output = model(input_data)

[來源]

DenseNet169Backbone 類別

keras_cv.models.DenseNet169Backbone(
    stackwise_num_repeats,
    include_rescaling,
    input_shape=(None, None, 3),
    input_tensor=None,
    compression_ratio=0.5,
    growth_rate=32,
    **kwargs
)

具有 169 層的 DenseNetBackbone 模型。

參考

對於遷移學習用例,請務必閱讀遷移學習與微調指南

參數

  • include_rescaling:布林值,是否重新縮放輸入。如果設為 True,輸入將通過 Rescaling(1/255.0) 層。
  • input_shape:可選的形狀元組,默認為 (None, None, 3)。
  • input_tensor:可選的 Keras 張量(例如 layers.Input() 的輸出),用作模型的影像輸入。

範例

input_data = tf.ones(shape=(8, 224, 224, 3))

# Randomly initialized backbone
model = DenseNet169Backbone()
output = model(input_data)

[來源]

DenseNet201Backbone 類別

keras_cv.models.DenseNet201Backbone(
    stackwise_num_repeats,
    include_rescaling,
    input_shape=(None, None, 3),
    input_tensor=None,
    compression_ratio=0.5,
    growth_rate=32,
    **kwargs
)

具有 201 層的 DenseNetBackbone 模型。

參考

對於遷移學習用例,請務必閱讀遷移學習與微調指南

參數

  • include_rescaling:布林值,是否重新縮放輸入。如果設為 True,輸入將通過 Rescaling(1/255.0) 層。
  • input_shape:可選的形狀元組,默認為 (None, None, 3)。
  • input_tensor:可選的 Keras 張量(例如 layers.Input() 的輸出),用作模型的影像輸入。

範例

input_data = tf.ones(shape=(8, 224, 224, 3))

# Randomly initialized backbone
model = DenseNet201Backbone()
output = model(input_data)