deep-learning-models
Keras code and weights files for popular deep learning models.
A deprecated collection of pre-trained Keras image recognition models (VGG16, ResNet50, Inception v3) that has been replaced by keras.applications, do not use this repo for new projects.
This repository is deprecated. The README states explicitly that it should no longer be used and directs anyone looking for this functionality to the keras.applications module instead. Pull requests are not reviewed and issues are not monitored.
While it was active, this repository provided Python code and pre-trained weights for several well-known image classification models built on Keras. The models included VGG16, VGG19, ResNet50, Inception v3, and a recurrent neural network for music tagging. These model names refer to neural network architectures that were trained on large image datasets and can recognize objects in photos.
The models were compatible with both TensorFlow and Theano, two earlier backends for Keras. When you loaded a model, it would automatically download the pre-trained weights from the internet and store them in a local cache folder. From there you could pass a photo to the model and receive a prediction of what the photo contains, or use the model to extract numerical representations of images (called features) for use in your own project.
The examples in the README show three uses: loading a photo and getting a label back (such as "African elephant"), extracting features from the top layers of the network, and extracting features from a specific intermediate layer inside the network. Each use case requires only a few lines of Python.
The code is under the MIT license. The VGG model weights came from Oxford's VGG research group under a Creative Commons Attribution license, and the ResNet weights came from a researcher at Microsoft Research under MIT. The Inception v3 weights were trained independently and released under the MIT license as well.
Where it fits
- Pass a photo to a pre-trained model and get back a plain-English label describing what is in the image (e.g. 'African elephant').
- Extract numerical feature representations from an image using an intermediate network layer to feed into your own custom classifier.
- Use a pre-trained model as a starting point for fine-tuning on your own image dataset without training from scratch.