Need help with deep-learning-models?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

fchollet
6.8K Stars 2.4K Forks MIT License 22 Commits 87 Opened issues

Description

Keras code and weights files for popular deep learning models.

Services available

!
?

Need anything else?

Contributors list

# 27
Python
Jupyter...
Tensorf...
neural-...
11 commits
# 46,627
Python
Lua
Shell
visdom
1 commit

Trained image classification models for Keras

THIS REPOSITORY IS DEPRECATED. USE THE MODULE

keras.applications
INSTEAD.

Pull requests will not be reviewed nor merged. Direct any PRs to

keras.applications
. Issues are not monitored either.

This repository contains code for the following Keras models:

  • VGG16
  • VGG19
  • ResNet50
  • Inception v3
  • CRNN for music tagging

All architectures are compatible with both TensorFlow and Theano, and upon instantiation the models will be built according to the image dimension ordering set in your Keras configuration file at

~/.keras/keras.json
. For instance, if you have set
image_dim_ordering=tf
, then any model loaded from this repository will get built according to the TensorFlow dimension ordering convention, "Width-Height-Depth".

Pre-trained weights can be automatically loaded upon instantiation (

weights='imagenet'
argument in model constructor for all image models,
weights='msd'
for the music tagging model). Weights are automatically downloaded if necessary, and cached locally in
~/.keras/models/
.

Examples

Classify images

from resnet50 import ResNet50
from keras.preprocessing import image
from imagenet_utils import preprocess_input, decode_predictions

model = ResNet50(weights='imagenet')

img_path = 'elephant.jpg' img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x)

preds = model.predict(x) print('Predicted:', decode_predictions(preds))

print: [[u'n02504458', u'African_elephant']]

Extract features from images

from vgg16 import VGG16
from keras.preprocessing import image
from imagenet_utils import preprocess_input

model = VGG16(weights='imagenet', include_top=False)

img_path = 'elephant.jpg' img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x)

features = model.predict(x)

Extract features from an arbitrary intermediate layer

from vgg19 import VGG19
from keras.preprocessing import image
from imagenet_utils import preprocess_input
from keras.models import Model

base_model = VGG19(weights='imagenet') model = Model(input=base_model.input, output=base_model.get_layer('block4_pool').output)

img_path = 'elephant.jpg' img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x)

block4_pool_features = model.predict(x)

References

Additionally, don't forget to cite Keras if you use these models.

License

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.