Keras 3 API 文件 / Keras 應用 / ResNet 和 ResNetV2

ResNet 和 ResNetV2

[原始碼]

ResNet50 函數

keras.applications.ResNet50(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
    name="resnet50",
)

實例化 ResNet50 架構。

參考文獻

關於圖像分類的使用案例,請參閱此頁面以取得詳細範例

關於遷移學習的使用案例,請務必閱讀遷移學習與微調指南

注意:每個 Keras 應用都期望特定種類的輸入預處理。對於 ResNet,在將輸入傳遞給模型之前,請在您的輸入上呼叫 keras.applications.resnet.preprocess_inputresnet.preprocess_input 將會把輸入影像從 RGB 轉換為 BGR,然後將每個色彩通道根據 ImageNet 資料集進行零中心化,而不進行縮放。

參數

  • include_top:是否包含網路頂端的全連接層。
  • weightsNone(隨機初始化)、"imagenet"(在 ImageNet 上預訓練)或要載入的權重檔案路徑之一。
  • input_tensor:可選的 Keras 張量(即 layers.Input() 的輸出),用作模型的影像輸入。
  • input_shape:可選的形狀元組,只有在 include_topFalse 時才需要指定(否則輸入形狀必須是 (224, 224, 3)(使用 "channels_last" 資料格式)或 (3, 224, 224)(使用 "channels_first" 資料格式)。它應該恰好有 3 個輸入通道,且寬度和高度都不應小於 32。例如,(200, 200, 3) 將會是一個有效值。
  • pooling:當 include_topFalse 時,用於特徵提取的可選池化模式。
    • None 表示模型的輸出將會是最後一個卷積區塊的 4D 張量輸出。
    • avg 表示將對最後一個卷積區塊的輸出應用全域平均池化,因此模型的輸出將會是 2D 張量。
    • max 表示將應用全域最大池化。
  • classes:可選的影像分類類別數量,只有在 include_topTrue 且沒有指定 weights 參數時才需要指定。預設值為 1000
  • classifier_activation:一個 str 或可呼叫物件。用於「頂層」的啟動函數。除非 include_top=True,否則會被忽略。設定 classifier_activation=None 以傳回「頂層」的 logits。當載入預訓練權重時,classifier_activation 只能是 None"softmax"
  • name:模型的名稱(字串)。

傳回值

一個模型實例。


[原始碼]

ResNet101 函數

keras.applications.ResNet101(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
    name="resnet101",
)

實例化 ResNet101 架構。

參考文獻

關於圖像分類的使用案例,請參閱此頁面以取得詳細範例

關於遷移學習的使用案例,請務必閱讀遷移學習與微調指南

注意:每個 Keras 應用都期望特定種類的輸入預處理。對於 ResNet,在將輸入傳遞給模型之前,請在您的輸入上呼叫 keras.applications.resnet.preprocess_inputresnet.preprocess_input 將會把輸入影像從 RGB 轉換為 BGR,然後將每個色彩通道根據 ImageNet 資料集進行零中心化,而不進行縮放。

參數

  • include_top:是否包含網路頂端的全連接層。
  • weightsNone(隨機初始化)、"imagenet"(在 ImageNet 上預訓練)或要載入的權重檔案路徑之一。
  • input_tensor:可選的 Keras 張量(即 layers.Input() 的輸出),用作模型的影像輸入。
  • input_shape:可選的形狀元組,只有在 include_topFalse 時才需要指定(否則輸入形狀必須是 (224, 224, 3)(使用 "channels_last" 資料格式)或 (3, 224, 224)(使用 "channels_first" 資料格式)。它應該恰好有 3 個輸入通道,且寬度和高度都不應小於 32。例如,(200, 200, 3) 將會是一個有效值。
  • pooling:當 include_topFalse 時,用於特徵提取的可選池化模式。
    • None 表示模型的輸出將會是最後一個卷積區塊的 4D 張量輸出。
    • avg 表示將對最後一個卷積區塊的輸出應用全域平均池化,因此模型的輸出將會是 2D 張量。
    • max 表示將應用全域最大池化。
  • classes:可選的影像分類類別數量,只有在 include_topTrue 且沒有指定 weights 參數時才需要指定。預設值為 1000
  • classifier_activation:一個 str 或可呼叫物件。用於「頂層」的啟動函數。除非 include_top=True,否則會被忽略。設定 classifier_activation=None 以傳回「頂層」的 logits。當載入預訓練權重時,classifier_activation 只能是 None"softmax"
  • name:模型的名稱(字串)。

傳回值

一個模型實例。


[原始碼]

ResNet152 函數

keras.applications.ResNet152(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
    name="resnet152",
)

實例化 ResNet152 架構。

參考文獻

關於圖像分類的使用案例,請參閱此頁面以取得詳細範例

關於遷移學習的使用案例,請務必閱讀遷移學習與微調指南

注意:每個 Keras 應用都期望特定種類的輸入預處理。對於 ResNet,在將輸入傳遞給模型之前,請在您的輸入上呼叫 keras.applications.resnet.preprocess_inputresnet.preprocess_input 將會把輸入影像從 RGB 轉換為 BGR,然後將每個色彩通道根據 ImageNet 資料集進行零中心化,而不進行縮放。

參數

  • include_top:是否包含網路頂端的全連接層。
  • weightsNone(隨機初始化)、"imagenet"(在 ImageNet 上預訓練)或要載入的權重檔案路徑之一。
  • input_tensor:可選的 Keras 張量(即 layers.Input() 的輸出),用作模型的影像輸入。
  • input_shape:可選的形狀元組,只有在 include_topFalse 時才需要指定(否則輸入形狀必須是 (224, 224, 3)(使用 "channels_last" 資料格式)或 (3, 224, 224)(使用 "channels_first" 資料格式)。它應該恰好有 3 個輸入通道,且寬度和高度都不應小於 32。例如,(200, 200, 3) 將會是一個有效值。
  • pooling:當 include_topFalse 時,用於特徵提取的可選池化模式。
    • None 表示模型的輸出將會是最後一個卷積區塊的 4D 張量輸出。
    • avg 表示將對最後一個卷積區塊的輸出應用全域平均池化,因此模型的輸出將會是 2D 張量。
    • max 表示將應用全域最大池化。
  • classes:可選的影像分類類別數量,只有在 include_topTrue 且沒有指定 weights 參數時才需要指定。預設值為 1000
  • classifier_activation:一個 str 或可呼叫物件。用於「頂層」的啟動函數。除非 include_top=True,否則會被忽略。設定 classifier_activation=None 以傳回「頂層」的 logits。當載入預訓練權重時,classifier_activation 只能是 None"softmax"
  • name:模型的名稱(字串)。

傳回值

一個模型實例。


[原始碼]

ResNet50V2 函數

keras.applications.ResNet50V2(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
    name="resnet50v2",
)

實例化 ResNet50V2 架構。

參考文獻

關於圖像分類的使用案例,請參閱此頁面以取得詳細範例

關於遷移學習的使用案例,請務必閱讀遷移學習與微調指南

注意:每個 Keras 應用都期望特定種類的輸入預處理。對於 ResNet,在將輸入傳遞給模型之前,請在您的輸入上呼叫 keras.applications.resnet_v2.preprocess_inputresnet_v2.preprocess_input 將會把輸入像素縮放到 -1 和 1 之間。

參數

  • include_top:是否包含網路頂端的全連接層。
  • weightsNone(隨機初始化)、"imagenet"(在 ImageNet 上預訓練)或要載入的權重檔案路徑之一。
  • input_tensor:可選的 Keras 張量(即 layers.Input() 的輸出),用作模型的影像輸入。
  • input_shape:可選的形狀元組,只有在 include_topFalse 時才需要指定(否則輸入形狀必須是 (224, 224, 3)(使用 "channels_last" 資料格式)或 (3, 224, 224)(使用 "channels_first" 資料格式)。它應該恰好有 3 個輸入通道,且寬度和高度都不應小於 32。例如,(200, 200, 3) 將會是一個有效值。
  • pooling:當 include_topFalse 時,用於特徵提取的可選池化模式。
    • None 表示模型的輸出將會是最後一個卷積區塊的 4D 張量輸出。
    • avg 表示將對最後一個卷積區塊的輸出應用全域平均池化,因此模型的輸出將會是 2D 張量。
    • max 表示將應用全域最大池化。
  • classes:可選的影像分類類別數量,只有在 include_topTrue 且沒有指定 weights 參數時才需要指定。
  • classifier_activation:一個 str 或可呼叫物件。用於「頂層」的啟動函數。除非 include_top=True,否則會被忽略。設定 classifier_activation=None 以傳回「頂層」的 logits。當載入預訓練權重時,classifier_activation 只能是 None"softmax"
  • name:模型的名稱(字串)。

傳回值

一個模型實例。


[原始碼]

ResNet101V2 函數

keras.applications.ResNet101V2(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
    name="resnet101v2",
)

實例化 ResNet101V2 架構。

參考文獻

關於圖像分類的使用案例,請參閱此頁面以取得詳細範例

關於遷移學習的使用案例,請務必閱讀遷移學習與微調指南

注意:每個 Keras 應用都期望特定種類的輸入預處理。對於 ResNet,在將輸入傳遞給模型之前,請在您的輸入上呼叫 keras.applications.resnet_v2.preprocess_inputresnet_v2.preprocess_input 將會把輸入像素縮放到 -1 和 1 之間。

參數

  • include_top:是否包含網路頂端的全連接層。
  • weightsNone(隨機初始化)、"imagenet"(在 ImageNet 上預訓練)或要載入的權重檔案路徑之一。
  • input_tensor:可選的 Keras 張量(即 layers.Input() 的輸出),用作模型的影像輸入。
  • input_shape:可選的形狀元組,只有在 include_topFalse 時才需要指定(否則輸入形狀必須是 (224, 224, 3)(使用 "channels_last" 資料格式)或 (3, 224, 224)(使用 "channels_first" 資料格式)。它應該恰好有 3 個輸入通道,且寬度和高度都不應小於 32。例如,(200, 200, 3) 將會是一個有效值。
  • pooling:當 include_topFalse 時,用於特徵提取的可選池化模式。
    • None 表示模型的輸出將會是最後一個卷積區塊的 4D 張量輸出。
    • avg 表示將對最後一個卷積區塊的輸出應用全域平均池化,因此模型的輸出將會是 2D 張量。
    • max 表示將應用全域最大池化。
  • classes:可選的影像分類類別數量,只有在 include_topTrue 且沒有指定 weights 參數時才需要指定。
  • classifier_activation:一個 str 或可呼叫物件。用於「頂層」的啟動函數。除非 include_top=True,否則會被忽略。設定 classifier_activation=None 以傳回「頂層」的 logits。當載入預訓練權重時,classifier_activation 只能是 None"softmax"
  • name:模型的名稱(字串)。

傳回值

一個模型實例。


[原始碼]

ResNet152V2 函數

keras.applications.ResNet152V2(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
    name="resnet152v2",
)

實例化 ResNet152V2 架構。

參考文獻

關於圖像分類的使用案例,請參閱此頁面以取得詳細範例

關於遷移學習的使用案例,請務必閱讀遷移學習與微調指南

注意:每個 Keras 應用都期望特定種類的輸入預處理。對於 ResNet,在將輸入傳遞給模型之前,請在您的輸入上呼叫 keras.applications.resnet_v2.preprocess_inputresnet_v2.preprocess_input 將會把輸入像素縮放到 -1 和 1 之間。

參數

  • include_top:是否包含網路頂端的全連接層。
  • weightsNone(隨機初始化)、"imagenet"(在 ImageNet 上預訓練)或要載入的權重檔案路徑之一。
  • input_tensor:可選的 Keras 張量(即 layers.Input() 的輸出),用作模型的影像輸入。
  • input_shape:可選的形狀元組,只有在 include_topFalse 時才需要指定(否則輸入形狀必須是 (224, 224, 3)(使用 "channels_last" 資料格式)或 (3, 224, 224)(使用 "channels_first" 資料格式)。它應該恰好有 3 個輸入通道,且寬度和高度都不應小於 32。例如,(200, 200, 3) 將會是一個有效值。
  • pooling:當 include_topFalse 時,用於特徵提取的可選池化模式。
    • None 表示模型的輸出將會是最後一個卷積區塊的 4D 張量輸出。
    • avg 表示將對最後一個卷積區塊的輸出應用全域平均池化,因此模型的輸出將會是 2D 張量。
    • max 表示將應用全域最大池化。
  • classes:可選的影像分類類別數量,只有在 include_topTrue 且沒有指定 weights 參數時才需要指定。
  • classifier_activation:一個 str 或可呼叫物件。用於「頂層」的啟動函數。除非 include_top=True,否則會被忽略。設定 classifier_activation=None 以傳回「頂層」的 logits。當載入預訓練權重時,classifier_activation 只能是 None"softmax"
  • name:模型的名稱(字串)。

傳回值

一個模型實例。