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.weights is imagenet, alpha can be one of 0.75 or 1.0
for non-minimalistic models, and 1.0 for minimalistic models.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.weights is imagenet, alpha can be one of 0.75 or 1.0
for non-minimalistic models, and 1.0 for minimalistic models.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.