FaceNet in Keras: a port that actually ships pretrained weights
A working Keras 2 implementation of Google's face-recognition network, with a ready-made model and conversion tools from the original TensorFlow checkpoint.

What it does
This repo ports FaceNet — the deep network that turns a face photo into a 128-dimensional vector — from TensorFlow to Keras 2. It bundles a pretrained model (trained on MS-Celeb-1M) and a notebook to convert David Sandberg’s original TensorFlow checkpoint if you prefer to roll your own.
The interesting bit
The value isn’t the architecture rewrite; it’s the legwork. The author did the training, saved you the GPU hours, and hostsd the weights on Google Drive. There’s also a webcam demo notebook, which is rarer than it should be in face-recognition repos.
Key highlights
- Pretrained Keras model available for immediate download (MS-Celeb-1M)
- Conversion notebook (
tf_to_keras.ipynb) for original TensorFlow checkpoints - Three demo notebooks: face-vector extraction, SVM classification, live webcam
- Explicit environment list: Ubuntu 16.04 / Windows 10, Python 3.6.2, TF 1.3.0, Keras 2.1.2
Caveats
- Dependencies are pinned to 2017-era versions (TensorFlow 1.3, Keras 2.1.2); expect friction on modern stacks
- No code shown in the README beyond notebook links — you’ll need to open them to inspect the implementation
Verdict
Grab this if you need a quick Keras-native FaceNet and don’t mind wrestling with legacy dependencies. Skip it if you want a maintained, pip-installable package with current framework support.