MobileNet 函数keras.applications.MobileNet(
input_shape=None,
alpha=1.0,
depth_multiplier=1,
dropout=0.001,
include_top=True,
weights="imagenet",
input_tensor=None,
pooling=None,
classes=1000,
classifier_activation="softmax",
name=None,
)
实例化 MobileNet 架构。
参考
此函数返回一个 Keras 图像分类模型,可选择加载在 ImageNet 上预训练的权重。
对于图像分类用例,请参阅此页面获取详细示例。
对于迁移学习用例,请务必阅读迁移学习和微调指南。
注意:每个 Keras Application 都需要特定类型的输入预处理。对于 MobileNet,在将输入传递给模型之前,请调用 keras.applications.mobilenet.preprocess_input。 mobilenet.preprocess_input 会将输入像素缩放到 -1 到 1 之间。
参数
include_top 为 False 时指定(否则输入形状必须为 (224, 224, 3)(使用 "channels_last" 数据格式)或 (3, 224, 224)(使用 "channels_first" 数据格式)。它应该有正好 3 个输入通道,宽度和高度应不小于 32。例如,(200, 200, 3) 是一个有效值。如果提供了 input_tensor,则 input_shape 将被忽略。默认为 None。alpha < 1.0,则按比例减少每一层的滤波器数量。alpha > 1.0,则按比例增加每一层的滤波器数量。alpha == 1,则使用论文中的默认滤波器数量。默认为 1.0。1.0。0.001。True。None(随机初始化)、"imagenet"(在 ImageNet 上预训练)或要加载的权重文件路径。默认为 "imagenet"。layers.Input() 的输出),用作模型的图像输入。input_tensor 对于在多个不同网络之间共享输入很有用。默认为 None。include_top 为 False 时,用于特征提取的可选池化模式。None (默认) 表示模型的输出将是最后一个卷积块的 4D 张量输出。avg 表示将对最后一个卷积块的输出应用全局平均池化,因此模型的输出将是 2D 张量。max 表示将应用全局最大池化。include_top 为 True 且未指定 weights 参数时指定。默认为 1000。str 或可调用对象。用于“顶部”层的激活函数。除非 include_top=True,否则将被忽略。将 classifier_activation=None 设置为返回“顶部”层的 logits。加载预训练权重时,classifier_activation 只能是 None 或 "softmax"。返回
一个模型实例。
MobileNetV2 函数keras.applications.MobileNetV2(
input_shape=None,
alpha=1.0,
include_top=True,
weights="imagenet",
input_tensor=None,
pooling=None,
classes=1000,
classifier_activation="softmax",
name=None,
)
实例化 MobileNetV2 架构。
MobileNetV2 与原始 MobileNet 非常相似,但它使用了带有瓶颈特性的倒残差块。与原始 MobileNet 相比,它的参数量大大减少。MobileNets 支持任何大于 32x32 的输入尺寸,较大的图像尺寸可提供更好的性能。
参考
此函数返回一个 Keras 图像分类模型,可选择加载在 ImageNet 上预训练的权重。
对于图像分类用例,请参阅此页面获取详细示例。
对于迁移学习用例,请务必阅读迁移学习和微调指南。
注意:每个 Keras Application 都需要特定类型的输入预处理。对于 MobileNetV2,在将输入传递给模型之前,请调用 keras.applications.mobilenet_v2.preprocess_input。 mobilenet_v2.preprocess_input 会将输入像素缩放到 -1 到 1 之间。
参数
include_top 为 False 时指定(否则输入形状必须为 (224, 224, 3)(使用 "channels_last" 数据格式)或 (3, 224, 224)(使用 "channels_first" 数据格式)。它应该有正好 3 个输入通道,宽度和高度应不小于 32。例如,(200, 200, 3) 是一个有效值。如果提供了 input_tensor,则 input_shape 将被忽略。默认为 None。alpha < 1.0,则按比例减少每一层的滤波器数量。alpha > 1.0,则按比例增加每一层的滤波器数量。alpha == 1,则使用论文中的默认滤波器数量。默认为 1.0。True。None(随机初始化)、"imagenet"(在 ImageNet 上预训练)或要加载的权重文件路径。默认为 "imagenet"。layers.Input() 的输出),用作模型的图像输入。input_tensor 对于在多个不同网络之间共享输入很有用。默认为 None。include_top 为 False 时,用于特征提取的可选池化模式。None (默认) 表示模型的输出将是最后一个卷积块的 4D 张量输出。avg 表示将对最后一个卷积块的输出应用全局平均池化,因此模型的输出将是 2D 张量。max 表示将应用全局最大池化。include_top 为 True 且未指定 weights 参数时指定。默认为 1000。str 或可调用对象。用于“顶部”层的激活函数。除非 include_top=True,否则将被忽略。将 classifier_activation=None 设置为返回“顶部”层的 logits。加载预训练权重时,classifier_activation 只能是 None 或 "softmax"。返回
一个模型实例。
MobileNetV3Small 函数keras.applications.MobileNetV3Small(
input_shape=None,
alpha=1.0,
minimalistic=False,
include_top=True,
weights="imagenet",
input_tensor=None,
classes=1000,
pooling=None,
dropout_rate=0.2,
classifier_activation="softmax",
include_preprocessing=True,
name="MobileNetV3Small",
)
实例化 MobileNetV3Small 架构。
参考
MACs 代表乘加运算
| 分类检查点 | MACs(M) | 参数(M) | Top1 准确率 | Pixel1 CPU(ms) |
|---|---|---|---|---|
| mobilenet_v3_large_1.0_224 | 217 | 5.4 | 75.6 | 51.2 |
| mobilenet_v3_large_0.75_224 | 155 | 4.0 | 73.3 | 39.8 |
| mobilenet_v3_large_minimalistic_1.0_224 | 209 | 3.9 | 72.3 | 44.1 |
| mobilenet_v3_small_1.0_224 | 66 | 2.9 | 68.1 | 15.8 |
| mobilenet_v3_small_0.75_224 | 44 | 2.4 | 65.4 | 12.8 |
| mobilenet_v3_small_minimalistic_1.0_224 | 65 | 2.0 | 61.9 | 12.2 |
对于图像分类用例,请参阅此页面获取详细示例。
对于迁移学习用例,请务必阅读迁移学习和微调指南。
注意:每个 Keras Application 都需要特定类型的输入预处理。对于 MobileNetV3,默认情况下,输入预处理作为模型的一部分(作为 Rescaling 层),因此 keras.applications.mobilenet_v3.preprocess_input 实际上是一个直通函数。在这种情况下,MobileNetV3 模型期望其输入是像素值为 [0-255] 范围内的浮点张量。同时,可以通过将 include_preprocessing 参数设置为 False 来禁用模型中的预处理(即 Rescaling 层)。禁用预处理后,MobileNetV3 模型期望其输入是像素值为 [-1, 1] 范围内的浮点张量。
参数
(224, 224, 3) 的模型,则应指定此参数。它应该有正好 3 个输入通道。如果您想从 input_tensor 推断 input_shape,也可以省略此选项。如果您选择同时包含 input_tensor 和 input_shape,则如果形状匹配,将使用 input_shape;如果形状不匹配,我们将抛出错误。例如,(160, 160, 3) 是一个有效值。weights 为 imagenet 时,对于非极简模型,alpha 可以是 0.75 或 1.0,对于极简模型,alpha 只能是 1.0。alpha < 1.0,则按比例减少每一层的滤波器数量。alpha > 1.0,则按比例增加每一层的滤波器数量。alpha == 1,则使用论文中的默认每层滤波器数量。True。None(随机初始化)、"imagenet"(在 ImageNet 上预训练)或要加载的权重文件路径之一。layers.Input() 的输出)用作模型的图像输入。include_top 为 False 时提取特征。None 表示模型的输出将是最后一个卷积块的 4D 张量输出。avg 表示将对最后一个卷积块的输出应用全局平均池化,因此模型的输出将是 2D 张量。max 表示将应用全局最大池化。include_top 为 True 且未指定 weights 参数时指定。str 或可调用对象。用于“顶部”层的激活函数。除非 include_top=True,否则将被忽略。将 classifier_activation=None 设置为返回“顶部”层的 logits。加载预训练权重时,classifier_activation 只能是 None 或 "softmax"。Rescaling)。默认为 True。调用参数
numpy.array 或后端原生张量,4D,具有 3 个颜色通道,如果 include_preprocessing 为 True,则值为 [0, 255] 范围,否则为 [-1, 1] 范围。返回
一个模型实例。
MobileNetV3Large 函数keras.applications.MobileNetV3Large(
input_shape=None,
alpha=1.0,
minimalistic=False,
include_top=True,
weights="imagenet",
input_tensor=None,
classes=1000,
pooling=None,
dropout_rate=0.2,
classifier_activation="softmax",
include_preprocessing=True,
name="MobileNetV3Large",
)
实例化 MobileNetV3Large 架构。
参考
MACs 代表乘加运算
| 分类检查点 | MACs(M) | 参数(M) | Top1 准确率 | Pixel1 CPU(ms) |
|---|---|---|---|---|
| mobilenet_v3_large_1.0_224 | 217 | 5.4 | 75.6 | 51.2 |
| mobilenet_v3_large_0.75_224 | 155 | 4.0 | 73.3 | 39.8 |
| mobilenet_v3_large_minimalistic_1.0_224 | 209 | 3.9 | 72.3 | 44.1 |
| mobilenet_v3_small_1.0_224 | 66 | 2.9 | 68.1 | 15.8 |
| mobilenet_v3_small_0.75_224 | 44 | 2.4 | 65.4 | 12.8 |
| mobilenet_v3_small_minimalistic_1.0_224 | 65 | 2.0 | 61.9 | 12.2 |
对于图像分类用例,请参阅此页面获取详细示例。
对于迁移学习用例,请务必阅读迁移学习和微调指南。
注意:每个 Keras Application 都需要特定类型的输入预处理。对于 MobileNetV3,默认情况下,输入预处理作为模型的一部分(作为 Rescaling 层),因此 keras.applications.mobilenet_v3.preprocess_input 实际上是一个直通函数。在这种情况下,MobileNetV3 模型期望其输入是像素值为 [0-255] 范围内的浮点张量。同时,可以通过将 include_preprocessing 参数设置为 False 来禁用模型中的预处理(即 Rescaling 层)。禁用预处理后,MobileNetV3 模型期望其输入是像素值为 [-1, 1] 范围内的浮点张量。
参数
(224, 224, 3) 的模型,则应指定此参数。它应该有正好 3 个输入通道。如果您想从 input_tensor 推断 input_shape,也可以省略此选项。如果您选择同时包含 input_tensor 和 input_shape,则如果形状匹配,将使用 input_shape;如果形状不匹配,我们将抛出错误。例如,(160, 160, 3) 是一个有效值。weights 为 imagenet 时,对于非极简模型,alpha 可以是 0.75 或 1.0,对于极简模型,alpha 只能是 1.0。alpha < 1.0,则按比例减少每一层的滤波器数量。alpha > 1.0,则按比例增加每一层的滤波器数量。alpha == 1,则使用论文中的默认每层滤波器数量。True。None(随机初始化)、"imagenet"(在 ImageNet 上预训练)或要加载的权重文件路径之一。layers.Input() 的输出)用作模型的图像输入。include_top 为 False 时提取特征。None 表示模型的输出将是最后一个卷积块的 4D 张量输出。avg 表示将对最后一个卷积块的输出应用全局平均池化,因此模型的输出将是 2D 张量。max 表示将应用全局最大池化。include_top 为 True 且未指定 weights 参数时指定。str 或可调用对象。用于“顶部”层的激活函数。除非 include_top=True,否则将被忽略。将 classifier_activation=None 设置为返回“顶部”层的 logits。加载预训练权重时,classifier_activation 只能是 None 或 "softmax"。Rescaling)。默认为 True。调用参数
numpy.array 或后端原生张量,4D,具有 3 个颜色通道,如果 include_preprocessing 为 True,则值为 [0, 255] 范围,否则为 [-1, 1] 范围。返回
一个模型实例。