Skip to main content

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

  1. About EfficientNets
  2. Examples
  3. Models
  4. Installation

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

efficientnet-0.0.2.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

efficientnet-0.0.2-py2.py3-none-any.whl (10.5 kB view details)

Uploaded Python 2Python 3

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

Hashes for efficientnet-0.0.2.tar.gz
Algorithm Hash digest
SHA256 83bbd5799a4c09f774a69016afb6614879d5383fa3f432a307e440f90276df73
MD5 98ab287455997f7b273330e34f080036
BLAKE2b-256 343193031ed43e1c848b62f920e20757b5c947754946b3db9baa2ebc9af95065

See more details on using hashes here.

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

Hashes for efficientnet-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d74fa8f90f2a73ad7df4a2599fc938c01345b5deca4d6647976197e9e7ba915f
MD5 03189ff5cb788e5f0684e91935613249
BLAKE2b-256 85c2d47aa1e692d03b59b8a35e9969919af1c0200e96eb56ed69619adf1f4bad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page