← all repositories
qubvel/efficientnet

EfficientNet, but make it Keras (and tf.keras too)

A Keras and tf.keras reimplementation of EfficientNet with converted pre-trained weights for all eight B0–B7 variants.

2.1k stars Python Computer VisionML Frameworks
efficientnet
Not currently ranked — collecting fresh signals.
star history

What it does This repository ports Google’s EfficientNet architecture—a family of convolutional networks built by compound-scaling a mobile-size baseline—to Keras and TensorFlow Keras. It provides eight model variants (B0 through B7) with pre-trained weights converted from the original TensorFlow TPU checkpoints, ready for standard Keras inference or transfer learning.

The interesting bit The library functions as a bilingual adapter: it exposes the same models through both legacy keras and modern tensorflow.keras namespaces, a compatibility pivot significant enough to break backward compatibility in 2019. It also includes the weight-conversion plumbing, so the community isn’t stuck waiting for official Keras HDF5s.

Key highlights

  • Pre-trained weights for all eight EfficientNet variants, including standard ImageNet and the stronger Noisy Student semi-supervised checkpoints.
  • Converted weights hit the expected top-1 accuracy marks on ImageNet validation; B7 reaches 0.844 (standard) and 0.869 (Noisy Student).
  • Supports both legacy Keras and tf.keras workflows via separate module paths (efficientnet.keras and efficientnet.tfkeras).
  • Bundles a shell script to convert original TensorFlow TPU checkpoints into Keras-compatible HDF5 weights.

Caveats

  • Models saved before the July 2019 refactor require pinning to version 0.0.4; the update broke backward compatibility.
  • Loading a saved model requires first importing the specific module (efficientnet.keras or efficientnet.tfkeras) used during training, because the implementation relies on custom objects.
  • The codebase is explicitly described as “heavily inspired by” Google’s TPU reference rather than an independent rewrite.

Verdict Grab it if you need EfficientNet in a Keras or tf.keras pipeline. Skip it if you live in PyTorch or Google’s native TPU ecosystem.

Frequently asked

What is qubvel/efficientnet?
A Keras and tf.keras reimplementation of EfficientNet with converted pre-trained weights for all eight B0–B7 variants.
Is efficientnet open source?
Yes — qubvel/efficientnet is open source, released under the Apache-2.0 license.
What language is efficientnet written in?
qubvel/efficientnet is primarily written in Python.
How popular is efficientnet?
qubvel/efficientnet has 2.1k stars on GitHub.
Where can I find efficientnet?
qubvel/efficientnet is on GitHub at https://github.com/qubvel/efficientnet.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.