MobileNet 函数
tf.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",
**kwargs
)
实例化MobileNet体系结构.
参考
可以加载基于ImageNet的预训练权重。 请注意,模型使用的数据格式是tf.keras.backend.image_data_format()
中指定的格式。
注意:每个Keras应用程序都需要一种特定类型的输入预处理。对于MobileNet,在将输入传递给模型之前,对输入调用tf.keras.applications.mobilenet.preprocess_input
。
变量
input_shape:可选的形状元组,仅当
include_top
为False时才指定(否则,输入形状必须为(224,224,3)(使用channels_last数据格式)或(3,224,224)(使用channels_first
数据格式)。 它应该有3个输入通道,宽度和高度不小于32,例如(200,200,3)是一个有效值,默认为None,如果提供了input_tensor
,则将忽略input_shape
。alpha:控制网络的宽度。 这在MobileNet论文中称为宽度倍增器。 如果alpha <1.0,则按比例减少每层中的滤波器数量;如果alpha> 1.0,则按比例增加每层中的滤波器数量;如果alpha = 1,则在每一层使用论文中默认滤波器数量, 默认为1.0。
depth_multiplier:用于深度卷积的深度乘数。 这在MobileNet论文中称为分辨率乘数,默认为1.0。
dropout:默认值0.001.
include_top:布尔值,是否在网络顶部包括完全连接的层。 默认为
True
。weights:“None”(随机初始化),“ imagenet”(在ImageNet上进行预训练)或要加载的权重文件的路径之一。 默认
imagenet
。input_tensor:可选的Keras张量(即
layers.Input()
的输出),用作模型的图像输入。input_tensor
对于在多个不同网络之间共享输入很有用。 默认为None。pooling:当
include_top
为False
时,用于特征提取的可选池模式。None
(默认)表示模型的输出将是最后一个卷积块的4D张量输出。avg
表示全局平均池将应用于最后一个卷积块的输出,因此模型的输出将为2D张量。max
表示将应用全局最大池。
classes:分类图像的可选类数,仅当
include_top
为True
且未指定weights
参数时才指定.默认值为1000。classifier_activation:字符串或调用值。 要在顶层上使用的激活函数。 除非
include_top = True
,否则将被忽略。 设置classifier_activation=None
返回“顶层”的登录信息。** kwargs:仅用于向后兼容。
返回
keras.Model实例。
Raises
- ValueError:权重参数无效或输入形状无效。
- ValueError:如果使用预训练的顶层时
classifier_activation
不是softmax
或None
,则为ValueError。