MobileNet
functiontf_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
)
Instantiates the MobileNet architecture.
Reference
This function returns a TF-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 TF-Keras Application expects a specific kind of input
preprocessing. For MobileNet, call
tf.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. - If alpha
> 1.0,
proportionally increases the number of filters in each layer. - If
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 keras.Model
instance.
MobileNetV2
functiontf_keras.applications.MobileNetV2(
input_shape=None,
alpha=1.0,
include_top=True,
weights="imagenet",
input_tensor=None,
pooling=None,
classes=1000,
classifier_activation="softmax",
**kwargs
)
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 TF-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 TF-Keras Application expects a specific kind of input
preprocessing. For MobileNetV2, call
tf.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
(160, 160, 3)
would be one valid value.applications.MobileNetV1
model in TF-Keras.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.0, 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"
.Returns
A keras.Model
instance.
MobileNetV3Small
functiontf_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,
)
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 TF-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
tf.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
(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 a tf.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 keras.Model
instance.
MobileNetV3Large
functiontf_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,
)
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 TF-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
tf.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
(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 a tf.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 keras.Model
instance.