Keras 3 API 文档 / Keras Applications (应用) / 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 Application 都需要特定类型的输入预处理。对于 ResNet,在将输入传递给模型之前,请对输入调用 keras.applications.resnet.preprocess_input 函数。resnet.preprocess_input 会将输入图像从 RGB 转换为 BGR,然后相对于 ImageNet 数据集对每个颜色通道进行零中心化,而不进行缩放。

参数

  • include_top: 是否包含网络顶部的全连接层。
  • weights: 以下之一:None(随机初始化),"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: 模型名称 (字符串)。

返回

一个 Model 实例。


[源代码]

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 Application 都需要特定类型的输入预处理。对于 ResNet,在将输入传递给模型之前,请对输入调用 keras.applications.resnet.preprocess_input 函数。resnet.preprocess_input 会将输入图像从 RGB 转换为 BGR,然后相对于 ImageNet 数据集对每个颜色通道进行零中心化,而不进行缩放。

参数

  • include_top: 是否包含网络顶部的全连接层。
  • weights: 以下之一:None(随机初始化),"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: 模型名称 (字符串)。

返回

一个 Model 实例。


[源代码]

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 Application 都需要特定类型的输入预处理。对于 ResNet,在将输入传递给模型之前,请对输入调用 keras.applications.resnet.preprocess_input 函数。resnet.preprocess_input 会将输入图像从 RGB 转换为 BGR,然后相对于 ImageNet 数据集对每个颜色通道进行零中心化,而不进行缩放。

参数

  • include_top: 是否包含网络顶部的全连接层。
  • weights: 以下之一:None(随机初始化),"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: 模型名称 (字符串)。

返回

一个 Model 实例。


[源代码]

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 Application 都需要特定类型的输入预处理。对于 ResNetV2,在将输入传递给模型之前,请对输入调用 keras.applications.resnet_v2.preprocess_input 函数。resnet_v2.preprocess_input 会将输入像素缩放到 -1 到 1 之间。

参数

  • include_top: 是否包含网络顶部的全连接层。
  • weights: 以下之一:None(随机初始化),"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: 模型名称 (字符串)。

返回

一个 Model 实例。


[源代码]

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 Application 都需要特定类型的输入预处理。对于 ResNetV2,在将输入传递给模型之前,请对输入调用 keras.applications.resnet_v2.preprocess_input 函数。resnet_v2.preprocess_input 会将输入像素缩放到 -1 到 1 之间。

参数

  • include_top: 是否包含网络顶部的全连接层。
  • weights: 以下之一:None(随机初始化),"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: 模型名称 (字符串)。

返回

一个 Model 实例。


[源代码]

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 Application 都需要特定类型的输入预处理。对于 ResNetV2,在将输入传递给模型之前,请对输入调用 keras.applications.resnet_v2.preprocess_input 函数。resnet_v2.preprocess_input 会将输入像素缩放到 -1 到 1 之间。

参数

  • include_top: 是否包含网络顶部的全连接层。
  • weights: 以下之一:None(随机初始化),"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: 模型名称 (字符串)。

返回

一个 Model 实例。