application_mobilenet_v3
Instantiates the MobileNetV3Large architecture
Description
Instantiates the MobileNetV3Large architecture
Usage
 
application_mobilenet_v3_large( 
  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 
) 
 
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 
) Arguments
| Arguments | Description | 
|---|---|
| input_shape | Optional shape vector, to be specified if you would like to use a model with an input image resolution that is not c(224, 224, 3). It should have exactly 3 inputs channels c(224, 224, 3). 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. c(160, 160, 3) would be one valid value. | 
| 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.  - If 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. | 
| 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 TRUE. | 
| weights | String, one of NULL (random initialization), ‘imagenet’ (pre-training on ImageNet), or the path to the weights file to be loaded. | 
| input_tensor | Optional Keras tensor (i.e. output of layer_input()) to use as image input for the model. | 
| classes | Integer, optional number of classes to classify images into, only to be specified if include_top is TRUE, and if no weights argument is specified. | 
| pooling | String, optional pooling mode for feature extraction when include_top is FALSE. - NULL 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. | 
| dropout_rate | fraction of the input units to drop on the last layer. | 
| classifier_activation | A string or callable. The activation function to use on the “top” layer. Ignored unless include_top = TRUE. Set classifier_activation = NULL to return the logits of the “top” layer. When loading pretrained weights, classifier_activation can only be NULL or "softmax". | 
| include_preprocessing | Boolean, whether to include the preprocessing layer (Rescaling) at the bottom of the network. Defaults to TRUE. | 
Details
Reference:
- Searching for MobileNetV3 (ICCV 2019)
 
The following table describes the performance of MobileNets v3: MACs stands for Multiply Adds 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.
Value
A keras Model instance
Note
Each Keras application typically expects a specific kind of input preprocessing. For ModelNetV3, by default input preprocessing is included as a part of the model (as a Rescaling layer), and thus a preprocessing function is not necessary. In this use case, ModelNetV3 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 ModelNetV3 models expect their inputs to be float tensors of pixels with values in the [-1, 1] range.