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)