TensorFlow 1 version View source on GitHub

Instantiates a Mobile NASNet model in ImageNet mode.

    input_shape=None, include_top=True, weights='imagenet', input_tensor=None,
    pooling=None, classes=1000

Optionally loads weights pre-trained on ImageNet. Note that the data format convention used by the model is the one specified in your Keras config at ~/.keras/keras.json.


  • input_shape: Optional shape tuple, only to be specified if include_top is False (otherwise the input shape has to be (224, 224, 3) for NASNetMobile It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g. (224, 224, 3) would be one valid value.
  • include_top: Whether to include the fully-connected layer at the top of the network.
  • weights: None (random initialization) or imagenet (ImageNet weights)
  • input_tensor: Optional Keras tensor (i.e. output of layers.Input()) to use as image input for the model.
  • pooling: Optional pooling mode for feature extraction when include_top is False.
    • None 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.
  • classes: Optional number of classes to classify images into, only to be specified if include_top is True, and if no weights argument is specified.


A Keras model instance.


  • ValueError: In case of invalid argument for weights, or invalid input shape.
  • RuntimeError: If attempting to run this model with a backend that does not support separable convolutions.