application_mobilenet_v3_small {keras3} | R Documentation |
Instantiates the MobileNetV3Small architecture.
Description
Instantiates the MobileNetV3Small architecture.
Usage
application_mobilenet_v3_small(
input_shape = NULL,
alpha = 1,
minimalistic = FALSE,
include_top = TRUE,
weights = "imagenet",
input_tensor = NULL,
classes = 1000L,
pooling = NULL,
dropout_rate = 0.2,
classifier_activation = "softmax",
include_preprocessing = TRUE,
name = "MobileNetV3Small"
)
Arguments
input_shape |
Optional shape tuple, to be specified if you would
like to use a model with an input image resolution that is not
|
alpha |
controls the width of the network. This is known as the depth multiplier in the MobileNetV3 paper, but the name is kept for consistency with MobileNetV1 in Keras.
|
minimalistic |
In addition to large and small models this module also contains so-called minimalistic models, these models have the same per-layer dimensions characteristic as MobilenetV3 however, they don't utilize any of the advanced blocks (squeeze-and-excite units, hard-swish, and 5x5 convolutions). While these models are less efficient on CPU, they are much more performant on GPU/DSP. |
include_top |
Boolean, whether to include the fully-connected
layer at the top of the network. Defaults to |
weights |
String, one of |
input_tensor |
Optional Keras tensor (i.e. output of
|
classes |
Integer, optional number of classes to classify images
into, only to be specified if |
pooling |
String, optional pooling mode for feature extraction
when
|
dropout_rate |
fraction of the input units to drop on the last layer. |
classifier_activation |
A |
include_preprocessing |
Boolean, whether to include the preprocessing
layer ( |
name |
The name of the model (string). |
Value
A model instance.
Reference
-
Searching for MobileNetV3 (ICCV 2019)
The following table describes the performance of MobileNets v3:
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
application_preprocess_inputs()
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.
Call Arguments
-
inputs
: A floating pointnumpy.array
or backend-native tensor, 4D with 3 color channels, with values in the range[0, 255]
ifinclude_preprocessing
isTRUE
and in the range[-1, 1]
otherwise.