Keras Applications
Keras Applications is the applications
module of
the Keras deep learning library.
It provides model definitions and pre-trained weights for a number
of popular archictures, such as VGG16, ResNet50, Xception, MobileNet, and more.
Read the documentation at: https://keras.io/applications/
Keras Applications may be imported directly from an up-to-date installation of Keras:
from keras import applications
Keras Applications is compatible with Python 2.7-3.6 and is distributed under the MIT license.
Performance
- The top-k errors were obtained using Keras Applications with the TensorFlow backend on the 2012 ILSVRC ImageNet validation set and may slightly differ from the original ones.
The input size used was 224x224 for all models except NASNetLarge (331x331), InceptionV3 (299x299), InceptionResNetV2 (299x299), and Xception (299x299).
- Top-1: single center crop, top-1 error
- Top-5: single center crop, top-5 error
- 10-5: ten crops (1 center + 4 corners and those mirrored ones), top-5 error
- Size: rounded the number of parameters when
include_top=True
- Stem: rounded the number of parameters when
include_top=False
Top-1 | Top-5 | 10-5 | Size | Stem | References | |
---|---|---|---|---|---|---|
VGG16 | 28.732 | 9.950 | 8.834 | 138.4M | 14.7M | [paper] [tf-models] |
VGG19 | 28.744 | 10.012 | 8.774 | 143.7M | 20.0M | [paper] [tf-models] |
ResNet50 | 25.072 | 7.940 | 6.828 | 25.6M | 23.6M | [paper] [tf-models] [torch] [caffe] |
ResNet101 | 23.580 | 7.214 | 6.092 | 44.7M | 42.7M | [paper] [tf-models] [torch] [caffe] |
ResNet152 | 23.396 | 6.882 | 5.908 | 60.4M | 58.4M | [paper] [tf-models] [torch] [caffe] |
ResNet50V2 | 24.040 | 6.966 | 5.896 | 25.6M | 23.6M | [paper] [tf-models] [torch] |
ResNet101V2 | 22.766 | 6.184 | 5.158 | 44.7M | 42.6M | [paper] [tf-models] [torch] |
ResNet152V2 | 21.968 | 5.838 | 4.900 | 60.4M | 58.3M | [paper] [tf-models] [torch] |
ResNeXt50 | 22.260 | 6.190 | 5.410 | 25.1M | 23.0M | [paper] [torch] |
ResNeXt101 | 21.270 | 5.706 | 4.842 | 44.3M | 42.3M | [paper] [torch] |
InceptionV3 | 22.102 | 6.280 | 5.038 | 23.9M | 21.8M | [paper] [tf-models] |
InceptionResNetV2 | 19.744 | 4.748 | 3.962 | 55.9M | 54.3M | [paper] [tf-models] |
Xception | 20.994 | 5.548 | 4.738 | 22.9M | 20.9M | [paper] |
MobileNet(alpha=0.25) | 48.418 | 24.208 | 21.196 | 0.5M | 0.2M | [paper] [tf-models] |
MobileNet(alpha=0.50) | 35.708 | 14.376 | 12.180 | 1.3M | 0.8M | [paper] [tf-models] |
MobileNet(alpha=0.75) | 31.588 | 11.758 | 9.878 | 2.6M | 1.8M | [paper] [tf-models] |
MobileNet(alpha=1.0) | 29.576 | 10.496 | 8.774 | 4.3M | 3.2M | [paper] [tf-models] |
MobileNetV2(alpha=0.35) | 39.914 | 17.568 | 15.422 | 1.7M | 0.4M | [paper] [tf-models] |
MobileNetV2(alpha=0.50) | 34.806 | 13.938 | 11.976 | 2.0M | 0.7M | [paper] [tf-models] |
MobileNetV2(alpha=0.75) | 30.468 | 10.824 | 9.188 | 2.7M | 1.4M | [paper] [tf-models] |
MobileNetV2(alpha=1.0) | 28.664 | 9.858 | 8.322 | 3.5M | 2.3M | [paper] [tf-models] |
MobileNetV2(alpha=1.3) | 25.320 | 7.878 | 6.728 | 5.4M | 3.8M | [paper] [tf-models] |
MobileNetV2(alpha=1.4) | 24.770 | 7.578 | 6.518 | 6.2M | 4.4M | [paper] [tf-models] |
DenseNet121 | 25.028 | 7.742 | 6.522 | 8.1M | 7.0M | [paper] [torch] |
DenseNet169 | 23.824 | 6.824 | 5.860 | 14.3M | 12.6M | [paper] [torch] |
DenseNet201 | 22.680 | 6.380 | 5.466 | 20.2M | 18.3M | [paper] [torch] |
NASNetLarge | 17.502 | 3.996 | 3.412 | 93.5M | 84.9M | [paper] [tf-models] |
NASNetMobile | 25.634 | 8.146 | 6.758 | 7.7M | 4.3M | [paper] [tf-models] |
Reference implementations from the community
Object detection and segmentation
- SSD by @rykov8 [paper]
- YOLOv2 by @allanzelener [paper]
- YOLOv3 by @qqwweee [paper]
- Mask RCNN by @matterport [paper]
- U-Net by @zhixuhao [paper]
- RetinaNet by @fizyr [paper]
Sequence learning
Reinforcement learning
- keras-rl by @keras-rl
- RocAlphaGo by @Rochester-NRT [paper]
Generative adversarial networks
- Keras-GAN by @eriklindernoren