MobileNet model architecture.

application_mobilenet(input_shape = NULL, alpha = 1, depth_multiplier = 1,
  dropout = 0.001, include_top = TRUE, weights = "imagenet",
  input_tensor = NULL, pooling = NULL, classes = 1000)


mobilenet_decode_predictions(preds, top = 5)




optional shape list, only to be specified if 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.


controls the width of the network.

  • 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.


depth multiplier for depthwise convolution (also called the resolution multiplier)


dropout rate


whether to include the fully-connected layer at the top of the network.


NULL (random initialization), imagenet (ImageNet weights), or the path to the weights file to be loaded.


optional Keras tensor (i.e. output of layers.Input()) to use as image input for the model.


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 layer. - avg means that global average pooling will be applied to the output of the last convolutional layer, and thus the output of the model will be a 2D tensor. - max means that global max pooling will be applied.


optional number of classes to classify images into, only to be specified if include_top is TRUE, and if no weights argument is specified.


input tensor, 4D


Tensor encoding a batch of predictions.


integer, how many top-guesses to return.


File path


application_mobilenet() and mobilenet_load_model_hdf5() return a Keras model instance. mobilenet_preprocess_input() returns image input suitable for feeding into a mobilenet model. mobilenet_decode_predictions() returns a list of data frames with variables class_name, class_description, and score (one data frame per sample in batch input).


The mobilenet_preprocess_input() function should be used for image preprocessing. To load a saved instance of a MobileNet model use the mobilenet_load_model_hdf5() function. To prepare image input for MobileNet use mobilenet_preprocess_input(). To decode predictions use mobilenet_decode_predictions().

MobileNet is currently only supported with the TensorFlow backend.