EfficientNet model re-implementation. Keras.
Project description
EfficientNet-Keras
This repository contains Keras reimplementation of EfficientNet, the new convolutional neural network architecture from EfficientNet (TensorFlow implementation).
Table of content
About EfficientNet Models
If you're new to EfficientNets, here is an explanation straight from the official TensorFlow implementation:
EfficientNets are a family of image classification models, which achieve state-of-the-art accuracy, yet being an order-of-magnitude smaller and faster than previous models. EfficientNets are based on AutoML and Compound Scaling. In particular, AutoML Mobile framework have been used to develop a mobile-size baseline network, named as EfficientNet-B0; Then, the compound scaling method is used to scale up this baseline to obtain EfficientNet-B1 to B7.
|
|
|
EfficientNets achieve state-of-the-art accuracy on ImageNet with an order of magnitude better efficiency:
-
In high-accuracy regime, EfficientNet-B7 achieves state-of-the-art 84.4% top-1 / 97.1% top-5 accuracy on ImageNet with 66M parameters and 37B FLOPS, being 8.4x smaller and 6.1x faster on CPU inference than previous best Gpipe.
-
In middle-accuracy regime, EfficientNet-B1 is 7.6x smaller and 5.7x faster on CPU inference than ResNet-152, with similar ImageNet accuracy.
-
Compared with the widely used ResNet-50, EfficientNet-B4 improves the top-1 accuracy from 76.3% of ResNet-50 to 82.6% (+6.3%), under similar FLOPS constraint.
Examples
Two lines to create model:
from efficientnet import EfficientNetB0
model = EfficientNetB0(weights='imagenet')
Inference example inference_example.ipynb
Models
Available architectures and pretrained weights (converted from original repo):
| Architecture | @top1* | @top5* | Weights |
|---|---|---|---|
| EfficientNetB0 | 0.7668 | 0.9312 | + |
| EfficientNetB1 | 0.7863 | 0.9418 | + |
| EfficientNetB2 | 0.7968 | 0.9475 | + |
| EfficientNetB3 | 0.8083 | 0.9531 | + |
| EfficientNetB4 | - | - | - |
| EfficientNetB5 | - | - | - |
| EfficientNetB6 | - | - | - |
| EfficientNetB7 | - | - | - |
"*" - topK accuracy score for converted models (imagenet val set)
Weights for B4-B7 are not released yet (issue).
Installation
Requirements:
- keras >= 2.2.0 (tensorflow)
- scikit-image
Source:
$ pip install git+https://github.com/qubvel/efficientnet
PyPI:
$ pip install efficientnet
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file efficientnet-0.0.2.tar.gz.
File metadata
- Download URL: efficientnet-0.0.2.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.19.9 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83bbd5799a4c09f774a69016afb6614879d5383fa3f432a307e440f90276df73
|
|
| MD5 |
98ab287455997f7b273330e34f080036
|
|
| BLAKE2b-256 |
343193031ed43e1c848b62f920e20757b5c947754946b3db9baa2ebc9af95065
|
File details
Details for the file efficientnet-0.0.2-py2.py3-none-any.whl.
File metadata
- Download URL: efficientnet-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.19.9 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d74fa8f90f2a73ad7df4a2599fc938c01345b5deca4d6647976197e9e7ba915f
|
|
| MD5 |
03189ff5cb788e5f0684e91935613249
|
|
| BLAKE2b-256 |
85c2d47aa1e692d03b59b8a35e9969919af1c0200e96eb56ed69619adf1f4bad
|