KerasHub:預訓練模型 / API 文件 / 模型架構 / DenseNet / DensNetBackbone 模型

DensNetBackbone 模型

[來源]

DenseNetBackbone 類別

keras_hub.models.DenseNetBackbone(
    stackwise_num_repeats,
    image_shape=(None, None, 3),
    compression_ratio=0.5,
    growth_rate=32,
    **kwargs
)

實例化 DenseNet 架構。

此類別實作了 密集連接卷積網路 (CVPR 2017) 中描述的 DenseNet 主幹網路。

引數

  • stackwise_num_repeats:整數列表,每個密集區塊重複卷積區塊的次數。
  • image_shape:選用形狀元組,預設為 (None, None, 3)。
  • compression_ratio:浮點數,過渡層的壓縮率,預設為 0.5。
  • growth_rate:整數,每個密集區塊增加的濾波器數量,預設為 32

範例

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

# Pretrained backbone
model = keras_hub.models.DenseNetBackbone.from_preset(
    "densenet_121_imagenet"
)
model(input_data)

# Randomly initialized backbone with a custom config
model = keras_hub.models.DenseNetBackbone(
    stackwise_num_repeats=[6, 12, 24, 16],
)
model(input_data)

[來源]

from_preset 方法

DenseNetBackbone.from_preset(preset, load_weights=True, **kwargs)

從模型預設實例化 keras_hub.models.Backbone

預設是一個配置、權重和其他檔案資產的目錄,用於儲存和載入預訓練模型。preset 可以作為以下其中一種傳遞

  1. 內建預設識別符,例如 'bert_base_en'
  2. Kaggle Models 控制代碼,例如 'kaggle://user/bert/keras/bert_base_en'
  3. Hugging Face 控制代碼,例如 'hf://user/bert_base_en'
  4. 本機預設目錄的路徑,例如 './bert_base_en'

此建構子可以透過兩種方式之一呼叫。可以從基底類別呼叫,例如 keras_hub.models.Backbone.from_preset(),或從模型類別呼叫,例如 keras_hub.models.GemmaBackbone.from_preset()。如果從基底類別呼叫,則傳回物件的子類別將從預設目錄中的配置推斷出來。

對於任何 Backbone 子類別,您可以執行 cls.presets.keys() 以列出類別上可用的所有內建預設。

引數

  • preset:字串。內建預設識別符、Kaggle Models 控制代碼、Hugging Face 控制代碼或本機目錄的路徑。
  • load_weights:布林值。如果為 True,權重將載入到模型架構中。如果為 False,權重將隨機初始化。

範例

# 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,
)
預設 參數 描述
densenet_121_imagenet 7.04M 在 ImageNet 1k 資料集上以 224x224 解析度預訓練的 121 層 DenseNet 模型。
densenet_169_imagenet 12.64M 在 ImageNet 1k 資料集上以 224x224 解析度預訓練的 169 層 DenseNet 模型。
densenet_201_imagenet 18.32M 在 ImageNet 1k 資料集上以 224x224 解析度預訓練的 201 層 DenseNet 模型。