ResNetBackbone
類別keras_cv.models.ResNetBackbone(
stackwise_filters,
stackwise_blocks,
stackwise_strides,
include_rescaling,
input_shape=(None, None, 3),
input_tensor=None,
block_type="block",
**kwargs
)
實例化 ResNet 架構。
參考文獻
ResNetV1 和 ResNetV2 的差異在於其個別構建塊的結構。在 ResNetV2 中,批次正規化和 ReLU 激活先於卷積層,而 ResNetV1 中的批次正規化和 ReLU 激活是在卷積層之後應用的。
對於遷移學習用例,請務必閱讀遷移學習和微調指南。
參數
True
,輸入將通過 Rescaling(1/255.0)
層。layers.Input()
的輸出),用作模型的影像輸入。範例
input_data = tf.ones(shape=(8, 224, 224, 3))
# Pretrained backbone
model = keras_cv.models.ResNetBackbone.from_preset("resnet50_imagenet")
output = model(input_data)
# Randomly initialized backbone with a custom config
model = ResNetBackbone(
stackwise_filters=[64, 128, 256, 512],
stackwise_blocks=[2, 2, 2, 2],
stackwise_strides=[1, 2, 2, 2],
include_rescaling=False,
)
output = model(input_data)
from_preset
方法ResNetBackbone.from_preset()
從預設配置和權重實例化 ResNetBackbone 模型。
參數
None
,這取決於預設配置是否有可用的預先訓練權重。範例
# Load architecture and weights from preset
model = keras_cv.models.ResNetBackbone.from_preset(
"resnet50_imagenet",
)
# Load randomly initialized model from preset architecture with weights
model = keras_cv.models.ResNetBackbone.from_preset(
"resnet50_imagenet",
load_weights=False,
預設名稱 | 參數 | 說明 |
---|---|---|
resnet18 | 11.19M | 具有 18 層的 ResNet 模型,其中批次正規化和 ReLU 激活在卷積層之後應用(v1 樣式)。 |
resnet34 | 21.30M | 擁有 34 層的 ResNet 模型,在卷積層之後應用批次標準化和 ReLU 激活函數(v1 風格)。 |
resnet50 | 23.56M | 擁有 50 層的 ResNet 模型,在卷積層之後應用批次標準化和 ReLU 激活函數(v1 風格)。 |
resnet101 | 42.61M | 擁有 101 層的 ResNet 模型,在卷積層之後應用批次標準化和 ReLU 激活函數(v1 風格)。 |
resnet152 | 58.30M | 擁有 152 層的 ResNet 模型,在卷積層之後應用批次標準化和 ReLU 激活函數(v1 風格)。 |
resnet50_imagenet | 23.56M | 擁有 50 層的 ResNet 模型,在卷積層之後應用批次標準化和 ReLU 激活函數(v1 風格)。 在 Imagenet 2012 分類任務上訓練。 |
ResNet18Backbone
類別keras_cv.models.ResNet18Backbone(
stackwise_filters,
stackwise_blocks,
stackwise_strides,
include_rescaling,
input_shape=(None, None, 3),
input_tensor=None,
block_type="block",
**kwargs
)
具有 18 層的 ResNetBackbone(V1)模型。
參考文獻
ResNetV1 和 ResNetV2 的差異在於其個別構建塊的結構。在 ResNetV2 中,批次正規化和 ReLU 激活先於卷積層,而 ResNetV1 中的批次正規化和 ReLU 激活是在卷積層之後應用的。
對於遷移學習用例,請務必閱讀遷移學習和微調指南。
參數
True
,輸入將通過 Rescaling(1/255.0)
層。layers.Input()
的輸出),用作模型的影像輸入。範例
input_data = tf.ones(shape=(8, 224, 224, 3))
# Randomly initialized backbone
model = ResNet18Backbone()
output = model(input_data)
ResNet34Backbone
類別keras_cv.models.ResNet34Backbone(
stackwise_filters,
stackwise_blocks,
stackwise_strides,
include_rescaling,
input_shape=(None, None, 3),
input_tensor=None,
block_type="block",
**kwargs
)
具有 34 層的 ResNetBackbone(V1)模型。
參考文獻
ResNetV1 和 ResNetV2 的差異在於其個別構建塊的結構。在 ResNetV2 中,批次正規化和 ReLU 激活先於卷積層,而 ResNetV1 中的批次正規化和 ReLU 激活是在卷積層之後應用的。
對於遷移學習用例,請務必閱讀遷移學習和微調指南。
參數
True
,輸入將通過 Rescaling(1/255.0)
層。layers.Input()
的輸出),用作模型的影像輸入。範例
input_data = tf.ones(shape=(8, 224, 224, 3))
# Randomly initialized backbone
model = ResNet34Backbone()
output = model(input_data)
ResNet50Backbone
類別keras_cv.models.ResNet50Backbone(
stackwise_filters,
stackwise_blocks,
stackwise_strides,
include_rescaling,
input_shape=(None, None, 3),
input_tensor=None,
block_type="block",
**kwargs
)
具有 50 層的 ResNetBackbone(V1)模型。
參考文獻
ResNetV1 和 ResNetV2 的差異在於其個別構建塊的結構。在 ResNetV2 中,批次正規化和 ReLU 激活先於卷積層,而 ResNetV1 中的批次正規化和 ReLU 激活是在卷積層之後應用的。
對於遷移學習用例,請務必閱讀遷移學習和微調指南。
參數
True
,輸入將通過 Rescaling(1/255.0)
層。layers.Input()
的輸出),用作模型的影像輸入。範例
input_data = tf.ones(shape=(8, 224, 224, 3))
# Randomly initialized backbone
model = ResNet50Backbone()
output = model(input_data)
ResNet101Backbone
類別keras_cv.models.ResNet101Backbone(
stackwise_filters,
stackwise_blocks,
stackwise_strides,
include_rescaling,
input_shape=(None, None, 3),
input_tensor=None,
block_type="block",
**kwargs
)
具有 101 層的 ResNetBackbone(V1)模型。
參考文獻
ResNetV1 和 ResNetV2 的差異在於其個別構建塊的結構。在 ResNetV2 中,批次正規化和 ReLU 激活先於卷積層,而 ResNetV1 中的批次正規化和 ReLU 激活是在卷積層之後應用的。
對於遷移學習用例,請務必閱讀遷移學習和微調指南。
參數
True
,輸入將通過 Rescaling(1/255.0)
層。layers.Input()
的輸出),用作模型的影像輸入。範例
input_data = tf.ones(shape=(8, 224, 224, 3))
# Randomly initialized backbone
model = ResNet101Backbone()
output = model(input_data)
ResNet152Backbone
類別keras_cv.models.ResNet152Backbone(
stackwise_filters,
stackwise_blocks,
stackwise_strides,
include_rescaling,
input_shape=(None, None, 3),
input_tensor=None,
block_type="block",
**kwargs
)
具有 152 層的 ResNetBackbone(V1)模型。
參考文獻
ResNetV1 和 ResNetV2 的差異在於其個別構建塊的結構。在 ResNetV2 中,批次正規化和 ReLU 激活先於卷積層,而 ResNetV1 中的批次正規化和 ReLU 激活是在卷積層之後應用的。
對於遷移學習用例,請務必閱讀遷移學習和微調指南。
參數
True
,輸入將通過 Rescaling(1/255.0)
層。layers.Input()
的輸出),用作模型的影像輸入。範例
input_data = tf.ones(shape=(8, 224, 224, 3))
# Randomly initialized backbone
model = ResNet152Backbone()
output = model(input_data)