MobileNet
functionkeras.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,
)
Instantiates the MobileNet architecture.
Reference
This function returns a Keras image classification model, optionally loaded with weights pre-trained on ImageNet.
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
Note: each Keras Application expects a specific kind of input preprocessing.
For MobileNet, call keras.applications.mobilenet.preprocess_input
on your inputs before passing them to the model.
mobilenet.preprocess_input
will scale input pixels between -1 and 1.
Arguments
include_top
is False
(otherwise the input shape has to be (224, 224, 3)
(with "channels_last"
data format) or (3, 224, 224)
(with "channels_first"
data format).
It should have exactly 3 inputs channels, and width and
height should be no smaller than 32. E.g. (200, 200, 3)
would
be one valid value. Defaults to None
.
input_shape
will be ignored if the input_tensor
is provided.alpha < 1.0
, proportionally decreases the number
of filters in each layer.alpha > 1.0
, proportionally increases the number
of filters in each layer.alpha == 1
, default number of filters from the paper
are used at each layer. Defaults to 1.0
.1.0
.0.001
.True
.None
(random initialization), "imagenet"
(pre-training on ImageNet), or the path to the weights file
to be loaded. Defaults to "imagenet"
.layers.Input()
)
to use as image input for the model. input_tensor
is useful
for sharing inputs between multiple different networks.
Defaults to None
.include_top
is False
.None
(default) means that the output of the model will be
the 4D tensor output of the last convolutional block.avg
means that global average pooling
will be applied to the output of the
last convolutional block, and thus
the output of the model will be a 2D tensor.max
means that global max pooling will be applied.include_top
is True
, and if
no weights
argument is specified. Defaults to 1000
.str
or callable. The activation function
to use on the "top" layer. Ignored unless include_top=True
.
Set classifier_activation=None
to return the logits of the "top"
layer. When loading pretrained weights, classifier_activation
can only be None
or "softmax"
.Returns
A model instance.
MobileNetV2
functionkeras.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,
)
Instantiates the MobileNetV2 architecture.
MobileNetV2 is very similar to the original MobileNet, except that it uses inverted residual blocks with bottlenecking features. It has a drastically lower parameter count than the original MobileNet. MobileNets support any input size greater than 32 x 32, with larger image sizes offering better performance.
Reference
This function returns a Keras image classification model, optionally loaded with weights pre-trained on ImageNet.
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
Note: each Keras Application expects a specific kind of input preprocessing.
For MobileNetV2, call
keras.applications.mobilenet_v2.preprocess_input
on your inputs before passing them to the model.
mobilenet_v2.preprocess_input
will scale input pixels between -1 and 1.
Arguments
include_top
is False
(otherwise the input shape has to be (224, 224, 3)
(with "channels_last"
data format) or (3, 224, 224)
(with "channels_first"
data format).
It should have exactly 3 inputs channels, and width and
height should be no smaller than 32. E.g. (200, 200, 3)
would
be one valid value. Defaults to None
.
input_shape
will be ignored if the input_tensor
is provided.alpha < 1.0
, proportionally decreases the number
of filters in each layer.alpha > 1.0
, proportionally increases the number
of filters in each layer.alpha == 1
, default number of filters from the paper
are used at each layer. Defaults to 1.0
.True
.None
(random initialization), "imagenet"
(pre-training on ImageNet), or the path to the weights file
to be loaded. Defaults to "imagenet"
.layers.Input()
)
to use as image input for the model. input_tensor
is useful
for sharing inputs between multiple different networks.
Defaults to None
.include_top
is False
.None
(default) means that the output of the model will be
the 4D tensor output of the last convolutional block.avg
means that global average pooling
will be applied to the output of the
last convolutional block, and thus
the output of the model will be a 2D tensor.max
means that global max pooling will be applied.include_top
is True
, and if
no weights
argument is specified. Defaults to 1000
.str
or callable. The activation function
to use on the "top" layer. Ignored unless include_top=True
.
Set classifier_activation=None
to return the logits of the "top"
layer. When loading pretrained weights, classifier_activation
can only be None
or "softmax"
.Returns
A model instance.
MobileNetV3Small
functionkeras.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",
)
Instantiates the MobileNetV3Small architecture.
Reference
MACs stands for Multiply Adds
Classification Checkpoint | MACs(M) | Parameters(M) | Top1 Accuracy | 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 |
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
Note: each Keras Application expects a specific kind of input preprocessing.
For MobileNetV3, by default input preprocessing is included as a part of the
model (as a Rescaling
layer), and thus
keras.applications.mobilenet_v3.preprocess_input
is actually a
pass-through function. In this use case, MobileNetV3 models expect their
inputs to be float tensors of pixels with values in the [0-255]
range.
At the same time, preprocessing as a part of the model (i.e. Rescaling
layer) can be disabled by setting include_preprocessing
argument to False
.
With preprocessing disabled MobileNetV3 models expect their inputs to be float
tensors of pixels with values in the [-1, 1]
range.
Arguments
(224, 224, 3)
.
It should have exactly 3 inputs channels.
You can also omit this option if you would like
to infer input_shape from an input_tensor.
If you choose to include both input_tensor and input_shape then
input_shape will be used if they match, if the shapes
do not match then we will throw an error.
E.g. (160, 160, 3)
would be one valid value.alpha < 1.0
, proportionally decreases the number
of filters in each layer.alpha > 1.0
, proportionally increases the number
of filters in each layer.alpha == 1
, default number of filters from the paper
are used at each layer.True
.None
(random initialization),
"imagenet"
(pre-training on ImageNet),
or the path to the weights file to be loaded.layers.Input()
)
to use as image input for the model.include_top
is False
.None
means that the output of the model
will be the 4D tensor output of the
last convolutional block.avg
means that global average pooling
will be applied to the output of the
last convolutional block, and thus
the output of the model will be a
2D tensor.max
means that global max pooling will
be applied.include_top
is True
, and
if no weights
argument is specified.str
or callable. The activation function to use
on the "top" layer. Ignored unless include_top=True
. Set
classifier_activation=None
to return the logits of the "top" layer.
When loading pretrained weights, classifier_activation
can only
be None
or "softmax"
.Rescaling
) at the bottom of the network. Defaults to True
.Call arguments
numpy.array
or backend-native tensor,
4D with 3 color channels, with values in the range [0, 255]
if include_preprocessing
is True
and in the range [-1, 1]
otherwise.Returns
A model instance.
MobileNetV3Large
functionkeras.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",
)
Instantiates the MobileNetV3Large architecture.
Reference
MACs stands for Multiply Adds
Classification Checkpoint | MACs(M) | Parameters(M) | Top1 Accuracy | 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 |
For image classification use cases, see this page for detailed examples.
For transfer learning use cases, make sure to read the guide to transfer learning & fine-tuning.
Note: each Keras Application expects a specific kind of input preprocessing.
For MobileNetV3, by default input preprocessing is included as a part of the
model (as a Rescaling
layer), and thus
keras.applications.mobilenet_v3.preprocess_input
is actually a
pass-through function. In this use case, MobileNetV3 models expect their
inputs to be float tensors of pixels with values in the [0-255]
range.
At the same time, preprocessing as a part of the model (i.e. Rescaling
layer) can be disabled by setting include_preprocessing
argument to False
.
With preprocessing disabled MobileNetV3 models expect their inputs to be float
tensors of pixels with values in the [-1, 1]
range.
Arguments
(224, 224, 3)
.
It should have exactly 3 inputs channels.
You can also omit this option if you would like
to infer input_shape from an input_tensor.
If you choose to include both input_tensor and input_shape then
input_shape will be used if they match, if the shapes
do not match then we will throw an error.
E.g. (160, 160, 3)
would be one valid value.alpha < 1.0
, proportionally decreases the number
of filters in each layer.alpha > 1.0
, proportionally increases the number
of filters in each layer.alpha == 1
, default number of filters from the paper
are used at each layer.True
.None
(random initialization),
"imagenet"
(pre-training on ImageNet),
or the path to the weights file to be loaded.layers.Input()
)
to use as image input for the model.include_top
is False
.None
means that the output of the model
will be the 4D tensor output of the
last convolutional block.avg
means that global average pooling
will be applied to the output of the
last convolutional block, and thus
the output of the model will be a
2D tensor.max
means that global max pooling will
be applied.include_top
is True
, and
if no weights
argument is specified.str
or callable. The activation function to use
on the "top" layer. Ignored unless include_top=True
. Set
classifier_activation=None
to return the logits of the "top" layer.
When loading pretrained weights, classifier_activation
can only
be None
or "softmax"
.Rescaling
) at the bottom of the network. Defaults to True
.Call arguments
numpy.array
or backend-native tensor,
4D with 3 color channels, with values in the range [0, 255]
if include_preprocessing
is True
and in the range [-1, 1]
otherwise.Returns
A model instance.